935090232@qq.com
2021-10-20 240b9fb99d759c0a40d9a8f4098ccea8a945db67
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
package com.matrix.system.shopXcx.mqTask;
 
 
import com.matrix.component.asyncmessage.MessageHandler;
import com.matrix.core.tools.DingDingRobotUtil;
import com.matrix.core.tools.LogUtil;
import com.matrix.core.tools.StringUtils;
import com.matrix.system.common.bean.BusParameterSettings;
import com.matrix.system.common.constance.AppConstance;
import com.matrix.system.common.dao.BusParameterSettingsDao;
import com.matrix.system.hive.dao.SysVipInfoDao;
import com.matrix.system.shopXcx.bean.ShopDeliveryInfo;
import com.matrix.system.shopXcx.bean.ShopOrder;
import com.matrix.system.shopXcx.bean.ShopOrderDetails;
import com.matrix.system.shopXcx.dao.ShopDeliveryInfoDao;
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;
 
/**
 * 微商城订单同步到erp系统
 */
@Component
public class OrderDingDingNoticeTask implements MessageHandler {
 
 
    @Autowired
    ShopOrderDao shopOrderDao;
 
    @Autowired
    ShopOrderDetailsDao shopOrderDetailsDao;
 
 
    @Autowired
    BusParameterSettingsDao parameterSettingsDao;
 
    @Autowired
    SysVipInfoDao sysVipInfoDao;
 
    @Autowired
    ShopDeliveryInfoDao shopDeliveryInfoDao;
 
    @Override
    public String getName() {
        return "创建订单通知任务";
    }
 
    @Override
    public String getRouteKey() {
        return AsyncMessageRouting.CREATE_ORDER;
    }
 
 
    @Override
    public void handle(Map<String,Object> param){
        String orderIdStr = (String) param.get("orderId");
        Integer orderId=Integer.valueOf(orderIdStr);
        //获取订单信息
        ShopOrder order = shopOrderDao.selectById(orderId);
        LogUtil.debug("收到创建订单通知任务orderId={}", orderId);
        BusParameterSettings wxOrderNoticeDingdingToken = parameterSettingsDao.selectCompanyParamByCode(AppConstance.WX_ORDER_NOTICE_DINGDING_TOKEN, order.getCompanyId());
        if (wxOrderNoticeDingdingToken != null && StringUtils.isNotBlank(wxOrderNoticeDingdingToken.getParamValue())) {
            //获取订单详情
            List<ShopOrderDetails> orderDetails = shopOrderDetailsDao.selectByOrderId(Integer.valueOf(orderId));
            StringBuilder content = new StringBuilder();
            orderDetails.stream().forEach(i -> content.append(i.getsTitle()).append("*").append(
                    i.getCount()).append(";"));
            ShopDeliveryInfo addInfo = shopDeliveryInfoDao.selectByOrderId(orderId);
 
            String shippingMethod="物流配送";
            if(AppConstance.SHIPPING_METHOD_SELF .equals(order.getShippingMethod())){
                shippingMethod="门店自提";
            }
            DingDingRobotUtil.sendText(wxOrderNoticeDingdingToken.getParamValue(),
                    "新订单,微商城订单编号 "+order.getOrderNo()
                            +"; 订单金额:¥"+order.getOrderMoney()
                            +";订单内容:"+ content.toString()
                            +";收货电话:"+ order.getUserTel()+",收货人:"+ order.getUserName()+",收货地址:"+ addInfo.getReceiveAddress()
                        +"配送方式:"+shippingMethod
                    ,"");
        }else{
            LogUtil.debug("未配置订单钉钉提醒");
        }
    }
 
}