From e23c8975e6bb0934cb5db46a94d0f83c9739d9ab Mon Sep 17 00:00:00 2001
From: 935090232@qq.com <ak473600000>
Date: Sun, 20 Mar 2022 16:33:17 +0800
Subject: [PATCH] 重构:套餐项目

---
 zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/OrderTask.java |   44 +++++++++++++++++++++-----------------------
 1 files changed, 21 insertions(+), 23 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 a8bb1a0..05086bb 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,6 +1,7 @@
 package com.matrix.system.shopXcx.mqTask;
 
 
+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;
@@ -14,27 +15,26 @@
 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.hive.service.imp.SysOrderServiceHelper;
 import com.matrix.system.shopXcx.bean.ShopOrder;
 import com.matrix.system.shopXcx.bean.ShopOrderDetails;
 import com.matrix.system.shopXcx.bean.ShopSku;
 import com.matrix.system.shopXcx.dao.ShopOrderDao;
 import com.matrix.system.shopXcx.dao.ShopOrderDetailsDao;
 import com.matrix.system.shopXcx.dao.ShopSkuDao;
-import com.rabbitmq.client.DeliverCallback;
-import com.rabbitmq.client.Delivery;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import org.springframework.transaction.annotation.Transactional;
 
-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
@@ -84,6 +84,10 @@
 
     @Autowired
     private ShopSalesmanGradeDao shopSalesmanGradeDao;
+
+    @Autowired
+    private SysOrderServiceHelper sysOrderServiceHelper;
+
 
     @Transactional(rollbackFor = Exception.class)
     public void synchronizationOrderToErp(ShopOrder orderDto) {
@@ -181,30 +185,16 @@
                             orderItemDao.insert(orderItem);
                         }
                         break;
-                    case Dictionary.SHOPPING_GOODS_TYPE_ZHK:
-                        // 新增明细
-                        orderItem.setGoodsId(shoppingGoods.getId());
-                        // 每一个充值卡都看成一个单独的订单条目
-                        count = orderItem.getCount();
-                        for (int j = 0; j < count; j++) {
-                            orderItem.setCount(1);
-                            orderItem.setId(null);
-                            orderItemDao.insert(orderItem);
-                        }
-                        break;
                 }
             }
             // 处理收款逻辑
             SysOrder sourceOrder = sysOrderDao.selectById(order.getId());
             sourceOrder.setItems(orderItemDao.selectByOrderId(order.getId()));
             // 设置会员充值卡使用情况
-            orderService.addMoneyCardUse(sourceOrder);
+            sysOrderServiceHelper.addMoneyCardUse(sourceOrder);
 
             // 改变客户项目套餐使用情况
-            orderService.addTaocanProj(sourceOrder);
-
-            // 设置销量
-            orderService.setShopSelCount(sourceOrder);
+            sysOrderServiceHelper.addTaocanProj(sourceOrder);
 
             SysOrderFlow flow = new SysOrderFlow();
             flow.setFlowNo(codeService.getFlowCode() + "-" + i);
@@ -230,12 +220,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));

--
Gitblit v1.9.1