提交 053ad241 authored 作者: 刘海泉's avatar 刘海泉

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

# Conflicts: # clx-performance-web/pom.xml # clx-performance-web/src/main/java/com/clx/performance/constant/RabbitKeyConstants.java Former-commit-id: 193b5bf9
......@@ -340,11 +340,13 @@
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-loadbalancer</artifactId>
</dependency>
<dependency>
<groupId>com.msl.message</groupId>
<artifactId>message-sdk</artifactId>
</dependency>
<dependency>
<groupId>com.msl.message</groupId>
<artifactId>message-sdk</artifactId>
......
......@@ -13,5 +13,6 @@ public class ConfiguredOpenProperties {
private String gatewayUrl;
private String appId;
private String appKey;
private String accessKey;
private String smsAccessKey;
private String carrierInternalMessageAccessKey;
}
......@@ -433,5 +433,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);
}
}
......@@ -212,4 +212,16 @@ public class RabbitKeyConstants {
//保存货单调价记录routing_key
public static final String NOTICE_SEND_SMS_QUEUE_ROUTING_KEY = "clx_performance.notice.send.sms.routing.key";
//发送承运端站内信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.controller.temp;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
import com.clx.open.sdk.callback.message.OrderChildSyncMessage;
import com.clx.performance.dto.OrderChildExpectDTO;
import com.clx.performance.enums.InternalMessageTemplateEnum;
import com.clx.performance.extranal.transport.TransportService;
import com.clx.performance.feign.TransportFeignService;
import com.clx.performance.listener.OrderChildDtsListener;
import com.clx.performance.service.OrderChildService;
import com.clx.performance.service.SendInternalMessageService;
import com.clx.performance.service.TempService;
import com.clx.performance.service.child.FeignOrderChildService;
import com.msl.common.result.Result;
import com.msl.common.utils.DateUtils;
import io.swagger.v3.oas.annotations.Operation;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
* @Author: aiqingguo
* @Description: 临时接口
* @Date: 2023-8-21 12:10:16
* @Version: 1.0
*/
@Slf4j
@RestController
@AllArgsConstructor
@RequestMapping(value="/temp/internalMessage")
public class TempInternalMessageController {
private final SendInternalMessageService sendInternalMessageService;
@Operation(summary = "发送站内信", description = "<br>By:刘海泉")
@RequestMapping(value = "/send", method = RequestMethod.GET)
public Result<Object> send(@RequestParam("businessType") @NotBlank(message = "站内信大类业务不能为空") String businessType,
@RequestParam("typeCode") @NotNull(message = "业务code不能为空") Integer typeCode,
@RequestParam("listJson") @NotBlank(message = "参数字符串") String listJson,
@RequestParam("jumpParamJson") @NotBlank(message = "跳转参数字符串") String jumpParamJson
) {
sendInternalMessageService.sendInternalMessageMq(InternalMessageTemplateEnum.PlatformType.CARRIER.getCode(),
businessType, typeCode, JSON.parseObject(listJson, new TypeReference<>() {
}),JSON.parseObject(jumpParamJson, new TypeReference<>() {
}),null);
return Result.ok();
}
}
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.param.mq.InternalMessageParam;
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()));
InternalMessageParam data = JSON.parseObject(new String(message.getBody()),
new TypeReference<MqWrapper<InternalMessageParam>>() {
}).getData();
sendInternalMessageService.sendCarrierInternalMessage(data);
}catch (Exception e){
log.info("监听到承运发送站内信发生异常,异常原因:{}", ExceptionUtils.getStackTrace(e));
}
}
}
......@@ -108,7 +108,7 @@ public class SendOrderStatusNoticeSmsListener {
smsMessage.setRecipient(smsMessageRecipient);
//从消息中心注册获取的通道key
smsMessage.setAccessKey(properties.getAccessKey());
smsMessage.setAccessKey(properties.getSmsAccessKey());
//向消息中心发送消息
......
package com.clx.performance.service;
import com.clx.performance.param.mq.InternalMessageParam;
import java.util.List;
public interface SendInternalMessageService {
//发送站内信的业务Code
void sendInternalMessageMq(String productCode,String businessType, Integer typeCode, List<Object> variableList, List<Object> jumpUrlVariableList, Long userNo);
//发送承运站内信
void sendCarrierInternalMessage(InternalMessageParam internalMessageDTO);
}
......@@ -4,9 +4,14 @@ import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.dao.customer.CustomerComplaintDetailDao;
import com.clx.performance.dao.customer.CustomerComplaintTypeDao;
import com.clx.performance.enums.InternalMessageTemplateEnum;
import com.clx.performance.enums.ResultEnum;
import com.clx.performance.model.customer.CustomerComplaintDetail;
import com.clx.performance.model.customer.CustomerComplaintType;
import com.clx.performance.param.pc.customer.PageCustomerComplaintDetailParam;
import com.clx.performance.param.pc.customer.SaveCustomerComplaintDetailParam;
import com.clx.performance.service.SendInternalMessageService;
import com.clx.performance.service.customer.CustomerComplaintDetailService;
import com.clx.performance.struct.customer.CustomerComplaintDetailStruct;
import com.clx.performance.vo.pc.customer.CustomerComplaintDetailVO;
......@@ -18,6 +23,8 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
/**
* @ClassName CustomerComplaintTypeServiceImpl
......@@ -31,9 +38,13 @@ import java.util.Arrays;
@AllArgsConstructor
public class CustomerComplaintDetailServiceImpl implements CustomerComplaintDetailService {
private final CustomerComplaintDetailDao customerComplaintDetailDao;
private final CustomerComplaintDetailStruct customerComplaintDetailStruct;
private final CustomerComplaintTypeDao customerComplaintTypeDao;
private final SendInternalMessageService sendInternalMessageService;
@Override
public void saveCustomerComplaintDetail(SaveCustomerComplaintDetailParam param) {
CustomerComplaintType type = customerComplaintTypeDao.getEntityByKey(
param.getComplaintTypeId()).orElseThrow(ResultEnum.DATA_NOT_FIND, "投诉类型不存在");
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
CustomerComplaintDetail detail = new CustomerComplaintDetail();
detail.setDriverUserNo(loginUserInfo.getUserNo());
......@@ -46,6 +57,12 @@ public class CustomerComplaintDetailServiceImpl implements CustomerComplaintDeta
detail.setPicture(String.join(",",param.getPicture()));
}
customerComplaintDetailDao.saveEntity(detail);
//客户投诉 站内信
sendInternalMessageService.sendInternalMessageMq(InternalMessageTemplateEnum.PlatformType.CARRIER.getCode(),
InternalMessageTemplateEnum.BusinessType.COMPLAINT_NOTICE.getCode(),
InternalMessageTemplateEnum.CUSTOM_DRIVER_SUBMIT_COMPLAINT_CODE, List.of(param.getChildNo(),type.getName(),param.getContent()),null,null);
}
@Override
......
......@@ -7,6 +7,7 @@ import com.clx.performance.dao.OrderGoodsDao;
import com.clx.performance.dao.breakcontract.BreakContractDriverRecordDao;
import com.clx.performance.dao.breakcontract.BreakContractDriverRuleDao;
import com.clx.performance.enums.BreakContractRecordEnum;
import com.clx.performance.enums.InternalMessageTemplateEnum;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.enums.TruckDemandEnum;
import com.clx.performance.model.OrderChild;
......@@ -17,6 +18,7 @@ import com.clx.performance.param.app.breakcontract.DriverPageBreakContractDriver
import com.clx.performance.param.pc.breakcontract.carrier.BreakContractDriverRecordAddParam;
import com.clx.performance.param.pc.breakcontract.carrier.PageBreakContractDriverRecordParam;
import com.clx.performance.service.IntegralRecordService;
import com.clx.performance.service.SendInternalMessageService;
import com.clx.performance.service.breakcontract.BreakContractDriverRecordService;
import com.clx.performance.service.breakcontract.BreakContractMqService;
import com.clx.performance.service.impl.UniqueOrderNumService;
......@@ -34,6 +36,8 @@ import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.time.LocalDateTime;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
/**
......@@ -61,6 +65,8 @@ public class BreakContractDriverRecordServiceImpl implements BreakContractDrive
private UniqueOrderNumService uniqueOrderNumService;
@Autowired
private IntegralRecordService integralRecordService;
@Autowired
SendInternalMessageService sendInternalMessageService;
@Override
@Transactional(rollbackFor = Exception.class)
......@@ -110,6 +116,12 @@ public class BreakContractDriverRecordServiceImpl implements BreakContractDrive
integralRecordService.addPlatformCompensationRecord(record.getTruckNo());
}
//司机违约通知 站内信
sendInternalMessageService.sendInternalMessageMq(InternalMessageTemplateEnum.PlatformType.CARRIER.getCode(),
InternalMessageTemplateEnum.BusinessType.WAIT_APPROVED_ITEM.getCode(),
InternalMessageTemplateEnum.CUSTOM_DRIVER_TRIGGER_BREAK_CONTRACT_CODE, List.of(breakNo),null,null);
}
@Override
......@@ -171,6 +183,11 @@ public class BreakContractDriverRecordServiceImpl implements BreakContractDrive
// 发送mq (违约记录新增)
breakContractMqService.driverRecordAdd(record.getId());
//司机违约通知 站内信
sendInternalMessageService.sendInternalMessageMq(InternalMessageTemplateEnum.PlatformType.CARRIER.getCode(),
InternalMessageTemplateEnum.BusinessType.WAIT_APPROVED_ITEM.getCode(),
InternalMessageTemplateEnum.CUSTOM_DRIVER_TRIGGER_BREAK_CONTRACT_CODE, List.of(record.getBreakNo()),null,null);
}
@Override
......@@ -212,6 +229,12 @@ public class BreakContractDriverRecordServiceImpl implements BreakContractDrive
// 发送mq (违约记录新增)
breakContractMqService.driverRecordAdd(record.getId());
//司机违约通知 站内信
sendInternalMessageService.sendInternalMessageMq(InternalMessageTemplateEnum.PlatformType.CARRIER.getCode(),
InternalMessageTemplateEnum.BusinessType.WAIT_APPROVED_ITEM.getCode(),
InternalMessageTemplateEnum.CUSTOM_DRIVER_TRIGGER_BREAK_CONTRACT_CODE, List.of(record.getBreakNo()),null,null);
}
@Override
......@@ -250,6 +273,11 @@ public class BreakContractDriverRecordServiceImpl implements BreakContractDrive
// 发送mq (违约记录新增)
breakContractMqService.driverRecordAdd(record.getId());
//司机违约通知 站内信
sendInternalMessageService.sendInternalMessageMq(InternalMessageTemplateEnum.PlatformType.CARRIER.getCode(),
InternalMessageTemplateEnum.BusinessType.WAIT_APPROVED_ITEM.getCode(),
InternalMessageTemplateEnum.CUSTOM_DRIVER_TRIGGER_BREAK_CONTRACT_CODE, List.of(record.getBreakNo()),null,null);
}
@Override
......
......@@ -17,6 +17,7 @@ import com.clx.performance.param.pc.breakcontract.carrier.BreakContractOwnerReco
import com.clx.performance.param.pc.breakcontract.carrier.PageBreakContractOwnerRecordParam;
import com.clx.performance.param.pc.breakcontract.owner.PageOwnerBreakContractOwnerRecordParam;
import com.clx.performance.param.pc.owner.OwnerConfirmBreakContractSettlementParam;
import com.clx.performance.service.SendInternalMessageService;
import com.clx.performance.service.breakcontract.BreakContractOwnerRecordService;
import com.clx.performance.service.breakcontract.BreakContractSettlementLogService;
import com.clx.performance.service.impl.UniqueOrderNumService;
......@@ -36,6 +37,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
......@@ -70,6 +72,8 @@ public class BreakContractOwnerRecordServiceImpl implements BreakContractOwnerR
private final BreakContractSettlementLogService breakContractSettlementLogService;
private final SendInternalMessageService sendInternalMessageService;
@Override
@Transactional(rollbackFor = Exception.class)
public void saveRecord(BreakContractOwnerRecordAddParam param) {
......@@ -119,6 +123,11 @@ public class BreakContractOwnerRecordServiceImpl implements BreakContractOwnerR
generateBreakContractSettlement(record.getId());
}
//货主违约通知 站内信
sendInternalMessageService.sendInternalMessageMq(InternalMessageTemplateEnum.PlatformType.CARRIER.getCode(),
InternalMessageTemplateEnum.BusinessType.WAIT_APPROVED_ITEM.getCode(),
InternalMessageTemplateEnum.CUSTOM_OWNER_TRIGGER_BREAK_CONTRACT_CODE, List.of(breakNo),null,null);
}
@Override
......@@ -187,6 +196,11 @@ public class BreakContractOwnerRecordServiceImpl implements BreakContractOwnerR
//保存违约记录
breakContractOwnerRecordDao.saveEntity(record);
//货主违约通知 站内信
sendInternalMessageService.sendInternalMessageMq(InternalMessageTemplateEnum.PlatformType.CARRIER.getCode(),
InternalMessageTemplateEnum.BusinessType.WAIT_APPROVED_ITEM.getCode(),
InternalMessageTemplateEnum.CUSTOM_OWNER_TRIGGER_BREAK_CONTRACT_CODE, List.of(breakNo),null,null);
}
......
......@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.dao.OrderChildDao;
import com.clx.performance.dao.OrderGoodsDao;
import com.clx.performance.dao.collect.CollectLineReportDao;
import com.clx.performance.enums.InternalMessageTemplateEnum;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.enums.integral.IntegralRecordEnum;
import com.clx.performance.model.OrderChild;
......@@ -13,6 +14,7 @@ import com.clx.performance.model.collect.CollectLineReport;
import com.clx.performance.param.app.collect.*;
import com.clx.performance.param.pc.carrier.*;
import com.clx.performance.service.IntegralRecordService;
import com.clx.performance.service.SendInternalMessageService;
import com.clx.performance.service.collect.CollectLineReportService;
import com.clx.performance.service.integral.IntegralRuleService;
import com.clx.performance.struct.collect.CollectLineReportStruct;
......@@ -26,6 +28,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Objects;
@Slf4j
......@@ -45,6 +48,8 @@ public class CollectLineReportServiceImpl implements CollectLineReportService {
private IntegralRuleService integralRuleService;
@Autowired
private IntegralRecordService integralRecordService;
@Autowired
SendInternalMessageService sendInternalMessageService;
@Transactional(rollbackFor = Exception.class)
@Override
......@@ -83,12 +88,17 @@ public class CollectLineReportServiceImpl implements CollectLineReportService {
collectLineReport.setReportTime(LocalDateTime.now());
collectLineReport.setCreateTime(collectLineReport.getReportTime());
collectLineReportDao.saveEntity(collectLineReport);
//待审核:司机货源地信息上报 站内信
sendInternalMessageService.sendInternalMessageMq(InternalMessageTemplateEnum.PlatformType.CARRIER.getCode(),
InternalMessageTemplateEnum.BusinessType.DRIVER_REPORT.getCode(),
InternalMessageTemplateEnum.CUSTOM_DRIVER_REPORT_SEND_INFO_CODE, List.of(loginUserInfo.getUserName()),null,null);
}
@Transactional(rollbackFor = Exception.class)
@Override
public void saveAbnormalReport(CollectLineReportAbnormalSaveParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
if (Objects.equals(param.getReportType(), CollectLineReport.ReportType.UNABLE_TO_SEND_ADDRESS.getCode())){
saveSendAddressAbnormalReport(new CollectLineReportSendAddressAbnormalSaveParam(param.getChildNo(), param.getRemark()));
}
......@@ -102,6 +112,10 @@ public class CollectLineReportServiceImpl implements CollectLineReportService {
saveLoadUnloadAbnormalReport(new CollectLineReportLoadUnloadAbnormalSaveParam(param.getChildNo(), param.getRemark()));
}
//待审核:司机异常情况上报 站内信
sendInternalMessageService.sendInternalMessageMq(InternalMessageTemplateEnum.PlatformType.CARRIER.getCode(),
InternalMessageTemplateEnum.BusinessType.DRIVER_REPORT.getCode(),
InternalMessageTemplateEnum.CUSTOM_DRIVER_REPORT_EXCEPTION_SITUATION_CODE, List.of(loginUserInfo.getUserName()),null,null);
}
@Transactional(rollbackFor = Exception.class)
......@@ -258,6 +272,11 @@ public class CollectLineReportServiceImpl implements CollectLineReportService {
collectLineReport.setReportTime(LocalDateTime.now());
collectLineReport.setCreateTime(collectLineReport.getReportTime());
collectLineReportDao.saveEntity(collectLineReport);
//待审核:无接单上报 站内信
sendInternalMessageService.sendInternalMessageMq(InternalMessageTemplateEnum.PlatformType.CARRIER.getCode(),
InternalMessageTemplateEnum.BusinessType.DRIVER_REPORT.getCode(),
InternalMessageTemplateEnum.CUSTOM_DRIVER_REPORT_NO_TAKE_ORDER_CODE, List.of(loginUserInfo.getUserName()),null,null);
}
@Transactional(rollbackFor = Exception.class)
......@@ -280,6 +299,11 @@ public class CollectLineReportServiceImpl implements CollectLineReportService {
collectLineReport.setReportTime(LocalDateTime.now());
collectLineReport.setCreateTime(collectLineReport.getReportTime());
collectLineReportDao.saveEntity(collectLineReport);
//司机上报:其他 站内信
sendInternalMessageService.sendInternalMessageMq(InternalMessageTemplateEnum.PlatformType.CARRIER.getCode(),
InternalMessageTemplateEnum.BusinessType.DRIVER_REPORT.getCode(),
InternalMessageTemplateEnum.CUSTOM_DRIVER_REPORT_OTHER_CODE, List.of(loginUserInfo.getUserName()),null,null);
}
@Transactional(rollbackFor = Exception.class)
......@@ -312,6 +336,11 @@ public class CollectLineReportServiceImpl implements CollectLineReportService {
collectLineReport.setCreateTime(collectLineReport.getReportTime());
collectLineReportDao.saveEntity(collectLineReport);
//待审核:煤炭质量上报 站内信
sendInternalMessageService.sendInternalMessageMq(InternalMessageTemplateEnum.PlatformType.CARRIER.getCode(),
InternalMessageTemplateEnum.BusinessType.DRIVER_REPORT.getCode(),
InternalMessageTemplateEnum.CUSTOM_DRIVER_REPORT_COAL_QUALITY_CODE, List.of(loginUserInfo.getUserName()),null,null);
}
@Override
......
......@@ -3,6 +3,7 @@ package com.clx.performance.service.impl.collect;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.dao.collect.CollectTrafficCongestionDao;
import com.clx.performance.enums.InternalMessageTemplateEnum;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.enums.integral.IntegralRecordEnum;
import com.clx.performance.model.collect.CollectTrafficCongestion;
......@@ -11,6 +12,7 @@ import com.clx.performance.param.app.collect.CollectTrafficCongestionSaveParam;
import com.clx.performance.param.app.collect.PageCollectTraficCongestionParam;
import com.clx.performance.param.pc.carrier.CarrierPageCollectTraficCongestionParam;
import com.clx.performance.service.IntegralRecordService;
import com.clx.performance.service.SendInternalMessageService;
import com.clx.performance.service.collect.CollectTrafficCongestionService;
import com.clx.performance.service.integral.IntegralRuleService;
import com.clx.performance.struct.collect.CollectTrafficCongestionStruct;
......@@ -25,6 +27,7 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StringUtils;
import java.time.LocalDateTime;
import java.util.List;
@Slf4j
@Service
......@@ -36,9 +39,7 @@ public class CollectTrafficCongestionServiceImpl implements CollectTrafficConges
@Autowired
private CollectTrafficCongestionStruct collectTrafficCongestionStruct;
@Autowired
private IntegralRecordService integralRecordService;
@Autowired
private IntegralRuleService integralRuleService;
private SendInternalMessageService sendInternalMessageService;
@Transactional(rollbackFor = Exception.class)
@Override
......@@ -77,7 +78,10 @@ public class CollectTrafficCongestionServiceImpl implements CollectTrafficConges
collectTrafficCongestion.setCreateTime(collectTrafficCongestion.getReportTime());
collectTrafficCongestionDao.saveEntity(collectTrafficCongestion);
//待审核:交通情况上报 站内信
sendInternalMessageService.sendInternalMessageMq(InternalMessageTemplateEnum.PlatformType.CARRIER.getCode(),
InternalMessageTemplateEnum.BusinessType.DRIVER_REPORT.getCode(),
InternalMessageTemplateEnum.CUSTOM_DRIVER_REPORT_TRAFFIC_SITUATION_CODE, List.of(loginUserInfo.getUserName()),null,null);
}
@Override
......
......@@ -2,11 +2,13 @@ package com.clx.performance.service.impl.collect;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.dao.collect.CollectTruckLocationDao;
import com.clx.performance.enums.InternalMessageTemplateEnum;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.model.collect.CollectTruckLocation;
import com.clx.performance.param.app.collect.CollectTruckLocationSaveParam;
import com.clx.performance.param.app.collect.PageCollectTruckLocationParam;
import com.clx.performance.param.pc.carrier.CarrierPageCollectTruckLocationParam;
import com.clx.performance.service.SendInternalMessageService;
import com.clx.performance.service.collect.CollectTruckLocationService;
import com.clx.performance.struct.collect.CollectTruckLocationStruct;
import com.clx.performance.vo.pc.collect.CollectTruckLocationVO;
......@@ -18,6 +20,7 @@ import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import java.time.LocalDateTime;
import java.util.List;
@Slf4j
@Service
......@@ -29,6 +32,9 @@ public class CollectTruckLocationServiceImpl implements CollectTruckLocationServ
@Autowired
private CollectTruckLocationStruct collectTruckLocationStruct;
@Autowired
SendInternalMessageService sendInternalMessageService;
@Override
public void saveLocationReport(CollectTruckLocationSaveParam param) {
......@@ -68,6 +74,11 @@ public class CollectTruckLocationServiceImpl implements CollectTruckLocationServ
collectTruckLocation.setReportTime(LocalDateTime.now());
collectTruckLocation.setCreateTime(collectTruckLocation.getReportTime());
collectTruckLocationDao.saveEntity(collectTruckLocation);
//司机上报:位置 站内信
sendInternalMessageService.sendInternalMessageMq(InternalMessageTemplateEnum.PlatformType.CARRIER.getCode(),
InternalMessageTemplateEnum.BusinessType.DRIVER_REPORT.getCode(),
InternalMessageTemplateEnum.CUSTOM_DRIVER_REPORT_POSITION_CODE, List.of(loginUserInfo.getUserName()),null,null);
}
@Override
......
......@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.dao.OrderChildDao;
import com.clx.performance.dao.collect.CollectTruckRefuelDao;
import com.clx.performance.enums.InternalMessageTemplateEnum;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.enums.integral.IntegralRecordEnum;
import com.clx.performance.model.OrderChild;
......@@ -12,6 +13,7 @@ import com.clx.performance.param.app.collect.CollectTruckRefuelSaveParam;
import com.clx.performance.param.app.collect.PageCollectTruckRefuelParam;
import com.clx.performance.param.pc.carrier.CarrierPageCollectTruckRefuelParam;
import com.clx.performance.service.IntegralRecordService;
import com.clx.performance.service.SendInternalMessageService;
import com.clx.performance.service.collect.CollectTruckRefuelService;
import com.clx.performance.service.integral.IntegralRuleService;
import com.clx.performance.struct.collect.CollectTruckRefuelStruct;
......@@ -20,11 +22,13 @@ import com.clx.performance.vo.pc.integral.AppIntegralRuleVO;
import com.msl.user.data.UserSessionData;
import com.msl.user.utils.TokenUtil;
import lombok.extern.slf4j.Slf4j;
import org.checkerframework.checker.units.qual.A;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
import java.util.List;
@Slf4j
@Service
......@@ -43,6 +47,8 @@ public class CollectTruckRefuelServiceImpl implements CollectTruckRefuelService
private IntegralRuleService integralRuleService;
@Autowired
private IntegralRecordService integralRecordService;
@Autowired
SendInternalMessageService sendInternalMessageService;
@Transactional(rollbackFor = Exception.class)
@Override
......@@ -80,6 +86,10 @@ public class CollectTruckRefuelServiceImpl implements CollectTruckRefuelService
integralRecordService.addDriverReportRecord(ruleInfo, collectTruckRefuel.getTruckNo(), IntegralRecordEnum.Type.REPORT_REFUEL.getValue(),
ruleInfo.getDriverReportRule().getIntegralRefuel(), IntegralRecordEnum.Type.REPORT_REFUEL.getMsg());
//司机上报:油表信息 站内信
sendInternalMessageService.sendInternalMessageMq(InternalMessageTemplateEnum.PlatformType.CARRIER.getCode(),
InternalMessageTemplateEnum.BusinessType.DRIVER_REPORT.getCode(),
InternalMessageTemplateEnum.CUSTOM_DRIVER_REPORT_REFUEL_CODE, List.of(loginUserInfo.getUserName()),null,null);
}
@Override
......
......@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.dao.OrderChildDao;
import com.clx.performance.dao.collect.CollectTruckWaitDao;
import com.clx.performance.enums.InternalMessageTemplateEnum;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.enums.collect.CollectTruckWaitEnum;
import com.clx.performance.enums.integral.IntegralRecordEnum;
......@@ -15,6 +16,7 @@ import com.clx.performance.param.app.collect.CollectWaitReportSendAddressSavePar
import com.clx.performance.param.app.collect.PageCollectTruckWaitParam;
import com.clx.performance.param.pc.carrier.CarrierPageCollectTruckWaitParam;
import com.clx.performance.service.IntegralRecordService;
import com.clx.performance.service.SendInternalMessageService;
import com.clx.performance.service.collect.CollectWaitReportService;
import com.clx.performance.service.integral.IntegralRuleService;
import com.clx.performance.struct.collect.CollectTruckWaitStruct;
......@@ -28,6 +30,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Objects;
@Slf4j
......@@ -46,6 +49,9 @@ public class CollectWaitReportServiceImpl implements CollectWaitReportService {
@Autowired
private IntegralRecordService integralRecordService;
@Autowired
SendInternalMessageService sendInternalMessageService;
@Transactional(rollbackFor = Exception.class)
@Override
public void saveSendAddressReport(CollectWaitReportSendAddressSaveParam param) {
......@@ -74,6 +80,12 @@ public class CollectWaitReportServiceImpl implements CollectWaitReportService {
collectTruckWait.setCreateTime(collectTruckWait.getReportTime());
collectTruckWaitDao.saveEntity(collectTruckWait);
//待审核:排队信息上报 站内信
sendInternalMessageService.sendInternalMessageMq(InternalMessageTemplateEnum.PlatformType.CARRIER.getCode(),
InternalMessageTemplateEnum.BusinessType.DRIVER_REPORT.getCode(),
InternalMessageTemplateEnum.CUSTOM_DRIVER_REPORT_LINE_UP_INFO_CODE, List.of(loginUserInfo.getUserName()),null,null);
}
@Transactional(rollbackFor = Exception.class)
......@@ -104,6 +116,11 @@ public class CollectWaitReportServiceImpl implements CollectWaitReportService {
collectTruckWait.setCreateTime(collectTruckWait.getReportTime());
collectTruckWaitDao.saveEntity(collectTruckWait);
//待审核:排队信息上报 站内信
sendInternalMessageService.sendInternalMessageMq(InternalMessageTemplateEnum.PlatformType.CARRIER.getCode(),
InternalMessageTemplateEnum.BusinessType.DRIVER_REPORT.getCode(),
InternalMessageTemplateEnum.CUSTOM_DRIVER_REPORT_LINE_UP_INFO_CODE, List.of(loginUserInfo.getUserName()),null,null);
}
@Override
......
......@@ -14,6 +14,7 @@ import com.clx.performance.dao.linewarn.LineWarnInfoDao;
import com.clx.performance.dao.linewarn.LineWarnOrderGoodsDao;
import com.clx.performance.dao.vehiclewarn.VehicleWarnUserDao;
import com.clx.performance.dto.linewarn.LineWarnCommonInfoDTO;
import com.clx.performance.enums.InternalMessageTemplateEnum;
import com.clx.performance.enums.OrderGoodsStatusEnum;
import com.clx.performance.enums.ResultEnum;
import com.clx.performance.enums.linewarn.LineWarnOrderGoodsEnum;
......@@ -26,6 +27,7 @@ import com.clx.performance.param.mq.linewarn.LineWarnLineWarnMqParam;
import com.clx.performance.param.mq.linewarn.LineWarnNoticeMqParam;
import com.clx.performance.param.mq.linewarn.LineWarnOrderChildWarnMqParam;
import com.clx.performance.param.mq.linewarn.LineWarnOrderGoodsAddMqParam;
import com.clx.performance.service.SendInternalMessageService;
import com.clx.performance.service.linewarn.*;
import com.clx.performance.utils.LocalDateTimeUtils;
import com.clx.performance.utils.gd.GdUtils;
......@@ -37,6 +39,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
......@@ -83,6 +86,8 @@ public class LineWarnMqHandlerServiceImpl implements LineWarnMqHandlerService {
private VehicleWarnUserDao vehicleWarnUserDao;
@Autowired
private ClxMessageOpenapiFeign clxMessageOpenapiFeign;
@Autowired
SendInternalMessageService sendInternalMessageService;
@Transactional(rollbackFor = Exception.class)
......@@ -212,6 +217,14 @@ public class LineWarnMqHandlerServiceImpl implements LineWarnMqHandlerService {
}
}
//发送站内信mq
sendInternalMessageService.sendInternalMessageMq(InternalMessageTemplateEnum.PlatformType.CARRIER.getCode(),
InternalMessageTemplateEnum.BusinessType.LINE_WARN.getCode(),
vehicleWarnInfo.getWarnType(), List.of(vehicleWarnInfo.getOrderGoodsNo()),null,null);
if (mobileList.isEmpty()) {return;}
log.info("线路预警通知, id:{}, mobileList:{}", vehicleWarnInfo.getId(), JSON.toJSONString(mobileList));
......
......@@ -13,6 +13,7 @@ import com.clx.performance.dao.vehiclewarn.VehicleWarnChildDao;
import com.clx.performance.dao.vehiclewarn.VehicleWarnInfoDao;
import com.clx.performance.dao.vehiclewarn.VehicleWarnUserDao;
import com.clx.performance.dto.vehiclewarn.VehicleWarnCommonInfoDTO;
import com.clx.performance.enums.InternalMessageTemplateEnum;
import com.clx.performance.enums.OrderChildEnum;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.enums.ResultEnum;
......@@ -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.VehicleWarnTruckWarnMqParam;
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.trace.TruckTraceMqHandlerService;
import com.clx.performance.service.vehiclewarn.*;
......@@ -38,9 +40,7 @@ import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.*;
@Slf4j
@Service
......@@ -82,6 +82,8 @@ public class VehicleWarnMqHandlerServiceImpl implements VehicleWarnMqHandlerServ
private TruckTraceMqHandlerService truckTraceMqHandlerService;
@Autowired
private LineWarnMqService lineWarnMqService;
@Autowired
private SendInternalMessageService sendInternalMessageService;
@Override
public void orderChildAdd(VehicleWarnChildAddMqParam mq) {
......@@ -330,6 +332,7 @@ public class VehicleWarnMqHandlerServiceImpl implements VehicleWarnMqHandlerServ
}
@Override
public void truckWarnNotice(VehicleWarnTruckWarnNoticeMqParam mq) {
VehicleWarnInfo vehicleWarnInfo = vehicleWarnInfoDao
......@@ -338,6 +341,12 @@ public class VehicleWarnMqHandlerServiceImpl implements VehicleWarnMqHandlerServ
// 发送mq(运单异常)
lineWarnMqService.orderChildWarn(vehicleWarnInfo.getOrderGoodsNo(), vehicleWarnInfo.getChildNo());
//发送站内信mq
sendInternalMessageService.sendInternalMessageMq(InternalMessageTemplateEnum.PlatformType.CARRIER.getCode(),
InternalMessageTemplateEnum.BusinessType.CHILD_WARN.getCode(),
vehicleWarnInfo.getWarnType(), List.of(vehicleWarnInfo.getChildNo()),null,null);
List<String> mobileList = new ArrayList<>();
// 过滤需要通知的人员
......
package com.clx.performance.param.mq;
import lombok.Getter;
import lombok.Setter;
import java.util.List;
/**
* @ClassName InternalMessageDTO
* @Description
* @Author kavin
* @Date 2024/10/16 15:17
* @Version 1.0
*/
@Getter
@Setter
public class InternalMessageParam {
//站内信大类业务code
private String businessType;
//站内信模版业务详情自定义Code (业务原始Code或自定义code)
private Integer typeCode;
//内容参数
List<Object> variableList;
//跳转地址参数
List<Object> jumpUrlVariableList;
//站内信点对点的用户
private Long userNo;
private String productCode;
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论