Commit Graph

23 Commits

Author SHA1 Message Date
DaxPay Dev
ca34c043a8 refactor(route): 清理通道路由死代码与冗余字段, 移除重付兼容分支
- RouteHit 精简为 (product, channelMchNo, capability), 删除 channel/method 等死字段
- PayRouteProductResolver 删除 resolve/resolveAndFill 等零调用死方法, 仅保留 productOfChannelMchNo
- 移除 inferSceneCapability 全链路(Controller/Facade/Service/Support)
- PayRouteStrategy 移除 provider 字段(改由支付方式解析)
- PayRouteSceneConfig 移除 provider/channel 冗余字段(由 method 派生), saveSceneBatch 改为从 method 派生 provider
- 移除 PayRouteService.resolve 兼容分支与 NormalPayService 重付复用分支
- update-tables.sql 同步清理 provider/channel 列
2026-06-27 11:29:02 +08:00
DaxPay Dev
f092544c48 refactor(route): 通道路由场景模式重构为通道商户+支付能力定位
场景/基础模式配置以 channelMchNo 替代 product, 解决一商户多通道商户无法唯一定位; PayMethodEnum 加 provider 字段由支付方式直接解析, 移除从 product 反推; PayParam 新增 capability 支持路由回填与直定模式(指定 channelMchNo 跳过路由); 候选数据源改为商户实际开通的 ChannelMerchant, 修复原配置不考虑开通情况; 删除 dead code(PayRouteSceneRouteResolver/PayRouteCapabilityService) 并重建两表 DDL
2026-06-26 21:03:11 +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
d4c5d715b3 feat(auth): 新增双因素认证(TOTP绑定+备用恢复码+登录二次验证)
- TOTP: 基于 hutool 自研 RFC6238(零外部依赖), secret 用 AES-256-GCM 加密存储
- 备用恢复码: 8位字母数字, 仅存 SHA-256 哈希, 一次性展示强制确认
- 登录接入: 密码通过后抛 TwoFactorRequiredException(40101), Redis preAuthToken 5min, /token/second-verify 二次校验
- 绑定管理: status/setup/confirm/disable/regenerate-backup-codes
- i18n: zh-CN/en-US 双语
2026-06-25 21:57:18 +08:00
DaxPay Dev
2cb6533eaa refactor(device): 云音响设备台账域从 iot 重命名为 device 2026-06-25 12:28:40 +08:00
DaxPay Dev
1c66bfed35 feat(iot): 新增云音响设备管理(建表/状态枚举/Controller/i18n) 2026-06-25 10:49:03 +08:00
DaxPay Dev
df2e2dceac feat(merchant): 新增门店信息管理(建表/状态枚举/双Controller/i18n) 2026-06-25 10:47:15 +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
DaxPay Dev
c4c115052d refactor: 社交登录架构重构与端点配置功能
- capability-social 业务层(config/endpoint/cache/bind/login)迁移至 service-iam
- SPI 接口(SocialBindStore/SocialLoginHandler)合并到实现类, capability-social 精简为纯协议层
- service-system 配置模块拆分为 Oss/Security/Url 三个独立子模块
- 社交登录回调地址改由端点配置自动生成, 移除 redirectUri 手动配置
- 修复 exchange 阶段 redirect_uri 与 authorize 阶段不一致问题
2026-06-21 21:44:05 +08:00
DaxPay Dev
34da37061e feat: 第三方社交登录全栈实现
- 新建 capability-social 模块,实现 OAuth2 授权码模式社交登录
- 支持 GitHub / Gitee / QQ / 微信 / 企业微信 / 飞书 / 钉钉 / 抖音 8 个平台
- 前端回调模式:第三方 → 前端 /auth/oauth-callback → POST /social/exchange
- state 缓存至 Redis,exchange 时校验并恢复上下文
- 社交配置管理页面(卡片列表 + 抽屉表单)
- 用户社交绑定管理(个人中心绑定列表 / 解绑)
- 枚举国际化 SocialSourceEnum 实现 I18nSupport
- IamUserSocial 实体 + i18n 错误码 + SQL 迁移
- 清理死代码:scopes / frontendCallbackUrl / name / stateTimeout
2026-06-21 17:58:59 +08:00
DaxPay Dev
1e0be25105 refactor: 支付渠道/产品启停功能 + 表重命名 + 描述字段
- 表重命名: pay_* → pay_md_* (8张主数据表)
- 启停功能: PayProvider/PayProduct 增加 enabled 字段及 switch 接口
- PayProductConfig 移除 enabled 字段
- PayProvider 增加 description 字段
- SQL: update-tables.sql 完整迁移脚本
2026-06-17 18:54:14 +08:00
DaxPay Dev
da3749a09a feat: 支付产品配置增加 enabled 启停开关字段 2026-06-17 13:50:22 +08:00
DaxPay Dev
a7e42d421c feat: PayParam 新增订单商品明细列表(goodsDetail) 2026-06-16 23:02:09 +08:00
DaxPay Dev
36bb88f1c8 清理: 删除抖音表SQL, 清空菜单和更新SQL文件 2026-06-16 11:22:40 +08:00
DaxPay Dev
ccb9b611a1 feat: 抖音直连商户认证配置后端新增 appSecret 字段
- 实体/Param/Result 新增 appSecret 字段
- Result 字段标注 @SensitiveInfo 自动脱敏(保留前4后4)
- Service.save 通过 Convert IGNORE 策略处理 appSecret 更新
- update-tables.sql 新增 app_secret 列
2026-06-16 10:54:19 +08:00
DaxPay Dev
2a0441e3d2 feat: 抖音支付通道新增 entity/param/result/service/dao/controller 全套代码
- 新增抖音支付产品策略、直连支付策略
- Alipay 直连应用调整
- 新增抖音 SQL 建表脚本
2026-06-15 23:22:17 +08:00
DaxPay Dev
077c4024df chore: 国际化throw处统一添加模块前缀中文注释
- 统一所有 throw/orElseThrow 前注释风格为 // {模块}: {说明}
- 清理重复注释(PayService.java 重复行)
- 修复支付宝直连商户 appNotFound → mchAppNotFound
- 新增支付宝 i18n mchAppNotFound 翻译
- 更新 AGENTS.md 行内注释规则
2026-06-15 12:47:35 +08:00
DaxPay Dev
14395a5228 feat: 微信直连通道管理功能 2026-06-15 11:45:43 +08:00
DaxPay Dev
db828d9e1f refactor: 支付宝通道 service 层 findById().orElseThrow() 优化为 existedById,局部变量声明改为 var 2026-06-15 08:49:10 +08:00
DaxPay Dev
4319fedece refactor: 微信通道按 ISV/直连拆分重构,调整支付宝通道商户
- 微信:新增 WechatDirectChannelMerchant / WechatIsvChannelMerchant 直连与服务商通道商户,目录按 direct/isv 重组,枚举移至 code 包
2026-06-14 21:48:28 +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