checklist.md 2.6 KB

Checklist

易宝支付 - 安全性

  • PayUtil.isSign(ybPay 版)验签逻辑已修正,签名匹配返回 true
  • PayUtil.isSign(pay 版)验签逻辑已修正,签名匹配返回 true
  • 方法名 isSgin 已改为 isSign,所有调用处已同步更新(PayScrmServiceImpl 3 处)
  • PayScrmController.ybPayNotify@RequestBody 已修复,参数正确绑定
  • PayScrmController.ybPayNotify 验签密钥改为从 DB 配置读取(fsPayConfig.getYbKey()
  • YbPayController.payNotify@RequestBody 已修复
  • YbPayController.payNotify 验签失败不再抛异常,改为返回 FAIL
  • TestYb.java 硬编码敏感信息已清理(文件已删除)

易宝支付 - 健壮性

  • PayScrmController.ybPayNotifyparams.get("sign") 已做 null 校验
  • PayScrmController.ybPayNotifyorder[] 访问已做数组长度校验
  • YbPayController.payNotifyparams.get("sign") 已做 null 校验
  • YbPayController.payNotify 的 switch 已补充 default 分支
  • YbPayController.payNotifySystem.out 已替换为 Logger
  • YbPayController.payNotifySpringUtils.getBean 已改为 @Autowired

易宝支付 - 返回值规范

  • PayScrmController.ybPayNotify 返回值统一为 SUCCESS/FAIL
  • YbPayController.payNotify 返回值统一为 SUCCESS/FAIL

满减活动 - 功能正确性

  • resolveDisabledReason 中限购判断注释已取消,limitPerUser 生效
  • countEffectiveByActivityAndUser SQL 已将 usage_status = 1 改为 IN (0, 1)
  • applyPromotionFields 制单改价场景不再重复调用满减(增加 skipPromotion 参数)
  • saveTiers 保存前按 thresholdAmount 升序排序
  • matchAmountTier 增加防御性排序

满减活动 - 并发与幂等

  • recordPendingUsage 插入前已查询 (order_id, activity_id) 是否存在
  • enableActivity 并发竞态已修复(条件 UPDATE enableActivityIfNoConflict 代替先 count 后 update)

验证

  • 验签方法逻辑正确(签名匹配返回 true)— return sg.equals(sign) 已确认
  • 易宝回调参数能正确绑定,不发生 NPE — 单一 @RequestBody 已确认
  • 限购次数配置后能实际限制用户参与 — 限购判断已恢复 + 待支付计入统计
  • 满减档位配置顺序混乱时仍能正确匹配 — saveTiers 排序 + matchAmountTier 防御性排序
  • 制单改价订单的 promotionDiscountAmountpayPrice 一致 — skipPromotion 已传入
  • 项目能正常编译(mvn compile)— 需在 Java 项目环境验证