|
@@ -197,6 +197,8 @@ public class OrderBillSheetServiceImpl extends ServiceImpl<OrderBillSheetMapper,
|
|
|
if(goods==null){
|
|
|
throw new CustomException("订单商品错误");
|
|
|
}
|
|
|
+ //获取老的支付状态
|
|
|
+ Integer oldPayStatus = goods.getPayStatus();
|
|
|
Order order = iOrderService.getOne(new LambdaQueryWrapper<Order>().eq(Order::getOrderSn, g.getOrderSn()));
|
|
|
if(order==null){
|
|
|
throw new CustomException("订单错误");
|
|
@@ -216,15 +218,21 @@ public class OrderBillSheetServiceImpl extends ServiceImpl<OrderBillSheetMapper,
|
|
|
goods.setPayStatus(OrderGoods.PAY_PART);
|
|
|
order.setOrderStatus(Order.PAY_PART); //订单支付状态改为部分支付
|
|
|
}
|
|
|
- //设置商品服务期
|
|
|
- goods = iWxPayService.setServiceTime(goods);
|
|
|
+ //待支付转支付状态,防止多次支付多次修改
|
|
|
+ if(oldPayStatus==1){
|
|
|
+ //设置商品服务期
|
|
|
+ goods = iWxPayService.setServiceTime(goods);
|
|
|
+ }
|
|
|
order.setStatus(1);//订单生效
|
|
|
order.setUpdateTime(DateUtils.getNowTime());
|
|
|
iOrderService.updateById(order);
|
|
|
goods.setUpdateTime(DateUtils.getNowTime());
|
|
|
iOrderGoodsService.updateById(goods);
|
|
|
- iWxPayService.joinLockGrade(order.getOrderSn(),goods.getGoodsId(),goods.getOrderGoodsId());
|
|
|
- iWxPayService.updateUserExamGoods(goods,order);
|
|
|
+ //待支付转支付状态,防止多次支付多次修改
|
|
|
+ if(oldPayStatus==1){
|
|
|
+ iWxPayService.joinLockGrade(order.getOrderSn(),goods.getGoodsId(),goods.getOrderGoodsId());
|
|
|
+ iWxPayService.updateUserExamGoods(goods,order);
|
|
|
+ }
|
|
|
}
|
|
|
iOrderBillGoodsService.saveBatch(coll);
|
|
|
this.save(add);
|