[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內容數
嗨,我是一名程式設計師,會在這分享開發與學習紀錄。
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
加密钱包是一种软件产品或物理设备,可将公钥和私钥存储到您的加密货币帐户中,密钥是一串数字和字母,用于加密和解密加密交易并保护加密账户,那么,如何保护您的加密钱包?币圈有哪些主流的加密钱包?本文将为大家详细介绍 🚀 币安 - 全球最大加密货币交易所 💥 独家优惠 💥 💰 注册即享 20%
Thumbnail
加密钱包是一种软件产品或物理设备,可将公钥和私钥存储到您的加密货币帐户中,密钥是一串数字和字母,用于加密和解密加密交易并保护加密账户,那么,如何保护您的加密钱包?币圈有哪些主流的加密钱包?本文将为大家详细介绍 🚀 币安 - 全球最大加密货币交易所 💥 独家优惠 💥 💰 注册即享 20%
Thumbnail
这篇文章主要介绍了通俗解释加密货币的采用是什么意思?的相关资料,需要的朋友可以参考下 🚀 币安 - 全球最大加密货币交易所 💥 独家优惠 💥 💰 注册即享 20% 手续费返佣 🔑 专属邀请码: R851UX3N 比特币和以太坊等加密货币使用点对点去中心化系统进行交易。 由于整个过
Thumbnail
这篇文章主要介绍了通俗解释加密货币的采用是什么意思?的相关资料,需要的朋友可以参考下 🚀 币安 - 全球最大加密货币交易所 💥 独家优惠 💥 💰 注册即享 20% 手续费返佣 🔑 专属邀请码: R851UX3N 比特币和以太坊等加密货币使用点对点去中心化系统进行交易。 由于整个过
Thumbnail
見諸參與鄧伯宸口述,鄧湘庭於〈那個大霧的時代〉記述父親回憶,鄧伯宸因故遭受牽連,而案件核心的三人,在鄧伯宸記憶裡:「成立了成大共產黨,他們製作了五星徽章,印刷共產黨宣言——刻鋼板的——他們收集中共空飄的傳單,以及中國共產黨中央委員會有關文化大革命決議文的英文打字稿,另外還有手槍子彈十發。」
Thumbnail
見諸參與鄧伯宸口述,鄧湘庭於〈那個大霧的時代〉記述父親回憶,鄧伯宸因故遭受牽連,而案件核心的三人,在鄧伯宸記憶裡:「成立了成大共產黨,他們製作了五星徽章,印刷共產黨宣言——刻鋼板的——他們收集中共空飄的傳單,以及中國共產黨中央委員會有關文化大革命決議文的英文打字稿,另外還有手槍子彈十發。」
Thumbnail
本文指导如何添加自定义公链,介绍两种方法:通过 Chainlist 添加和手动设置,支持添加多种公链节点,包括以太坊、币安智能链、火币生态链等,方便用户在浏览器中使用自定义公链。 🚀 币安 - 全球最大加密货币交易所 💥 独家优惠 💥 💰 注册即享 20% 手续费返佣 🔑 专属邀请码
Thumbnail
本文指导如何添加自定义公链,介绍两种方法:通过 Chainlist 添加和手动设置,支持添加多种公链节点,包括以太坊、币安智能链、火币生态链等,方便用户在浏览器中使用自定义公链。 🚀 币安 - 全球最大加密货币交易所 💥 独家优惠 💥 💰 注册即享 20% 手续费返佣 🔑 专属邀请码
Thumbnail
當代名導基里爾.賽勒布倫尼科夫身兼電影、劇場與歌劇導演,其作品流動著強烈的反叛與詩意。在俄烏戰爭爆發後,他持續以創作回應專制體制的壓迫。《傳奇:帕拉贊諾夫的十段殘篇》致敬蘇聯電影大師帕拉贊諾夫。本文作者透過媒介本質的分析,解構賽勒布倫尼科夫如何利用影劇雙棲的特質,在荒謬世道中尋找藝術的「生存之道」。
Thumbnail
當代名導基里爾.賽勒布倫尼科夫身兼電影、劇場與歌劇導演,其作品流動著強烈的反叛與詩意。在俄烏戰爭爆發後,他持續以創作回應專制體制的壓迫。《傳奇:帕拉贊諾夫的十段殘篇》致敬蘇聯電影大師帕拉贊諾夫。本文作者透過媒介本質的分析,解構賽勒布倫尼科夫如何利用影劇雙棲的特質,在荒謬世道中尋找藝術的「生存之道」。
Thumbnail
5 月,方格創作島正式開島。這是一趟 28 天的創作旅程。活動期間,每週都會有新的任務地圖與陪跑計畫,從最簡單的帳號使用、沙龍建立,到帶著你從一句話、一張照片開始,一步一步找到屬於自己的創作節奏。不需要長篇大論,不需要完美的文筆,只需要帶上你今天的日常,就可以出發。征服創作島,抱回靈感與大獎!
Thumbnail
5 月,方格創作島正式開島。這是一趟 28 天的創作旅程。活動期間,每週都會有新的任務地圖與陪跑計畫,從最簡單的帳號使用、沙龍建立,到帶著你從一句話、一張照片開始,一步一步找到屬於自己的創作節奏。不需要長篇大論,不需要完美的文筆,只需要帶上你今天的日常,就可以出發。征服創作島,抱回靈感與大獎!
Thumbnail
Launchpad指的是透過交易所或鏈上發行平台指定的代幣,優先申購新的代幣發行ICO(Initial Coin Offering,貨幣首次募資或販售)、IEO(Initial Exchange Offerings,首次交易發行)專案。
Thumbnail
Launchpad指的是透過交易所或鏈上發行平台指定的代幣,優先申購新的代幣發行ICO(Initial Coin Offering,貨幣首次募資或販售)、IEO(Initial Exchange Offerings,首次交易發行)專案。
Thumbnail
當時間變少之後,看戲反而變得更加重要——這是在成為母親之後,我第一次誠實地面對這一件事:我沒有那麼多的晚上,可以任性地留給自己了。看戲不再只是「今天有沒有空」,而是牽動整個週末的結構,誰應該照顧孩子,我該在什麼時間回到家,隔天還有沒有精神帶小孩⋯⋯於是,我不得不學會一件以前並不擅長的事:挑選。
Thumbnail
當時間變少之後,看戲反而變得更加重要——這是在成為母親之後,我第一次誠實地面對這一件事:我沒有那麼多的晚上,可以任性地留給自己了。看戲不再只是「今天有沒有空」,而是牽動整個週末的結構,誰應該照顧孩子,我該在什麼時間回到家,隔天還有沒有精神帶小孩⋯⋯於是,我不得不學會一件以前並不擅長的事:挑選。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News