From 75e5b1458b320b048f84093d481adaf82cec2cdb Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Mon, 05 Sep 2022 16:02:28 +0800
Subject: [PATCH] 20220902

---
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java |   26 ++++++++++++++++++++------
 1 files changed, 20 insertions(+), 6 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
index 917b67b..fafe3d7 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
@@ -187,9 +187,9 @@
         BigDecimal delivaryAmount = addOrderDto.getDeliveryAmount() == null ? BigDecimal.ZERO : addOrderDto.getDeliveryAmount();
         if(BigDecimal.ZERO.compareTo(delivaryAmount) < 0 && 1 == addOrderDto.getIsHome()){
             total = total.add(delivaryAmount);
+            orderInfo.setCarriage(delivaryAmount);
         }
         orderInfo.setAmount(total);
-        orderInfo.setCarriage(carriage);
 
         MallAddressInfo address = mallAddressInfoMapper.selectAddressInfoByMemberIdAndId(member.getId(), addOrderDto.getAddressId());
         orderInfo.setName(address.getName());
@@ -491,7 +491,8 @@
         MallLeaderAchieve mallLeaderAchieve = new MallLeaderAchieve();
         mallLeaderAchieve.setMemberId(orderInfo.getMemberId());
         mallLeaderAchieve.setOrderNo(orderInfo.getOrderNo());
-        mallLeaderAchieve.setAmount(orderInfo.getAmount());
+        BigDecimal subtract = orderInfo.getAmount().subtract(orderInfo.getCarriage() == null ? BigDecimal.ZERO : orderInfo.getCarriage());
+        mallLeaderAchieve.setAmount(subtract);
         mallLeaderAchieve.setUniqueCode(orderInfo.getTakeUniqueCode());
         mallLeaderAchieve.setState(MallLeaderAchieve.STATE_ONE);
         mallLeaderAchieveMapper.insert(mallLeaderAchieve);
@@ -714,6 +715,21 @@
         BigDecimal bb = new BigDecimal(100);
         int refundMoney = refundAmount.multiply(bb).intValue();
 
+        Long refundId = mallRefundEntity.getId();
+        MallRefundEntity mallRefundOld = mallRefundMapper.selectById(refundId);
+        MallOrderInfo mallOrderInfoOld = this.baseMapper.selectByOrderNo(orderNo);
+        //余额支付退款
+        if(OrderPayMethodEnum.BALANCE.getName().equals(mallOrderInfo.getPayMethod())){
+            mallRefundOld.setState(1);
+            mallRefundMapper.updateById(mallRefundOld);
+            mallOrderInfoOld.setStatus(OrderStatusEnum.REFUNDED.getValue());
+            this.baseMapper.updateById(mallOrderInfoOld);
+            mallMoneyFlowService.addMoneyFlow(mallOrderInfoOld.getMemberId(), mallOrderInfoOld.getAmount(), MoneyFlowTypeEnum.REFUND.getValue(), mallOrderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue());
+            memberWalletService.add(refundAmount, member.getId(), "balance");
+            mallOrderItemMapper.updateStateByOrderId(3,mallOrderInfoOld.getId());
+            return new FebsResponse().success().message("退款成功");
+        }
+
         Boolean flag = false;
         Boolean debug = xcxProperties.getDebug();
         if (debug) {
@@ -729,14 +745,12 @@
          * 更新退款表
          * 更新订单表
          */
-        Long refundId = mallRefundEntity.getId();
-        MallRefundEntity mallRefundOld = mallRefundMapper.selectById(refundId);
-        MallOrderInfo mallOrderInfoOld = this.baseMapper.selectByOrderNo(orderNo);
         if(flag){
             mallRefundOld.setState(1);
             mallRefundMapper.updateById(mallRefundOld);
             mallOrderInfoOld.setStatus(OrderStatusEnum.REFUNDED.getValue());
             this.baseMapper.updateById(mallOrderInfoOld);
+            mallOrderItemMapper.updateStateByOrderId(3,mallOrderInfoOld.getId());
             mallMoneyFlowService.addMoneyFlow(mallOrderInfoOld.getMemberId(), mallOrderInfoOld.getAmount(), MoneyFlowTypeEnum.REFUND.getValue(), mallOrderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue());
         }else{
             mallRefundOld.setState(2);
@@ -778,7 +792,7 @@
         mallRefundEntity.setRefundPic(applyRefundOrderDto.getRefundPic());
         mallRefundEntity.setMemberId(member.getId());
         mallRefundEntity.setState(3);
-        mallRefundEntity.setType(1);
+        mallRefundEntity.setType(applyRefundOrderDto.getType());
         mallRefundEntity.setOrderId(orderId);
         mallRefundEntity.setAmount(mallOrderItem.getAmount());
         mallRefundMapper.insert(mallRefundEntity);

--
Gitblit v1.9.1