提交 8242e938 authored 作者: 刘海泉's avatar 刘海泉

commit

上级 0d79791f
......@@ -4,6 +4,9 @@ import cn.hutool.core.lang.TypeReference;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSON;
import com.clx.open.sdk.callback.message.OrderInfoMessage;
import com.clx.order.enums.OrderEnum;
import com.clx.order.feign.OrderFeign;
import com.clx.order.vo.feign.FeignOrderVO;
import com.clx.performance.common.MqWrapper;
import com.clx.performance.config.ConfiguredOpenProperties;
import com.clx.performance.constant.RabbitKeyConstants;
......@@ -25,6 +28,7 @@ import org.springframework.stereotype.Component;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
import static com.clx.performance.enums.OrderEnum.Status.*;
......@@ -39,6 +43,9 @@ public class SendOrderStatusNoticeSmsListener {
private final ConfiguredOpenClient configuredOpenClient;
private final VehicleWarnUserDao vehicleWarnUserDao;
private final ConfiguredOpenProperties properties;
private final OrderFeign orderFeign;
public static final Integer CANCEL_REASON_CODE = 1000000;
static {
CODE_MAP.put(WAIT_QUOTATION.getCode(),"orderWaitQuotation");
......@@ -46,6 +53,9 @@ public class SendOrderStatusNoticeSmsListener {
CODE_MAP.put(SUCCESS.getCode(),"orderSuccess");
CODE_MAP.put(COMPLETED.getCode(),"orderCompleted");
CODE_MAP.put(CANCELED.getCode(),"orderCanceled");
CODE_MAP.put(CANCEL_REASON_CODE,"orderCanceledHaveReason");
}
@RabbitListener(queues = RabbitKeyConstants.SEND_ORDER_STATUS_NOTICE_SMS_QUEUE)
......@@ -68,14 +78,23 @@ public class SendOrderStatusNoticeSmsListener {
//设置消息内容
SmsMessageContentImpl smsMessageContent= new SmsMessageContentImpl();
Integer code = getCode(order.getOrderNo(), order.getOrderStatus());
//模版code
smsMessageContent.setCode(CODE_MAP.get(order.getOrderStatus()));
smsMessageContent.setCode(CODE_MAP.get(code));
//模版参数
Map<String, Object> params = new HashMap<>();
params.put("sendAddressShorter",order.getSendAddressShorter());
params.put("receiveAddressShorter",order.getReveiveAddressShorter());
params.put("orderNo",order.getOrderNo());
params.put("cancelReason",getCancelReason(order.getOrderNo(),code));
smsMessageContent.setParams(params);
......@@ -108,4 +127,28 @@ public class SendOrderStatusNoticeSmsListener {
.map(VehicleWarnUser::getMobile)
.collect(Collectors.joining(","));
}
public Integer getCode(String orderNo,int orderStatus){
if(Objects.equals(orderStatus,CANCELED.getCode())){
FeignOrderVO orderInfoFeign = orderFeign.getOrderInfoFeign(orderNo);
//判断是否煤源的订单,煤源的订单需要查询取消原因
if(Objects.equals(orderInfoFeign.getType(), OrderEnum.OrderType.COAL_SOURCE.getCode())){
return CANCEL_REASON_CODE;
}
}
return orderStatus;
}
public String getCancelReason(String orderNo,int code){
if(Objects.equals(code,CANCEL_REASON_CODE)){
log.info("通过订单号查询订单取消原因,订单号:{}",orderNo);
Result<String> orderCancelReason = orderFeign.getOrderCancelReason(orderNo);
log.info("通过订单号查询订单取消原因,订单号:{},响应结果:{}",orderNo,orderCancelReason);
if(orderCancelReason.succeed()){
return orderCancelReason.getData();
}
}
return null;
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论