From ad31648c6f7a8bff1f7ccdf84b76006b9ffb78f8 Mon Sep 17 00:00:00 2001
From: jyy <jyy>
Date: Sat, 17 Jul 2021 15:59:10 +0800
Subject: [PATCH] 1.	新增套餐中有效和无效的操作 2.	会员修改门店功能 3.	套餐新增编辑次数功能 4.	计算是否为赠送的条件为,全部为赠送金额购买且支付金额大于0 5.	打印小票功能调整间距,和收银人 6.	PC端服务单新增划扣金额展示

---
 zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java |   44 ++++++++++++++++++++++----------------------
 1 files changed, 22 insertions(+), 22 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 0e85cd7..adf9bcf 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
@@ -401,8 +401,6 @@
 
         //获取折扣-----
         Double zk = zk = 1.0;
-        //验证商品是否只购买了一次
-        checkBuyOnce(car, info.getId());
 
         SysOrder order = new SysOrder();
         SysUsers user = (SysUsers) WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY);
@@ -433,8 +431,7 @@
         int count = 0;
         // 设置订单条目
         for (ShoppingCarItem carItem : car.getCarItems()) {
-            // 检测最大销售数量
-            checkIsArrivedMax(carItem);
+
             SysOrderItem orderItem = new SysOrderItem();
             orderItem.setOrderId(order.getId());
             orderItem.setCount(carItem.getCount());
@@ -472,20 +469,6 @@
     }
 
 
-    /**
-     * 验证商品是否购买过一次
-     *
-     * @Title: checkBuyOnce  @author:jyy @param car void 返回类型 @date
-     * 2016年9月22日 上午10:05:33 @throws
-     */
-    private void checkBuyOnce(ShoppingCarItemsVo car, Long vipId) {
-        for (ShoppingCarItem carItem : car.getCarItems()) {
-            if (shoppingGoodsDao.selectBuyCount(carItem.getGoodsId(), vipId) > 0) {
-                ShoppingGoods goods = shoppingGoodsDao.selectById(carItem.getGoodsId());
-                throw new GlobleException(goods.getName() + "只能购买一次!");
-            }
-        }
-    }
 
     /**
      * jyy 收款
@@ -981,7 +964,6 @@
                     moneyCardUse.setGiftMoney(moneyCar.getReferencePice());
                     moneyCardUse.setRealMoney(moneyCar.getSealPice());
                     moneyCardUse.setGoodsId(moneyCar.getId());
-                    moneyCardUse.setIsOver(Dictionary.FLAG_NO_N);
                     moneyCardUse.setOrderItemId(sysOrderItem.getId());
                     moneyCardUse.setSource(Dictionary.TAOCAN_SOURCE_GM);
                     moneyCardUse.setStatus(Dictionary.MONEYCARD_STATUS_YX);
@@ -1324,7 +1306,7 @@
         taocanProjUse.setIsCourse(taocanShoppingGoods.getIsCourse());
         taocanProjUse.setIsInfinite(taocanShoppingGoods.getIsInfinite());
         // 赠送和打折后金额为0的都视为赠送项目
-        if (sysOrderItem.getIsFree().equals(Dictionary.FLAG_NO) && sysOrderItem.getZkPrice() > 0) {
+        if (sysOrderItem.getIsFree().equals(Dictionary.FLAG_NO) && sysOrderItem.getZkPrice() > 0 && !isGiftMoneyPay(order)) {
             taocanProjUse.setSource(Dictionary.TAOCAN_SOURCE_GM);
         } else {
             taocanProjUse.setSource(Dictionary.TAOCAN_SOURCE_ZS);
@@ -1377,8 +1359,10 @@
 
 
         puse.setProjName(sysOrderItem.getShoppingGoods().getName());
+
+
         // 赠送和打折后金额为0的都视为赠送项目
-        if (sysOrderItem.getIsFree().equals(Dictionary.FLAG_NO) && sysOrderItem.getZkPrice() > 0) {
+        if (sysOrderItem.getIsFree().equals(Dictionary.FLAG_NO) && sysOrderItem.getZkPrice() > 0 && !isGiftMoneyPay(order)) {
             puse.setSource(Dictionary.TAOCAN_SOURCE_GM);
             puse.setPrice(sysOrderItem.getZkPrice());
         } else {
@@ -1398,6 +1382,23 @@
         puse.setFailTime(invalidTime);
         puse.setBalance(sysOrderItem.getShoppingGoods().getSealPice()*puse.getSurplusCount());
         sysProjUseDao.insert(puse);
+    }
+
+    /**
+     * 全是赠送金额,且配置了赠送金额购买计算为赠送
+     * @param order
+     * @return
+     */
+    private boolean isGiftMoneyPay(SysOrder order) {
+        BusParameterSettings giftiIsfree = busParameterSettingsDao.selectCompanyParamByCode(AppConstance.SHOP_MANAGE_GIFTISFREE, order.getCompanyId());
+        if(giftiIsfree.getParamValue().equals("是")){
+            return  order.getFlows().stream().allMatch(item -> SysOrderFlow.IS_GIFT_Y.equals(item.getIsGift())
+                    && item.getAmount().doubleValue() >0D);
+        }else{
+            return false;
+        }
+
+
     }
 
 
@@ -1739,7 +1740,6 @@
 
             if (Dictionary.SHOPPING_GOODS_TYPE_CZK.equals(item.getType())) {
                 MoneyCardUse queryCardUse = new MoneyCardUse();
-                queryCardUse.setIsOver(Dictionary.FLAG_NO_N);
                 queryCardUse.setStatus(Dictionary.TAOCAN_STATUS_YX);
                 queryCardUse.setOrderItemId(item.getOldItemId());
 

--
Gitblit v1.9.1