[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
留言分享你的想法!
avatar-img
小黑與程式的邂逅
8會員
123內容數
嗨,我是一名程式設計師,會在這分享開發與學習紀錄。
2024/06/02
在高平行流量下,服務的鏈路中有某個服務無法使用,則可能出現大量網路呼叫延遲,這有可能造成資源被用盡,因此需要有「熔斷降級」的機制來保護服務。 熔斷 在服務呼叫端,需要將服務呼叫設定一個服務時間。在服務逾時或失敗時進行熔斷,並作fallback處理。 降級 在服務提供端,要根據整個服務的負
2024/06/02
在高平行流量下,服務的鏈路中有某個服務無法使用,則可能出現大量網路呼叫延遲,這有可能造成資源被用盡,因此需要有「熔斷降級」的機制來保護服務。 熔斷 在服務呼叫端,需要將服務呼叫設定一個服務時間。在服務逾時或失敗時進行熔斷,並作fallback處理。 降級 在服務提供端,要根據整個服務的負
2024/05/28
這篇的DevOps發佈系統是以Spring Cloud微服務(微服務)為背景;由GitLab、Harbor與Kubernetes組成。 GitLab負責版本管理與CI/CD(CI/CD)。 Harbor負責Docker([Docker]介紹) Image的儲存與發佈。 Kubernetes([
Thumbnail
2024/05/28
這篇的DevOps發佈系統是以Spring Cloud微服務(微服務)為背景;由GitLab、Harbor與Kubernetes組成。 GitLab負責版本管理與CI/CD(CI/CD)。 Harbor負責Docker([Docker]介紹) Image的儲存與發佈。 Kubernetes([
Thumbnail
2024/05/27
核心元件 Spring Boot:Spring Cloud的基礎框架。 Spring Cloud Starters:Spring Boot的依賴管理。 Consul:微服務系統的註冊中心。 Eureka:微服務系統的註冊中心。 Feign:簡化微服務之間的溝通方式。 Ribbon:處理程
Thumbnail
2024/05/27
核心元件 Spring Boot:Spring Cloud的基礎框架。 Spring Cloud Starters:Spring Boot的依賴管理。 Consul:微服務系統的註冊中心。 Eureka:微服務系統的註冊中心。 Feign:簡化微服務之間的溝通方式。 Ribbon:處理程
Thumbnail
看更多
你可能也想看
Thumbnail
介紹朋友新開的蝦皮選物店『10樓2選物店』,並分享方格子與蝦皮合作的分潤計畫,註冊流程簡單,0成本、無綁約,推薦給想增加收入的讀者。
Thumbnail
介紹朋友新開的蝦皮選物店『10樓2選物店』,並分享方格子與蝦皮合作的分潤計畫,註冊流程簡單,0成本、無綁約,推薦給想增加收入的讀者。
Thumbnail
當你邊吃粽子邊看龍舟競賽直播的時候,可能會順道悼念一下2300多年前投江的屈原。但你知道端午節及其活動原先都與屈原毫無關係嗎?這是怎麼回事呢? 本文深入探討端午節設立初衷、粽子、龍舟競渡與屈原自沉四者。看完這篇文章,你就會對端午、粽子、龍舟和屈原的四角關係有新的認識喔。那就讓我們一起解開謎團吧!
Thumbnail
當你邊吃粽子邊看龍舟競賽直播的時候,可能會順道悼念一下2300多年前投江的屈原。但你知道端午節及其活動原先都與屈原毫無關係嗎?這是怎麼回事呢? 本文深入探討端午節設立初衷、粽子、龍舟競渡與屈原自沉四者。看完這篇文章,你就會對端午、粽子、龍舟和屈原的四角關係有新的認識喔。那就讓我們一起解開謎團吧!
Thumbnail
本文指导如何添加自定义公链,介绍两种方法:通过 Chainlist 添加和手动设置,支持添加多种公链节点,包括以太坊、币安智能链、火币生态链等,方便用户在浏览器中使用自定义公链。 🚀 币安 - 全球最大加密货币交易所 💥 独家优惠 💥 💰 注册即享 20% 手续费返佣 🔑 专属邀请码
Thumbnail
本文指导如何添加自定义公链,介绍两种方法:通过 Chainlist 添加和手动设置,支持添加多种公链节点,包括以太坊、币安智能链、火币生态链等,方便用户在浏览器中使用自定义公链。 🚀 币安 - 全球最大加密货币交易所 💥 独家优惠 💥 💰 注册即享 20% 手续费返佣 🔑 专属邀请码
Thumbnail
加密钱包是一种软件产品或物理设备,可将公钥和私钥存储到您的加密货币帐户中,密钥是一串数字和字母,用于加密和解密加密交易并保护加密账户,那么,如何保护您的加密钱包?币圈有哪些主流的加密钱包?本文将为大家详细介绍 🚀 币安 - 全球最大加密货币交易所 💥 独家优惠 💥 💰 注册即享 20%
Thumbnail
加密钱包是一种软件产品或物理设备,可将公钥和私钥存储到您的加密货币帐户中,密钥是一串数字和字母,用于加密和解密加密交易并保护加密账户,那么,如何保护您的加密钱包?币圈有哪些主流的加密钱包?本文将为大家详细介绍 🚀 币安 - 全球最大加密货币交易所 💥 独家优惠 💥 💰 注册即享 20%
Thumbnail
这篇文章主要介绍了通俗解释加密货币的采用是什么意思?的相关资料,需要的朋友可以参考下 🚀 币安 - 全球最大加密货币交易所 💥 独家优惠 💥 💰 注册即享 20% 手续费返佣 🔑 专属邀请码: R851UX3N 比特币和以太坊等加密货币使用点对点去中心化系统进行交易。 由于整个过
Thumbnail
这篇文章主要介绍了通俗解释加密货币的采用是什么意思?的相关资料,需要的朋友可以参考下 🚀 币安 - 全球最大加密货币交易所 💥 独家优惠 💥 💰 注册即享 20% 手续费返佣 🔑 专属邀请码: R851UX3N 比特币和以太坊等加密货币使用点对点去中心化系统进行交易。 由于整个过
Thumbnail
Launchpad指的是透過交易所或鏈上發行平台指定的代幣,優先申購新的代幣發行ICO(Initial Coin Offering,貨幣首次募資或販售)、IEO(Initial Exchange Offerings,首次交易發行)專案。
Thumbnail
Launchpad指的是透過交易所或鏈上發行平台指定的代幣,優先申購新的代幣發行ICO(Initial Coin Offering,貨幣首次募資或販售)、IEO(Initial Exchange Offerings,首次交易發行)專案。
Thumbnail
開設加密貨幣錢包是開始使用加密貨幣的重要一步。以下是開設不同類型加密貨幣錢包的詳細步驟:
Thumbnail
開設加密貨幣錢包是開始使用加密貨幣的重要一步。以下是開設不同類型加密貨幣錢包的詳細步驟:
Thumbnail
寫作投資永遠不嫌晚,這是雙寶老爹的第#142篇關於加密貨幣教學文章,文未還有更多精彩的教學內容!
Thumbnail
寫作投資永遠不嫌晚,這是雙寶老爹的第#142篇關於加密貨幣教學文章,文未還有更多精彩的教學內容!
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News