From ab2879bbcb846256cc182198b9c04e50fbc276c1 Mon Sep 17 00:00:00 2001 From: jyy <935090232@qq.com> Date: Tue, 26 Jan 2021 14:15:42 +0800 Subject: [PATCH] 1、新增消息推送提醒 2、修改业绩计算bug --- zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java | 67 ++++++++++++++++++++++++--------- 1 files changed, 48 insertions(+), 19 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 21f8bde..2bc34e5 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 @@ -1,5 +1,6 @@ package com.matrix.system.hive.service.imp; +import com.matrix.component.rabbitmq.RabiitMqTemplate; import com.matrix.core.constance.MatrixConstance; import com.matrix.core.exception.GlobleException; import com.matrix.core.pojo.PaginationVO; @@ -27,8 +28,11 @@ import com.matrix.system.hive.pojo.ShoppingCarItem; import com.matrix.system.hive.pojo.ShoppingCarItemsVo; import com.matrix.system.hive.service.*; +import com.matrix.system.shopXcx.mqTask.MQTaskRouting; +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; @@ -108,6 +112,13 @@ private SysInstoreInfoService sysInstoreInfoService; + @Value("${evn}") + private String evn; + + @Autowired + private RabiitMqTemplate rabiitMqTemplate; + + @Override public int add(SysOrder sysOrder) { return sysOrderDao.insert(sysOrder); @@ -167,6 +178,10 @@ @Override public SysOrder checkAndSaveOrder(SysOrder sysOrder) { // 收款改变订单状态 + SysOrder source = null; + if (sysOrder.getId() != null) { + source = sysOrderDao.selectById(sysOrder.getId()); + } // 计算订单折扣金额,收款情况下 计算订单总额 double zkTotal = 0.0; @@ -203,8 +218,8 @@ SysUsers user = (SysUsers) WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY); sysOrder.setZkTotal(zkTotal); sysOrder.setStatu(orderStatus); - sysOrder.setStaffId(user.getSuId()); - sysOrder.setCompanyId(user.getCompanyId()); + sysOrder.setStaffId(source != null ? source.getStaffId() : user.getSuId()); + sysOrder.setCompanyId(source != null ? source.getCompanyId() : user.getCompanyId()); sysOrder.setPayTime(new Date()); if(sysOrder.getId()==null){ @@ -221,11 +236,16 @@ sysOrder.getItems().forEach(sysOrderItem -> { sysOrderItem.setOrderId(sysOrder.getId()); - // 取负数 - sysOrderItem.setCount(-sysOrderItem.getCount()); - orderItemDao.insert(sysOrderItem); - // 调整回来 - sysOrderItem.setCount(-sysOrderItem.getCount()); + if (sysOrder.getStatu().equals(Dictionary.ORDER_STATU_TK)) { + // 取负数 + sysOrderItem.setCount(-sysOrderItem.getCount()); + orderItemDao.insert(sysOrderItem); + // 调整回来 + sysOrderItem.setCount(-sysOrderItem.getCount()); + } else { + orderItemDao.insert(sysOrderItem); + } + }); return sysOrder; @@ -247,6 +267,12 @@ order.setStatu(Dictionary.ORDER_STATU_YQX); order.setArrears(0D); + + //发送微信公众号提醒 + UniformMsgParam uniformMsgParam=new UniformMsgParam(order.getCompanyId(),UniformMsgParam.GZH_DDQX); + uniformMsgParam.put("orderId",order.getId()); + rabiitMqTemplate.sendMsg(MQTaskRouting.SEND_UNIFORM_TEMPLATE_MSG+evn,uniformMsgParam.toJSONString()); + return sysOrderDao.update(order); } else { @@ -342,8 +368,11 @@ achieveNewService.removeByModel(achieveNew); // 取消订单 order.setStatu(Dictionary.ORDER_STATU_YQX); + + return sysOrderDao.update(order); } + } @@ -428,7 +457,6 @@ // 设置订单总价与折后价 order.setTotal(total); order.setZkTotal(zkTotal); - order.setArrears(zkTotal); sysOrderDao.update(order); return i; } @@ -565,8 +593,7 @@ Integer buyNum = orderItemDao.selectByGoodsId(shopGoods.getId()); buyNum = (buyNum == null ? 0 : buyNum); if ((buyNum + carItem.getCount()) > maxNum) { - - throw new GlobleException(shopGoods.getName() + "已超过最大销售数量,还剩【" + (maxNum - buyNum) + "】件"); + throw new GlobleException(shopGoods.getName() + "已超过最大销售数量"); } if ((buyNum + carItem.getCount()) == maxNum) { if (!shopGoods.getStaus().equals(Dictionary.BUSINESS_STATE_DOWN)) { @@ -798,6 +825,8 @@ } refundTotal += flow.getAmount().doubleValue(); + flow.setShopId(sourceOrder.getShopId()); + flow.setCompanyId(sourceOrder.getCompanyId()); sysOrderFlowDao.insert(flow); i++; } @@ -1126,11 +1155,11 @@ public SysOrder updateAddCardMoney(CzXkVo czVo) { SysUsers user = (SysUsers) WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY); - SysVipInfo vip = (SysVipInfo) WebUtil.getSession().getAttribute(SystemConstance.CURRENT_CUSTOMER); - czVo.setVipId(vip.getId()); +// SysVipInfo vip = (SysVipInfo) WebUtil.getSession().getAttribute(SystemConstance.CURRENT_CUSTOMER); +// czVo.setVipId(vip.getId()); //更新会员会员卡金额 - MoneyCardUse cardUser = moneyCardUseDao.selectVipCard(vip.getId()); + MoneyCardUse cardUser = moneyCardUseDao.selectVipCard(czVo.getVipId()); cardUser.setRealMoney(MoneyUtil.add(cardUser.getRealMoney(), czVo.getBjmoney())); cardUser.setGiftMoney(MoneyUtil.add(cardUser.getGiftMoney(), czVo.getGiftMoney())); moneyCardUseDao.update(cardUser); @@ -1161,6 +1190,7 @@ order.setStaffId(user.getSuId()); order.setIsCross(2 + ""); order.setStatu(Dictionary.ORDER_STATU_YFK); + order.setCompanyId(user.getCompanyId()); sysOrderDao.insert(order); SysOrderItem orderItem = new SysOrderItem(); @@ -1180,6 +1210,9 @@ orderItem.setStatus(Dictionary.ORDER_STATU_YFK); orderItem.setAchaeveList(czVo.getAchaeveList()); orderItemDao.insert(orderItem); + List<SysOrderItem> items = new ArrayList<>(); + items.add(orderItem); + order.setItems(items); //设置卡项使用流水 @@ -1195,7 +1228,8 @@ moneyCardUseFlow.setBalance(cardUser.getGiftMoney()+cardUser.getRealMoney()); moneyCardUseFlowDao.insert(moneyCardUseFlow); - + order.setFlows(czVo.getFlows()); + changeOrderStatu(order); // 添加员工业绩 achieveNewService.addAchaeveByOrder(order); return order; @@ -1241,11 +1275,6 @@ @Override public List<RankingVo> findApiShopAchieveRanking(SysOrder sysOrder) { return sysOrderDao.selectShopAchieveRanking(sysOrder); - } - - @Override - public List<RankingVo> findStaffSaleAchieveRanking(SysOrder sysOrder) { - return sysOrderDao.selectStaffSaleAchieveRanking(sysOrder); } @Transactional(rollbackFor = Exception.class) -- Gitblit v1.9.1