Biz-SIP中间件之xbank项目实战(1)——项目简介

xbank项目版本库:https://gitee.com/szhengye/xbank.git

体验Biz-SIP示例项目xbank

1. 示例项目xbank简介

xbank是一家商业银行,面向个人客户和公司客户,其中个人客户业务包括存款、贷款、缴费等业务;银行业务渠道除了传统柜面以外,还有网上银行、手机银行、ATM、POS等,最近准备上一个针对银行合作伙伴的基于OPENAPI网关的开放平台渠道。
本示例项目是以个人客户中的存款查询和缴费业务为例子,渠道采用OPENAPI开放接口,后台系统对接个人客户存款系统和个人客户信息系统,第三方对接缴费平台,来演示如何打造基于Biz-SIP中间件的银行业务中台。
image.png
按DDD分层架构,应用架构图如下所示:

image.png

3. xbank示例项目模板介绍

打开示例项目,如下图:
image.png
xbank项目分为以下模块:

  • xbank-source:适配层模块,存放外部适配接入的适配层实现。
    • xbank-openapi-source:OPENAPI接入的适配层子模块
  • xbank-app:应用层模块,存放应用层的服务实现。
  • xbank-sink:领域层模块,存放按领域划分的领域服务实现。
    • xbank-account-sink:账户域子模块
    • xbank-customer-sink:客户域子模块
    • xbank-payment1-sink:缴费域子模块(存储转发)
    • xbank-payment1-sink:缴费域子模块(交易补偿)
  • xbank-infrastructure:基础设施层模块,存放对数据库、内容存储、HSM等基础设施的访问能力实现。
    • xbank-account-db:账户数据库访问子模块
    • xbank-customre-db:客户数据库访问子模块
  • xbank-client:接口模块,存放各层之间的服务接口,以及相关数据DTO。
    • xbank-account-sink-client:账户域服务接口子模块
    • xbank-customer-sink-client:客户域服务接口子模块
    • xbank-app-client:应用服务接口子模块

各层之间调用关系如下所示:
在这里插入图片描述

4. 创建数据库

执行项目中xbank-infrastructure/xbank-sql/xbank.sql脚本,以建立xbank演示库。

5. 启动xbank项目

  • 启动应用层服务整合器
    • 执行xbank-app模块中的XbankAppApplication
  • 启动领域层领域服务
    • 执行xbank-customer-sink子模块中的CustomerSinkApplication
    • 执行xbank-account-sink子模块中的AccountSinkAppliction
  • 启动适配层OPENAPI接入服务
    • 执行xbank-openapi-source子模块中的OpenapiSourceApplication

4. 测试接口

4.1 查询客户信息

$ curl -H "Content-Type:application/json" -H "Biz-Service-Id:sink/customer" -X POST --data '{"methodName":"getCustomer","params":["001"]}' http://localhost:8888/api|jq              
{
  "code": 0,
  "message": "success",
  "extMessage": null,
  "traceId": "2d3ed69623f8480a9d95bcd3ca03a4d3",
  "parentTraceId": null,
  "timestamp": 1630677591308,
  "data": {
    "result": {
      "sex": "1",
      "customerName": "张三",
      "customerId": "001",
      "age": 30
    }
  }
}

4.2 查询账户列表

$ curl -H "Content-Type:application/json" -H "Biz-Service-Id:sink/account" -X POST --data '{"methodName":"getAccountListByCustomerId","params":["001"]}' http://localhost:8888/api|jq

{
  "code": 0,
  "message": "success",
  "extMessage": null,
  "traceId": "748b76566a5e436e9c2990cf9776789f",
  "parentTraceId": null,
  "timestamp": 1630677747532,
  "data": {
    "result": [
      {
        "accountId": "0001",
        "balance": 100,
        "customerId": "001"
      },
      {
        "accountId": "0002",
        "balance": 200,
        "customerId": "001"
      }
    ]
  }
}

4.3 查询客户信息和账户列表

$ curl -H "Content-Type:application/json" -H "Biz-Service-Id:app/personal" -X POST --data '{"methodName":"getCustomerAndAccountList","params":["001"]}' http://localhost:8888/api|jq

{
  "code": 0,
  "message": "success",
  "extMessage": null,
  "traceId": "4fa2f86c23ce4b24abb1b0d23833c14f",
  "parentTraceId": null,
  "timestamp": 1630677780246,
  "data": {
    "result": {
      "accountList": [
        {
          "accountId": "0001",
          "balance": 100,
          "customerId": "001"
        },
        {
          "accountId": "0002",
          "balance": 200,
          "customerId": "001"
        }
      ],
      "customer": {
        "sex": "1",
        "customerName": "张三",
        "customerId": "001",
        "age": 30
      }
    }
  }
}

Biz-SIP官方网站:http://bizsip.bizmda.com
Gitee:https://gitee.com/szhengye/biz-sip

posted @ 2021-10-10 16:16  抽游烟鸡  阅读(161)  评论(0)    收藏  举报