提交 1139c16b authored 作者: 刘海泉's avatar 刘海泉

Merge remote-tracking branch 'origin/v29.3_carrier_messsage_20241016' into dev_jdk17

# Conflicts: # clx-performance-web/src/main/java/com/clx/performance/constant/RabbitKeyConstants.java
...@@ -364,10 +364,12 @@ ...@@ -364,10 +364,12 @@
<groupId>org.springframework.cloud</groupId> <groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-loadbalancer</artifactId> <artifactId>spring-cloud-loadbalancer</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.msl.message</groupId> <groupId>com.msl.message</groupId>
<artifactId>message-sdk</artifactId> <artifactId>message-sdk</artifactId>
</dependency> </dependency>
</dependencies> </dependencies>
......
...@@ -13,5 +13,6 @@ public class ConfiguredOpenProperties { ...@@ -13,5 +13,6 @@ public class ConfiguredOpenProperties {
private String gatewayUrl; private String gatewayUrl;
private String appId; private String appId;
private String appKey; private String appKey;
private String accessKey; private String smsAccessKey;
private String carrierInternalMessageAccessKey;
} }
...@@ -406,5 +406,32 @@ public class RabbitBeanConfig { ...@@ -406,5 +406,32 @@ public class RabbitBeanConfig {
} }
/**
* 发送承运站内信
*/
@Bean
public Queue sendCarrierInternalMessageQueue() {
return new Queue(RabbitKeyConstants.SEND_CARRIER_INTERNAL_MESSAGE_QUEUE,
true, false, false);
}
/**
* 发送承运站内信
**/
@Bean
public DirectExchange sendCarrierInternalMessageExchange() {
return new DirectExchange(RabbitKeyConstants.SEND_CARRIER_INTERNAL_MESSAGE_EXCHANGE);
}
/**
*发送承运站内信
*/
@Bean
public Binding sendCarrierInternalMessageBind() {
return BindingBuilder.bind(sendCarrierInternalMessageQueue()).to(sendCarrierInternalMessageExchange())
.with(RabbitKeyConstants.SEND_CARRIER_INTERNAL_MESSAGE_ROUTING_KEY);
}
} }
...@@ -200,4 +200,16 @@ public class RabbitKeyConstants { ...@@ -200,4 +200,16 @@ public class RabbitKeyConstants {
//发送承运端站内信queue
public static final String SEND_CARRIER_INTERNAL_MESSAGE_QUEUE = "clx_performance.send.carrier.internal.message.queue";
//发送承运端站内信exchange
public static final String SEND_CARRIER_INTERNAL_MESSAGE_EXCHANGE = "clx_performance.send.carrier.internal.message.exchange";
//发送承运端站内信routing_key
public static final String SEND_CARRIER_INTERNAL_MESSAGE_ROUTING_KEY = "clx_performance.send.carrier.internal.message..routing.key";
} }
package com.clx.performance.dto;
import lombok.Getter;
import lombok.Setter;
/**
* @ClassName InternalMessageDTO
* @Description
* @Author kavin
* @Date 2024/10/16 15:17
* @Version 1.0
*/
@Getter
@Setter
public class InternalMessageDTO {
//站内信模版业务详情Code
private String businessTypeDetailCode;
//站内信模版内容
private String content;
//站内信点对点的用户
private Long userNo;
}
package com.clx.performance.listener;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
import com.clx.performance.common.MqWrapper;
import com.clx.performance.constant.RabbitKeyConstants;
import com.clx.performance.dto.InternalMessageDTO;
import com.clx.performance.service.SendInternalMessageService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.exception.ExceptionUtils;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;
/**
* 处理货单取消吨数回填
*/
@Slf4j
@Component
@AllArgsConstructor
public class SendCarrierInternalMessageListener {
private final SendInternalMessageService sendInternalMessageService;
@RabbitListener(queues = RabbitKeyConstants.SEND_CARRIER_INTERNAL_MESSAGE_QUEUE)
public void onMessage(Message message) {
try{
log.info("监听到承运发送站内信开始,消息内容{}", new String(message.getBody()));
InternalMessageDTO data = JSON.parseObject(new String(message.getBody()),
new TypeReference<MqWrapper<InternalMessageDTO>>() {
}).getData();
sendInternalMessageService.sendCarrierInternalMessage(data);
}catch (Exception e){
log.info("监听到承运发送站内信发生异常,异常原因:{}", ExceptionUtils.getStackTrace(e));
}
}
}
...@@ -108,7 +108,7 @@ public class SendOrderStatusNoticeSmsListener { ...@@ -108,7 +108,7 @@ public class SendOrderStatusNoticeSmsListener {
smsMessage.setRecipient(smsMessageRecipient); smsMessage.setRecipient(smsMessageRecipient);
//从消息中心注册获取的通道key //从消息中心注册获取的通道key
smsMessage.setAccessKey(properties.getAccessKey()); smsMessage.setAccessKey(properties.getSmsAccessKey());
//向消息中心发送消息 //向消息中心发送消息
......
package com.clx.performance.service;
import com.clx.performance.dto.InternalMessageDTO;
import java.util.List;
public interface SendInternalMessageService {
//发送站内信的业务Code
void sendInternalMessageMq(String businessType, Integer typeCode, List<String> variableList, Long userNo);
//发送承运站内信
void sendCarrierInternalMessage(InternalMessageDTO internalMessageDTO);
}
...@@ -13,6 +13,7 @@ import com.clx.performance.dao.vehiclewarn.VehicleWarnChildDao; ...@@ -13,6 +13,7 @@ import com.clx.performance.dao.vehiclewarn.VehicleWarnChildDao;
import com.clx.performance.dao.vehiclewarn.VehicleWarnInfoDao; import com.clx.performance.dao.vehiclewarn.VehicleWarnInfoDao;
import com.clx.performance.dao.vehiclewarn.VehicleWarnUserDao; import com.clx.performance.dao.vehiclewarn.VehicleWarnUserDao;
import com.clx.performance.dto.vehiclewarn.VehicleWarnCommonInfoDTO; import com.clx.performance.dto.vehiclewarn.VehicleWarnCommonInfoDTO;
import com.clx.performance.enums.InternalMessageTemplateEnum;
import com.clx.performance.enums.OrderChildEnum; import com.clx.performance.enums.OrderChildEnum;
import com.clx.performance.enums.PerformanceResultEnum; import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.enums.ResultEnum; import com.clx.performance.enums.ResultEnum;
...@@ -27,6 +28,7 @@ import com.clx.performance.param.mq.trace.TruckTraceSyncMqParam; ...@@ -27,6 +28,7 @@ import com.clx.performance.param.mq.trace.TruckTraceSyncMqParam;
import com.clx.performance.param.mq.vehiclewarn.VehicleWarnChildAddMqParam; import com.clx.performance.param.mq.vehiclewarn.VehicleWarnChildAddMqParam;
import com.clx.performance.param.mq.vehiclewarn.VehicleWarnTruckWarnMqParam; import com.clx.performance.param.mq.vehiclewarn.VehicleWarnTruckWarnMqParam;
import com.clx.performance.param.mq.vehiclewarn.VehicleWarnTruckWarnNoticeMqParam; import com.clx.performance.param.mq.vehiclewarn.VehicleWarnTruckWarnNoticeMqParam;
import com.clx.performance.service.SendInternalMessageService;
import com.clx.performance.service.linewarn.LineWarnMqService; import com.clx.performance.service.linewarn.LineWarnMqService;
import com.clx.performance.service.trace.TruckTraceMqHandlerService; import com.clx.performance.service.trace.TruckTraceMqHandlerService;
import com.clx.performance.service.vehiclewarn.*; import com.clx.performance.service.vehiclewarn.*;
...@@ -38,9 +40,7 @@ import org.springframework.stereotype.Service; ...@@ -38,9 +40,7 @@ import org.springframework.stereotype.Service;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.*;
import java.util.List;
import java.util.Objects;
@Slf4j @Slf4j
@Service @Service
...@@ -82,6 +82,8 @@ public class VehicleWarnMqHandlerServiceImpl implements VehicleWarnMqHandlerServ ...@@ -82,6 +82,8 @@ public class VehicleWarnMqHandlerServiceImpl implements VehicleWarnMqHandlerServ
private TruckTraceMqHandlerService truckTraceMqHandlerService; private TruckTraceMqHandlerService truckTraceMqHandlerService;
@Autowired @Autowired
private LineWarnMqService lineWarnMqService; private LineWarnMqService lineWarnMqService;
@Autowired
private SendInternalMessageService sendInternalMessageService;
@Override @Override
public void orderChildAdd(VehicleWarnChildAddMqParam mq) { public void orderChildAdd(VehicleWarnChildAddMqParam mq) {
...@@ -330,6 +332,7 @@ public class VehicleWarnMqHandlerServiceImpl implements VehicleWarnMqHandlerServ ...@@ -330,6 +332,7 @@ public class VehicleWarnMqHandlerServiceImpl implements VehicleWarnMqHandlerServ
} }
@Override @Override
public void truckWarnNotice(VehicleWarnTruckWarnNoticeMqParam mq) { public void truckWarnNotice(VehicleWarnTruckWarnNoticeMqParam mq) {
VehicleWarnInfo vehicleWarnInfo = vehicleWarnInfoDao VehicleWarnInfo vehicleWarnInfo = vehicleWarnInfoDao
...@@ -338,6 +341,11 @@ public class VehicleWarnMqHandlerServiceImpl implements VehicleWarnMqHandlerServ ...@@ -338,6 +341,11 @@ public class VehicleWarnMqHandlerServiceImpl implements VehicleWarnMqHandlerServ
// 发送mq(运单异常) // 发送mq(运单异常)
lineWarnMqService.orderChildWarn(vehicleWarnInfo.getOrderGoodsNo(), vehicleWarnInfo.getChildNo()); lineWarnMqService.orderChildWarn(vehicleWarnInfo.getOrderGoodsNo(), vehicleWarnInfo.getChildNo());
//发送站内信mq
sendInternalMessageService.sendInternalMessageMq(InternalMessageTemplateEnum.BusinessType.CHILD_WARN.getCode(),
vehicleWarnInfo.getWarnType(), Collections.singletonList(vehicleWarnInfo.getChildNo()),null);
List<String> mobileList = new ArrayList<>(); List<String> mobileList = new ArrayList<>();
// 过滤需要通知的人员 // 过滤需要通知的人员
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论