From c253b555c7905c5136d47cd615ef545fa50cc6ad Mon Sep 17 00:00:00 2001
From: 935090232@qq.com <ak473600000>
Date: Sun, 20 Feb 2022 21:24:16 +0800
Subject: [PATCH] Merge branch 'api_score_meger'

---
 zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/SalesOrderRefundTask.java |   87 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 87 insertions(+), 0 deletions(-)

diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/SalesOrderRefundTask.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/SalesOrderRefundTask.java
new file mode 100644
index 0000000..9daaf4c
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/SalesOrderRefundTask.java
@@ -0,0 +1,87 @@
+package com.matrix.system.shopXcx.mqTask;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.matrix.component.asyncmessage.MessageHandler;
+import com.matrix.core.tools.LogUtil;
+import com.matrix.system.fenxiao.dao.ShopSalesmanOrderDao;
+import com.matrix.system.fenxiao.entity.ShopSalesmanOrder;
+import com.matrix.system.score.entity.ScoreVipDetail;
+import com.matrix.system.score.service.ScoreVipDetailService;
+import com.matrix.system.shopXcx.bean.ShopOrder;
+import com.matrix.system.shopXcx.dao.ShopOrderDao;
+import com.matrix.system.shopXcx.dao.ShopOrderDetailsDao;
+import com.rabbitmq.client.DeliverCallback;
+import com.rabbitmq.client.Delivery;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.io.IOException;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 分销订单退款
+ */
+@Component
+public class SalesOrderRefundTask implements MessageHandler {
+
+
+    @Autowired
+    private ShopSalesmanOrderDao shopSalesmanOrderDao;
+
+    @Autowired
+        private ShopOrderDao shopOrderDao;
+
+    @Autowired
+    private ScoreVipDetailService scoreVipDetailService;
+
+    @Autowired
+    ShopOrderDetailsDao shopOrderDetailsDao;
+
+
+    @Override
+    public String getName() {
+        return "分销订单退款";
+    }
+
+    @Override
+    public String getRouteKey() {
+        return AsyncMessageRouting.SHOP_ORDER_REFUND;
+    }
+
+    @Override
+    public void handle(Map<String,Object> param){
+
+        String orderId = (String) param.get("orderId");
+        LogUtil.debug("收到分销订单退款任务orderId={}", orderId);
+        QueryWrapper queryWrapper=new QueryWrapper();
+        queryWrapper.eq("order_id",orderId);
+        List<ShopSalesmanOrder> list = shopSalesmanOrderDao.selectList(queryWrapper);
+
+        list.forEach(shopSalesmanOrder->{
+
+            if(shopSalesmanOrder!=null){
+                shopSalesmanOrder.setOrderStatus(ShopSalesmanOrder.STATUS_YTK);
+                shopSalesmanOrderDao.updateById(shopSalesmanOrder);
+            }else{
+                LogUtil.debug("改订单为生成分销订单={}", orderId);
+            }
+
+
+        });
+        ShopOrder order=shopOrderDao.selectById(Integer.parseInt(orderId));
+
+        //如果是积分支付则需要返还积分
+        if(order.getScorePay()!=null && order.getScorePay()>0){
+            LogUtil.debug("处理积分退款={}", orderId);
+            scoreVipDetailService.refundScore(order.getUserId(),order.getScorePay(),Long.parseLong(order.getId()+""), ScoreVipDetail.SCORE_VIP_TYPE_CASH);
+        }
+
+        //消费获得积分返还,如果本订单获得了积分则要扣除获得积分
+        scoreVipDetailService.removeByBusinessId(order.getUserId(),Long.parseLong(order.getId()+""));
+
+
+    }
+
+}

--
Gitblit v1.9.1