diff --git a/src/main/java/com/peanut/modules/common/controller/CourseRelearnController.java b/src/main/java/com/peanut/modules/common/controller/CourseRelearnController.java index d5568f32..c0261a0c 100644 --- a/src/main/java/com/peanut/modules/common/controller/CourseRelearnController.java +++ b/src/main/java/com/peanut/modules/common/controller/CourseRelearnController.java @@ -11,6 +11,7 @@ import com.peanut.config.DelayQueueConfig; import com.peanut.modules.book.service.TransactionDetailsService; import com.peanut.modules.common.entity.*; import com.peanut.modules.common.service.BuyOrderService; +import com.peanut.modules.common.service.JfTransactionDetailsService; import com.peanut.modules.common.service.MyUserService; import com.peanut.modules.master.service.ShopProductService; import com.peanut.modules.master.service.UserCourseBuyService; @@ -53,6 +54,8 @@ public class CourseRelearnController { private TransactionDetailsService transactionDetailsService; @Autowired private RabbitTemplate rabbitTemplate; + @Autowired + private JfTransactionDetailsService jfTransactionDetailsService; //复读订单列表 @RequestMapping("/orderListRelearn") @@ -147,6 +150,10 @@ public class CourseRelearnController { buyOrder.setOrderStatus(Constants.ORDER_STATUS_TO_BE_SHIPPED); MyUserEntity user = userService.getById(buyOrder.getUserId()); if (usePeanutCoin(user, totalPrice)) { + //处理抵扣积分 + if(buyOrder.getJfDeduction().compareTo(BigDecimal.ZERO)>0){ + userCoinJf(buyOrder); + } buyOrder.setSuccessTime(new Date()); // 更新订单状态 buyOrderService.updateOrderStatus(user.getId(), buyOrder.getOrderSn(), "2"); @@ -207,6 +214,18 @@ public class CourseRelearnController { return message; }; } - + private void userCoinJf(BuyOrder order){ + MyUserEntity userEntity = userService.getById(order.getUserId()); + userEntity.setJf(userEntity.getJf().subtract(order.getJfDeduction())); + userService.updateById(userEntity); + JfTransactionDetails jfTransactionDetails = new JfTransactionDetails(); + jfTransactionDetails.setUserId(userEntity.getId()); + jfTransactionDetails.setChangeAmount(order.getJfDeduction()); + jfTransactionDetails.setActType(0); + jfTransactionDetails.setUserBalance(userEntity.getJf()); + jfTransactionDetails.setRelationId(order.getOrderId()); + jfTransactionDetails.setRemark("消费积分抵扣:"+order.getJfDeduction().toString()+",订单号:"+order.getOrderSn()); + jfTransactionDetailsService.save(jfTransactionDetails); + } } diff --git a/src/main/java/com/peanut/modules/pay/alipay/service/impl/AliPayServiceImpl.java b/src/main/java/com/peanut/modules/pay/alipay/service/impl/AliPayServiceImpl.java index 9f2d412b..07d9d55b 100644 --- a/src/main/java/com/peanut/modules/pay/alipay/service/impl/AliPayServiceImpl.java +++ b/src/main/java/com/peanut/modules/pay/alipay/service/impl/AliPayServiceImpl.java @@ -181,6 +181,10 @@ public class AliPayServiceImpl implements AliPayService { } if("relearn".equals(subject)){ + //处理抵扣积分 + if(order.getJfDeduction().compareTo(BigDecimal.ZERO)>0){ + userCoinJf(order); + } //更新 订单 记录 buyOrderService.updateOrderStatus(Integer.valueOf(customerid),oldPayZfbOrderEntity.getRelevanceoid(),"2"); //插入复读记录 diff --git a/src/main/java/com/peanut/modules/pay/weChatPay/service/impl/WxpayServiceImpl.java b/src/main/java/com/peanut/modules/pay/weChatPay/service/impl/WxpayServiceImpl.java index 4e95e3a4..aeaf3c86 100644 --- a/src/main/java/com/peanut/modules/pay/weChatPay/service/impl/WxpayServiceImpl.java +++ b/src/main/java/com/peanut/modules/pay/weChatPay/service/impl/WxpayServiceImpl.java @@ -168,6 +168,10 @@ public class WxpayServiceImpl extends ServiceImpl0){ + userCoinJf(order); + } //更新 订单 记录 buyOrderService.updateOrderStatus(order.getUserId(),orderNo,"2"); //插入复读记录