DaxPay Dev
|
596d2af830
|
feat(config): 拆分 dev/prod profile, 新增生产环境配置
- application.yml: 移除 management.endpoints/health 块下沉到各 profile; tracing sampling 默认 1.0
- application-dev.yml: 顶部新增 management 块(11 个排障端点 + show-details: always)
- application-prod.yml: 新建, Docker Compose 部署 + 凭证环境变量占位符 + 优雅停机 + liveness/readiness 探针分组
- channel: dev/prod 统一注释体系(one/two/three 编号规则与子应用分配), prod 用 \ 占位
- prod 安全收紧: 关闭 Swagger 与超管后门, actuator 仅 health/info/metrics, ignore-urls 移除 /**
|
2026-06-23 08:48:22 +08:00 |
|
DaxPay Dev
|
2bd199ecaa
|
fix(tracing): 关闭 OTLP 导出并修正 Spring Boot 4.1 失效属性键
- management.tracing.export.otlp.enabled: false (4.1 标准键,原 management.opentelemetry.tracing.export.otlp.enabled 从未存在)
- management.otlp.metrics.export.enabled: false (4.1 起前缀由 management.metrics.export.otlp.* 改为 management.otlp.metrics.export.*)
- 消除 otlp-metrics-publisher 周期性 ConnectException WARN
|
2026-06-22 21:25:17 +08:00 |
|
DaxPay Dev
|
8c3811eefa
|
refactor(build): 引入 daxpay-parent 统一版本与 compiler 治理
- 根 pom 继承 SB parent,集中所有版本属性与 maven-compiler-plugin 配置
- 6 个一级模块改为继承根 pom,删除重复的 properties 与 compiler 声明
- 清理冗余 wxjava/alipay 属性(daxpay-payment/daxpay-plugin/capability-wechat)
- mapstruct.version 声明处 6→1,maven-compiler-plugin 声明处 7→1,java.version 声明处 7→1
|
2026-06-22 21:14:38 +08:00 |
|
DaxPay Dev
|
be14689803
|
chore(upgrade): 升级 Spring Boot 4.0.6 → 4.1.0 及依赖版本治理
- Spring Boot parent 4.0.6 → 4.1.0 (6 pom)
- springdoc 3.0.2 → 3.0.3, aws-sdk 2.42.36 → 2.46.15, caffeine 3.2.3 → 3.2.4, ip2region 3.3.6 → 3.3.7
- 移除已停更的 lombok-mapstruct-binding (A方案验证通过)
- 构建命令 -DskipTests → -Dmaven.test.skip=true (适配 SB 4.1 AOT 变化)
|
2026-06-22 21:05:45 +08:00 |
|
DaxPay Dev
|
f0359ead55
|
feat: 引入 OpenTelemetry 实现主子应用全链路追踪
- daxpay-start 引入 actuator + opentelemetry 依赖
- application.yml 新增 tracing 配置(OTLP 关闭, 全采样), 修正 management 配置位置
- TraceIdFilter 简化为读取 MDC(OTel 注入) 并写入 ThreadLocal + 响应头
- RestClientConfiguration 改用注入 RestClient.Builder, 新增业务上下文透传拦截器
- logback pattern 补充 spanId
|
2026-06-22 18:14:26 +08:00 |
|
DaxPay Dev
|
675b2fd19e
|
feat: 用户管理新增三方账号绑定查看与解绑
- 新增 UserSocialController, 归属用户管理域(/user/admin/social)
- 直接注入 IamUserSocialBindStore, 与登录绑定流程完全分离
- SocialAuthMode 移至 enums 包, 清理废弃方法
- 社交登录记录登录日志(loginType=平台编码)
|
2026-06-22 17:09:10 +08:00 |
|
DaxPay Dev
|
354fcc932c
|
feat: 三方社交登录记录登录日志
- IamSocialLoginHandler 注入 LoginSuccessHandler, 登录成功后触发处理器链
- 构建 AuthInfoResult, loginType 使用平台编码(如 gitee/feishu)
- SocialLoginService 传递 source 参数
|
2026-06-22 16:40:05 +08:00 |
|
DaxPay Dev
|
41ef4c423e
|
refactor: 社交登录/绑定回调分离, 移除 Redis 状态缓存
- SocialLoginService 拆分为 exchangeForLogin/exchangeForBind, 提取 doExchange 公共逻辑
- SocialEndpoint: exchange-login(公开) 和 exchange-bind(需登录) 独立端点
- SocialConfigService.buildAuthConfig 接受完整 redirectUri 参数
- 移除 RedisSocialStateCache 和 SocialAuthContext (state 不再携带业务上下文)
|
2026-06-22 14:20:16 +08:00 |
|
DaxPay Dev
|
5dcf106518
|
feat: 个人设置后端支持与接口修复
- UserBaseInfoResult/Param 新增 email/phone 字段及校验
- UserInfoService 新增邮箱/手机号唯一性校验
- 新建 UpdatePasswordParam, updatePassword 改为 @RequestBody 接收
- PasswordStatusCheck 路由白名单 camelCase 改为 kebab-case
- 修复 zh-CN validation.json 结构错误(多余逗号导致 field 对象提前闭合)
- 补全 12 个缺失的 validation i18n key (zh-CN + en-US)
|
2026-06-22 11:46:42 +08:00 |
|
DaxPay Dev
|
6264bab4bc
|
refactor: SocialEndpoint 瘦控制器化, 编排逻辑下沉至 SocialLoginService
|
2026-06-21 22:20:01 +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
|
8ffbdd2865
|
feat: 添加 JustAuth 开源许可声明
|
2026-06-21 20:20:14 +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
|
b8a6a75c98
|
del 遗留SQL脚本删除
|
2026-06-20 11:19:20 +08:00 |
|
DaxPay Dev
|
66b70ad206
|
feat(demo): 支持 Spring Boot 自动发现并按类型拆分 artemis 子包
- 新增 DaxpayDemoApp (@AutoConfiguration + @ComponentScan) 与 AutoConfiguration.imports,demo 随 start 自动装配
- artemis 由平铺拆分为 controller/consumer/constants/model/param/result/service 7 个子包
- 含 demo 包名迁移至 cn.daxpay.open.demo;补全跨子包 import (19 处)
- 编译验证通过
|
2026-06-20 00:02:10 +08:00 |
|
DaxPay Dev
|
464bf7d89d
|
refactor: 包名与 Maven 坐标由 org.dromara.daxpay 迁移至 cn.daxpay.open
- groupId/Java package/源码目录: org.dromara.daxpay -> cn.daxpay.open
- 同步更新 pom groupId、AutoConfiguration.imports、@ComponentScan、logging logger、mainClass 等全限定引用
- 编译验证通过 (mvnd clean install -DskipTests)
|
2026-06-20 00:01:50 +08:00 |
|
DaxPay Dev
|
d5fab68e91
|
refactor(demo): 拆分为独立模块 daxpay-demo,Artemis 演示下沉到 demo.artemis 子包
|
2026-06-19 19:55:44 +08:00 |
|
DaxPay Dev
|
980a9569a3
|
refactor(mq): 提取 ArtemisBeanNames 常量类,消除 Bean 名字符串字面量
将 common-artemis 模块引用的 JMS Bean 名(jmsTemplate / topicJmsTemplate /
topicListenerFactory)集中到新建的 ArtemisBeanNames 接口,替换
ArtemisCommonAutoConfiguration、ArtemisTemplateService 及消费端
(DemoTopicConsumer、CacheInvalidationConsumer)中的字符串字面量。
同时清理遗留的对账单模板.xlsx(对账模块已删除)。
|
2026-06-19 19:18:10 +08:00 |
|
DaxPay Dev
|
f1e666469c
|
refactor: 删除转账模块(完整) + 退款模块(保留支付核心字段)
- 删除转账 transfer 模块(29个Java + 4个i18n + 散落引用)
- old/pay/**/transfer/ 全部删除(service/entity/dao/param/result/bo/convert/controller)
- unipay/**/transfer/ 全部删除
- strategy/transfer/ + strategy/sync/AbsSyncTransferOrderStrategy
- enums/pay/transfer/ + 对应i18n
- 清理 TradeTypeEnum/TradeFlowTypeEnum/NotifyContentTypeEnum/PaymentApiEnum
- 清理 UniTradeController/UniSyncController/UniQueryController
- 清理 CallbackInfo/TradeOrderEventService/MerchantNoticeService 等
- 删除退款 refund 业务代码(保留 PayRefundStatusEnum + PayOrder.refundStatus/refundableBalance)
- old/pay/**/refund/ 全部删除(不包括 PayRefundStatusEnum)
- RefundStatusEnum 删除
- daxpay-payment-merchant 中7个退款接口删除
- 清理 UniTradeController/UniSyncController/UniQueryController
- 清理 TradeUniHandleService/PayPluginAssistService/IndexTradeReportService
- 清理 TradeOrderEventService/MerchantNoticeService/MerchantCallbackTaskService
- BUILD SUCCESS (37/37)
|
2026-06-19 12:30:18 +08:00 |
|
DaxPay Dev
|
74c084739d
|
refactor: 删除废弃的对账(reconcile)模块及相关代码
- 删除 daxpay-payment-common 中 33 个对账文件(旧版 old/pay/ + 新版 unipay/ + strategy/
- 删除 daxpay-platform-core 中 4 个枚举/异常文件
- 删除 common-i18n 中 8 个国际化资源文件
- 清理 4 处散落引用(import、注释、方法)
- 清理 11 处 i18n message key
- BUILD SUCCESS
|
2026-06-19 11:24:59 +08:00 |
|
DaxPay Dev
|
b708f63903
|
refactor(mq): 移除 ArtemisTemplateService 的 tag 参数及全部 TAG 相关代码
tag(JMS selector)在当前所有场景中均无实际价值:
- Demo TAG 场景用固定值 important/normal,不同 address 更清晰
- 缓存失效场景消息体已有 type 字段,tag 写了无 selector 消费
- 延时任务是低频单消费者,selector 无用武之地
改动:
- ArtemisTemplateService 6 个方法签名去掉 tag 参数,buildHeaders 简化
- 删除 DemoTagConsumer 及 DemoArtemisConstants 的 TAG 常量
- SendDemoMessageParam/DemoArtemisMessage/DemoMessageResult 删除 tag 字段
- ArtemisDemoController 删除 TAG 场景分支及校验
- CacheTopicConstants/CacheInvalidationPublisher 删除 TAG_EVICT/TAG_CLEAR
- error/demo.json 删除 tagRequired 国际化
|
2026-06-19 00:00:29 +08:00 |
|
DaxPay Dev
|
8de0e068dc
|
refactor(mq): 统一 Topic 收发能力到 common-artemis,移除 MessageConverter 与重复配置
- 删除 ArtemisMessageConverter,回落到 Spring 默认 SimpleMessageConverter
做 String <-> TextMessage 透传,消除对 String 入参的双重序列化 bug
- ArtemisTemplateService 方法签名统一 String body,调用方自行 JacksonUtil.toJson
- ArtemisCommonAutoConfiguration 新增 topicListenerFactory Bean + @EnableJms,
作为 Topic 监听容器的通用能力下沉
- 删除 DemoJmsListenerConfig / CacheJmsListenerConfig 两份逐行重复的配置类
- DemoTopicConsumer / CacheInvalidationConsumer 统一引用 topicListenerFactory
|
2026-06-18 23:36:42 +08:00 |
|
DaxPay Dev
|
810f754a60
|
feat(mq): 新增 Artemis 消息队列演示页并修复 Topic 路由与消息转换问题
后端:
- ArtemisTemplateService 区分 Queue/Topic 语义,新增 sendTopic/sendTopicDelay/sendTopicDelayAt
- ArtemisCommonAutoConfiguration 新增 topicJmsTemplate Bean(pubSubDomain=true),
并 @AutoConfiguration(after=JmsAutoConfiguration) 避免抢占默认 jmsTemplate 的自动装配
- 修复 Topic 广播误用 anycast 路由导致的 broker 路由不匹配异常
- 简化 ArtemisMessageConverter 为纯 TextMessage 传输,移除 _type 类型绑定
- CacheInvalidationPublisher 改用 sendTopic,修复同源广播路由问题
- 新增 demo 演示模块(Controller/Consumer/Param/Result/Store/Message/Config)
- 新增 demo 校验/错误国际化(zh-CN/en-US),修复 validation.json 末尾多余逗号
- 新增演示菜单 SQL
前端:
- 新增 /demos/artemis 演示页(点对点/发布订阅/延时/Tag 过滤四场景)
- 将 a-input-group 替换为 a-space-compact(antdv-next 已废弃 Input.Group)
|
2026-06-18 23:02:04 +08:00 |
|
DaxPay Dev
|
74ea6942ca
|
refactor(mq): 将消息中间件从 RocketMQ 替换为 ActiveMQ Artemis
- 新增 common-artemis 模块(自动配置/异常/消息转换器/模板服务)
- 新增 i18n 错误信息 artemis.json(zh-CN / en-US)
- capability-cache 改用 JMS(CachingConfiguration/CacheInvalidationConsumer/Publisher)
- 新增 CacheJmsListenerConfig 配置缓存失效广播的 Topic 监听
- 删除 common-rocketmq 模块及 service-baseapi 下的 RocketMQ 测试代码
- application-dev.yml 切换为 spring.artemis native 模式连接外部 broker
|
2026-06-18 17:04:51 +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
|
43a42ba77b
|
fix 编译错误
|
2026-06-17 13:50:59 +08:00 |
|
DaxPay Dev
|
da3749a09a
|
feat: 支付产品配置增加 enabled 启停开关字段
|
2026-06-17 13:50:22 +08:00 |
|
DaxPay Dev
|
1fc1a11931
|
fix: 补删子类中 isAllocatable 覆写方法
|
2026-06-17 13:05:15 +08:00 |
|
DaxPay Dev
|
e54abd4c82
|
refactor: 移除分账相关代码
- 删除 PayAllocStatusEnum.java 枚举
- 从 TradeTypeEnum/NotifyContentTypeEnum 移除 ALLOCATION
- 从 TradeNoGenerateUtil 移除 allocation() 方法
- 移除 PayOrder/PayOrderVo/PayOrderQuery/PayOrderResult 中分账字段
- 移除 PayAssistService 中分账状态设置逻辑
- 移除 PayOrderManager 中 findAutoAllocation() 方法
- 移除 AbsProductStrategy/PayProductResult 中 allocatable
- 移除国际化 pay_alloc_status.json 及 trade_type/notify_content_type 中 allocation 条目
|
2026-06-17 12:49:14 +08:00 |
|
DaxPay Dev
|
a7e42d421c
|
feat: PayParam 新增订单商品明细列表(goodsDetail)
|
2026-06-16 23:02:09 +08:00 |
|
DaxPay Dev
|
21327f9feb
|
feat: PayService 接入应用选择与支付路由
|
2026-06-16 22:31:42 +08:00 |
|
DaxPay Dev
|
9a5a8da3d6
|
refactor: 移除系统中所有短信通知功能
- 删除短信配置平台端 CRUD(实体/参数/结果/DAO/Service/Controller/Convert)
- 删除 SmsProviderEnum 枚举
- 删除 sms4j 依赖及配置
- 删除 MerchantUserService 中短信发送/校验逻辑
- 删除 MerchantUserController 中短信相关 API 端点
- 删除 LoginSmsCaptchaService 及 TokenEndpoint 中短信端点
- 删除前端短信配置页面及 API
- 清理相关国际化文件及校验消息
|
2026-06-16 22:22:32 +08:00 |
|
DaxPay Dev
|
f96d1091d2
|
refactor: 删除 MchApp 基类体系,appId 内联到各实体
|
2026-06-16 21:41:04 +08:00 |
|
DaxPay Dev
|
b8dc17d83b
|
refactor: 优化 PayParam 参数设计与时间格式
|
2026-06-16 21:07:08 +08:00 |
|
DaxPay Dev
|
a0ff848d7b
|
refactor: 实现普通支付三层架构重构
- PayTrade 新增6个字段(product/otherMethod/limitPay/outOrderNo/transOrderNo/relationOrderNo)
- 合并通道字段到 PayTrade(buyerId/openid/payBody/bankType等9个字段,删除 PayChannelInfo)
- trade 包合并到 order 包
- 新建 PayTradeResultBo、PaySyncResultBo(业务对象)
- 新建 3 套 DAO(PayNormalOrder + PayTrade + PayChannelInfo(已删除))
- 新建 PayTradeConvert(MapStruct 转换器)
- 新建 6 个服务(PayService/PayAssistService/PayCallbackService/PayCloseService/PaySyncService/PayUniHandleService)
- 修改策略基类适配 PayTrade(AbsPayStrategy/AbsPayCloseStrategy/AbsSyncPayOrderStrategy)
- 更新 PaymentStrategyFactory/ProductStrategySupport 引用路径
- 更新 UniTradeController 引用新服务路径
|
2026-06-16 18:59:22 +08:00 |
|
DaxPay Dev
|
4e82e4ef55
|
refactor: 清理已迁移的旧代码并更新引用
- 删除 old/pay/ 下已迁移的 masterdata 和 strategy 旧文件
- 更新 masterdata 中 3 处 old.pay.strategy.AbsProductStrategy → payment.strategy.product.AbsProductStrategy
- strategy 中的 21 处 old.pay 引用保留(引用的旧实体/BO 未迁移)
|
2026-06-16 16:37:03 +08:00 |
|
DaxPay Dev
|
4bd3d2c1c7
|
feat(strategy): 迁移策略抽象类到 payment/strategy/
- 新建 strategy/ 模块 (payment.strategy.{sub})
- 8 个子域: pay/refund/transfer/sync/reconcile/profit/product/auth
- 12 个 Abs* 策略文件从 old/pay/strategy 迁移完成
|
2026-06-16 16:31:29 +08:00 |
|
DaxPay Dev
|
3e25ace24a
|
feat(masterdata): 迁移主数据模块到 payment.masterdata
- 新建 masterdata/constants/{channel/capability/method/product/provider} 子域
- 迁移 masterdata/config (ChannelConfig)
- 包结构: business-domain-first (masterdata.{subdomain}.{layer})
- 继承 MpBaseEntity (平台层)
- 删除 old/pay/service/route/PayRouteFacade.java (路由代码在 merchant 模块独立存在)
|
2026-06-16 16:25:33 +08:00 |
|
DaxPay Dev
|
0e75f4505a
|
refactor(payment): 支付订单重构 - 新架构实体与旧代码迁移
- 迁移旧代码: payment/pay/* → payment/old/pay/* (224 文件, 包名更新为 old.pay)
- 新建支付核心实体: PayTrade (pay_trade 资金交易凭证)
- 新建容器实体: PayNormalOrder / PayAuthOrder / PayRecurringOrder / PayCombineOrder
- 新增公共枚举: PayTradeTypeEnum / PayFundStatusEnum / NormalOrderStatusEnum / AuthStatusEnum / RecurringStatusEnum / CombineStatusEnum
- 新增金额值对象: MoneyAmount (Long 最小货币单位 + currency)
- 包结构: 业务子域优先 (pay.trade / pay.order), 旧代码归档 old/
- 设计文档: _doc/design/order/ (外部维护)
|
2026-06-16 16:03:49 +08:00 |
|
DaxPay Dev
|
36bb88f1c8
|
清理: 删除抖音表SQL, 清空菜单和更新SQL文件
|
2026-06-16 11:22:40 +08:00 |
|
DaxPay Dev
|
f2070b71d2
|
refactor: 微信认证配置去掉 appSecretConfigured,统一用 @SensitiveInfo 注解脱敏
- WechatDirectAppAuthConfigResult: 新增 appSecret(@SensitiveInfo) 字段,
替代手动 appSecretConfigured 布尔标记
- WechatIsvAppAuthConfigResult: 删 appSecretConfigured(@SensitiveInfo 已存在)
- 两个 Controller: 删手动 setAppSecretConfigured,直接 toResult()
- 清理无用 StrUtil import
|
2026-06-16 11:07:17 +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
|
04e1857635
|
feat: 支付宝支付流程重构-策略分包+支付服务骨架+配置合并
|
2026-06-15 17:31:07 +08:00 |
|
DaxPay Dev
|
b8ad6ef21e
|
feat: 支付主数据枚举新增 douyin/qq 等渠道,新增支付主数据客户端
|
2026-06-15 16:39:18 +08:00 |
|
DaxPay Dev
|
f721e7c312
|
feat: 支付宝服务商通道商户创建时应用授权令牌改为非必填
|
2026-06-15 15:01:12 +08:00 |
|
DaxPay Dev
|
6d5e7bddbf
|
refactor: 精简 MasterData 命名,统一 masterdata 领域包结构
- 8 个 Service/Controller 去掉 MasterData 后缀(与所在 masterdata 包语义重复)
- 4 个 dao/product/* 文件移入 dao/masterdata/product/ 包
- PayChannelQuery 从 param/channel/ 移入 param/masterdata/channel/
- 删除 2 个死代码文件(ChannelConstQuery、MethodConstQuery)
- 同步更新 6 个外部引用文件的 import/字段名,修正 3 处首字母大写字段名 bug
- 编译验证通过
|
2026-06-15 14:32:58 +08:00 |
|
DaxPay Dev
|
d9cea2e315
|
feat: PayProductConfigResult 新增 isv 字段,区分服务商/直连
|
2026-06-15 14:27:02 +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 |
|