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 |   27 ++++++++++++++++++++++++---
 1 files changed, 24 insertions(+), 3 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 2c997c6..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
@@ -35,6 +35,8 @@
 import com.matrix.system.hive.plugin.util.CollectionUtils;
 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;
@@ -175,7 +177,7 @@
         }
 
         //储值卡退款
-        sysOrderServiceHelper.returnMoneyCardPay(order);
+        sysOrderServiceHelper.returnMoneyCardPay(order, true);
 
         //套餐项目取消
         List<SysOrderItem> sysOrderItems = orderItemDao.selectByOrderId(order.getId());
@@ -344,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("订单更新失败,支付金额计算错误,请联系管理员");
         }
 
@@ -514,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
@@ -554,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 +639,7 @@
 
         BusParameterSettings manageStockSetting = busParameterSettingsDao.selectCompanyParamByCode(AppConstance.WAREHOUSE_MANAGE_STOCK, sysOrder.getCompanyId());
 //        if (AppConstance.IS_Y.equals(manageStockSetting.getParamValue())) {
-        if (BooleanEnum.TRUE.getValue() == Integer.parseInt(manageStockSetting.getParamValue())) {
+        if (BooleanEnum.TRUE.getValue() == manageStockSetting.getIntParamValue()) {
             // 家居产品退库存
             if (CollectionUtils.isNotEmpty(returnGoodsList)) {
                 LogUtil.info("订单退款:退产品库存:{}", JSON.toJSONString(returnGoodsList));

--
Gitblit v1.9.1