Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-performance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
姜武杰
clx-performance
Commits
1aa0b5d2
提交
1aa0b5d2
authored
10月 17, 2024
作者:
刘海泉
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
增加站内信相关代码
上级
e532ca02
隐藏空白字符变更
内嵌
并排
正在显示
10 个修改的文件
包含
242 行增加
和
18 行删除
+242
-18
ConfiguredOpenProperties.java
.../com/clx/performance/config/ConfiguredOpenProperties.java
+2
-1
RabbitBeanConfig.java
...ain/java/com/clx/performance/config/RabbitBeanConfig.java
+27
-0
RabbitKeyConstants.java
...java/com/clx/performance/constant/RabbitKeyConstants.java
+12
-0
InternalMessageDTO.java
...main/java/com/clx/performance/dto/InternalMessageDTO.java
+2
-3
SendCarrierInternalMessageListener.java
...formance/listener/SendCarrierInternalMessageListener.java
+40
-0
SendOrderStatusNoticeSmsListener.java
...erformance/listener/SendOrderStatusNoticeSmsListener.java
+1
-1
SendInternalMessageService.java
...m/clx/performance/service/SendInternalMessageService.java
+10
-0
SendInternalMessageServiceImpl.java
...formance/service/impl/SendInternalMessageServiceImpl.java
+59
-7
VehicleWarnMqHandlerServiceImpl.java
...ice/impl/vehiclewarn/VehicleWarnMqHandlerServiceImpl.java
+11
-3
InternalMessageTemplateEnum.java
...om/clx/performance/enums/InternalMessageTemplateEnum.java
+78
-3
没有找到文件。
clx-performance-web/src/main/java/com/clx/performance/config/ConfiguredOpenProperties.java
浏览文件 @
1aa0b5d2
...
...
@@ -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
;
}
clx-performance-web/src/main/java/com/clx/performance/config/RabbitBeanConfig.java
浏览文件 @
1aa0b5d2
...
...
@@ -300,5 +300,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
);
}
}
clx-performance-web/src/main/java/com/clx/performance/constant/RabbitKeyConstants.java
浏览文件 @
1aa0b5d2
...
...
@@ -150,4 +150,16 @@ public class RabbitKeyConstants {
//保存货单调价记录routing_key
public
static
final
String
SAVE_ORDER_GOODS_ADJUSTMENT_PRICE_ROUTING_KEY
=
"clx_performance.save.order.goods.adjustment.price.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"
;
}
clx-performance-web/src/main/java/com/clx/performance/dto/InternalMessageDTO.java
浏览文件 @
1aa0b5d2
package
com
.
clx
.
performance
.
dto
;
import
com.clx.performance.enums.InternalMessageTemplateEnum
;
import
lombok.Getter
;
import
lombok.Setter
;
...
...
@@ -15,8 +14,8 @@ import lombok.Setter;
@Setter
public
class
InternalMessageDTO
{
//站内信模版
枚举
private
InternalMessageTemplateEnum
.
TemplateType
templateTyp
e
;
//站内信模版
业务详情Code
private
String
businessTypeDetailCod
e
;
//站内信模版内容
private
String
content
;
//站内信点对点的用户
...
...
clx-performance-web/src/main/java/com/clx/performance/listener/SendCarrierInternalMessageListener.java
0 → 100644
浏览文件 @
1aa0b5d2
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
));
}
}
}
clx-performance-web/src/main/java/com/clx/performance/listener/SendOrderStatusNoticeSmsListener.java
浏览文件 @
1aa0b5d2
...
...
@@ -108,7 +108,7 @@ public class SendOrderStatusNoticeSmsListener {
smsMessage
.
setRecipient
(
smsMessageRecipient
);
//从消息中心注册获取的通道key
smsMessage
.
setAccessKey
(
properties
.
getAccessKey
());
smsMessage
.
setAccessKey
(
properties
.
get
Sms
AccessKey
());
//向消息中心发送消息
...
...
clx-performance-web/src/main/java/com/clx/performance/service/SendInternalMessageService.java
浏览文件 @
1aa0b5d2
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
);
}
clx-performance-web/src/main/java/com/clx/performance/service/impl/SendInternalMessageServiceImpl.java
浏览文件 @
1aa0b5d2
...
...
@@ -2,9 +2,12 @@ package com.clx.performance.service.impl;
import
com.alibaba.fastjson.JSON
;
import
com.clx.performance.config.ConfiguredOpenProperties
;
import
com.clx.performance.dto.InternalMessageDTO
;
import
com.clx.performance.enums.InternalMessageTemplateEnum
;
import
com.clx.performance.enums.ResultEnum
;
import
com.clx.performance.service.SendInternalMessageService
;
import
com.msl.common.base.PageData
;
import
com.msl.common.exception.ServiceSystemException
;
import
com.msl.common.open.ConfiguredOpenClient
;
import
com.msl.common.result.Result
;
import
com.msl.message.in.app.api.content.DefaultMessageContent
;
...
...
@@ -18,10 +21,13 @@ import com.msl.user.vo.user.external.PageProductUserVo;
import
lombok.AllArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.springframework.amqp.rabbit.core.RabbitTemplate
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Optional
;
import
java.util.stream.Collectors
;
/**
...
...
@@ -41,9 +47,44 @@ public class SendInternalMessageServiceImpl implements SendInternalMessageServic
private
final
ConfiguredOpenClient
configuredOpenClient
;
private
final
ConfiguredOpenProperties
configuredOpenProperties
;
private
final
UserFeign
userFeign
;
private
final
RabbitTemplate
rabbitTemplate
;
//发送站内信的业务Code
@Override
public
void
sendInternalMessageMq
(
String
businessType
,
Integer
typeCode
,
List
<
String
>
variableList
,
Long
userNo
){
/* InternalMessageDTO dto = new InternalMessageDTO();
dto.setBusinessTypeDetailCode(businessTypeDetailCode);
dto.setContent(content);
dto.setUserNo(userNo);
log.info("发送站内信消息开始,站内信业务Code:{},消息内容:{}", businessTypeDetailCode,JSON.toJSONString(dto));
Message body = MessageBuilder.withBody(JSON.toJSONString(new MqWrapper<>(dto)).getBytes()).build();
rabbitTemplate.send(SEND_CARRIER_INTERNAL_MESSAGE_EXCHANGE,
SEND_CARRIER_INTERNAL_MESSAGE_ROUTING_KEY, body);
log.info("发送站内信消息结束,站内信业务Code:{}", businessTypeDetailCode);*/
}
public
InternalMessageDTO
buildMqData
(
String
businessType
,
Integer
typeCode
,
List
<
String
>
variableList
,
Long
userNo
){
return
null
;
}
public
static
void
main
(
String
[]
args
)
{
List
<
String
>
list
=
new
ArrayList
<>();
list
.
add
(
"爱情"
);
list
.
add
(
"在这里"
);
String
str
=
"你的%s在那里%s"
;
String
result
=
String
.
format
(
str
,
list
.
toArray
());
System
.
out
.
println
(
result
);
}
//TODO 后续修改Nacos的短信和站内信的 accessKey ,进行区分
public
final
String
accessKey
=
"CARRIER_INTERNAL_MESSAGE"
;
/**
...
...
@@ -51,16 +92,27 @@ public class SendInternalMessageServiceImpl implements SendInternalMessageServic
* socket推送JSON实例:{"productCode":"trade-client-app","functionKey":"CLX-SMB-SALES","userKey":"1021138417641676869","deliverToCompany":1,"companyKey":"1121232210178818117","userTag":null,"message":{"bizType":"in_app","body":{"id":16674,"messageNo":"1292033698861125","accessKey":"CLX-SMB-SALES","companyNo":"1121232210178818117","userNo":"1021138417641676869","messageGroup":"2","messageSign":"4","messageGroupName":"交易提醒","messageSignName":"交易提醒","showType":"3","showPriority":null,"validityLimitTime":"2024-07-25 15:12:04","showStatus":null,"showTime":null,"receivePage":null,"jumpPage":null,"markdownFlag":null,"status":null,"statusName":null,"readTime":null,"executedTime":null,"textVo":{"title":"需求发布成功","subtitle":"您好,当前企业有销售需求发布成功,请及时关注;【喜喜煤】/【7700kcal】/【700.00吨】/【123.85元/吨】,发布人:【陈小云】","content":null,"dataJson":"{\"unitPrice\":\"123.85\",\"calorificValue\":7700,\"demandId\":932,\"inAppSendType\":3,\"inAppSendTypeName\":\"消息通知\",\"jumpPageAppParam\":{\"id\":\"932\",\"underFlag\":\"1\"},\"coalType\":\"喜喜煤\",\"publisher\":\"陈小云\",\"jumpPageAppUrl\":\"/ReleaseDetailsPage\",\"tonnage\":\"700.00\",\"page\":\"message_code:demand_publish_success_sales\",\"extraShowInfoList\":[{\"unit\":\"\",\"code\":\"coalType\",\"name\":\"煤种\",\"value\":\"喜喜煤\"},{\"unit\":\"kcal\",\"code\":\"calorificValue\",\"name\":\"热值\",\"value\":7700},{\"unit\":\"吨\",\"code\":\"tonnage\",\"name\":\"吨数\",\"value\":\"700.00\"},{\"unit\":\"元/吨\",\"code\":\"unitPrice\",\"name\":\"单价\",\"value\":\"123.85\"},{\"unit\":\"\",\"code\":\"publisher\",\"name\":\"发布人姓名\",\"value\":\"陈小云\"}]}"},"createTime":null},"bodyType":3}}
*/
//发送司机站内信
public
void
sendCarrierInternalMessage
(
InternalMessageTemplateEnum
.
TemplateType
templateType
,
String
content
)
{
//发送承运站内信
@Override
public
void
sendCarrierInternalMessage
(
InternalMessageDTO
internalMessageDTO
)
{
Optional
<
InternalMessageTemplateEnum
.
TemplateType
>
templateTypeOptional
=
InternalMessageTemplateEnum
.
TemplateType
.
getByBusinessTypeDetailCode
(
internalMessageDTO
.
getBusinessTypeDetailCode
());
if
(
templateTypeOptional
.
isEmpty
()){
log
.
error
(
"通过站内信业务详情Code未找到对应的枚举类型,code:{}"
,
internalMessageDTO
.
getBusinessTypeDetailCode
());
throw
new
ServiceSystemException
(
ResultEnum
.
PARAM_ERROR
,
"发送站内信失败"
);
}
InternalMessageTemplateEnum
.
TemplateType
templateType
=
templateTypeOptional
.
get
();
InAppDefaultMessage
message
=
new
InAppDefaultMessage
();
//消息
message
.
setMessageGroup
(
templateType
.
getMessageType
().
getCode
());
message
.
setMessageGroupName
(
templateType
.
getMessageType
().
getName
());
message
.
setMessageSign
(
templateType
.
getBusinessType
().
getCode
());
message
.
setMessageSignName
(
templateType
.
getBusinessType
().
getName
());
//TODO 自己定义,提供给消息中心
message
.
setAccessKey
(
accessKey
);
message
.
setAccessKey
(
configuredOpenProperties
.
getCarrierInternalMessageAccessKey
()
);
//发送站内信
DefaultMessageRoute
messageRoute
=
new
DefaultMessageRoute
();
...
...
@@ -72,7 +124,7 @@ public class SendInternalMessageServiceImpl implements SendInternalMessageServic
//直接指定内容
DefaultMessageContent
defaultMessageContent
=
new
DefaultMessageContent
();
defaultMessageContent
.
setTitle
(
templateType
.
getBusinessDetailType
().
getTitle
());
defaultMessageContent
.
setContext
(
content
);
defaultMessageContent
.
setContext
(
internalMessageDTO
.
getContent
()
);
HashMap
<
String
,
Object
>
data
=
new
HashMap
<>();
data
.
put
(
"businessDetailTypeCode"
,
templateType
.
getBusinessDetailType
().
getCode
());
...
...
clx-performance-web/src/main/java/com/clx/performance/service/impl/vehiclewarn/VehicleWarnMqHandlerServiceImpl.java
浏览文件 @
1aa0b5d2
...
...
@@ -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,11 @@ public class VehicleWarnMqHandlerServiceImpl implements VehicleWarnMqHandlerServ
// 发送mq(运单异常)
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
<>();
// 过滤需要通知的人员
...
...
performance-api/src/main/java/com/clx/performance/enums/InternalMessageTemplateEnum.java
浏览文件 @
1aa0b5d2
package
com
.
clx
.
performance
.
enums
;
import
com.clx.performance.enums.vehiclewarn.VehicleWarnConfigEnum
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
import
java.util.Arrays
;
import
java.util.HashMap
;
import
java.util.Map
;
import
java.util.Optional
;
public
class
InternalMessageTemplateEnum
{
//运单预警map
public
static
Map
<
Integer
,
String
>
CHILD_WARN_MAP
=
new
HashMap
<>();
//线路预警map
public
static
Map
<
Integer
,
String
>
LINE_WARN_MAP
=
new
HashMap
<>();
//待报价订单map
public
static
Map
<
Integer
,
String
>
WAIT_QUOTATION_ORDER_MAP
=
new
HashMap
<>();
//待审核事项map
public
static
Map
<
Integer
,
String
>
WAIT_APPROVED_ITEM_MAP
=
new
HashMap
<>();
//待创建货单map
public
static
Map
<
Integer
,
String
>
WAIT_CREATE_ORDER_GOODS_MAP
=
new
HashMap
<>();
//订单通知map
public
static
Map
<
Integer
,
String
>
ORDER_NOTICE_MAP
=
new
HashMap
<>();
//投诉通知map
public
static
Map
<
Integer
,
String
>
COMPLAINT_NOTICE_MAP
=
new
HashMap
<>();
//司机上报map
public
static
Map
<
Integer
,
String
>
DRIVER_REPORT_MAP
=
new
HashMap
<>();
//内部上报map
public
static
Map
<
Integer
,
String
>
INTERNAL_REPORT_MAP
=
new
HashMap
<>();
//key:businessType value: key:具体实际业务类型的code, value:BusinessTypeDetail的code
public
static
Map
<
String
,
Map
<
Integer
,
String
>>
businessTypeMap
=
new
HashMap
<>();
static
{
CHILD_WARN_MAP
.
put
(
VehicleWarnConfigEnum
.
WarnType
.
ARRIVE_SEND_DELAY
.
getCode
(),
BusinessTypeDetail
.
ARRIVE_SEND_DELAY
.
getCode
());
CHILD_WARN_MAP
.
put
(
VehicleWarnConfigEnum
.
WarnType
.
GOTO_SEND_TIMEOUT
.
getCode
(),
BusinessTypeDetail
.
GOTO_SEND_TIMEOUT
.
getCode
());
CHILD_WARN_MAP
.
put
(
VehicleWarnConfigEnum
.
WarnType
.
ARRIVE_RECEIVE_DELAY
.
getCode
(),
BusinessTypeDetail
.
ARRIVE_SEND_DELAY
.
getCode
());
CHILD_WARN_MAP
.
put
(
VehicleWarnConfigEnum
.
WarnType
.
GOTO_RECEIVE_TIMEOUT
.
getCode
(),
BusinessTypeDetail
.
ARRIVE_SEND_DELAY
.
getCode
());
CHILD_WARN_MAP
.
put
(
VehicleWarnConfigEnum
.
WarnType
.
PARK_TIMEOUT
.
getCode
(),
BusinessTypeDetail
.
ARRIVE_SEND_DELAY
.
getCode
());
CHILD_WARN_MAP
.
put
(
VehicleWarnConfigEnum
.
WarnType
.
LOAD_TIMEOUT
.
getCode
(),
BusinessTypeDetail
.
ARRIVE_SEND_DELAY
.
getCode
());
CHILD_WARN_MAP
.
put
(
VehicleWarnConfigEnum
.
WarnType
.
UNLOAD_TIMEOUT
.
getCode
(),
BusinessTypeDetail
.
ARRIVE_SEND_DELAY
.
getCode
());
businessTypeMap
.
put
(
BusinessType
.
CHILD_WARN
.
getCode
(),
CHILD_WARN_MAP
);
businessTypeMap
.
put
(
BusinessType
.
LINE_WARN
.
getCode
(),
LINE_WARN_MAP
);
businessTypeMap
.
put
(
BusinessType
.
WAIT_QUOTATION_ORDER
.
getCode
(),
WAIT_QUOTATION_ORDER_MAP
);
businessTypeMap
.
put
(
BusinessType
.
WAIT_APPROVED_ITEM
.
getCode
(),
WAIT_APPROVED_ITEM_MAP
);
businessTypeMap
.
put
(
BusinessType
.
WAIT_CREATE_ORDER_GOODS
.
getCode
(),
WAIT_CREATE_ORDER_GOODS_MAP
);
businessTypeMap
.
put
(
BusinessType
.
ORDER_NOTICE
.
getCode
(),
ORDER_NOTICE_MAP
);
businessTypeMap
.
put
(
BusinessType
.
COMPLAINT_NOTICE
.
getCode
(),
COMPLAINT_NOTICE_MAP
);
businessTypeMap
.
put
(
BusinessType
.
DRIVER_REPORT
.
getCode
(),
DRIVER_REPORT_MAP
);
businessTypeMap
.
put
(
BusinessType
.
INTERNAL_REPORT
.
getCode
(),
INTERNAL_REPORT_MAP
);
}
@Getter
@AllArgsConstructor
public
enum
TemplateType
{
GO_TO_SEND_TIMEOUT
(
PlatformType
.
CARRIER
,
MessageType
.
WARN
,
BusinessType
.
CHILD_WARN
,
BusinessTypeDetail
.
GO_TO_SEND_TIMEOUT
),
ARRIVE_SEND_DELAY
(
PlatformType
.
CARRIER
,
MessageType
.
WARN
,
BusinessType
.
CHILD_WARN
,
BusinessTypeDetail
.
ARRIVE_SEND_DELAY
),
GOTO_SEND_TIMEOUT
(
PlatformType
.
CARRIER
,
MessageType
.
WARN
,
BusinessType
.
CHILD_WARN
,
BusinessTypeDetail
.
GOTO_SEND_TIMEOUT
),
ARRIVE_RECEIVE_DELAY
(
PlatformType
.
CARRIER
,
MessageType
.
WARN
,
BusinessType
.
CHILD_WARN
,
BusinessTypeDetail
.
ARRIVE_RECEIVE_DELAY
),
GOTO_RECEIVE_TIMEOUT
(
PlatformType
.
CARRIER
,
MessageType
.
WARN
,
BusinessType
.
CHILD_WARN
,
BusinessTypeDetail
.
GOTO_RECEIVE_TIMEOUT
),
PARK_TIMEOUT
(
PlatformType
.
CARRIER
,
MessageType
.
WARN
,
BusinessType
.
CHILD_WARN
,
BusinessTypeDetail
.
PARK_TIMEOUT
),
LOAD_TIMEOUT
(
PlatformType
.
CARRIER
,
MessageType
.
WARN
,
BusinessType
.
CHILD_WARN
,
BusinessTypeDetail
.
LOAD_TIMEOUT
),
UNLOAD_TIMEOUT
(
PlatformType
.
CARRIER
,
MessageType
.
WARN
,
BusinessType
.
CHILD_WARN
,
BusinessTypeDetail
.
UNLOAD_TIMEOUT
),
;
private
final
PlatformType
platform
;
//承运平台 司机APP
private
final
MessageType
messageType
;
//预警、待办、通知、上报
private
final
BusinessType
businessType
;
//业务大类 运单预警
private
final
BusinessTypeDetail
businessDetailType
;
//业务详细分类 前往目的地超时等
public
static
Optional
<
TemplateType
>
getByBusinessTypeDetailCode
(
String
businessTypeDetailCode
)
{
return
Arrays
.
stream
(
values
()).
filter
(
e
->
e
.
businessDetailType
.
code
.
equals
(
businessTypeDetailCode
)).
findFirst
();
}
}
...
...
@@ -26,12 +95,18 @@ public class InternalMessageTemplateEnum {
public
enum
BusinessTypeDetail
{
ARRIVE_SEND_DELAY
(
"GO_TO_SEND_TIMEOUT"
,
"预警通知:到达货源地延误"
),
GO_TO_SEND_TIMEOUT
(
"GO_TO_SEND_TIMEOUT"
,
"预警通知:前往货源地超时"
),
ARRIVE_SEND_DELAY
(
"ARRIVE_SEND_DELAY"
,
"预警通知:到达货源地延误"
,
"运单%s,到达货源地延误,请尽快处理。"
),
GOTO_SEND_TIMEOUT
(
"GO_TO_SEND_TIMEOUT"
,
"预警通知:前往货源地超时"
,
"运单%s,前往货源地超时,请尽快处理。"
),
ARRIVE_RECEIVE_DELAY
(
"ARRIVE_RECEIVE_DELAY"
,
"预警通知:到达目的地延误"
,
"运单%s,到达目的地延误,请尽快处理。"
),
GOTO_RECEIVE_TIMEOUT
(
"GOTO_RECEIVE_TIMEOUT"
,
"预警通知:前往目的地超时"
,
"运单%s,到达目的地超时,请尽快处理。"
),
PARK_TIMEOUT
(
"PARK_TIMEOUT"
,
"预警通知:前往货源地超时"
,
"运单%s,停留超时,请尽快处理。"
),
LOAD_TIMEOUT
(
"LOAD_TIMEOUT"
,
"预警通知:前往货源地超时"
,
"运单%s,装车超时,请尽快处理。"
),
UNLOAD_TIMEOUT
(
"UNLOAD_TIMEOUT"
,
"预警通知:前往货源地超时"
,
"运单%s,卸车超时,请尽快处理。"
),
;
private
final
String
code
;
private
final
String
title
;
private
final
String
content
;
public
static
Optional
<
BusinessTypeDetail
>
getByCode
(
String
code
)
{
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论