Commit Graph

38 Commits

Author SHA1 Message Date
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
b13ac01d29 refactor(role): 开源版内置角色对齐 admin/merchant 并整理登录校验
新增 RoleCodeEnum.ADMIN_ADMIN 与多语言文案;登录状态校验迁至 common/handler;清空已应用的 update-datas 升级脚本。
2026-07-14 15:24:26 +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
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
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
1247aa1b05 feat 提交一下 2026-07-13 15:14:08 +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
959d84bb18 fix(iam): 统一菜单 component 路径为 /{views 相对路径}
去掉 views/ 前缀脏数据(用户管理、第三方平台),种子 SQL 与 update-datas 幂等补丁同步。
2026-07-13 10:36:27 +08:00
DaxPay Dev
57be55f749 fix(sql): 收银台支付项图标值迁移对齐 PayProviderEnum 编码(union→union_pay, aggregate→aggregate_pay) 2026-07-12 11:55:11 +08:00
DaxPay Dev
59c302c9bd refactor(menu): 聚合扫码菜单更名为码牌和聚合支付
同步 iam_perm_menu 全量菜单标题,并清空已执行的 update-datas 增量脚本。
2026-07-11 16:52:50 +08:00
DaxPay Dev
24750bb9e5 feat(sql): 补充应用工作台与收银台配置菜单
新增应用配置子页 MchAppWorkbench(/payment/merchant/app/manage)及收银台配置菜单,同步全量菜单导出与增量升级脚本。
2026-07-11 15:44:09 +08:00
DaxPay Dev
13390cc99d feat(iam): 菜单子页面分组与类型不可变校验
支持 subpage_group 父子约束与统一处理;更新菜单时禁止修改 menuType,并补充错误与枚举 i18n。
2026-07-11 12:24:14 +08:00
DaxPay Dev
1516c46924 feat(payment): 聚合扫码配置三级深度与场景子表
支持 AUTO/METHOD/DIRECT 配置深度, 场景子表与路由解析; 同步菜单与 i18n。
2026-07-11 10:21:14 +08:00
DaxPay Dev
b48c18e01e fix(payment): 恢复辅助支付终端菜单(非 IoT 硬件)
辅助终端不属于云音箱/云打印硬件对接范围, 开源版应保留菜单占位。
2026-07-11 10:16:41 +08:00
DaxPay Dev
c9c9ffb614 refactor(payment): 开源版移除云音箱/云打印/厂商等硬件对接
硬件对接归商业版; 保留码牌收款能力。同步清理菜单种子与 i18n。
2026-07-11 10:15:50 +08:00
DaxPay Dev
17fb60161d refactor(system): 移动端应用配置从 payment 迁至 platform/system
- 删除 payment.app.mobile 实体链路与 MobileAppAdminController
- 迁入 platform.system:MobileAppTypeEnum/MobilePlatformEnum + entity/dao/service/controller
- API: /admin/mobile-app → /platform/config/mobile-app,权限码 system:config:mobile_app
- 菜单 40504/40505 父级改系统配置(304),路径改 /system/config/mobile-app(update-datas + iam_perm_menu baseline)
2026-07-10 17:58:21 +08:00
DaxPay Dev
d4a35838a1 feat(alipay): 服务商(ISV)授权与认证服务架构重构 2026-07-09 22:12:59 +08:00
DaxPay Dev
4be249dd39 feat(notify): 微信消息通知模板配置迁入系统平台配置
凭据走三方平台 wechat_mp_auth,模板存 system_platform_config(wechat_notify);
发送记录落 service-notify 分层包,能力层仅保留纯发送。
2026-07-09 17:31:49 +08:00
DaxPay Dev
fa51d117d5 feat(payment): 支付宝通道认证与认证调试工具
平台级支付宝配置生成授权中间页/换 userId,新增开发调试认证页与菜单。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-09 17:12:08 +08:00
DaxPay Dev
f67f1f6813 feat(system): 三方平台管理(支付宝/微信公众号)并下线抖音H5授权
- 菜单升级为三方平台管理 tab, 含登录配置/支付宝/微信公众号
- 新增 capability-alipay、平台级支付宝/微信公众号认证配置与 AlipayAuthEndpoint
- 跳转型判定统一走 SocialSourceEnum.isPlatformRedirect, 去掉 alipay 魔法字符串
- 清理 douyin_auth 加密配置与 wechatMpPublic/douyinH5 历史登录数据; 保留三方登录抖音扫码
2026-07-09 16:10:59 +08:00
DaxPay Dev
c8840f4065 refactor(social): 三方登录配置 SocialConfig 重命名为 SocialLoginConfig
为避免与新增的「三方平台管理」命名冲突, 全量迁移社交登录配置体系:

