Commit Graph

921 Commits

Author SHA1 Message Date
DaxPay Dev
42b37bd2eb refactor: 收敛路由 Resolver/Matcher 并统一支付分布式锁
删除 ClientEnv/Product/Container Resolver 与 Basic/Scene Matcher,运行时路由内聚到 PayRouteService,单条产品解析归 ChannelMerchantManager,容器字段一次回表读取;配置侧 RouteBatchContext 批预加载保持不变。支付/关单/退款/同步/网关等链路改用 LockExecutor,并清理 update SQL 与相关 i18n。
2026-07-14 22:12:57 +08:00
DaxPay Dev
0b643787b1 chore: 普通支付单注释精简,开发环境默认开启沙箱
NormalPayOrder 的 @see 改为短链;dev 配置 sandbox-enabled 默认 true 便于本地联调。
2026-07-14 21:20:28 +08:00
DaxPay Dev
a06bef0a28 refactor(gateway): CashierScene 重命名为 ClientEnv 客户端环境
将聚合扫码与收银台共用的环境识别从收银场景语义改为客户端环境,
避免与支付渠道/沙箱环境混淆。枚举 code 保持不变,同步表名/字段/i18n。
2026-07-14 21:17:30 +08:00
DaxPay Dev
abe0a243ea refactor(gateway): 对齐网关业务单与普通支付容器并收敛无用字段
预下单 orderNo 改用 ORD 号段,补齐 extraParam/relationOrderNo 与 Result 字段;
支付回写后 reload 容器避免 payBody 丢失;终态 failed 校验对齐 Normal。
网关不支持线下被扫,删除 terminalNo/barCode 及相关 API 与 DDL 列。
2026-07-14 19:13:59 +08:00
DaxPay Dev
2b2d030165 refactor(pay): 业务单 orderNo 与资金 tradeNo 分离,收敛订单容器边界
- 独立生成 ORD/PAY 号,默认上送 orderNo,relationOrderNo 落 trade 作反查权威

- payBody 仅落容器,trade 去掉 payBody/expiredTime

- 容器新增 failed 态,失败与关单/超时区分;对外与管理端同时暴露双号
2026-07-14 18:47:27 +08:00
DaxPay Dev
43d8cb293d feat(pay): 付款码前缀识别、退款预占结算与订单入账/通道AppId
移除 aggregate_pay_barcode,按 authCode 前缀映射分钱包 method;退款引入预占与失败回滚并支持网关单;订单增加 posted_amount/channel_app_id,opAppId 统一为 channelAppId。
2026-07-14 18:38:51 +08:00
DaxPay Dev
8a71d41bcf refactor(auth): 移除未使用的手机号登录方式常量
开源版无短信登录实现,删除 AuthLoginTypeCode.PHONE 预留常量。
2026-07-14 16:55:33 +08:00
DaxPay Dev
b13ac01d29 refactor(role): 开源版内置角色对齐 admin/merchant 并整理登录校验
新增 RoleCodeEnum.ADMIN_ADMIN 与多语言文案;登录状态校验迁至 common/handler;清空已应用的 update-datas 升级脚本。
2026-07-14 15:24:26 +08:00
DaxPay Dev
e869901db2 feat(i18n): 新增 id-ID/vi-VN/th-TH/ms-MY 东盟语言包与 locale 别名
覆盖 common-i18n 与 capability 通道错误文案;Accept-Language 短码 id/vi/th/ms 映射到地区资源。
2026-07-14 14:34:34 +08:00
DaxPay Dev
af33bee339 fix(i18n): IAM 角色分配错误码改为 camelCase messageKey
统一 assignOutOfScope/notExist 等 key,跨终端分配改为可参数化 i18n 消息。
2026-07-14 12:52:13 +08:00
DaxPay Dev
db58674ab7 feat(notify): 站内通知表结构与 admin 模块依赖
补充 notify 相关升级 DDL,payment-admin 引入 service-notify 以支撑运营端铃铛/SSE。
2026-07-14 12:52:12 +08:00
DaxPay Dev
abf731b290 refactor(payment): 移除 MerchantAccessPort 接口
调用方直接依赖 MerchantAccessQueryService,去掉多余端口抽象。
2026-07-14 12:52:12 +08:00
DaxPay Dev
1bbb801118 fix(auth): SSE/异步派发兼容 Sa-Token 上下文
非 REQUEST 派发放行鉴权拦截;SaTokenContextException 在 SSE/异步场景降级不写 JSON body,
避免 EventSource 狂重连。通知 SSE 标注登录即可访问并修正 Cookie 鉴权注释。
2026-07-14 12:52:11 +08:00
DaxPay Dev
fd24405027 feat(i18n): 新增 ja-JP/ko-KR 日韩语言包与 locale 别名
后端 common-i18n 扩展日语/韩语资源树,Accept-Language 支持 ja/ko 别名;清理未使用的 reconciliationFail 死 key。
2026-07-14 12:46:58 +08:00
DaxPay Dev
ef110b3b8b fix(iam): 统一授权树权限码节点 key 按菜单实例去重
同一 menuCode 挂到多个菜单时,权限码 key 改为 code-{codeId}-menu-{menuId},避免 a-tree 重复 key 警告。
2026-07-14 12:32:20 +08:00
DaxPay Dev
95694eb0d1 feat(i18n): 新增 zh-TW/zh-HK 繁体语言包与 locale 别名映射
支持 Accept-Language 变体(zh-Hant/zh-MO 等)映射到主资源目录,台港互不回退,缺 key 统一回退 zh-CN;补齐后端 enum/error 繁体与简英词条。
2026-07-14 11:57:46 +08:00
DaxPay Dev
a23a10abd7 refactor(context): 将 MerchantContextLoader 迁入 common.context
与 PaymentContext/Filter/TradeActor 同属线程身份装载层,移除空 assist 包。
2026-07-14 11:56:53 +08:00
DaxPay Dev
a243a510aa refactor(i18n): 全面 i18n 改造——删除 nameCn/nameEn/titleCn/titleEn 双列存储,统一为 i18nKey + 语言包翻译
后端:
- 删除菜单/字典/字典项/角色/权限码实体的 nameCn/nameEn/titleCn/titleEn 字段
- 新增 i18nKey 字段(菜单已有,字典/角色/权限码新增)
- 权限码 i18nKey 由 PermCodeScanService 自动推导: perm.{code}
- DictItemData record 简化为仅 i18nKey
- TransService 删除 resolveLocaleAwareField 双语 fallback 逻辑
- PermCode 注解删除 nameCn/nameEn,PermCodes 常量类删除 *_NAME_CN/EN
- 角色删除 existsByNameCn/En 方法和端点

