From d65675232238852047ffcea0a0a2230104c7a4e5 Mon Sep 17 00:00:00 2001
From: 935090232@qq.com <ak473600000>
Date: Wed, 02 Mar 2022 22:50:00 +0800
Subject: [PATCH] Merge branch '配置文件改造' into developer
---
zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 50 insertions(+), 8 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 0bdf347..e42eaaf 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
@@ -36,7 +36,6 @@
import com.matrix.system.wechart.templateMsg.UniformMsgParam;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -483,9 +482,7 @@
// 更新收款时间
- pageOrder.setPayTime(new Date());
- pageOrder.setStatu(Dictionary.ORDER_STATU_YFK);
- sysOrderDao.update(pageOrder);
+ updateOrderInfo(pageOrder);
// 获取用户信息
SysVipInfo vipInfo = sysVipInfoDao.selectById(pageOrder.getVipId());
@@ -515,6 +512,42 @@
//设置会员积分
addVipScore(pageOrder);
+ }
+
+ /**
+ * 付款后更新订单信息
+ * @param pageOrder
+ */
+ private void updateOrderInfo(SysOrder pageOrder) {
+
+ SysUsers user = (SysUsers) WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY);
+ pageOrder.setCashierId(user.getSuId());
+
+ pageOrder.setPayTime(new Date());
+
+ pageOrder.setStatu(Dictionary.ORDER_STATU_YFK);
+ List<SysOrderFlow> flows = pageOrder.getFlows();
+
+ BigDecimal cashPayAmount = flows.stream()
+ .filter(item -> (!item.getPayMethod().equals("储值卡")) && (!item.getPayMethod().equals("欠款")))
+ .map(SysOrderFlow::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
+
+ BigDecimal cardPayAmount = flows.stream()
+ .filter(item -> item.getPayMethod().equals("储值卡"))
+ .map(SysOrderFlow::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
+
+ pageOrder.setCardPay(cardPayAmount.doubleValue());
+ pageOrder.setCashPay(cashPayAmount.doubleValue());
+ //欠款金额在流水处理中处理了
+
+ double sum = flows.stream().mapToDouble(item -> item.getAmount().doubleValue()).sum();
+
+ if(sum>0 && cardPayAmount.doubleValue()==0 && cashPayAmount.doubleValue()==0 ){
+ throw new GlobleException("订单更新失败,支付金额计算错误,请联系管理员");
+ }
+
+
+ sysOrderDao.update(pageOrder);
}
private void checkOrder(SysOrder pageOrder) {
@@ -1380,17 +1413,20 @@
//赠送项目是否计算消耗业绩否则 赠送产品按原价计算消耗
boolean zsConsumeAchieve = projServicesService.skipServiceOrderStep(Dictionary.ZS_CONSUME_ACHIEVE);
if (zsConsumeAchieve) {
- puse.setPrice(sysOrderItem.getShoppingGoods().getSealPice());
+ //赠送情况下,如果收款金额大于0,就是赠送金额划扣的情况,金额即为划扣的折扣金额
+ if(sysOrderItem.getZkPrice()>0){
+ puse.setPrice(sysOrderItem.getZkPrice());
+ }else{
+ puse.setPrice(sysOrderItem.getShoppingGoods().getSealPice());
+ }
} else {
puse.setPrice(0D);
}
-
-
}
// 设置失效时间
Date invalidTime = shoppingGoodsService.calInvalidTime(sysOrderItem.getShoppingGoods(), 1, null);
puse.setFailTime(invalidTime);
- puse.setBalance(sysOrderItem.getShoppingGoods().getSealPice() * puse.getSurplusCount());
+ puse.setBalance(puse.getPrice() * puse.getSurplusCount());
sysProjUseDao.insert(puse);
}
@@ -1496,6 +1532,7 @@
moneyCardUseFlow.setCreateTime(new Date());
moneyCardUseFlow.setOperationId(user.getSuId());
moneyCardUseFlow.setBalance(cardUser.getGiftMoney() + cardUser.getRealMoney());
+ moneyCardUseFlow.setCarUseId(cardUser.getId());
moneyCardUseFlowDao.insert(moneyCardUseFlow);
order.setFlows(czVo.getFlows());
@@ -1829,4 +1866,9 @@
sysInstoreInfoService.check(instoreInfo);
}
+
+ @Override
+ public BigDecimal findVipArrearsByVipId(Long vipId) {
+ return sysOrderDao.selectArrearsByVipId(vipId);
+ }
}
--
Gitblit v1.9.1