From 75f1c8f7380994e032de7d32ca7890dff543aaa2 Mon Sep 17 00:00:00 2001 From: 935090232@qq.com <ak473600000> Date: Wed, 21 Jul 2021 10:19:15 +0800 Subject: [PATCH] Merge branch 'score_shop' into api_score_meger --- zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java | 46 ++++++++++++++++++++++++---------------------- 1 files changed, 24 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 e3e1fa1..f74dc3c 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 收款 @@ -1323,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); @@ -1376,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 { @@ -1397,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; + } + + } @@ -1548,7 +1550,7 @@ sourceOrder.setIsHasRefund(SysOrder.IS_HAS_REFUND_Y); // sourceOrder.setStatu(Dictionary.ORDER_STATU_TK); sysOrderDao.update(sourceOrder); - SysOrder oldOrder=sysOrderDao.selectById( sysOrder.getOldOrderId()); + SysOrder oldOrder=sysOrderDao.selectById(sysOrder.getOldOrderId()); sysOrder.setId(null); sysOrder.setStaffId(user.getSuId()); @@ -1721,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