Commit Graph

239 Commits

Author SHA1 Message Date
irving
db6132d7e3 feat: 优化优惠券发放与库存校验流程 2025-10-31 00:10:24 -04:00
irving
48bdc9af33 重构收益与优惠券逻辑:统一使用 orderAmount,新增优惠券状态校验与过滤
- IPlayOrderInfoService/PlayOrderInfoServiceImpl/ClerkRevenueCalculator 将参数 finalAmount 更名为 orderAmount,避免语义混淆
- 预计收益计算兼容 null 与 0,防止 NPE 并明确边界
- 结算/回填:EarningsServiceImpl、EarningsBackfillServiceImpl 改为使用 orderMoney 兜底;0 金额允许,负数跳过
- 新增枚举:CouponOnlineState、CouponValidityPeriodType 用于券上下架与有效期判定
- IPlayCouponInfoService/Impl 增加 getCouponDetailRestrictionReason,支持已使用/过期/下架等状态校验
- WxCouponController 列表与下单查询增加状态/有效期/库存/白名单过滤逻辑
- OrderLifecycleServiceImpl 下单时校验优惠券状态,预计收益入参从 finalAmount 调整为 orderMoney
- 完善单元测试:订单生命周期、优惠券过滤、收益生成与回填等覆盖
2025-10-30 22:07:37 -04:00
irving
e29c5db276 重构订单下单逻辑,引入策略模式和命令模式
- 为OrderTriggerSource枚举添加详细注释说明
- 将IOrderLifecycleService接口的initiateOrder方法重构为placeOrder
- 新增OrderPlacementCommand、OrderPlacementResult、OrderAmountBreakdown等DTO
- 实现订单下单策略模式,支持不同类型订单的差异化处理
- 优化金额计算逻辑,完善优惠券折扣计算
- 改进余额扣减逻辑,增强异常处理
- 更新相关控制器使用新的下单接口
- 完善单元测试覆盖,确保代码质量
2025-10-30 21:12:37 -04:00
irving
7db9318a7b feat: 完善订单生命周期幂等与日志追踪 2025-10-28 23:24:33 -04:00
irving
6dba6464f9 refactor(clerk-performance):make better performance analysis
Some checks failed
Build and Push Backend / docker (push) Failing after 6s
2025-10-27 23:35:17 -04:00
irving
1ec92cc2ab WIP 2025-10-27 22:53:40 -04:00
irving
110e0d8e8c add more logging for 接单
Some checks failed
Build and Push Backend / docker (push) Failing after 6s
2025-10-27 21:56:42 -04:00
irving
e677ca3d33 fix: prevent duplicated clerk get's the same order 2025-10-27 21:51:28 -04:00
irving
15e15bc01a add logging for duplicated notifcation 2025-10-27 21:51:28 -04:00
huchuansai
80de65731f fix: 店员筛选for移动端 2025-10-27 18:12:54 +08:00
irving
6b2a1c2ba7 fix: correct order lifecycle refunds and add coverage
Some checks failed
Build and Push Backend / docker (push) Failing after 5s
2025-10-27 00:12:07 -04:00
irving
f7461abc83 add notification
Some checks failed
Build and Push Backend / docker (push) Failing after 6s
2025-10-26 15:08:37 -04:00
irving
38bc83d0f7 fix: 调整充值限额并规范日志目录 2025-10-26 14:55:13 -04:00
irving
5a116eedf6 fix: allow clerk apply without sms verification
Some checks failed
Build and Push Backend / docker (push) Failing after 5s
2025-10-26 12:21:25 -04:00
irving
0356834b88 feat(gift): 修复赠礼事务并补充租户隔离
Some checks failed
Build and Push Backend / docker (push) Failing after 6s
2025-10-26 01:30:02 -04:00
irving
15aea7d779 feat: 审核通过时支持指定店员分组
Some checks failed
Build and Push Backend / docker (push) Failing after 5s
2025-10-25 22:45:31 -04:00
irving
03e9ceee5b 重构:订单接单逻辑使用常量枚举替代魔法字符串,微信通知改为异步发送
Some checks failed
Build and Push Backend / docker (push) Failing after 8s
- 新增 OrderConstant.OperatorType 枚举(顾客/店员/管理员)
- 新增 EXCLUDE_HISTORY 常量(排除历史订单标识)
- updateStateTo1 方法使用枚举常量替代硬编码字符串
- 微信通知改为异步发送,防止 API 失败阻塞订单处理
- 新增 sendOrderMessageAsync/sendOrderFinishMessageAsync/sendOrderCancelMessageAsync 方法
- 订单接单、完成、取消通知均使用异步方式,提高系统稳定性
2025-10-25 15:33:35 -04:00
irving
8ece45da28 新增订单强制取消功能
- 新增管理后台强制取消进行中订单接口
- 实现已接单/服务中订单强制取消业务逻辑
- 支持自定义退款金额,默认退回全额支付金额
- 新增订单强制取消请求VO类及参数校验
- 新增单元测试验证强制取消功能的正确性
- 更新服务接口定义及文档注释
2025-10-25 12:15:26 -04:00
huchuansai
5b18f72ae8 fix: 随机单通知只发送给实åå在线用户 2025-10-22 17:32:26 +08:00
irving
7771b30366 修复:微信端评价列表自动过滤隐藏评价
Some checks failed
Build and Push Backend / docker (push) Failing after 8s
- 在微信店员评价查询接口中强制设置hidden=0
- 确保顾客端只能看到管理员未隐藏的评价
- 优化日志配置,减少SQL日志输出
2025-10-21 22:41:32 -04:00
irving
ef88ec7134 feat: 店员昵称及性别修改纳入资料审核 2025-10-20 23:10:44 -04:00
irving
82b86ae86e feat: 引入店员资料审核状态枚举
Some checks failed
Build and Push Backend / docker (push) Failing after 8s
2025-10-19 17:37:51 -04:00
irving
3e079850e6 fix: 店员申请查询支持精准筛选 2025-10-19 16:25:17 -04:00
irving
62001fbd5f clean and fmt 2025-10-18 21:36:09 -04:00
irving
6153e6e4f1 fix: 创建提现时不再校验收款码确认时效
Some checks failed
Build and Push Backend / docker (push) Failing after 4s
2025-10-18 21:05:22 -04:00
irving
d681635394 adjust logic, avoide race condition 2025-10-18 21:05:22 -04:00
irving
b9779e7436 feat: 店员收益明细支持条件筛选并返回订单信息 2025-10-18 21:05:22 -04:00
huchuansai
07a86fbe66 fix: 用æ店员头像bug 2025-10-16 16:56:44 +08:00
irving
0725c94bbe 修复:防止提现创建中的竞态条件和重复收益
Some checks failed
Build and Push Backend / docker (push) Failing after 6s
- 在 earnings_line 表添加唯一约束 (tenant_id, order_id, clerk_id, earning_type, deleted)
- 重排提现创建流程:先预留收益行,成功后才创建提现请求
- 在收益行预留时添加状态验证,检测并发修改
- 使用临时提现ID进行预留,创建请求后替换为真实ID
- 添加唯一约束前先清理重复的收益记录(V10 迁移)

