From 7f4157d6a4983fa57c212e1286181d0d292c78d3 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Fri, 25 Mar 2022 12:28:24 +0800
Subject: [PATCH] Merge branch 'buttonmodify' into feature/订单服务单代码改造

---
 zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java |   57 +++++++++++++++++++++------------------------------------
 1 files changed, 21 insertions(+), 36 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 6b98538..2619287 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
@@ -1,6 +1,8 @@
 package com.matrix.system.hive.service.imp;
 
+import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollectionUtil;
+import com.google.common.collect.Lists;
 import com.matrix.component.asyncmessage.AsyncMessageManager;
 import com.matrix.core.constance.MatrixConstance;
 import com.matrix.core.exception.GlobleException;
@@ -26,6 +28,8 @@
 import com.matrix.system.enums.OperationFunctionEnum;
 import com.matrix.system.hive.bean.*;
 import com.matrix.system.hive.dao.*;
+import com.matrix.system.hive.dto.GoodsSealLimitDto;
+import com.matrix.system.hive.dto.OrderItemDto;
 import com.matrix.system.hive.plugin.util.CollectionUtils;
 import com.matrix.system.hive.plugin.util.MoneyUtil;
 import com.matrix.system.hive.pojo.CzXkVo;
@@ -553,6 +557,8 @@
         addVipScore(pageOrder);
 
 
+
+
     }
 
     /**
@@ -601,11 +607,22 @@
     }
 
     private void checkOrder(SysOrder pageOrder) {
-        //检查交易限制调整
-        checkSealLimit(pageOrder);
+        //检查交易限制调整 jyytodo 测试一下
+        GoodsSealLimitDto goodsSealLimitDto = new GoodsSealLimitDto();
+        goodsSealLimitDto.setVipId(pageOrder.getVipId());
+        goodsSealLimitDto.setOrderItemDtoList(Lists.newArrayList());
+        pageOrder.getItems().forEach(e->{
+            goodsSealLimitDto.getOrderItemDtoList().add(BeanUtil.copyProperties(e, OrderItemDto.class));
+        });
+        shoppingGoodsService.checkGoodsSealLimit(goodsSealLimitDto);
+
         //检查业绩设置
         checkOrderAchieve(pageOrder);
     }
+
+
+
+
 
     /**
      * 检查业绩设置是否合理
@@ -638,40 +655,7 @@
 
     }
 
-    /**
-     * 检查产品销售次数
-     */
-    private void checkSealLimit(SysOrder pageOrder) {
-        pageOrder.getItems().forEach(item -> {
-            ShoppingGoods shopGoods = shoppingGoodsDao.selectById(item.getGoodsId());
 
-            //最大销售次数检测
-            Integer maxNum = shopGoods.getCarMaxSaleCount();
-            if (maxNum != null && maxNum != 0) {
-                Integer buyNum = orderItemDao.selectByGoodsId(shopGoods.getId(), null);
-                if ((buyNum + item.getCount()) > maxNum) {
-                    throw new GlobleException(shopGoods.getName() + "已超过最大销售数量");
-                }
-                if ((buyNum + item.getCount()) == maxNum) {
-                    if (!shopGoods.getStaus().equals(Dictionary.BUSINESS_STATE_DOWN)) {
-                        shopGoods.setStaus(Dictionary.BUSINESS_STATE_DOWN);
-                        shoppingGoodsDao.update(shopGoods);
-                    }
-                }
-            }
-            //每人限购次数检测
-            Integer onceCount = shopGoods.getIsOnce();
-            if (onceCount != null && onceCount != 0) {
-                Integer buyOnceCount = orderItemDao.selectByGoodsId(shopGoods.getId(), pageOrder.getVipId());
-
-                if ((buyOnceCount + item.getCount()) > onceCount) {
-                    throw new GlobleException(shopGoods.getName() + "每人限购" + onceCount + "次");
-                }
-            }
-
-        });
-
-    }
 
 
     /**
@@ -1045,7 +1029,7 @@
      * @date 2016年9月19日
      */
     public void addMoneyCardUse(SysOrder sourceOrder) {
-
+        SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
         List<SysOrderItem> orderItemList = sourceOrder.getItems();
         for (SysOrderItem sysOrderItem : orderItemList) {
             // 如果购买的是充值卡
@@ -1084,6 +1068,7 @@
                     moneyCardUse.setFailTime(invalidTime);
 
                     moneyCardUseDao.insert(moneyCardUse);
+
                 }
             }
         }

--
Gitblit v1.9.1