|
|
fe07df0b3e
|
docs(企业微信审批): 场景业务类型枚举补充员工代收款核销审批
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 8m41s
- wecom/scenes/{business_type} 与 scenes/{business_type}/fields 的 business_type
路径参数描述补齐第三个业务类型,避免管理员按文档无法配置核销审批场景
- 同步补机读 enum 标签,与既有可枚举参数约定一致
OpenSpec Change: add-employee-collection-bills
|
2026-09-11 09:24:29 +08:00 |
|
|
|
69b37eb89b
|
docs(员工代收款): 补充审批中通过后撤销兜底语义并清理死参数
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 9m24s
- spec.md 增补「审批中收到通过后撤销」场景与规范条文:释放该次尝试全部审批中预占、转异常终态并记录原因、保留审计、禁止自动重提
- design.md「企业微信审批结果消费」补充审批中命中该决策的兜底处理与理由(避免申请永久停在审批中且预占永久占用账单)
- query/employeecollection 删除 approvalStatusOfAttempts 恒为 true 的 withOpinion 形参、修正失真注释,行为不变
OpenSpec Change: add-employee-collection-bills
|
2026-09-10 18:45:43 +08:00 |
|
|
|
ce24d5612e
|
feat(员工代收款): 新增员工代收款账单闭环
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 9m20s
- 新增 6 张表与成对迁移 000212,扩展企业微信审批场景业务类型白名单
- 后台线下套餐订单与两条代理线下充值入账路径在来源成功事务内建账,来源唯一键幂等
- 核销申请、审批尝试记录、账单分摊预占与驳回重提,审批业务类型 employee_collection_approval
- 企业微信终态消费幂等:通过转已核销、驳回释放预占、通过后撤销不回滚并转异常终态
- 退款成功事务内按 bill_id+refund_id 幂等冲销账单或仅写退款关联提示
- 线下收款方式字典、账单查询/统计/关闭、申请查询与代办权限,均写入事务内审计
OpenSpec Change: add-employee-collection-bills
|
2026-09-10 18:24:05 +08:00 |
|
|
|
b9e8592cc4
|
修复换货迁移后 after_order 实名门槛误判
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 8m33s
换货迁移只迁移套餐权益不迁移订单,已支付订单仍挂在旧资产上,
导致新资产 HasValidRechargeOrPaidOrder 查不到支付事实,返回 1189。
现增加套餐权益兜底:当前世代存在未退款套餐权益且其关联订单已支付,
即视为满足充值/购买条件。
|
2026-09-10 11:26:07 +08:00 |
|
|
|
b38b2b39c9
|
修复支付购包后自动复机
|
2026-09-10 11:26:07 +08:00 |
|
|
|
bcb1304937
|
修复支付商户路由权限泄漏
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 8m8s
registerPaymentMerchantRoutes 使用空前缀 Group 承载权限中间件,
Fiber 将其等价于在整个 /api/admin 上 Use,导致代理账号访问
/api/admin/agent-recharges 等无关路由被误拦。
改为 requirePaymentMerchantAccess 包装函数,仅包装 payment-merchants、
payment-merchant-pools、wechat-authorizations 共 13 个管理路由,
路径、方法与权限语义不变。
|
2026-09-10 10:00:53 +08:00 |
|
|
|
98c145fe70
|
实现支付商户池与微信授权配置
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Failing after 3m55s
新增收款商户、商户池轮询、微信授权配置独立管理;三类新支付
(C端套餐购买、C端资产钱包充值、代理在线预存款充值)无条件
经商户池选择并冻结路由,无旧综合配置回退。merchant_id 为空
历史支付继续按 payment_config_id 双读。凭证版本化加载与
ID+版本缓存保证轮换一致性。删除商户池新支付创建开关及全部
引用。
|
2026-09-09 18:13:04 +08:00 |
|
|
|
ff25586dc9
|
修复已用完套餐展示
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 8m43s
|
2026-09-08 17:25:34 +08:00 |
|
|
|
696120ab38
|
feat: 资产套餐历史增加主子层级查询
|
2026-09-07 17:17:15 +08:00 |
|
|
|
5424751993
|
修复停复机忽略免实名策略并归档变更
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Has been cancelled
|
2026-09-07 10:06:17 +08:00 |
|
|
|
370fd3e67f
|
update
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 10m49s
|
2026-09-03 09:28:28 +08:00 |
|
|
|
dbfeeee253
|
缓解io压力
|
2026-09-02 16:14:27 +08:00 |
|
|
|
395e5fb47c
|
修复套餐接续停机竞态与轮询兜底
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 11m13s
|
2026-08-29 16:27:48 +08:00 |
|
|
|
62f3d25e81
|
修复批量订购
|
2026-08-26 14:54:26 +08:00 |
|
|
|
5797fd0e94
|
修复企微兜底机制
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 10m40s
|
2026-08-20 18:06:45 +08:00 |
|
|
|
22b95db2f9
|
每日清理
|
2026-08-20 12:03:17 +08:00 |
|
|
|
656a921ff0
|
富友支付支持
|
2026-08-18 17:13:20 +08:00 |
|
|
|
247d7d9f6e
|
新增接口
|
2026-08-18 16:15:46 +08:00 |
|
|
|
d256f6d176
|
合并七月迭代分支
|
2026-08-18 14:53:29 +08:00 |
|
|
|
c8052df8eb
|
补充退款列表应当让本店铺的人看见
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 8m30s
|
2026-08-18 11:44:30 +08:00 |
|
|
|
586a1cccd5
|
修复佣金回扣问题
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 8m25s
|
2026-08-14 09:08:43 +08:00 |
|
|
|
cbadf77517
|
修复价格不一致的问题
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 8m28s
|
2026-08-13 17:43:14 +08:00 |
|
|
|
4c393bb427
|
回溯佣金
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 8m34s
|
2026-08-13 17:00:06 +08:00 |
|
|
|
d42c92a2e1
|
字段
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 8m26s
|
2026-08-13 16:33:55 +08:00 |
|
|
|
e134552ec5
|
更新
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 8m35s
|
2026-08-13 12:31:47 +08:00 |
|
|
|
fcfa347005
|
修复
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 8m38s
|
2026-08-12 10:42:35 +08:00 |
|
|
|
2a7a8fb49d
|
修复
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 8m28s
|
2026-08-11 15:27:18 +08:00 |
|
|
|
629609a556
|
修复
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 8m25s
|
2026-08-11 14:41:33 +08:00 |
|
|
|
a795ca3650
|
修复通知
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 8m25s
|
2026-08-11 11:18:11 +08:00 |
|
|
|
5c01008d8a
|
百分比问题
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 8m24s
|
2026-08-11 09:54:21 +08:00 |
|
|
|
f6b11eb9ac
|
修复
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 8m23s
|
2026-08-10 17:37:55 +08:00 |
|
|
|
77ce9db722
|
并发监控修复
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 8m20s
|
2026-08-10 16:58:33 +08:00 |
|
|
|
f15a64395f
|
修复反馈
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 8m30s
|
2026-08-10 16:30:38 +08:00 |
|
|
|
7aa03e91fb
|
修复
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 8m25s
|
2026-08-07 18:00:15 +08:00 |
|
|
|
79e2d9ff92
|
重置项目上下文与规范文档
|
2026-08-07 16:18:07 +08:00 |
|
|
|
6611ca5226
|
修复行业卡手动停复机实名校验
|
2026-08-07 16:17:29 +08:00 |
|
|
|
f45b296b70
|
修复卡套餐调整审计资产类型错误
|
2026-08-07 16:17:29 +08:00 |
|
|
|
65e2838aa9
|
修复审计关联资源主体投影
|
2026-08-07 12:02:55 +08:00 |
|
|
|
c64f3d8b80
|
全局审计完成
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 8m31s
|
2026-08-07 11:02:52 +08:00 |
|
|
|
88cc5e96ec
|
暂存
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 8m32s
|
2026-08-06 09:35:00 +08:00 |
|
|
|
8659dfc658
|
让迁移套餐恢复月流量重置调度
缺少 next_reset_at 时,轮询根据已有激活时间或到期时间与套餐天数推算下一重置点;已有值通过查询条件和条件更新双重保护,不会被覆盖。
Constraint: 兼容迁移套餐缺少 activated_at 与 next_reset_at 的历史数据
Rejected: 单次 SQL 人工回填 | 后续迁移数据仍可能再次遗漏
Confidence: high
Scope-risk: narrow
Directive: 保持 next_reset_at 非空记录不可覆盖
Not-tested: 按用户要求未运行测试
|
2026-08-05 14:36:06 +08:00 |
|
|
|
7029104e5c
|
让迁移套餐恢复月流量重置调度
缺少 next_reset_at 时,轮询根据已有激活时间或到期时间与套餐天数推算下一重置点;已有值通过查询条件和条件更新双重保护,不会被覆盖。
Constraint: 兼容迁移套餐缺少 activated_at 与 next_reset_at 的历史数据
Rejected: 单次 SQL 人工回填 | 后续迁移数据仍可能再次遗漏
Confidence: high
Scope-risk: narrow
Directive: 保持 next_reset_at 非空记录不可覆盖
Not-tested: 按用户要求未运行测试
|
2026-08-05 14:33:16 +08:00 |
|
|
|
5e552d99bc
|
收口审计治理与套餐任务进展
Constraint: 在线热修前必须保存当前迭代分支全部有效代码进展
Confidence: medium
Scope-risk: broad
Directive: 后续修改需保持审计事件与业务事务边界一致
Tested: git diff --cached --check
Not-tested: 未运行全量测试,提交用于切换分支前保存既有工作
|
2026-08-05 14:30:54 +08:00 |
|
|
|
a0de08d789
|
避免套餐过期后排队权益永久失联
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 8m6s
线上保持现有纯 Asynq 架构,以公平孤儿扫描和提交后投递消除永久饥饿及事务可见性竞态。
Constraint: 线上保持现有纯 Asynq 架构,不引入 Outbox、迁移或新任务基础设施。
Rejected: 事务内投递或扩大扫描 LIMIT | 无法消除竞态和永久饥饿。
Confidence: high
Scope-risk: narrow
Directive: 后续分支整合时按目标分支的套餐接续架构独立处理,不混用本热修实现。
Tested: go build ./...(退出码 0);git diff --check;openspec validate fix-main-package-activation-starvation --strict。
Not-tested: 按用户要求未新增、修改或运行自动化测试;线上 SQL、查询计划和日志待部署后核验。
|
2026-08-03 09:58:05 +08:00 |
|
|
|
b3499adfca
|
固化七月迭代审计治理进展以隔离线上热修
Constraint: 切换 main 前必须保存当前七月分支全部项目进展,套餐生效提案仅属于 Iteration/7-11。
Rejected: 将七月套餐修复直接移植到 main | 两个分支的可靠投递架构不同。
Confidence: medium
Scope-risk: broad
Directive: 不得将本提交整体 cherry-pick 到 main;main 套餐热修必须基于其纯 Asynq 代码独立实施。
Tested: git diff --check;openspec validate fix-package-activation-starvation --strict。
Not-tested: 按用户要求未运行自动化测试;go build ./... 因当前审计改造中的 Enterprise 模型字面量和 role.recordFailure 参数类型错误未通过。
|
2026-08-03 09:47:22 +08:00 |
|
|
|
cf2ff0ac1c
|
避免续费报价缺失阻断资产详情
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 1m23s
Constraint: 代理渠道缺少套餐分配记录时不存在可信的当前续费价
Rejected: 回退平台价或历史成交价 | 会与实际下单校验和当前价格口径不一致
Confidence: high
Scope-risk: narrow
Directive: renewal_price 为 null 时前端不得展示价格或发起续费
Tested: go build ./internal/handler/app
Not-tested: 按用户要求未添加或运行测试
|
2026-07-30 17:14:28 +08:00 |
|
|
|
e2687de338
|
让 C 端在续费前展示当前应付价格
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 8m11s
Constraint: 续费展示价必须与当前销售渠道的生效零售价一致
Rejected: 新增专用续费报价接口 | 现有资产信息已承载续费入口上下文
Confidence: high
Scope-risk: narrow
Directive: 下单时仍须重新校验续费资格和最终价格
Tested: go build ./internal/handler/app
Not-tested: 按用户要求未添加或运行测试
|
2026-07-30 16:23:03 +08:00 |
|
|
|
faf973accb
|
确保资产列表返回实名策略
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 8m19s
Constraint: 设备列表与独立卡列表必须和详情接口返回一致的实名策略\nRejected: 在查询层补默认值 | 数据库字段已正确读取,问题仅在响应映射遗漏\nConfidence: high\nScope-risk: narrow\nDirective: DTO 新增字段时同步检查列表与详情的全部映射路径\nTested: 未运行测试,按用户要求仅检查暂存差异\nNot-tested: 未执行自动化测试
|
2026-07-30 15:40:53 +08:00 |
|
|
|
9fdfad369f
|
确保批量购包能够写入观测事件
Constraint: 批量订购复用 Worker 内独立构造的订单服务\nRejected: 跳过购包观测 | 会破坏业务事务与观测事件的一致性\nConfidence: high\nScope-risk: narrow\nDirective: 新增订单服务构造入口时同步注入购包观测 Writer\nTested: 未运行测试,按用户要求仅检查目标文件差异\nNot-tested: 未执行自动化测试
|
2026-07-30 15:37:16 +08:00 |
|
|
|
8fc667daee
|
让代理充值复用现有网页支付能力
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 8m7s
微信按当前 v2/v3 配置分别生成 MWEB/H5 链接,支付宝复用 C 端 WAP 链接,并让可用支付方式基于生效配置判断。
Constraint: 支付链接统一通过 qr_content 返回,由前端渲染二维码;按要求不运行测试
Rejected: 微信 Native 与支付宝当面付 | 会引入非当前商户配置所需的额外产品开通
Confidence: high
Scope-risk: moderate
Directive: 微信 H5/MWEB 二维码仅承诺系统相机或外部浏览器扫码链路
Tested: 相关 Go 包编译通过;gofmt 与 git diff --check 通过
Not-tested: 按用户要求未运行自动化测试及真实支付联调
|
2026-07-30 11:41:50 +08:00 |
|