電子錢包提供獨立的餘額帳戶系統:開戶、交易明細等。系統流程使用者介面使用充值,電子錢包系統將會生成充值訂單,然後呼叫支付系統。支付系統結束後,會將結果告知電子錢包系統,然後更新餘額。系統結構Controller:定義服務介面。Service:處理業務邏輯並透過Dao完成資料庫的操作。Dao:提供資料庫操作介面。資料庫交易訂單訂單ID用戶ID幣別交易金額交易類型交易序號交易狀態交易時間更新時間建立時間帳戶資訊用戶ID帳戶唯一識別碼帳戶類型帳戶幣別帳戶餘額更新時間建立時間帳戶明細用戶ID帳戶唯一識別碼交易類型交易金額幣別交易前餘額交易後餘額借貸更新時間建立時間服務邏輯Controller資料格式1.無資料變更:form+Get2.有資料變更:JSON+Post3.回傳資料:JSON開戶請求1.用戶ID2.帳戶類型3.帳戶幣別查詢請求1.用戶ID2.帳戶類型3.帳戶幣別開戶回傳1.用戶ID2.帳戶類型3.帳戶幣別4.帳戶唯一識別碼查詢回傳1.ID2.用戶ID3.帳戶唯一識別碼4.帳戶類型5.帳戶幣別6.帳戶餘額7.建立時間8.更新時間充值請求1.用戶ID2.充值金額3.充值幣別4.充值類型充值回傳1.用戶ID2.充值金額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.更新時間