SQL:
- update-tables.sql: 加 i18n_key 列(system_dict/system_dict_item/iam_role)+ DROP 旧列
- update-datas.sql: 批量回填 i18n_key(role.{code} / dict.{dictCode}.{itemCode})
- iam_perm_menu.sql: 删除 title_cn/title_en 列定义和 INSERT 数据
2026-07-14 10:48:26 +08:00
DaxPay Dev
2fc41107d4 feat(platform): 站点配置支持微信号与 contentHash
新增 companyWechat 字段及校验文案;GET 返回 contentHash(对入库 configData 做 MD5),供 Web/H5 本地缓存比对,避免无变更时重复 apply。
2026-07-14 10:44:15 +08:00
DaxPay Dev
b023805120 refactor(backend): 清理死方法与 @Deprecated 代码
删除无引用工具类/方法及废弃字段,收缩 PayUtil/DateTimeUtil/MpUtil 等实现,并移除 Service/Manager 中未使用的查询脚手架。
2026-07-14 09:08:19 +08:00
DaxPay Dev
a54450a998 feat(system): 平台配置新增站点展示配置与OSS/端点连通性检查
- 新增网站显示配置(系统名/Logo/备案/版权等)website 配置类型
- OSS 配置增加连通性检查接口, 支持合并库中密钥探测
- 端点配置增加连通性检查, 后端走 /echo 严格校验
- StorageClientService 新增 invalidate 方法, 配置更新后丢弃缓存客户端
- S3 预签名器补 pathStyleAccess 配置, 修正 MinIO 预签名 URL
- 新增 oss/url 连通性检查中英文 i18n 错误消息
2026-07-14 08:15:03 +08:00
DaxPay Dev
14b06b583b refactor(callback): 回调路径改用 channelMchNo 并显式装载商户上下文
删除 CallbackMchContextFilter,控制器入口 bindMchNoForCallback;
notify URL 由 {mchNo}/{appId} 改为 {mchNo}/{channelMchNo};
同步修复微信路径与 ISV 回调入口,并将 payment-common 收敛为 payment-core。
2026-07-13 21:24:50 +08:00
DaxPay Dev
be8fa4d007 refactor(payment): 调用方改为直接依赖 PayRouteService 2026-07-13 18:31:38 +08:00
DaxPay Dev
6dcea22529 refactor(trade): 收敛网关容器与 runtime close 包结构
将 GatewayPayOrder 持久化迁入 trade.order,与 NormalPayOrder 统一为业务容器;
将 runtime.close 拆为 service.close / job / consumer,与 pay/refund/sync 对称。
2026-07-13 18:30:52 +08:00
DaxPay Dev
e8f9f55b04 refactor(payment): 移除 PayRouteFacade,支付流程直接使用 PayRouteService 2026-07-13 18:30:30 +08:00
DaxPay Dev
f2648343b7 refactor(payment): 将 ChannelMerchant 迁入 merchant 分层子目录
去掉顶层 payment.channel 包,按 entity/dao/service 等分层归入
payment.merchant.*.channel,并同步 admin/app-admin 与各通道引用。
2026-07-13 18:28:22 +08:00
DaxPay Dev
f618da0828 refactor(payment): 拆分 core 包结构并移除遗留 ChannelConfig
将 payment-common 中 core 下的 auth/strategy/trade/route 等上移为一级包,同步更新通道与 unipay 引用;删除无写路径、无 DDL 的 ChannelConfig 及相关 API/i18n,配置以 PayProductConfig 与通道商户为准。
2026-07-13 18:12:14 +08:00
DaxPay Dev
1b9a45003c refactor(channel): 去掉 ChannelMerchant 冗余子包 mch/info
将 entity/dao/param 的 mch 与 result/service 的 info 统一拍平到 channel 包下,并同步各通道与管理端的 import。
2026-07-13 15:50:10 +08:00
DaxPay Dev
1247aa1b05 feat 提交一下 2026-07-13 15:14:08 +08:00
DaxPay Dev
d2fbdb9889 refactor: 润色鉴权/二次验证/通道认证注释
去掉主链编排、换票、薄分发等硬译表述,统一为二次验证/按来源分流等人话口径,逻辑不变。
2026-07-13 15:02:23 +08:00
DaxPay Dev
96f5bf0b8a refactor(iam): 二次验证流程去 Challenge 命名并润色注释
将 Challenge 相关类/方法重命名为 Check/SecondaryAuth/Required,
中文注释统一为二次验证/补验表述,逻辑与对外协议不变。
2026-07-13 14:12:42 +08:00
DaxPay Dev
67655f857a feat(iam): 登录终端主数据与社交登录对齐密码路径
新增 Client find-all 主数据接口;社交登录统一 doSaLogin 与 2FA 挑战,校验身份域归属与状态;补充商户回调地址清单与端点缺失提示。
2026-07-13 14:06:36 +08:00
DaxPay Dev
b36fa4bcdd refactor(iam): 权限码全量直改(kebab、trade 域、通道统一、name 常量)
菜单与权限码统一 kebab-case;交易单据迁入 trade 域;通道应用/ISV 收成 channel:app 与 payment:isv;写权限仅 manage;跨 Controller 的 nameCn/nameEn 进 PermCodes,单类高频重复用局部常量。同步 iam_perm_menu 与 update-datas。
2026-07-13 11:58:50 +08:00
DaxPay Dev
2a12e5bff8 refactor(payment): 将端专属 AOP/登录与商户展示服务下沉到对应端模块
PaymentVerify 切面迁入 unipay;商户端登录、上下文 Filter 与仅商户端使用的 MerchantInfo/ChannelConfig 展示服务迁入 merchant,entity/dao 与多端共享服务仍留 common。
2026-07-13 11:02:20 +08:00
DaxPay Dev
959d84bb18 fix(iam): 统一菜单 component 路径为 /{views 相对路径}
去掉 views/ 前缀脏数据(用户管理、第三方平台),种子 SQL 与 update-datas 幂等补丁同步。
2026-07-13 10:36:27 +08:00
DaxPay Dev
d5b9619eef refactor(core): 抽取 @PermCode 为嵌套 interface 常量 PermCodes
在 platform-core 新增按七域组织的 MENU/Action 编译期常量,Controller 注解改为引用常量,消除字面量漂移并与前端 perm-codes 域结构对齐。
2026-07-13 10:00:34 +08:00
DaxPay Dev
228ba3ee4c refactor(payment): 独立 unipay 模块并收敛各端 HTTP 归属
gateway 模块并入 daxpay-payment-unipay;common 迁出运营/开放端 Controller 与端侧 convert/param。
app-admin 包名 appadmin → app.admin;admin 承接交易 convert 与码牌 param。
2026-07-13 09:49:37 +08:00
DaxPay Dev
0cdbc1412d refactor(payment): 交易调试仅保留签名组参,去掉直调支付后门
管理端 develop 不再调用 NormalPayService;真实支付由前端模拟商户请求走 /unipay/pay。
同步放宽直传模式 method 校验,路由模式由 PayRouteService 显式校验。
2026-07-13 09:41:46 +08:00
DaxPay Dev
60083867dd refactor(payment): 端模块 controller/service 包结构改为多级业务域分组
- admin: controller/service 按 masterdata/merchant/channel/trade/device 多级分组
  - masterdata: capability/paychannel/product/provider(原主数据散落子包合并)
  - merchant: appinfo/config/gateway/info/route/store/wxverify(商户域合并)
  - channel/trade/device: 独立业务域保持顶级
