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("未配置订单钉钉提醒");
|
}
|
}
|
|
}
|