修复重复修改数据

This commit is contained in:
wuchunlei
2025-02-26 16:35:35 +08:00
parent a55036941b
commit 91ee685e61

View File

@@ -145,6 +145,9 @@ public class WxpayServiceImpl extends ServiceImpl<PayWechatOrderDao, PayWechatOr
payWechatOrderService.updateById(payWechatOrderEntity); payWechatOrderService.updateById(payWechatOrderEntity);
// 根据订单号,做幂等处理,并且在对业务数据进行状态检查和处理之前,要采用数据锁进行并发控制,以避免函数重入造成的数据混乱 // 根据订单号,做幂等处理,并且在对业务数据进行状态检查和处理之前,要采用数据锁进行并发控制,以避免函数重入造成的数据混乱
BuyOrder order = this.buyOrderService.getOne(new QueryWrapper<BuyOrder>().eq("order_sn", orderNo)); BuyOrder order = this.buyOrderService.getOne(new QueryWrapper<BuyOrder>().eq("order_sn", orderNo));
if ("3".equals(order.getOrderStatus())){
return;
}
//使用优惠券 //使用优惠券
if (order.getCouponId()!=null&&order.getCouponId()!=0){ if (order.getCouponId()!=null&&order.getCouponId()!=0){
CouponHistory couponHistory = couponHistoryService.getById(order.getCouponId()); CouponHistory couponHistory = couponHistoryService.getById(order.getCouponId());