- merchant: controller 去掉 mch 中间段,按 config/info/miniapp/store 子包分组
- gateway: 无变化(3 controller + 4 service 保持平铺)
2026-07-13 08:23:58 +08:00
DaxPay Dev
327c62df1e refactor(payment): 拆分 admin/gateway/merchant 三端独立 Maven 模块
- 新建 daxpay-payment-admin(运营管理端:23 controller + 12 admin service)
- 新建 daxpay-payment-gateway(网关端:3 controller + 4 service)
- 新建 daxpay-payment-merchant(商户自助端:9 controller)
- 每端模块自带 @AutoConfiguration + @ComponentScan 装配,自包含可独立部署
- 公共层 daxpay-payment-common 瘦身为共享内核(交易引擎/主数据/商户领域模型)
- 三端互不依赖,单向依赖公共层;daxpay-start 显式依赖三端模块
- MerchantAccessQueryService 上移到 common.service.query,消除 common→merchant 反向依赖
- WxVerifyGatewayController 改包名到 gateway.controller,让 gateway 模块自包含
2026-07-12 23:21:03 +08:00
DaxPay Dev
e6c81f3b6f refactor(payment): payment 包三轮结构重构
1. trade 运行时按域分包(pay/refund/sync/callback) + close 域内聚化
2. admin 管理端集中到 payment.admin.{domain}.{controller|service}
3. gateway 支付网关独立为顶层包(controller/service/entity/dao/convert/param/result)
2026-07-12 22:23:05 +08:00
DaxPay Dev
f021a5d002 ref 支付交易相关内容调整 2026-07-12 15:48:51 +08:00
DaxPay Dev
a53dae3d76 feat(iam): 会话管理支持并发计数范围与网关豁免
新增concurrentScope(GLOBAL全局共享/PER_DEVICE按终端独立); GATEWAY终端豁免并发限制; 显式setIsShare(false)使代码自洽; DB默认值合理化新系统开箱即用; 精简yml删与框架默认一致项并修正注释
2026-07-12 12:32:14 +08:00
DaxPay Dev
57be55f749 fix(sql): 收银台支付项图标值迁移对齐 PayProviderEnum 编码(union→union_pay, aggregate→aggregate_pay) 2026-07-12 11:55:11 +08:00
DaxPay Dev
81a51bef5b feat(iam): 打通会话管理配置到登录链路
TokenService.doSaLogin 读取 PlatformSessionManagementConfig 并应用: 在线时长->timeout, 活跃超时->activeTimeout, 三种并发策略(KICK_OLDEST/DENY_NEW/NEW_SESSION); enabled=false时回退yml默认; 新增activeTimeoutHours字段与concurrentLimitExceeded文案
2026-07-12 11:41:10 +08:00
DaxPay Dev
cfad541867 refactor(system): 开源版移除异常登录检测配置(转商业版) 2026-07-12 11:37:06 +08:00
DaxPay Dev
a60bb39671 fix(auth): 踢下线未登录异常返回401并按原因区分提示
SaExceptionHandler新增sa-token NotLoginException处理, 修复原500兜底致前端401拦截失效; auth.json补充6种未登录文案
2026-07-12 10:57:24 +08:00
DaxPay Dev
5b51da3e6a feat(iam): 修改密码后强制其他会话下线
is-share改false逐设备隔离; 新增kickoutOtherSessions/kickoutAllSessions; 个人改密保留当前踢其他, 管理员重置全踢目标
2026-07-12 10:57:23 +08:00
DaxPay Dev
aab9b79d70 refactor(iam): 在线用户会话反序列化改用 Sa-Token 自身 JSON 模板
Spring Data Redis 4.0 起 GenericJackson2JsonRedisSerializer 已标记 forRemoval,
改用 SaManager.getSaJsonTemplate().jsonToObject 反序列化 SaSession,
读写同源、格式对称,且解耦 Sa-Token 内部序列化实现。
2026-07-12 10:53:15 +08:00
DaxPay Dev
59c302c9bd refactor(menu): 聚合扫码菜单更名为码牌和聚合支付
同步 iam_perm_menu 全量菜单标题,并清空已执行的 update-datas 增量脚本。
2026-07-11 16:52:50 +08:00