[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
透過蝦皮分潤計畫,輕鬆賺取零用金!本文分享5-6月實測心得,包含數據流程、實際收入、平臺優點及注意事項,並推薦高分潤商品,教你如何運用空閒時間創造被動收入。
Thumbnail
透過蝦皮分潤計畫,輕鬆賺取零用金!本文分享5-6月實測心得,包含數據流程、實際收入、平臺優點及注意事項,並推薦高分潤商品,教你如何運用空閒時間創造被動收入。
Thumbnail
單身的人有些會養寵物,而我養植物。畢竟寵物離世會傷心,植物沒養好再接再厲就好了~(笑)
Thumbnail
單身的人有些會養寵物,而我養植物。畢竟寵物離世會傷心,植物沒養好再接再厲就好了~(笑)
Thumbnail
不知你有沒有過這種經驗?衛生紙只剩最後一包、洗衣精倒不出來,或電池突然沒電。這次一次補貨,從電池、衛生紙到洗衣精,還順便分享使用心得。更棒的是,搭配蝦皮分潤計畫,愛用品不僅自己用得安心,分享給朋友還能賺回饋。立即使用推薦碼 X5Q344E,輕鬆上手,隨時隨地賺取分潤!
Thumbnail
不知你有沒有過這種經驗?衛生紙只剩最後一包、洗衣精倒不出來,或電池突然沒電。這次一次補貨,從電池、衛生紙到洗衣精,還順便分享使用心得。更棒的是,搭配蝦皮分潤計畫,愛用品不僅自己用得安心,分享給朋友還能賺回饋。立即使用推薦碼 X5Q344E,輕鬆上手,隨時隨地賺取分潤!
Thumbnail
身為一個典型的社畜,上班時間被會議、進度、KPI 塞得滿滿,下班後只想要找一個能夠安靜喘口氣的小角落。對我來說,畫畫就是那個屬於自己的小樹洞。無論是胡亂塗鴉,還是慢慢描繪喜歡的插畫人物,那個專注在筆觸和色彩的過程,就像在幫心靈按摩一樣,讓緊繃的神經慢慢鬆開。
Thumbnail
身為一個典型的社畜,上班時間被會議、進度、KPI 塞得滿滿,下班後只想要找一個能夠安靜喘口氣的小角落。對我來說,畫畫就是那個屬於自己的小樹洞。無論是胡亂塗鴉,還是慢慢描繪喜歡的插畫人物,那個專注在筆觸和色彩的過程,就像在幫心靈按摩一樣,讓緊繃的神經慢慢鬆開。
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,首次交易發行)專案。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News