GitHub license GitHub issues GitHub stars GitHub forks Java version SpringBoot version SpringCloud version SpringCloudAlibaba version
这个闪聚支付还是我的一个学习项目, 不得不说抄代码能学会很多东西 :)
项目中并没有使用分库分表插件, 个人的学习项目我感觉不需要太多的技术点.
Ps: 万万没想到写文档和注释是这么痛苦.
所需技术点:
1)SpringBoot
2)SpringCloud
3)SpringCloudAlibaba
4)Vue&ES6
5)MySQL
6)Redis
7)RocketMQ
8)Oauth2
所需工程:
| 工程 | 说明 | 地址 |
|---|---|---|
tencent-sms |
腾讯云短信服务 | https://github.com/mikuhuyo/tencent-sms |
minio |
图片上传服务 | https://github.com/mikuhuyo/minio |
- 采用Spring Security OAuth2 + JWT + Gateway 实现微服务架构的统一认证, 商户, 平台运营用户均采用统一的认证机制.
- 采用Redis缓存方案, 对支付渠道参数全面缓存提高支付交易性能.
- 采用云平台对象存储, 存储平台资质文件提高分布式存储性能.
- 采用Sharding-Jdbc实现分库分表对订单表进行拆分, 提高关系数据库的存储性能.
- 采用服务代理机制, 解决内部微服务与第三方服务的耦合性.
随着移动支付的盛行, 商业银行, 第三方支付公司, 其它清算机构, 消费金融公司等众多类型的机构, 都在为商户提供网络(移动)支付解决方案.
另一方面, 用户的支付需求繁多, 支付渠道已呈"碎片化"状态, 并且"碎片化"程 度将逐渐加深. 聚合支付顾名思义就是将目前主流的支付进行整合, 形成第三方支付的聚合通道, 也被称为"第四方支付".
聚合支付不进行资金清算, 因此无需支付牌照, 其只是完成支付环节的信息流转和商户运营的承载, 其在集合银联, 支付宝, 微信等主流支付方式的基础上, 帮助商户降低接入成本, 提高运营效率, 具有中立性, 灵活性, 便捷性等特点.
闪聚支付是一个提供聚合支付的平台, 聚合支付目前主要的做法就是线上聚合收银台(开放API), 线下C2B一码多付, 线下B2C商家扫码.
平台应以SaaS服务形式提供给各商户订单管理, 门店管理, 财务数据统计等基础服务, 闪聚支付还以支付为入口, 通过广告, 营销, 金融等服务, 构建一个移动支付的全生态系统.
| 技术 | 说明 |
|---|---|
| SpringBoot | 容器+MVC框架 |
| SpringCloud&SpringCloudAlibaba | 微服务 |
| SpringSecurity Oauth2 | 认证和授权框架 |
| MyBatisPlus | ORM框架 |
| Swagger-UI | 文档生产工具 |
| Redis | 分布式缓存 |
| Docker | 应用容器引擎 |
| MinIO | 对象存储 |
| SpringTask | 任务调度 |
| RocketMQ | 消息中间件 |
| ShardingSphere | 分库分表中间件 |
| ... | ... |
| 技术 | 说明 |
|---|---|
| Vue | 前端框架 |
| Vue-router | 路由框架 |
| Vuex | 全局状态管理框架 |
| Element | 前端UI框架 |
| Axios | 前端HTTP框架 |
| ... | ... |
开发机器: MacBookPro 2015 (16GB + 256 GB)
| 工具 | 说明 |
|---|---|
| IDEA | 开发IDE |
| RedisDesktop | redis客户端连接工具 |
| Robomongo | mongo客户端连接工具 |
| SwitchHosts | 本地host管理 |
| Navicat | 数据库连接工具 |
| PowerDesigner | 数据库设计工具 |
| Axure | 原型设计工具 |
| MindMaster | 思维导图设计工具 |
| ProcessOn | 流程图绘制工具 |
| Snipaste | 屏幕截图工具 |
| Postman | API接口调试工具 |
| Typora | Markdown编辑器 |
| 工具 | 版本号 |
|---|---|
| JDK | 11 |
| MySQL | 5.7 |
| Redis | 4 |
| RocketMQ | 4.4.0 |
| Nginx | 1.10 |
| Nacos | 1.3.1 |
环境搭建此处就不在做过多说明
| 启动顺序 | 启动类 | 说明 |
|---|---|---|
1 |
MonitorServiceApplication |
监控服务 |
2 |
GatewayBootstrap |
网关服务 |
3 |
UaaBootstrap |
认证服务 |
4 |
UserBootstrap |
统一用户服务 |
5 |
MerchantBootstrap |
商户服务 |
6 |
TransactionBootstrap |
交易服务 |
7 |
PaymentAgentBootstrap |
支付代理服务 |
8 |
OperationApplicationBootstrap |
运营应用 |
9 |
MerchantApplicationBootstrap |
商户应用 |
最后启动前端工程.
需要自己创建用户(即注册商户)
运营登录地址: http://localhost:8080/#/operationLogin
运营登录账户: shanju-operation
运营登录密码: 123456
Stargazers repo roster for @mikuhuyo/flash-pay
Forkers repo roster for @mikuhuyo/flash-pay