From bdda3d8531513e32e0a079def5a3e342907a2ef7 Mon Sep 17 00:00:00 2001
From: 935090232@qq.com <ak473600000>
Date: Fri, 18 Jun 2021 22:09:52 +0800
Subject: [PATCH] 修复每日业绩bug和优化赠送业绩计算方式

---
 zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java |   32 +++++++++++++++++++++++++-------
 1 files changed, 25 insertions(+), 7 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 0384cfd..1e80f7f 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
@@ -1238,13 +1238,21 @@
         if (sysOrderItem.getIsFree().equals(Dictionary.FLAG_NO) && sysOrderItem.getZkPrice() > 0) {
             puse.setSource(Dictionary.TAOCAN_SOURCE_GM);
         } else {
-            //赠送产品按原价计算消耗
+
             puse.setSource(Dictionary.TAOCAN_SOURCE_ZS);
-            if (taocanId == null) {
-                puse.setPrice(goodsAssemble.getShoppingGoods().getPrice() );
-            } else {
-                puse.setPrice(goodsAssemble.getPrice());
+            //赠送项目是否计算消耗业绩否则 赠送产品按原价计算消耗
+            boolean zsConsumeAchieve = projServicesService.skipServiceOrderStep(Dictionary.ZS_CONSUME_ACHIEVE);
+            if(zsConsumeAchieve){
+                if (taocanId == null) {
+                    puse.setPrice(goodsAssemble.getShoppingGoods().getPrice() );
+                } else {
+                    puse.setPrice(goodsAssemble.getPrice());
+                }
+            }else{
+                puse.setPrice(0D);
             }
+
+
         }
         puse.setBalance(MoneyUtil.mul(puse.getPrice(), Double.valueOf(puse.getSurplusCount())));
         puse.setFailTime(failTime);
@@ -1311,6 +1319,9 @@
         sysProjUseDao.update(taocanProjUse);
     }
 
+    @Autowired
+    private SysProjServicesService projServicesService;
+
     /**
      * 根据订单创建用户项目使用情况
      *
@@ -1335,8 +1346,15 @@
             puse.setPrice(sysOrderItem.getZkPrice());
         } else {
             puse.setSource(Dictionary.TAOCAN_SOURCE_ZS);
-            //赠送产品按原价计算消耗
-            puse.setPrice(sysOrderItem.getShoppingGoods().getSealPice());
+            //赠送项目是否计算消耗业绩否则 赠送产品按原价计算消耗
+            boolean zsConsumeAchieve = projServicesService.skipServiceOrderStep(Dictionary.ZS_CONSUME_ACHIEVE);
+            if(zsConsumeAchieve){
+                puse.setPrice(sysOrderItem.getShoppingGoods().getSealPice());
+            }else{
+                puse.setPrice(0D);
+            }
+
+
         }
         // 设置失效时间
         Date invalidTime = shoppingGoodsService.calInvalidTime(sysOrderItem.getShoppingGoods(), 1, null);

--
Gitblit v1.9.1