面向支付收单行业的机构与代理商运营场景。业务涉及终端入库、划拨回拨、商户绑定、分润结算、钱包提现等,传统模式依赖 PC 后台和人工核对,移动端展业效率低,且不同机构对 APP 功能开放程度不一致。
本项目搭建多租户结算平台,统一平台管理端、机构代理 Web 端与 Flutter APP,实现「配置驱动 + 权限控制 + 移动端业务闭环」,提升代理商团队管理效率,降低终端/商户数据分散带来的运营成本。
点击空白处退出提示
面向支付收单行业的机构与代理商运营场景。业务涉及终端入库、划拨回拨、商户绑定、分润结算、钱包提现等,传统模式依赖 PC 后台和人工核对,移动端展业效率低,且不同机构对 APP 功能开放程度不一致。
本项目搭建多租户结算平台,统一平台管理端、机构代理 Web 端与 Flutter APP,实现「配置驱动 + 权限控制 + 移动端业务闭环」,提升代理商团队管理效率,降低终端/商户数据分散带来的运营成本。
系统采用前后端分离、多端共用一套业务 API:
管理后台(Vue):机构管理、结算方案 V1/V2、产品结算字典、终端入库、平台 OCR/短信/存储配置、APP 首页与权限菜单配置
代理 Web 端(Vue):终端划拨/回拨、商户管理、结算配置、商城订单、财务账本、下级机构视图等
移动 APP(Flutter):首页业务入口、钱包/提现/转账、积分/采购/礼包商城、商户管理、终端管理及终端统计、实名认证等
核心交付包括:终端统计(产品政策筛选 → 机具列表多条件查询 → 机具详情)、实名 OCR(身份证识别 + 提交校验)、我的页权限展示(按机构配置与 app:profile:* 权限动态渲染)。
后端(Java / Spring Boot)
设计并实现 APP 终端相关接口:汇总、分页列表、统计型产品政策、筛选选项、机具详情等
新增 /app/terminal/stats/product-policies,区分「划拨可选设备(未绑定)」与「统计全量终端(可见范围)」两种口径
机具详情补充商户绑定信息(merchantId/Name/Code),基于 biz_merchant_terminal 关联查询
实名 OCR:封装阿里云/腾讯云 OCR Client、机构级配置解析、Redis 缓存、提交时人像面/国徽面一致性校验
配合多租户与代理数据范围(AgentDataScopeHelper)做接口级权限控制
前端 / APP
Flutter:终端统计三页(政策选择、列表、详情)+ 路由接入;复用筛选 Drawer、状态 Tag、分页查询组件
修复「我的」页配置加载时序问题,去除客户端二次权限裁剪,直接展示后端过滤结果
实名页:OCR 开关就绪后再允许上传,选图后自动识别回填
Vue 侧(管理端/代理端):参与终端、机构配置、结算相关页面与 API 对接(按你实际参与保留/删减)
技术栈
后端:Java、Spring Boot、MyBatis-Plus、Redis、Spring Security
Web:Vue3、TypeScript、Element Plus
移动端:Flutter、Riverpod、GoRouter
工程:Git、Maven、RESTful API、多租户 SaaS 架构
难点与亮点
同一业务域(终端)在不同场景下接口口径不同,需前后端统一 query 参数与 UI 复用策略
多租户 + 代理树形数据范围,列表/详情/批量操作均需一致校验
OCR 链路涉及对象存储公网访问、缓存防重复调用、实名提交与识别结果一致性
机构首页/权限配置驱动 A



评论