PayUtil.isSign(ybPay 版)验签逻辑已修正,签名匹配返回 truePayUtil.isSign(pay 版)验签逻辑已修正,签名匹配返回 trueisSgin 已改为 isSign,所有调用处已同步更新(PayScrmServiceImpl 3 处)PayScrmController.ybPayNotify 双 @RequestBody 已修复,参数正确绑定PayScrmController.ybPayNotify 验签密钥改为从 DB 配置读取(fsPayConfig.getYbKey())YbPayController.payNotify 双 @RequestBody 已修复YbPayController.payNotify 验签失败不再抛异常,改为返回 FAILTestYb.java 硬编码敏感信息已清理(文件已删除)PayScrmController.ybPayNotify 的 params.get("sign") 已做 null 校验PayScrmController.ybPayNotify 的 order[] 访问已做数组长度校验YbPayController.payNotify 的 params.get("sign") 已做 null 校验YbPayController.payNotify 的 switch 已补充 default 分支YbPayController.payNotify 的 System.out 已替换为 LoggerYbPayController.payNotify 的 SpringUtils.getBean 已改为 @AutowiredPayScrmController.ybPayNotify 返回值统一为 SUCCESS/FAILYbPayController.payNotify 返回值统一为 SUCCESS/FAILresolveDisabledReason 中限购判断注释已取消,limitPerUser 生效countEffectiveByActivityAndUser SQL 已将 usage_status = 1 改为 IN (0, 1)applyPromotionFields 制单改价场景不再重复调用满减(增加 skipPromotion 参数)saveTiers 保存前按 thresholdAmount 升序排序matchAmountTier 增加防御性排序recordPendingUsage 插入前已查询 (order_id, activity_id) 是否存在enableActivity 并发竞态已修复(条件 UPDATE enableActivityIfNoConflict 代替先 count 后 update)return sg.equals(sign) 已确认promotionDiscountAmount 与 payPrice 一致 — skipPromotion 已传入