From 12bdaf99a9abf9e3930b449c65dd427c861b0ca4 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Tue, 20 Jul 2021 14:29:50 +0800
Subject: [PATCH] fix
---
zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java | 25 ++++++++++++++++++++++---
1 files changed, 22 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 8fa0fcb..bf08c30 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
@@ -1306,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);
@@ -1359,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 {
@@ -1380,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;
+ }
+
+
}
@@ -1704,7 +1723,7 @@
List<SysProjUse> sysProjUses = sysProjUseDao.selectByModel(queryProjUse);
- for (int i = 0; i < item.getCount(); i++) {
+ for (int i = 0; i < sysProjUses.size(); i++) {
SysProjUse sysProjUse = sysProjUses.get(i);
sysProjUse.setIsOver(Dictionary.FLAG_YES_Y);
--
Gitblit v1.9.1