From bbe0a2fd03063316e50cf141986bda984599bbda Mon Sep 17 00:00:00 2001 From: 935090232@qq.com <ak473600000> Date: Tue, 22 Feb 2022 23:41:42 +0800 Subject: [PATCH] Merge branch 'developer' --- zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java | 21 +++++++++++++++++++-- 1 files changed, 19 insertions(+), 2 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 230e11f..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 @@ -519,7 +519,12 @@ * @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(); @@ -528,12 +533,19 @@ .map(SysOrderFlow::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add); BigDecimal cardPayAmount = flows.stream() - .filter(item -> item.getPayMethod().equals("储值卡") && item.getIsGift().equals("N")) + .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); } @@ -1407,7 +1419,6 @@ }else{ puse.setPrice(sysOrderItem.getShoppingGoods().getSealPice()); } - } else { puse.setPrice(0D); } @@ -1521,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()); @@ -1854,4 +1866,9 @@ sysInstoreInfoService.check(instoreInfo); } + + @Override + public BigDecimal findVipArrearsByVipId(Long vipId) { + return sysOrderDao.selectArrearsByVipId(vipId); + } } -- Gitblit v1.9.1