[Java][Spring Cloud]電子錢包系統

小黑-avatar-img
發佈於後端
更新於 發佈於 閱讀時間約 2 分鐘

電子錢包提供獨立的餘額帳戶系統:開戶、交易明細等。


系統流程

  • 使用者介面使用充值,電子錢包系統將會生成充值訂單,然後呼叫支付系統。
  • 支付系統結束後,會將結果告知電子錢包系統,然後更新餘額。


系統結構

  • Controller:定義服務介面。
  • Service:處理業務邏輯並透過Dao完成資料庫的操作。
  • Dao:提供資料庫操作介面。


資料庫

交易訂單

  • 訂單ID
  • 用戶ID
  • 幣別
  • 交易金額
  • 交易類型
  • 交易序號
  • 交易狀態
  • 交易時間
  • 更新時間
  • 建立時間


帳戶資訊

  • 用戶ID
  • 帳戶唯一識別碼
  • 帳戶類型
  • 帳戶幣別
  • 帳戶餘額
  • 更新時間
  • 建立時間


帳戶明細

  • 用戶ID
  • 帳戶唯一識別碼
  • 交易類型
  • 交易金額
  • 幣別
  • 交易前餘額
  • 交易後餘額
  • 借貸
  • 更新時間
  • 建立時間


服務邏輯

Controller

  • 資料格式
    1.無資料變更:form+Get
    2.有資料變更:JSON+Post
    3.回傳資料:JSON


  • 開戶請求
    1.用戶ID
    2.帳戶類型
    3.帳戶幣別


  • 查詢請求
    1.用戶ID
    2.帳戶類型
    3.帳戶幣別


  • 開戶回傳
    1.用戶ID
    2.帳戶類型
    3.帳戶幣別
    4.帳戶唯一識別碼


  • 查詢回傳
    1.ID
    2.用戶ID
    3.帳戶唯一識別碼
    4.帳戶類型
    5.帳戶幣別
    6.帳戶餘額
    7.建立時間
    8.更新時間


  • 充值請求
    1.用戶ID
    2.充值金額
    3.充值幣別
    4.充值類型


  • 充值回傳
    1.用戶ID
    2.充值金額
    3.充值幣別
    4.充值類型
    5.充值序號


  • 支付系統請求
    1.支付訂單號
    2.支付金額
    3.支付幣別
    4.支付狀態


  • 支付系統回傳
    1.處理狀態


Service

  • 例外處理
    1.回傳碼定義


  • pom.xml設定MapStruct


  • 開戶
    1.判斷同一用戶ID下是否存在相同類型帳戶
    2.將帳戶資料轉換為資料庫資料
    3.產生帳號並設定
    4.設定初始帳號餘額
    5.設定時間
    6.將帳戶資料寫入資料庫
    7.封裝回傳資料


  • 查詢
    1.帳戶查詢條件
    2.封裝回傳資料


  • 產生帳號
    1.日期+隨機ID


  • 充值
    1.產生充值訂單訊息
    2.例外處理
    3.呼叫支付系統
    4.取得支付系統返回的資料並回傳


  • 支付系統回傳
    1.判斷充值狀態是否成功
    2.更新充值狀態
    3.更新時間



avatar-img
8會員
123內容數
嗨,我是一名程式設計師,會在這分享開發與學習紀錄。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
你可能也想看
Google News 追蹤
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
本文分享日幣存款流程及手續費計算方式,包括存款流程、手續費計算規則,建議大家外幣可存在固定的數位帳戶就好,等要用再提領出來,或是直接刷雙幣卡,避免不必要的現鈔手續費產生。
Thumbnail
開設加密貨幣錢包是開始使用加密貨幣的重要一步。以下是開設不同類型加密貨幣錢包的詳細步驟:
Thumbnail
在2022年底時,我用K帳戶開始將每個月薪資的一部分以存錢的概念投入定期定額。 條件如下 標的 : 0050 006208 扣款日期 : 每月 3號/NT.3000(各佔50%) 每月13號/NT.3000(各佔50%) 每月23號/NT.4000(各佔50%) 為何用這樣的
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
本文分享日幣存款流程及手續費計算方式,包括存款流程、手續費計算規則,建議大家外幣可存在固定的數位帳戶就好,等要用再提領出來,或是直接刷雙幣卡,避免不必要的現鈔手續費產生。
Thumbnail
開設加密貨幣錢包是開始使用加密貨幣的重要一步。以下是開設不同類型加密貨幣錢包的詳細步驟:
Thumbnail
在2022年底時,我用K帳戶開始將每個月薪資的一部分以存錢的概念投入定期定額。 條件如下 標的 : 0050 006208 扣款日期 : 每月 3號/NT.3000(各佔50%) 每月13號/NT.3000(各佔50%) 每月23號/NT.4000(各佔50%) 為何用這樣的