- 类(entity/param/result/mapper/manager/convert/service/controller): SocialConfig* -> SocialLoginConfig*
- 表: iam_social_config -> iam_social_login_config (update-tables.sql)
- API 路由: /social/config -> /social/login-config; 权限码: iam:social:config -> iam:social:login-config
- 菜单 iam_perm_menu(id=900001): name/path/component/i18n_key 同步更新
- SocialLoginService 引用同步; justauth 的 SocialAuthConfig 保持不变(语义为运行时授权配置)
2026-07-09 13:12:16 +08:00
DaxPay Dev
b7a89ab912 feat(payment): 新增微信域名验证文件管理(网关响应MP_verify/JSON上传/平台全局视图/租户穿透/编辑弹窗) 2026-07-09 12:39:17 +08:00
DaxPay Dev
c2f2a85eb3 dev 数据库脚本文件清空 2026-07-08 21:21:24 +08:00
DaxPay Dev
f778e6b553 feat(channel): 新增斗拱/富友/河马付/乐刷/易宝通道模块 + 拉卡拉重构(去isv分层) + 通道密钥配置字段扩展与配套SQL/枚举/i18n 2026-07-08 17:11:14 +08:00
DaxPay Dev
1c689f04df feat(payment): 通道商户名称修改接口+商户号生成工具, 支付与退款客户端IP兜底, 支付宝扫码能力码统一为ALIPAY_QR 2026-07-06 15:30:50 +08:00
DaxPay Dev
e9ddf2d924 feat(lakala): 拉卡拉服务商通道对接(进件/支付/退款/同步/回调) + 配置表 + 菜单
- 完整服务商(ISV)模式: 密钥配置/通道商户绑定/进件
- 支付能力: 下单/关单/退款/退款同步/订单同步, 通过声明式HTTP客户端转发子应用
- 回调验签解析, 敏感字段加密存储
- LakalaProductStrategy isTerminal 调整为 false(服务商模式无独立终端)
- channel/error 中英文补充拉卡拉错误消息
- update-datas 新增拉卡拉服务商配置菜单(40506)
2026-07-05 23:55:47 +08:00
DaxPay Dev
b07bb91892 feat(payment): 移动端应用管理(平台级)后端: 建表+实体链路+Controller+i18n+菜单
- 新建 pay_platform_mobile_app 表(单表+jsonb, 按端类型+移动平台维度唯一)
- 实体链路 cn.daxpay.open.payment.app.mobile: MobileApp(entity/param/result/convert/mapper/manager/service)
- 枚举: MobileAppTypeEnum(merchant/admin/cashier) + MobilePlatformEnum(wx_h5/wx_mini/alipay_mini/dy_mini/android/ios)
- 运营端 Controller /admin/mobile-app: list/list-by-app-type/get/save/update-enabled, @PermCode(payment:config:mobile_app)
- i18n: error/mobile_app + enum/mobile_app_type + enum/mobile_platform (zh-CN/en-US)
- 权限菜单 iam_perm_menu: 卡片页(40504) + 详情页(40505), 父级=支付配置(405)
2026-07-05 12:36:11 +08:00
DaxPay Dev
3ce790ab99 feat(wechat): 微信服务商子商户应用功能 + 授权配置基类修复
- 新增微信服务商通道商户应用(WechatIsvMchApp)子商户自己的微信应用管理,
  含应用/能力绑定/授权配置三表及配套 controller/service/dao/convert/param/result
- 修复 WechatIsvAppAuthConfig 基类错误(MchBaseEntity→MpBaseEntity):
  服务商应用为平台级全局配置, 不挂商户维度, 移除冗余的 mchNo/channelMchNo 字段,
  修复 channel_mch_no / mch_no 列不存在的运行时异常
