瀏覽代碼

fix 退款

he2802 3 年之前
父節點
當前提交
7fc5d116a3

+ 14 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderGoodsRefundServiceImpl.java

@@ -8,6 +8,8 @@ import com.zhongzheng.common.exception.CustomException;
 import com.zhongzheng.common.utils.DateUtils;
 import com.zhongzheng.modules.goods.domain.Goods;
 import com.zhongzheng.modules.goods.service.IGoodsService;
+import com.zhongzheng.modules.grade.domain.ClassGradeUser;
+import com.zhongzheng.modules.grade.service.IClassGradeUserService;
 import com.zhongzheng.modules.order.bo.OrderGoodsQueryBo;
 import com.zhongzheng.modules.order.bo.OrderGoodsRefundAddBo;
 import com.zhongzheng.modules.order.bo.OrderGoodsRefundEditBo;
@@ -53,6 +55,8 @@ public class OrderGoodsRefundServiceImpl extends ServiceImpl<OrderGoodsRefundMap
     private IGoodsService iGoodsService;
     @Autowired
     private IWxPayService iWxPayService;
+    @Autowired
+    private IClassGradeUserService iClassGradeUserService;
 
     @Override
     public OrderGoodsRefundVo queryById(Long refundId){
@@ -154,14 +158,14 @@ public class OrderGoodsRefundServiceImpl extends ServiceImpl<OrderGoodsRefundMap
         }
         Map<String, String> payResult =  iWxPayService.refund(out_trade_no,order.getTransid(),add.getRefundFee(),order.getPayPrice());
         if("OK".equals(payResult.get("return_msg"))&&Validator.isNotEmpty(payResult.get("refund_id"))){
-            return refundCall(payResult.get("refund_id"),add.getRefundId(),orderGoods.getOrderGoodsId(),order);
+            return refundCall(payResult.get("refund_id"),add.getRefundId(),orderGoods.getOrderGoodsId(),order,goods.getGoodsType(),orderGoods.getGradeId());
         }else{
 
             throw new CustomException("退款错误"+ JSON.toJSONString(payResult));
         }
     }
 
-    public Boolean refundCall(String WxpayRefundId,Long refundId,Long orderGoodsId,Order order){
+    public Boolean refundCall(String WxpayRefundId,Long refundId,Long orderGoodsId,Order order,Long goodsType,Long gradeId){
         OrderGoodsRefund update = new OrderGoodsRefund();
         update.setRefundId(refundId);
         update.setUpdateTime(DateUtils.getNowTime());
@@ -195,6 +199,14 @@ public class OrderGoodsRefundServiceImpl extends ServiceImpl<OrderGoodsRefundMap
             order.setOrderStatus(Order.REFUND_PART);
         }
         iOrderService.updateById(order);
+        if(goodsType==1){
+            //移除班级
+            ClassGradeUser classGradeUser = iClassGradeUserService.getOne(new LambdaQueryWrapper<ClassGradeUser>().eq(ClassGradeUser::getGradeId,gradeId).eq(ClassGradeUser::getUserId,order.getUserId()).eq(ClassGradeUser::getStatus,1));
+            if(Validator.isNotEmpty(classGradeUser)){
+                classGradeUser.setStatus(0);
+                iClassGradeUserService.updateById(classGradeUser);
+            }
+        }
         return true;
     }