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/shopXcx/mqTask/OrderTask.java | 84 +++++++++-------------------------------- 1 files changed, 19 insertions(+), 65 deletions(-) diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/OrderTask.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/OrderTask.java index 63374e7..c885d81 100644 --- a/zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/OrderTask.java +++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/OrderTask.java @@ -1,9 +1,7 @@ package com.matrix.system.shopXcx.mqTask; -import com.matrix.biz.bean.BizUser; -import com.matrix.biz.service.BizUserService; -import com.matrix.core.constance.MatrixConstance; +import com.matrix.component.asyncmessage.MessageHandler; import com.matrix.core.tools.LogUtil; import com.matrix.core.tools.StringUtils; import com.matrix.system.common.constance.AppConstance; @@ -11,12 +9,12 @@ import com.matrix.system.constance.Dictionary; import com.matrix.system.fenxiao.dao.ShopSalesmanGradeDao; import com.matrix.system.fenxiao.dao.ShopSalesmanOrderDao; -import com.matrix.system.fenxiao.entity.ShopSalesmanOrder; import com.matrix.system.hive.bean.*; import com.matrix.system.hive.dao.*; import com.matrix.system.hive.service.CodeService; import com.matrix.system.hive.service.ShoppingGoodsService; import com.matrix.system.hive.service.SysOrderService; +import com.matrix.system.hive.service.SysVipInfoService; import com.matrix.system.shopXcx.bean.ShopOrder; import com.matrix.system.shopXcx.bean.ShopOrderDetails; import com.matrix.system.shopXcx.bean.ShopSku; @@ -25,6 +23,7 @@ import com.matrix.system.shopXcx.dao.ShopSkuDao; import com.rabbitmq.client.DeliverCallback; import com.rabbitmq.client.Delivery; +import org.apache.logging.log4j.message.Message; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; @@ -32,12 +31,13 @@ import java.io.IOException; import java.util.Date; import java.util.List; +import java.util.Map; /** * 微商城订单同步到erp系统 */ @Component -public class OrderTask implements DeliverCallback { +public class OrderTask implements MessageHandler { @Autowired @@ -46,7 +46,7 @@ ShopOrderDetailsDao shopOrderDetailsDao; @Autowired - BizUserService bizUserService; + SysVipInfoService sysVipInfoService; @Autowired @@ -89,7 +89,7 @@ private ShopSalesmanGradeDao shopSalesmanGradeDao; @Transactional(rollbackFor = Exception.class) - public void createOrder(ShopOrder orderDto) { + public void synchronizationOrderToErp(ShopOrder orderDto) { //判断是否存在需要同步的产品,只有绑定了erp中产品的才同步 boolean needTb=false; @@ -101,10 +101,8 @@ } if(needTb){ - BizUser bizUser = bizUserService.findByOpenId(orderDto.getUserId()); + SysVipInfo vipInfo = sysVipInfoService.findById(orderDto.getUserId()); SysOrder order = new SysOrder(); - //TODO 根据公司id区分 - SysVipInfo vipInfo = vipDao.selectByPhone(bizUser.getPhoneNumber()); if(SysVipInfo.UNDEAL_VIP==vipInfo.getIsDeal()){ //非成交客户下单更新客户为成交客户 vipInfo.setIsDeal(SysVipInfo.DEAL_VIP); @@ -235,12 +233,20 @@ } - + @Override + public String getName() { + return "微商城订单同步到erp系统"; + } @Override - public void handle(String consumerTag, Delivery message) throws IOException { + public String getRouteKey() { + return AsyncMessageRouting.CREATE_ORDER; + } - String orderId = new String(message.getBody(), "UTF-8"); + @Override + public void handle(Map<String,Object> param) { + + String orderId = (String) param.get("orderId"); LogUtil.debug("收到创建订单任务orderId={}", orderId); //获取订单信息 ShopOrder order = shopOrderDao.selectById(Integer.valueOf(orderId)); @@ -249,59 +255,7 @@ order.setDetails(orderDetails); //同步订单到erp synchronizationOrderToErp(order); - //处理分销订单 - handleExtensionOrder(order); } - /** - * 处理分销订单 - * @param order - */ - @Transactional - void handleExtensionOrder(ShopOrder order) { - //判读客户是否存在上级,存在则产生上级的收益 - BizUser bizUser = bizUserService.findByOpenId(order.getUserId()); - if(StringUtils.isNotBlank(bizUser.getParentOpenId())){ - LogUtil.debug("处理分销订单userOpid={}",bizUser.getOpenId()); - //存在上级 - ShopSalesmanOrder shopSalesmanOrder=new ShopSalesmanOrder(); - shopSalesmanOrder.setCompanyId(order.getCompanyId()); - shopSalesmanOrder.setCreateBy(MatrixConstance.SYSTEM_USER); - shopSalesmanOrder.setUpdateBy(MatrixConstance.SYSTEM_USER); - shopSalesmanOrder.setCreateTime(new Date()); - shopSalesmanOrder.setUpdateTime(new Date()); - shopSalesmanOrder.setOrderId(Long.parseLong(order.getId()+"")); - shopSalesmanOrder.setUserId(order.getUserId()); - shopSalesmanOrder.setSalesUserId(bizUser.getParentOpenId()); - shopSalesmanOrder.setRevenueType(ShopSalesmanOrder.REVENUE_TYPE_SALES); - shopSalesmanOrder.setOrderStatus(ShopSalesmanOrder.STATUS_DJS); - Double amount=0D; - for (ShopOrderDetails item:order.getDetails() ){ - if(StringUtils.isNotBlank(item.getShopProduct().getAttrValues()) - && item.getShopProduct().getAttrValues().contains("分销商城")){ - if(item.getShopSku().getSealesPrice()==null - ||item.getShopSku().getSealesPrice().doubleValue()==0){ - //按分销等级计算 - BizUser salesMan=bizUserService.findByOpenId(bizUser.getParentOpenId()); - shopSalesmanGradeDao.selectById(salesMan.getSalesmanGrade()) - - }else{ - //按产品设置的金额计算 - amount+=item.getShopSku().getSealesPrice().doubleValue(); - } - - } - } - - - - - - }else{ - LogUtil.debug("不存在父级userOpid={}",bizUser.getOpenId()); - } - - - } } -- Gitblit v1.9.1