Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-performance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
姜武杰
clx-performance
Commits
1139c16b
提交
1139c16b
authored
10月 30, 2024
作者:
刘海泉
浏览文件
操作
浏览文件
下载
差异文件
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
上级
a75d246d
9b8b402a
隐藏空白字符变更
内嵌
并排
正在显示
11 个修改的文件
包含
747 行增加
和
5 行删除
+747
-5
pom.xml
clx-performance-web/pom.xml
+2
-0
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
+24
-0
SendCarrierInternalMessageListener.java
...formance/listener/SendCarrierInternalMessageListener.java
+40
-0
SendOrderStatusNoticeSmsListener.java
...erformance/listener/SendOrderStatusNoticeSmsListener.java
+1
-1
SendInternalMessageService.java
...m/clx/performance/service/SendInternalMessageService.java
+14
-0
SendInternalMessageServiceImpl.java
...formance/service/impl/SendInternalMessageServiceImpl.java
+176
-0
VehicleWarnMqHandlerServiceImpl.java
...ice/impl/vehiclewarn/VehicleWarnMqHandlerServiceImpl.java
+11
-3
InternalMessageTemplateEnum.java
...om/clx/performance/enums/InternalMessageTemplateEnum.java
+438
-0
没有找到文件。
clx-performance-web/pom.xml
浏览文件 @
1139c16b
...
...
@@ -364,10 +364,12 @@
<groupId>
org.springframework.cloud
</groupId>
<artifactId>
spring-cloud-loadbalancer
</artifactId>
</dependency>
<dependency>
<groupId>
com.msl.message
</groupId>
<artifactId>
message-sdk
</artifactId>
</dependency>
</dependencies>
...
...
clx-performance-web/src/main/java/com/clx/performance/config/ConfiguredOpenProperties.java
浏览文件 @
1139c16b
...
...
@@ -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
浏览文件 @
1139c16b
...
...
@@ -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
);
}
}
clx-performance-web/src/main/java/com/clx/performance/constant/RabbitKeyConstants.java
浏览文件 @
1139c16b
...
...
@@ -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"
;
}
clx-performance-web/src/main/java/com/clx/performance/dto/InternalMessageDTO.java
0 → 100644
浏览文件 @
1139c16b
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
;
}
clx-performance-web/src/main/java/com/clx/performance/listener/SendCarrierInternalMessageListener.java
0 → 100644
浏览文件 @
1139c16b
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
浏览文件 @
1139c16b
...
...
@@ -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
0 → 100644
浏览文件 @
1139c16b
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
0 → 100644
浏览文件 @
1139c16b
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
;
import
com.msl.message.in.app.api.message.InAppDefaultMessage
;
import
com.msl.message.in.app.api.recipient.SpecifiesRecipient
;
import
com.msl.message.in.app.api.route.DefaultMessageRoute
;
import
com.msl.message.sdk.action.MessageAction
;
import
com.msl.user.feign.UserFeign
;
import
com.msl.user.param.user.external.PageProductUsersParam
;
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
;
/**
* @ClassName SendInternalMessageServiceImpl
* @Description
* @Author kavin
* @Date 2024/10/16 13:37
* @Version 1.0
*/
@Slf4j
@Service
@AllArgsConstructor
public
class
SendInternalMessageServiceImpl
implements
SendInternalMessageService
{
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
);
}
/**
* 发送消息JSON实例:{"type": "in_app_default_message", "route": {"$ref": "$.messageRoute"}, "content": {"data": {"page": "message_operation_code:coal_source_publish_success_sales", "tonnage": "700.00", "coalType": "喜喜煤", "demandId": 932, "publisher": "陈小云", "unitPrice": "123.85", "demandType": "销售需求", "companyName": "产权交易中心", "jumpPageUrls": {"trade-operation-pc": "/demand/sale-detail/932"}, "inAppSendType": 2, "calorificValue": 7700, "validityPeriod": "2024-07-23 15:11:00-2024-07-23 23:11:00", "extraShowInfoList": [{"code": "companyName", "name": "企业名称", "unit": "", "value": "产权交易中心"}, {"code": "publisher", "name": "发布人姓名", "unit": "", "value": "陈小云"}, {"code": "coalType", "name": "煤种", "unit": "", "value": "喜喜煤"}, {"code": "calorificValue", "name": "热值", "unit": "kcal", "value": 7700}, {"code": "unitPrice", "name": "单价", "unit": "元/吨", "value": "123.85"}, {"code": "tonnage", "name": "吨数", "unit": "吨", "value": "700.00"}, {"code": "validityPeriod", "name": "有效期", "unit": "", "value": "2024-07-23 15:11:00-2024-07-23 23:11:00"}], "inAppSendTypeName": "全局提示"}, "type": "template_content", "templateKey": "SMB-INAPP-00001"}, "showType": "2", "accessKey": "CLX-OPERATION", "recipient": {"$ref": "$.messageRecipient"}, "channelKey": "in_app", "messageSign": "1", "messageGroup": "4", "messageRoute": {"type": "default_route", "routeMap": {"trade-operation-pc": ["default"]}}, "messageContent": {"$ref": "$.content"}, "messageSignName": "需求上报", "messageGroupName": "需求信息", "messageRecipient": {"type": "specifies_recipient", "users": [1021110826118750277, 1021252468523831365, 1021138417641676869, 1021095992956997701, 1021081090547744837]}, "validityLimitTime": "2024-07-24 15:12:04"}
* 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}}
*/
//发送承运站内信
@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
());
message
.
setAccessKey
(
configuredOpenProperties
.
getCarrierInternalMessageAccessKey
());
//发送站内信
DefaultMessageRoute
messageRoute
=
new
DefaultMessageRoute
();
//TODO 自己定义,提供给消息中心
messageRoute
.
put
(
"product-code"
,
InternalMessageTemplateEnum
.
PlatformType
.
CARRIER
.
getCode
());
message
.
setMessageRoute
(
messageRoute
);
//直接指定内容
DefaultMessageContent
defaultMessageContent
=
new
DefaultMessageContent
();
defaultMessageContent
.
setTitle
(
templateType
.
getBusinessDetailType
().
getTitle
());
defaultMessageContent
.
setContext
(
internalMessageDTO
.
getContent
());
HashMap
<
String
,
Object
>
data
=
new
HashMap
<>();
data
.
put
(
"businessDetailTypeCode"
,
templateType
.
getBusinessDetailType
().
getCode
());
data
.
put
(
"businessDetailTypeTitle"
,
templateType
.
getBusinessDetailType
().
getTitle
());
defaultMessageContent
.
setData
(
data
);
//放入标识,让前端根据这个标识跳转页面
message
.
setMessageContent
(
defaultMessageContent
);
//组装发送人 指定接收人
SpecifiesRecipient
messageRecipient
=
new
SpecifiesRecipient
();
List
<
Long
>
list
=
getPlatformUser
();
if
(
CollectionUtils
.
isEmpty
(
list
)){
log
.
error
(
"查询承运平台下全部用户返回为空"
);
}
messageRecipient
.
setUsers
(
list
);
message
.
setMessageRecipient
(
messageRecipient
);
//向消息中心发送消息
log
.
info
(
"站内信发送参数,发送参数:{}"
,
message
);
Result
<
Object
>
result
=
configuredOpenClient
.
doAction
(
new
MessageAction
(
message
));
log
.
info
(
"站内信发送成功,发送结果:{}"
,
result
.
toString
());
}
public
List
<
Long
>
getPlatformUser
(){
PageProductUsersParam
param
=
new
PageProductUsersParam
();
param
.
setProductCode
(
InternalMessageTemplateEnum
.
PlatformType
.
CARRIER
.
getCode
());
param
.
setPage
(
1
);
param
.
setPageSize
(
10000
);
log
.
info
(
"开始查询承运平台下的所有用户信息"
);
Result
<
PageData
<
PageProductUserVo
>>
pageDataResult
=
userFeign
.
pageProductUsers
(
param
);
if
(
pageDataResult
.
succeed
()){
return
pageDataResult
.
getData
().
getRecords
().
stream
().
map
(
PageProductUserVo:
:
getUserNo
).
collect
(
Collectors
.
toList
());
}
else
{
log
.
info
(
"结束查询承运平台下的所有用户信息,响应结果:{}"
,
JSON
.
toJSONString
(
pageDataResult
));
return
null
;
}
}
}
clx-performance-web/src/main/java/com/clx/performance/service/impl/vehiclewarn/VehicleWarnMqHandlerServiceImpl.java
浏览文件 @
1139c16b
...
...
@@ -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
0 → 100644
浏览文件 @
1139c16b
package
com
.
clx
.
performance
.
enums
;
import
com.clx.performance.enums.linewarn.LineWarnConfigEnum
;
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
{
//自定义业务类型code
//待办-待报价订单 ========================================================================
//待报价
public
static
final
Integer
CUSTOM_WAIT_QUOTATION_CODE
=
10000
;
//拒绝报价code
public
static
final
Integer
CUSTOM_QUOTATION_REJECT_CODE
=
10001
;
//待办-待审核事项 ===========================================================================
//待审核:司机驾驶认证
public
static
final
Integer
CUSTOM_WAIT_AUDIT_LICENCE_CODE
=
10002
;
//待审核:司机车辆认证
public
static
final
Integer
CUSTOM_WAIT_AUDIT_TRUCK_AUTH_CODE
=
10003
;
//已承接订单
public
static
final
Integer
CUSTOM_PLATFORM_UNDERTAKING_CODE
=
10004
;
//货主违约通知
public
static
final
Integer
CUSTOM_OWNER_TRIGGER_BREAK_CONTRACT_CODE
=
10005
;
//司机违约通知
public
static
final
Integer
CUSTOM_DRIVER_TRIGGER_BREAK_CONTRACT_CODE
=
10006
;
//收到减吨申请
public
static
final
Integer
CUSTOM_RECEIVE_SUB_WEIGHT_APPLY_CODE
=
10007
;
//收到延期申请
public
static
final
Integer
CUSTOM_RECEIVE_DELAY_APPLY_CODE
=
10008
;
//货主同意减吨申请
public
static
final
Integer
CUSTOM_AGREE_SUB_WEIGHT_APPLY_CODE
=
10009
;
//货主拒绝减吨申请
public
static
final
Integer
CUSTOM_REJECT_SUB_WEIGHT_APPLY_CODE
=
10010
;
//货主同意延期申请
public
static
final
Integer
CUSTOM_AGREE_DELAY_APPLY_CODE
=
10011
;
//货主拒绝延期申请
public
static
final
Integer
CUSTOM_REJECT_DELAY_APPLY_CODE
=
10012
;
//待办-待创建货单 ===================================================================
//货单待创建
public
static
final
Integer
CUSTOM_WAIT_CREATE_ORDER_GOODS_CODE
=
10013
;
//货主同意调价申请
public
static
final
Integer
CUSTOM_OWNER_AGREE_UNDERTAKING_ORDER_ADJUSTMENT_PRICE_CODE
=
10014
;
//通知-订单通知 ===================================================================
//货主同意调价申请
public
static
final
Integer
CUSTOM_OWNER_AGREE_POST_ORDER_ORDER_ADJUSTMENT_PRICE_CODE
=
10015
;
//货主拒绝调价申请
public
static
final
Integer
CUSTOM_OWNER_REJECT_UNDERTAKING_ORDER_ADJUSTMENT_PRICE_CODE
=
10016
;
//货主已取消订单
public
static
final
Integer
CUSTOM_OWNER_CANCEL_ORDER_CODE
=
10017
;
//通知-投诉通知 ======================================================================
//客户投诉
public
static
final
Integer
CUSTOM_DRIVER_SUBMIT_COMPLAINT_CODE
=
10017
;
//上报-司机上报 ======================================================================
//待审核:司机货源地信息上报
public
static
final
Integer
CUSTOM_DRIVER_REPORT_SEND_INFO_CODE
=
10018
;
//待审核:司机异常情况上报
public
static
final
Integer
CUSTOM_DRIVER_REPORT_EXCEPTION_SITUATION_CODE
=
10019
;
//待审核:无接单上报
public
static
final
Integer
CUSTOM_DRIVER_REPORT_NO_TAKE_ORDER_CODE
=
10020
;
//待审核:交通情况上报
public
static
final
Integer
CUSTOM_DRIVER_REPORT_TRAFFIC_SITUATION_CODE
=
10021
;
//待审核:煤炭质量上报
public
static
final
Integer
CUSTOM_DRIVER_REPORT_COAL_QUALITY_CODE
=
10022
;
//待审核:排队信息上报
public
static
final
Integer
CUSTOM_DRIVER_REPORT_LINE_UP_INFO_CODE
=
10023
;
//司机上报:位置
public
static
final
Integer
CUSTOM_DRIVER_REPORT_POSITION_CODE
=
10024
;
//司机上报:油表信息
public
static
final
Integer
CUSTOM_DRIVER_REPORT_REFUEL_CODE
=
10025
;
//司机上报:其他
public
static
final
Integer
CUSTOM_DRIVER_REPORT_OTHER_CODE
=
10026
;
//上报-内部上报 ======================================================================
//内部上报:线路信息
public
static
final
Integer
CUSTOM_INTERNAL_REPORT_ROUTE_CODE
=
10027
;
//内部上报:车流量
public
static
final
Integer
CUSTOM_INTERNAL_REPORT_TRAFFIC_VOLUME_CODE
=
10028
;
//内部上报:厂区规则
public
static
final
Integer
CUSTOM_INTERNAL_REPORT_SITE_RULES_CODE
=
10029
;
//内部上报:调度异常
public
static
final
Integer
CUSTOM_INTERNAL_REPORT_SCHEDULING_EXCEPTION_CODE
=
10030
;
//内部上报:位置坐标
public
static
final
Integer
CUSTOM_INTERNAL_REPORT_COORDINATE_POSITION_CODE
=
10031
;
//运单预警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
());
//预警-线路预警
LINE_WARN_MAP
.
put
(
LineWarnConfigEnum
.
WarnType
.
TAKE
.
getCode
(),
BusinessTypeDetail
.
TAKE
.
getCode
());
LINE_WARN_MAP
.
put
(
LineWarnConfigEnum
.
WarnType
.
UNLOAD
.
getCode
(),
BusinessTypeDetail
.
UNLOAD
.
getCode
());
LINE_WARN_MAP
.
put
(
LineWarnConfigEnum
.
WarnType
.
CONGESTION
.
getCode
(),
BusinessTypeDetail
.
CONGESTION
.
getCode
());
LINE_WARN_MAP
.
put
(
LineWarnConfigEnum
.
WarnType
.
WEATHER
.
getCode
(),
BusinessTypeDetail
.
WEATHER
.
getCode
());
LINE_WARN_MAP
.
put
(
LineWarnConfigEnum
.
WarnType
.
CHILD_ABNORMAL
.
getCode
(),
BusinessTypeDetail
.
CHILD_ABNORMAL
.
getCode
());
LINE_WARN_MAP
.
put
(
LineWarnConfigEnum
.
WarnType
.
LINE_ABNORMAL
.
getCode
(),
BusinessTypeDetail
.
LINE_ABNORMAL
.
getCode
());
//待办-待报价订单
WAIT_QUOTATION_ORDER_MAP
.
put
(
CUSTOM_WAIT_QUOTATION_CODE
,
BusinessTypeDetail
.
WAIT_QUOTATION
.
getCode
());
WAIT_QUOTATION_ORDER_MAP
.
put
(
CUSTOM_QUOTATION_REJECT_CODE
,
BusinessTypeDetail
.
QUOTATION_REJECT
.
getCode
());
//待办-待办待审核事项
WAIT_APPROVED_ITEM_MAP
.
put
(
CUSTOM_WAIT_AUDIT_LICENCE_CODE
,
BusinessTypeDetail
.
WAIT_AUDIT_LICENCE_AUTH
.
getCode
());
WAIT_APPROVED_ITEM_MAP
.
put
(
CUSTOM_WAIT_AUDIT_TRUCK_AUTH_CODE
,
BusinessTypeDetail
.
WAIT_AUDIT_TRUCK_AUTH
.
getCode
());
WAIT_APPROVED_ITEM_MAP
.
put
(
CUSTOM_PLATFORM_UNDERTAKING_CODE
,
BusinessTypeDetail
.
PLATFORM_UNDERTAKING
.
getCode
());
WAIT_APPROVED_ITEM_MAP
.
put
(
CUSTOM_OWNER_TRIGGER_BREAK_CONTRACT_CODE
,
BusinessTypeDetail
.
OWNER_TRIGGER_BREAK_CONTRACT
.
getCode
());
WAIT_APPROVED_ITEM_MAP
.
put
(
CUSTOM_DRIVER_TRIGGER_BREAK_CONTRACT_CODE
,
BusinessTypeDetail
.
DRIVER_TRIGGER_BREAK_CONTRACT
.
getCode
());
WAIT_APPROVED_ITEM_MAP
.
put
(
CUSTOM_RECEIVE_SUB_WEIGHT_APPLY_CODE
,
BusinessTypeDetail
.
RECEIVE_SUB_WEIGHT_APPLY
.
getCode
());
WAIT_APPROVED_ITEM_MAP
.
put
(
CUSTOM_RECEIVE_DELAY_APPLY_CODE
,
BusinessTypeDetail
.
RECEIVE_DELAY_APPLY
.
getCode
());
WAIT_APPROVED_ITEM_MAP
.
put
(
CUSTOM_AGREE_SUB_WEIGHT_APPLY_CODE
,
BusinessTypeDetail
.
AGREE_SUB_WEIGHT_APPLY
.
getCode
());
WAIT_APPROVED_ITEM_MAP
.
put
(
CUSTOM_REJECT_SUB_WEIGHT_APPLY_CODE
,
BusinessTypeDetail
.
REJECT_SUB_WEIGHT_APPLY
.
getCode
());
WAIT_APPROVED_ITEM_MAP
.
put
(
CUSTOM_AGREE_DELAY_APPLY_CODE
,
BusinessTypeDetail
.
AGREE_DELAY_APPLY
.
getCode
());
WAIT_APPROVED_ITEM_MAP
.
put
(
CUSTOM_REJECT_DELAY_APPLY_CODE
,
BusinessTypeDetail
.
REJECT_DELAY_APPLY
.
getCode
());
//代办-待创建货单
WAIT_CREATE_ORDER_GOODS_MAP
.
put
(
CUSTOM_WAIT_CREATE_ORDER_GOODS_CODE
,
BusinessTypeDetail
.
WAIT_CREATE_ORDER_GOODS
.
getCode
());
WAIT_CREATE_ORDER_GOODS_MAP
.
put
(
CUSTOM_OWNER_AGREE_UNDERTAKING_ORDER_ADJUSTMENT_PRICE_CODE
,
BusinessTypeDetail
.
OWNER_AGREE_UNDERTAKING_ORDER_ADJUSTMENT_PRICE
.
getCode
());
//通知-订单通知
ORDER_NOTICE_MAP
.
put
(
CUSTOM_OWNER_AGREE_POST_ORDER_ORDER_ADJUSTMENT_PRICE_CODE
,
BusinessTypeDetail
.
OWNER_AGREE_POST_ORDER_ORDER_ADJUSTMENT_PRICE
.
getCode
());
ORDER_NOTICE_MAP
.
put
(
CUSTOM_OWNER_REJECT_UNDERTAKING_ORDER_ADJUSTMENT_PRICE_CODE
,
BusinessTypeDetail
.
OWNER_REJECT_UNDERTAKING_ORDER_ADJUSTMENT_PRICE
.
getCode
());
ORDER_NOTICE_MAP
.
put
(
CUSTOM_OWNER_CANCEL_ORDER_CODE
,
BusinessTypeDetail
.
OWNER_CANCEL_ORDER
.
getCode
());
//通知-投诉通知
COMPLAINT_NOTICE_MAP
.
put
(
CUSTOM_DRIVER_SUBMIT_COMPLAINT_CODE
,
BusinessTypeDetail
.
DRIVER_SUBMIT_COMPLAINT
.
getCode
());
//上报-司机上报
DRIVER_REPORT_MAP
.
put
(
CUSTOM_DRIVER_REPORT_SEND_INFO_CODE
,
BusinessTypeDetail
.
DRIVER_REPORT_SEND_INFO
.
getCode
());
DRIVER_REPORT_MAP
.
put
(
CUSTOM_DRIVER_REPORT_EXCEPTION_SITUATION_CODE
,
BusinessTypeDetail
.
DRIVER_REPORT_EXCEPTION_SITUATION
.
getCode
());
DRIVER_REPORT_MAP
.
put
(
CUSTOM_DRIVER_REPORT_NO_TAKE_ORDER_CODE
,
BusinessTypeDetail
.
DRIVER_REPORT_NO_TAKE_ORDER
.
getCode
());
DRIVER_REPORT_MAP
.
put
(
CUSTOM_DRIVER_REPORT_TRAFFIC_SITUATION_CODE
,
BusinessTypeDetail
.
DRIVER_REPORT_TRAFFIC_SITUATION
.
getCode
());
DRIVER_REPORT_MAP
.
put
(
CUSTOM_DRIVER_REPORT_COAL_QUALITY_CODE
,
BusinessTypeDetail
.
DRIVER_REPORT_COAL_QUALITY
.
getCode
());
DRIVER_REPORT_MAP
.
put
(
CUSTOM_DRIVER_REPORT_LINE_UP_INFO_CODE
,
BusinessTypeDetail
.
DRIVER_REPORT_LINE_UP_INFO
.
getCode
());
DRIVER_REPORT_MAP
.
put
(
CUSTOM_DRIVER_REPORT_POSITION_CODE
,
BusinessTypeDetail
.
DRIVER_REPORT_POSITION
.
getCode
());
DRIVER_REPORT_MAP
.
put
(
CUSTOM_DRIVER_REPORT_REFUEL_CODE
,
BusinessTypeDetail
.
DRIVER_REPORT_REFUEL
.
getCode
());
DRIVER_REPORT_MAP
.
put
(
CUSTOM_DRIVER_REPORT_OTHER_CODE
,
BusinessTypeDetail
.
DRIVER_REPORT_OTHER
.
getCode
());
//上报-内部上报
INTERNAL_REPORT_MAP
.
put
(
CUSTOM_DRIVER_REPORT_SEND_INFO_CODE
,
BusinessTypeDetail
.
INTERNAL_REPORT_ROUTE
.
getCode
());
INTERNAL_REPORT_MAP
.
put
(
CUSTOM_INTERNAL_REPORT_TRAFFIC_VOLUME_CODE
,
BusinessTypeDetail
.
INTERNAL_REPORT_TRAFFIC_VOLUME
.
getCode
());
INTERNAL_REPORT_MAP
.
put
(
CUSTOM_INTERNAL_REPORT_SITE_RULES_CODE
,
BusinessTypeDetail
.
INTERNAL_REPORT_SITE_RULES
.
getCode
());
INTERNAL_REPORT_MAP
.
put
(
CUSTOM_INTERNAL_REPORT_SCHEDULING_EXCEPTION_CODE
,
BusinessTypeDetail
.
INTERNAL_REPORT_SCHEDULING_EXCEPTION
.
getCode
());
INTERNAL_REPORT_MAP
.
put
(
CUSTOM_INTERNAL_REPORT_COORDINATE_POSITION_CODE
,
BusinessTypeDetail
.
INTERNAL_REPORT_COORDINATE_POSITION
.
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
{
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
();
}
}
@Getter
@AllArgsConstructor
public
enum
BusinessTypeDetail
{
//预警-运单预警
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,卸车超时,请尽快处理。"
),
//预警-线路预警
TAKE
(
"TAKE"
,
"预警通知:接单预警"
,
"货单【%s】,触发接单预警,请尽快处理。"
),
UNLOAD
(
"UNLOAD"
,
"预警通知:卸车预警"
,
"货单【%s】,触发卸车预警,请尽快处理。"
),
CONGESTION
(
"CONGESTION"
,
"预警通知:拥堵预警"
,
"货单【%s】,触发拥堵,请尽快处理。"
),
WEATHER
(
"WEATHER"
,
"预警通知:天气预警"
,
"货单【%s】,触发天气预警,请尽快处理。"
),
CHILD_ABNORMAL
(
"CHILD_ABNORMAL"
,
"预警通知:运单异常"
,
"货单【%s】,触发运单预警,请尽快处理。"
),
LINE_ABNORMAL
(
"LINE_ABNORMAL"
,
"预警通知:线路异常"
,
"货单【%s】,触发线路预警,请尽快处理。"
),
//待办-待报价订单
WAIT_QUOTATION
(
"WAIT_QUOTATION"
,
"订单待报价"
,
"您收到了一条货主的订单,请尽快进行报价。"
),
QUOTATION_REJECT
(
"QUOTATION_REJECT"
,
"报价驳回:重新报价"
,
"您的订单【%s】报价已被驳回,请重新报价。"
),
//待办-待审核事项
WAIT_AUDIT_LICENCE_AUTH
(
"WAIT_AUDIT_LICENCE"
,
"待审核:司机驾驶认证"
,
"您有一个司机认证待审核,请及时处理。"
),
WAIT_AUDIT_TRUCK_AUTH
(
"WAIT_AUDIT_TRUCK_AUTH"
,
"待审核:司机车辆认证"
,
"您有一个车辆认证待审核,请及时处理。"
),
PLATFORM_UNDERTAKING
(
"PLATFORM_UNDERTAKING"
,
"已承接订单"
,
"【%s】货主已同意报价,平台已承接。"
),
OWNER_TRIGGER_BREAK_CONTRACT
(
"OWNER_TRIGGER_BREAK_CONTRACT"
,
"货主违约通知"
,
"您收到一条货主违约信息,违约编号【%s】"
),
DRIVER_TRIGGER_BREAK_CONTRACT
(
"DRIVER_TRIGGER_BREAK_CONTRACT"
,
"司机违约通知"
,
"您收到一条司机违约信息,违约编号【%s】"
),
RECEIVE_SUB_WEIGHT_APPLY
(
"RECEIVE_SUB_WEIGHT_APPLY"
,
"收到减吨申请"
,
"您收到一条司机违约信息,违约编号【%s】"
),
RECEIVE_DELAY_APPLY
(
"RECEIVE_DELAY_APPLY"
,
"收到延期申请"
,
"您收到一条延期申请,订单编号【%s】。"
),
AGREE_SUB_WEIGHT_APPLY
(
"AGREE_SUB_WEIGHT_APPLY"
,
"货主同意减吨申请"
,
"货主已同意您的减吨申请,订单编号【%s】。"
),
REJECT_SUB_WEIGHT_APPLY
(
"REJECT_SUB_WEIGHT_APPLY"
,
"货主拒绝减吨申请"
,
"货主已拒绝您的减吨申请,订单编号【%s】。"
),
AGREE_DELAY_APPLY
(
"AGREE_DELAY_APPLY"
,
"货主同意延期申请"
,
"货主已同意您的延期申请,订单编号【%s】。"
),
REJECT_DELAY_APPLY
(
"REJECT_DELAY_APPLY"
,
"货主拒绝延期申请"
,
"货主已拒绝您的延期申请,订单编号【%s】。"
),
//代办-待创建货单
WAIT_CREATE_ORDER_GOODS
(
"WAIT_CREATE_ORDER_GOODS"
,
"货单待创建"
,
"【%s】货主已同意报价,请及时创建货单。"
),
OWNER_AGREE_UNDERTAKING_ORDER_ADJUSTMENT_PRICE
(
"OWNER_AGREE_UNDERTAKING_ORDER_ADJUSTMENT_PRICE"
,
"货主同意调价申请"
,
"货主已同意您的调价申请,【%s】。"
),
//已承接订单
//通知-订单通知
OWNER_AGREE_POST_ORDER_ORDER_ADJUSTMENT_PRICE
(
"OWNER_AGREE_POST_ORDER_ORDER_ADJUSTMENT_PRICE"
,
"货主同意调价申请"
,
"货主已同意您的调价申请,【%s】。"
),
//已挂单订单
OWNER_REJECT_UNDERTAKING_ORDER_ADJUSTMENT_PRICE
(
"OWNER_REJECT_UNDERTAKING_ORDER_ADJUSTMENT_PRICE"
,
"货主拒绝调价申请"
,
"货主已拒绝您的调价申请,订单编号【】。"
),
//已承接订单
OWNER_CANCEL_ORDER
(
"OWNER_CANCEL_ORDER"
,
"货主已取消订单"
,
"货主已取消订单,订单编号【%s】。"
),
//通知-投诉通知
DRIVER_SUBMIT_COMPLAINT
(
"DRIVER_SUBMIT_COMPLAINT"
,
"客户投诉"
,
"您收到了一条客户投诉,运单编号【%s】,投诉类型【%s】,投诉内容【%s】。"
),
//上报-司机上报、
DRIVER_REPORT_SEND_INFO
(
"DRIVER_REPORT_SEND_INFO"
,
"待审核:司机货源地信息上报"
,
"【%s】上报了一条货源地信息,请前往处理审核。"
),
DRIVER_REPORT_EXCEPTION_SITUATION
(
"DRIVER_REPORT_EXCEPTION_SITUATION"
,
"待审核:司机异常情况上报"
,
"【%s】上报了一条异常信息,异常类型【】,异常原因【】请前往处理审核。"
),
DRIVER_REPORT_NO_TAKE_ORDER
(
"DRIVER_REPORT_NO_TAKE_ORDER"
,
"待审核:无接单上报"
,
"【%s】上报了一条无接单信息,无接单原因【】,请前往处理审核。"
),
DRIVER_REPORT_TRAFFIC_SITUATION
(
"DRIVER_REPORT_TRAFFIC_SITUATION"
,
"待审核:交通情况上报"
,
"【%s】上报了一条交通信息,请前往处理审核。"
),
DRIVER_REPORT_COAL_QUALITY
(
"DRIVER_REPORT_COAL_QUALITY"
,
"待审核:煤炭质量上报"
,
"【%s】上报了一条煤炭质量信息,请前往处理审核。"
),
DRIVER_REPORT_LINE_UP_INFO
(
"DRIVER_REPORT_LINE_UP_INFO"
,
"待审核:排队信息上报"
,
"【%s】上报了一条排队信息,请前往处理审核。"
),
DRIVER_REPORT_POSITION
(
"DRIVER_REPORT_POSITION"
,
"司机上报:位置"
,
"【%s】上报了一条位置信息【%s】。"
),
DRIVER_REPORT_REFUEL
(
"DRIVER_REPORT_REFUEL"
,
"司机上报:油表信息"
,
"【%s】上报了一条油表信息。"
),
DRIVER_REPORT_OTHER
(
"DRIVER_REPORT_OTHER"
,
"司机上报:其他"
,
"【%s】上报了一条其他信息,内容为:【%s】。"
),
//上报-内部上报
INTERNAL_REPORT_ROUTE
(
"INTERNAL_REPORT_ROUTE"
,
"内部上报:线路信息"
,
"【%s】上报了一条线路信息,请点击查看。"
),
INTERNAL_REPORT_TRAFFIC_VOLUME
(
"INTERNAL_REPORT_TRAFFIC_VOLUME"
,
"内部上报:车流量"
,
"【%s】上报了一条车流量信息,请点击查看。"
),
INTERNAL_REPORT_SITE_RULES
(
"INTERNAL_REPORT_SITE_RULES"
,
"内部上报:厂区规则"
,
"【%s】上报了一条厂区规定,规定内容【%s】,请点击查看。"
),
INTERNAL_REPORT_SCHEDULING_EXCEPTION
(
"INTERNAL_REPORT_SCHEDULING_EXCEPTION"
,
"内部上报:调度异常"
,
"【%s】上报了一条调度异常,异常情况【%s】,异常内容【%s】,请点击查看。"
),
INTERNAL_REPORT_COORDINATE_POSITION
(
"INTERNAL_REPORT_COORDINATE_POSITION"
,
"内部上报:位置坐标"
,
"【%s】上报了一条位置坐标,请点击查看。"
),
;
private
final
String
code
;
private
final
String
title
;
private
final
String
content
;
public
static
Optional
<
BusinessTypeDetail
>
getByCode
(
String
code
)
{
return
Arrays
.
stream
(
values
()).
filter
(
e
->
e
.
code
.
equals
(
code
)).
findFirst
();
}
public
static
String
getTitle
(
String
code
)
{
if
(
code
==
null
)
{
return
null
;}
return
getByCode
(
code
).
map
(
BusinessTypeDetail:
:
getTitle
).
orElse
(
null
);
}
}
@Getter
@AllArgsConstructor
public
enum
BusinessType
{
CHILD_WARN
(
"CHILD_WARN"
,
"运单预警"
),
LINE_WARN
(
"LINE_WARN"
,
"线路预警"
),
WAIT_QUOTATION_ORDER
(
"WAIT_QUOTATION_ORDER"
,
"待报价订单"
),
WAIT_APPROVED_ITEM
(
"WAIT_APPROVED_ITEM"
,
"待审核事项"
),
WAIT_CREATE_ORDER_GOODS
(
"WAIT_CREATE_ORDER_GOODS"
,
"待创建货单"
),
ORDER_NOTICE
(
"ORDER_NOTICE"
,
"订单通知"
),
COMPLAINT_NOTICE
(
"COMPLAINT_NOTICE"
,
"投诉通知"
),
DRIVER_REPORT
(
"DRIVER_REPORT"
,
"司机上报"
),
INTERNAL_REPORT
(
"INTERNAL_REPORT"
,
"内部上报"
),
;
private
final
String
code
;
private
final
String
name
;
public
static
Optional
<
BusinessType
>
getByCode
(
String
code
)
{
return
Arrays
.
stream
(
values
()).
filter
(
e
->
e
.
code
.
equals
(
code
)).
findFirst
();
}
public
static
String
getName
(
String
code
)
{
if
(
code
==
null
)
{
return
null
;}
return
getByCode
(
code
).
map
(
BusinessType:
:
getName
).
orElse
(
null
);
}
}
@Getter
@AllArgsConstructor
public
enum
PlatformType
{
CARRIER
(
"carrier-platform-npc"
,
"承运平台"
),
DRIVER_APP
(
"carrier-driver-app"
,
"司机APP"
),
;
private
final
String
code
;
private
final
String
name
;
public
static
Optional
<
PlatformType
>
getByCode
(
String
code
)
{
return
Arrays
.
stream
(
values
()).
filter
(
e
->
e
.
code
.
equals
(
code
)).
findFirst
();
}
public
static
String
getName
(
String
code
)
{
if
(
code
==
null
)
{
return
null
;}
return
getByCode
(
code
).
map
(
PlatformType:
:
getName
).
orElse
(
null
);
}
}
//预警、待办、通知、上报
@Getter
@AllArgsConstructor
public
enum
MessageType
{
WARN
(
"WARN"
,
"预警"
),
WAIT_DEAL
(
"WAIT_DEAL"
,
"待办"
),
NOTICE
(
"NOTICE"
,
"通知"
),
REPORT
(
"REPORT"
,
"上报"
),
;
private
final
String
code
;
private
final
String
name
;
public
static
Optional
<
MessageType
>
getByCode
(
String
code
)
{
return
Arrays
.
stream
(
values
()).
filter
(
e
->
e
.
code
.
equals
(
code
)).
findFirst
();
}
public
static
String
getName
(
String
code
)
{
if
(
code
==
null
)
{
return
null
;}
return
getByCode
(
code
).
map
(
MessageType:
:
getName
).
orElse
(
null
);
}
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论