- 支付宝支付异步通知地址改用平台端点配置(backendBaseUrl)生成
- 微信直连凭证组装从通道商户绑定表取真实 wxMchId(channelMchNo 为系统雪花号)
- 支付方式枚举与 i18n 文案统一精简(去掉冗余'支付'后缀, 统一大小写)
- 校验消息 key 修正(wechatIsvAppId / wechatIsvMchAppId)
2026-07-05 11:00:11 +08:00
DaxPay Dev
49d160b29e feat(payment): P0 alipay退款全链路 + 清理old包PayCloseRecord冲突
退款(channel-one → 主应用 → 策略 → 订单管理 → SQL):
- channel-one: alipay refund/refund-sync 端点 + DTO + service
- AlipayChannelClient 加 refund/refundSync, direct/isv 退款策略
- PayRefundOrder 实体 + Mapper/Manager/Convert/Result/Query
- PayRefundService(锁/校验/创建/调策略/回写) + PayRefundSyncService
- PayRefundOrderAdminController(/admin/order/refund)
- AbsRefundStrategy + AbsSyncRefundStrategy 抽象策略
- RefundOrderStatusEnum + i18n(zh/en)
- SQL: pay_refund_order 建表 + 退款菜单(payment:refund)

清理 old(修复 ConflictingBeanDefinitionException):
- 删除 old PayCloseRecord 链(8文件), core 版为唯一实现
- 删除 old PayCloseService/PaySyncService/PayOrderService/PaySyncResultBo
2026-07-03 12:24:07 +08:00
DaxPay Dev
0ac65d7e6f feat(merchant): 商户应用事件通知配置(entity/service/controller/菜单SQL/i18n) 2026-07-02 04:25:31 +08:00
DaxPay Dev
9208422abd feat(order): 普通支付交易订单管理(admin视角): NormalPayOrder+PayTrade 列表/详情/同步/关闭 2026-07-02 02:23:22 +08:00
DaxPay Dev
918437abc7 feat(menu): 工作台设为默认首页, 补充dashboard菜单编码占位与排序调整
- Dashboard 目录 redirect /analytics → /workspace
- 工作台(id=102) menu_code=dashboard:workspace, sort_no=1
- 分析页(id=101) menu_code=dashboard:analytics, sort_no=2
2026-06-27 22:22:43 +08:00
DaxPay Dev
d1c1b008d3 feat(device): 新增云打印设备管理, 镜像云音箱实现本地台账与绑定/解绑 2026-06-26 13:00:49 +08:00
DaxPay Dev
f4bb434028 refactor(device): 设备实例类统一 Device 前缀, 新增厂商配置域与设备枚举, 术语统一云音箱
SpeakerDevice → DeviceSpeaker(entity/dao/param/result/convert/service/controller); 新增 device.vendor 域与 DeviceTypeEnum/DeviceVendorEnum; DeviceStatusEnum i18n key 解耦至 error.device.common; SQL 厂商配置提升设备管理顶层、清理 iot 残留、删除冗余厂商入口; 云音响 → 云音箱
2026-06-25 23:05:33 +08:00
DaxPay Dev
ef5a960142 chore: 同步数据库菜单/数据快照及杂项(i18n校验/social/pom清理) 2026-06-25 10:49:21 +08:00
DaxPay Dev
4d619e4c28 feat(notify): 新增站内通知模块(公告管理 + 用户端铃铛 + SSE 实时推送)
- 新建 service-notify 模块: 公告广播(notify_notice)+已读表(notify_notice_read), 预留个人消息表(notify_message)
- 管理端: CRUD/发布/下线/详情/分页
- 用户端: 未读数/铃铛列表/标记已读/全部已读/忽略
- SSE 实时推送: 发布公告时推送给所有在线用户, 25s 心跳保活
- i18n(zh/en): 枚举与业务错误消息
- 菜单与权限码(system:notify:notice:add/publish/view)
2026-06-24 15:52:16 +08:00
bootx
ebe175653e del ocr 删除 2026-06-13 16:05:39 +08:00
bootx
f369736e73 build 3.1.0.bate2 2025-11-17 18:23:21 +08:00