此修复解决了关键的竞态条件问题:并发提现可能创建没有资金支持的孤儿请求记录。
修复后确保快速失败行为 - 如果收益行已被占用,提现请求永远不会被创建。
2025-10-13 22:45:53 -04:00
irving
5438a8e1f0 功能:新增收款码档案和收益补算功能
- 新增店员收款码档案管理(上传二维码和确认收款码)
- 提现请求新增收款码快照用于审计追踪
- 新增收益补算服务用于历史订单数据补录
- 新增收益补算日志表用于审计追踪
- 优化收益创建逻辑,根据解冻时间设置正确的初始状态
- 更新提现流程,要求店员确认收款码后才能提现
- 新增数据库迁移脚本 V7-V9
2025-10-13 22:13:51 -04:00
irving
8faa23e9c3 refactor(salary): completely refactor the salary logi
Some checks failed
Build and Push Backend / docker (push) Failing after 6s
fix: ignore empty clerk performance filters

fix: generate earnings for completed orders

fix: ensure reward orders create earnings

fix: add reward earnings to new order flow
2025-10-11 13:28:30 -04:00
irving
044280bc89 feat(coupon): hide whitelist-only coupons from non-whitelisted users in wx queryAll 2025-10-07 00:00:11 -04:00
irving
e6106ecb88 feat(coupon): add enum ClaimConditionType and whitelist support\n\n- Add CouponClaimConditionType enum (ALL/FILTER/WHITELIST)\n- Schema: add custom_whitelist JSON column (Flyway V2)\n- Entity/VO: add customWhitelist; claimConditionType now 0/1/2\n- Service: enforce whitelist when claimConditionType=2\n- Controller: validate whitelist when creating coupon\n- Fix imports per formatting 2025-10-06 23:52:20 -04:00
huchuansai
f64964a39a fix
Some checks failed
Build and Push Backend / docker (push) Failing after 8s
2025-10-05 22:03:32 +08:00
huchuansai
4ee24aabea fix: 修复bug 2025-10-04 23:59:17 +08:00
irving
043483a076 docker push不上去,尝试加入github action在服务器构建 2025-10-03 23:25:48 -04:00
huchuansai
29da6b906b fix 2025-09-29 17:58:07 +08:00
huchuansai
e6b71cd897 fix 2025-09-28 09:59:47 +08:00
huchuansai
190f77529a fix 2025-09-27 17:09:26 +08:00
huchuansai
b803e836eb fix: 去æå已经取消的订单隐藏微信号功能 2025-09-24 11:03:12 +08:00
huchuansai
e777adf6b0 feat: 订单催促 2025-09-24 10:49:50 +08:00
huchuansai
e391058b30 fix: code style 2025-09-18 10:06:21 +08:00
huchuansai
099546b0a7 fix: 解决订单状态问题 2025-09-18 10:05:24 +08:00
huchuansai
4e456a3157 fix: 结算 2025-09-15 14:29:20 +08:00
huchuansai
b4d9a0285b 合并 2025-09-13 14:04:56 +08:00
huchuansai
9e46230b70 fix: bug 2025-09-13 14:02:52 +08:00
irving
5a50114b59 Refactor order creation with Builder pattern and type-safe enums
- Replace 20+ parameter method calls with Builder pattern in WxCustomController
- Add RewardType and CommodityType enums with database compatibility
- Update DTOs and service layer for enum conversion
- Fix all test cases with proper enum usage
- Ensure backward compatibility through service layer conversion
2025-09-06 23:20:44 -04:00
irving
295400b83e 重构订单创建逻辑:采用Builder模式替代20+参数方法
主要改进:
- 新增OrderCreationRequest及相关DTO类,使用Builder模式提升代码可读性
- 引入类型安全的枚举类OrderConstant,替代魔法字符串常量
- 重构PlayOrderInfoServiceImpl,新增基于Builder模式的createOrderInfo方法
- 保留原有方法并标记为@Deprecated,确保向后兼容性
- 完善单元测试覆盖,包含Mockito模拟和边界条件测试
- 优化包结构,将DTO类从vo包迁移到dto包
- 添加JUnit 5和Mockito测试依赖
- 移除实体类过度使用的Lombok注解,改用精简的自定义构造器
- 新增数据库开发工作流程文档

技术栈:
- Spring Boot 2.7.9
- MyBatis-Plus 3.5.3.2
- JUnit 5 + Mockito
- Lombok Builder模式
- 类型安全枚举设计
2025-09-06 22:58:14 -04:00
irving
dd2342a234 优化构建配置和网络连接设置
- 移除特定平台的JAVE依赖,改用Maven profiles实现跨平台支持
- 更新开发环境配置使用Tailscale网络地址(100.80.201.143)
- 添加macOS Apple Silicon和Linux x86_64的Maven profiles配置
- 升级JAVE版本到3.5.0并优化依赖管理
- 清理代码格式,移除多余的空行导入
2025-09-06 19:42:41 -04:00
huchuansai
b9b67dfe8b fix: 订æˆ 订单消息异常 2025-09-04 10:16:28 +08:00