From 60da6176964cb65963bd15e8a00772cc33efbf1a Mon Sep 17 00:00:00 2001
From: wzy <wzy19931122ai@163.com>
Date: Fri, 07 Oct 2022 16:04:32 +0800
Subject: [PATCH] 修改退款时无法退款到储值卡的bug

---
 zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java |   37 +++++++++++++++++++++++++++++--------
 1 files changed, 29 insertions(+), 8 deletions(-)

diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java
index 7489538..3a6bbe4 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java
@@ -9,7 +9,6 @@
 import com.matrix.core.constance.MatrixConstance;
 import com.matrix.core.exception.GlobleException;
 import com.matrix.core.pojo.PaginationVO;
-import com.matrix.core.tools.DateUtil;
 import com.matrix.core.tools.LogUtil;
 import com.matrix.core.tools.WebUtil;
 import com.matrix.system.app.dto.OrderListDto;
@@ -29,11 +28,15 @@
 import com.matrix.system.enums.OperationFunctionEnum;
 import com.matrix.system.hive.bean.*;
 import com.matrix.system.hive.dao.*;
-import com.matrix.system.hive.dto.*;
+import com.matrix.system.hive.dto.GoodsSealLimitDto;
+import com.matrix.system.hive.dto.MoneyCardOperationDto;
+import com.matrix.system.hive.dto.ProjUseOperationDto;
+import com.matrix.system.hive.dto.SysOrderItemDto;
 import com.matrix.system.hive.plugin.util.CollectionUtils;
-import com.matrix.system.hive.plugin.util.MoneyUtil;
 import com.matrix.system.hive.pojo.CzXkVo;
 import com.matrix.system.hive.service.*;
+import com.matrix.system.padApi.dto.PadOrderListDto;
+import com.matrix.system.padApi.vo.PadOrderDetailVo;
 import com.matrix.system.score.service.ScoreVipDetailService;
 import com.matrix.system.shopXcx.mqTask.AsyncMessageRouting;
 import com.matrix.system.wechart.templateMsg.UniformMsgParam;
@@ -41,7 +44,6 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import javax.validation.constraints.NotEmpty;
 import java.math.BigDecimal;
 import java.util.*;
 import java.util.stream.Collectors;
@@ -175,7 +177,7 @@
         }
 
         //储值卡退款
-        sysOrderServiceHelper.returnMoneyCardPay(order);
+        sysOrderServiceHelper.returnMoneyCardPay(order, true);
 
         //套餐项目取消
         List<SysOrderItem> sysOrderItems = orderItemDao.selectByOrderId(order.getId());
@@ -274,7 +276,6 @@
 
         // 设置会员充值卡使用情况
         sysOrderServiceHelper.addMoneyCardUse(pageOrder);
-
         // 改变客户项目套餐使用情况
         sysOrderServiceHelper.addTaocanProj(pageOrder);
 
@@ -345,7 +346,7 @@
 
         double sum = flows.stream().mapToDouble(item -> item.getAmount().doubleValue()).sum();
 
-        if (sum > 0 && cardPayAmount.doubleValue() == 0 && cashPayAmount.doubleValue() == 0) {
+        if (sum > 0 && cardPayAmount.doubleValue() == 0 && cashPayAmount.doubleValue() == 0 && pageOrder.getArrears() == 0) {
             throw new GlobleException("订单更新失败,支付金额计算错误,请联系管理员");
         }
 
@@ -515,8 +516,25 @@
     }
 
     @Override
+    public List<PadOrderDetailVo> findPadApiOrderListInPage(PadOrderListDto orderListDto, PaginationVO pageVo) {
+        List<PadOrderDetailVo> padOrderDetailVos = sysOrderDao.selectPadApiOrderListInPage(orderListDto, pageVo);
+        if(CollUtil.isNotEmpty(padOrderDetailVos)){
+            for(PadOrderDetailVo padOrderDetailVo : padOrderDetailVos){
+                padOrderDetailVo.setItems(orderItemDao.selectApiOrderDetailItemsByOrderId(Long.parseLong(padOrderDetailVo.getOrderId())));
+            }
+        }
+
+        return padOrderDetailVos;
+    }
+
+    @Override
     public int findApiOrderListTotal(OrderListDto orderListDto) {
         return sysOrderDao.selectApiOrderListTotal(orderListDto);
+    }
+
+    @Override
+    public int findPadApiOrderListTotal(PadOrderListDto orderListDto) {
+        return sysOrderDao.selectPadApiOrderListTotal(orderListDto);
     }
 
     @Override
@@ -555,6 +573,8 @@
         sysOrderServiceHelper.addOrderFlow(sysOrder, false);
         //退款退套餐退项目
         refundProjUse(sysOrder);
+
+        sysOrderServiceHelper.returnMoneyCardPay(sysOrder, false);
         //删除积分
         SysOrder oldOrder = sysOrderDao.selectById(sysOrder.getOldOrderId());
         scoreVipDetailService.removeByBusinessId(oldOrder.getVipId(), oldOrder.getId());
@@ -618,7 +638,8 @@
         }
 
         BusParameterSettings manageStockSetting = busParameterSettingsDao.selectCompanyParamByCode(AppConstance.WAREHOUSE_MANAGE_STOCK, sysOrder.getCompanyId());
-        if (AppConstance.IS_Y.equals(manageStockSetting.getParamValue())) {
+//        if (AppConstance.IS_Y.equals(manageStockSetting.getParamValue())) {
+        if (BooleanEnum.TRUE.getValue() == manageStockSetting.getIntParamValue()) {
             // 家居产品退库存
             if (CollectionUtils.isNotEmpty(returnGoodsList)) {
                 LogUtil.info("订单退款:退产品库存:{}", JSON.toJSONString(returnGoodsList));

--
Gitblit v1.9.1