Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
J
jiedao-api-boot-master
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lanbaoming
jiedao-api-boot-master
Commits
062b8816
Commit
062b8816
authored
Dec 13, 2024
by
honghy
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
订单短信日志
parent
8e2d5c9b
Changes
10
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
137 additions
and
25 deletions
+137
-25
20241120hhy.sql
sql/v2.3/20241120hhy.sql
+5
-0
CustomerOperateTypeEnum.java
...coder/yudao/module/ecw/enums/CustomerOperateTypeEnum.java
+1
-1
MemberUserApiImpl.java
...coder/yudao/module/member/api/user/MemberUserApiImpl.java
+23
-0
MemberAuthServiceImpl.java
...dao/module/member/service/auth/MemberAuthServiceImpl.java
+60
-1
OrderCargoControlServiceImpl.java
...rvice/orderCargoControl/OrderCargoControlServiceImpl.java
+2
-0
OrderCargoControlPickServiceImpl.java
...derCargoControlPick/OrderCargoControlPickServiceImpl.java
+4
-0
OrderWarehouseInServiceImpl.java
...service/orderWarehouseIn/OrderWarehouseInServiceImpl.java
+7
-1
BoxServiceImpl.java
...der/yudao/module/shipment/service/box/BoxServiceImpl.java
+13
-0
BoxController.java
...yudao/module/shipment/controller/admin/BoxController.java
+1
-1
SmsNodeEnum.java
...cn/iocoder/yudao/module/system/enums/sms/SmsNodeEnum.java
+21
-21
No files found.
sql/v2.3/20241120hhy.sql
View file @
062b8816
...
...
@@ -133,6 +133,11 @@ INSERT INTO `jiedao`.`system_dict_data`(`sort`, `label`, `value`, `dict_type`, `
INSERT
INTO
`jiedao`
.
`system_dict_data`
(
`sort`
,
`label`
,
`value`
,
`dict_type`
,
`status`
,
`color_type`
,
`css_class`
,
`remark`
,
`creator`
,
`create_time`
,
`updater`
,
`update_time`
,
`deleted`
,
`label_en`
)
VALUES
(
3
,
'中文'
,
'zh_CN'
,
'system_sms_template_language'
,
0
,
'default'
,
''
,
NULL
,
'2741'
,
'2024-11-22 15:30:09'
,
'2741'
,
'2024-11-22 15:31:05'
,
b
'0'
,
'zh_CN'
);
INSERT
INTO
`jiedao`
.
`system_dict_data`
(
`sort`
,
`label`
,
`value`
,
`dict_type`
,
`status`
,
`color_type`
,
`css_class`
,
`remark`
,
`creator`
,
`create_time`
,
`updater`
,
`update_time`
,
`deleted`
,
`label_en`
)
VALUES
(
2
,
'法文'
,
'fr'
,
'system_sms_template_language'
,
0
,
'default'
,
''
,
NULL
,
'2741'
,
'2024-11-22 15:30:46'
,
'2741'
,
'2024-11-22 15:31:01'
,
b
'0'
,
'fr'
);
--客户操作日志类型
INSERT
INTO
`jiedao`
.
`system_dict_data`
(
`sort`
,
`label`
,
`value`
,
`dict_type`
,
`status`
,
`color_type`
,
`css_class`
,
`remark`
,
`creator`
,
`create_time`
,
`updater`
,
`update_time`
,
`deleted`
,
`label_en`
,
`label_fr`
)
VALUES
(
34
,
'验证码发送'
,
'34'
,
'customer_operate_type'
,
0
,
'default'
,
''
,
NULL
,
'2741'
,
'2024-12-13 14:05:59'
,
'2741'
,
'2024-12-13 14:05:59'
,
b
'0'
,
'Verification code'
,
'CAPTCHA'
);
INSERT
INTO
`jiedao`
.
`system_sms_node`
(
`node_value`
,
`is_transport`
,
`transport_id`
,
`is_orders`
,
`country_id`
,
`country_code`
,
`status`
,
`template_id_one`
,
`template_id_two`
,
`template_id_three`
,
`template_id_four`
,
`creator`
,
`create_time`
,
`updater`
,
`update_time`
,
`deleted`
)
VALUES
(
'air-shipment-warehouse'
,
1
,
3
,
1
,
0
,
'0'
,
0
,
51
,
NULL
,
NULL
,
NULL
,
'2740'
,
'2024-11-14 15:17:49'
,
'2740'
,
'2024-11-15 09:45:52'
,
b
'0'
);
INSERT
INTO
`jiedao`
.
`system_sms_node`
(
`node_value`
,
`is_transport`
,
`transport_id`
,
`is_orders`
,
`country_id`
,
`country_code`
,
`status`
,
`template_id_one`
,
`template_id_two`
,
`template_id_three`
,
`template_id_four`
,
`creator`
,
`create_time`
,
`updater`
,
`update_time`
,
`deleted`
)
VALUES
(
'air-shipment-warehouse'
,
1
,
3
,
0
,
0
,
'0'
,
0
,
50
,
NULL
,
NULL
,
NULL
,
'2740'
,
'2024-11-14 15:17:36'
,
'2740'
,
'2024-11-15 09:45:44'
,
b
'0'
);
INSERT
INTO
`jiedao`
.
`system_sms_node`
(
`node_value`
,
`is_transport`
,
`transport_id`
,
`is_orders`
,
`country_id`
,
`country_code`
,
`status`
,
`template_id_one`
,
`template_id_two`
,
`template_id_three`
,
`template_id_four`
,
`creator`
,
`create_time`
,
`updater`
,
`update_time`
,
`deleted`
)
VALUES
(
'warehouse-in'
,
1
,
3
,
0
,
0
,
'0'
,
0
,
47
,
NULL
,
NULL
,
NULL
,
'2740'
,
'2024-11-13 17:11:09'
,
'2740'
,
'2024-11-13 17:11:09'
,
b
'0'
);
...
...
yudao-module-ecw/yudao-module-ecw-api/src/main/java/cn/iocoder/yudao/module/ecw/enums/CustomerOperateTypeEnum.java
View file @
062b8816
...
...
@@ -69,7 +69,7 @@ public enum CustomerOperateTypeEnum {
CUSTOMER_MERGE
(
33
,
"客户合并"
),
VERIFICATION_CODE
(
34
,
"验证码发送"
),
DELETE
(
100
,
"删除"
),
...
...
yudao-module-member/yudao-module-member-impl/src/main/java/cn/iocoder/yudao/module/member/api/user/MemberUserApiImpl.java
View file @
062b8816
package
cn
.
iocoder
.
yudao
.
module
.
member
.
api
.
user
;
import
cn.iocoder.yudao.framework.common.pojo.PageResult
;
import
cn.iocoder.yudao.module.customer.dal.dataobject.customer.CustomerDO
;
import
cn.iocoder.yudao.module.customer.dal.mysql.customer.CustomerMapper
;
import
cn.iocoder.yudao.module.customer.service.customerOperateLog.CustomerOperateLogService
;
import
cn.iocoder.yudao.module.customer.vo.customerOperateLog.CustomerOperateLogCreateReqVO
;
import
cn.iocoder.yudao.module.ecw.enums.CustomerOperateTypeEnum
;
import
cn.iocoder.yudao.module.member.api.user.dto.UserRespDTO
;
import
cn.iocoder.yudao.module.member.api.user.dto.UserSelectReqVO
;
import
cn.iocoder.yudao.module.member.convert.user.UserConvert
;
...
...
@@ -35,6 +40,12 @@ public class MemberUserApiImpl implements MemberUserApi {
@Resource
private
UserOperationLogService
userOperationLogService
;
@Resource
private
CustomerMapper
customerMapper
;
@Resource
private
CustomerOperateLogService
customerOperateLogService
;
@Override
public
UserRespDTO
getUser
(
Long
id
)
{
MemberUserDO
user
=
userService
.
info
(
id
);
...
...
@@ -60,6 +71,18 @@ public class MemberUserApiImpl implements MemberUserApi {
.
setIp
(
getClientIP
())
.
setContent
(
content
);
userOperationLogService
.
createUserOperationLog
(
userOperationLogCreateReqVO
);
//通过memberUserId获取Customer
CustomerDO
customer
=
customerMapper
.
getByMemberUserId
(
userDO
.
getId
());
CustomerOperateLogCreateReqVO
customerOperateLogCreateReqVO
=
new
CustomerOperateLogCreateReqVO
()
.
setOperator
(
1
l
)
.
setOperatorName
(
"admin"
)
.
setCustomerId
(
customer
.
getId
())
.
setNumber
(
customer
.
getNumber
())
.
setName
(
customer
.
getName
())
.
setOperateType
(
CustomerOperateTypeEnum
.
VERIFICATION_CODE
.
getValue
())
.
setRemark
(
content
);
//记录日志
customerOperateLogService
.
createOperateLog
(
customerOperateLogCreateReqVO
);
}
@Override
...
...
yudao-module-member/yudao-module-member-impl/src/main/java/cn/iocoder/yudao/module/member/service/auth/MemberAuthServiceImpl.java
View file @
062b8816
...
...
@@ -11,9 +11,14 @@ import cn.iocoder.yudao.framework.common.util.validation.PhoneUtil;
import
cn.iocoder.yudao.framework.i18n.core.I18nMessage
;
import
cn.iocoder.yudao.framework.security.core.LoginUser
;
import
cn.iocoder.yudao.framework.security.core.authentication.MultiUsernamePasswordAuthenticationToken
;
import
cn.iocoder.yudao.module.customer.dal.dataobject.customer.CustomerDO
;
import
cn.iocoder.yudao.module.customer.dal.mysql.customer.CustomerMapper
;
import
cn.iocoder.yudao.module.customer.service.customerOperateLog.CustomerOperateLogService
;
import
cn.iocoder.yudao.module.customer.vo.customerOperateLog.CustomerOperateLogCreateReqVO
;
import
cn.iocoder.yudao.module.ecw.api.internalMessage.ClientInternalMessageApi
;
import
cn.iocoder.yudao.module.ecw.api.internalMessage.dto.InternalMessageCreateDto
;
import
cn.iocoder.yudao.module.ecw.api.paramValid.ParamValidatorApi
;
import
cn.iocoder.yudao.module.ecw.enums.CustomerOperateTypeEnum
;
import
cn.iocoder.yudao.module.member.api.ScoreProducerApi
;
import
cn.iocoder.yudao.module.member.controller.app.auth.vo.*
;
import
cn.iocoder.yudao.module.member.convert.auth.AuthConvert
;
...
...
@@ -100,6 +105,12 @@ public class MemberAuthServiceImpl implements MemberAuthService {
@Resource
private
ScoreProducerApi
scoreProducerApi
;
@Resource
private
CustomerMapper
customerMapper
;
@Resource
private
CustomerOperateLogService
customerOperateLogService
;
@Override
public
UserDetails
loadUserByUsername
(
String
mobile
)
throws
UsernameNotFoundException
{
// 获取 username 对应的 SysUserDO
...
...
@@ -125,6 +136,18 @@ public class MemberAuthServiceImpl implements MemberAuthService {
MemberUserDO
user
=
userService
.
createUser
(
reqVO
.
getMobile
(),
userIp
,
reqVO
.
getPassword
(),
reqVO
.
getAreaCode
(),
reqVO
.
getEnglishName
(),
reqVO
.
getReferralCode
(),
reqVO
.
getRegisterPlatform
());
Assert
.
notNull
(
user
,
"创建用户失败,结果为空"
);
//通过memberUserId获取Customer
CustomerDO
customer
=
customerMapper
.
getByMemberUserId
(
user
.
getId
());
CustomerOperateLogCreateReqVO
customerOperateLogCreateReqVO
=
new
CustomerOperateLogCreateReqVO
()
.
setOperator
(
1
l
)
.
setOperatorName
(
"admin"
)
.
setCustomerId
(
customer
.
getId
())
.
setNumber
(
customer
.
getNumber
())
.
setName
(
customer
.
getName
())
.
setOperateType
(
CustomerOperateTypeEnum
.
VERIFICATION_CODE
.
getValue
())
.
setRemark
(
"手机注册成功"
);
//记录日志
customerOperateLogService
.
createOperateLog
(
customerOperateLogCreateReqVO
);
//记录日志
UserOperationLogCreateReqVO
userOperationLogCreateReqVO
=
new
UserOperationLogCreateReqVO
();
userOperationLogCreateReqVO
...
...
@@ -454,7 +477,18 @@ public class MemberAuthServiceImpl implements MemberAuthService {
.
setTitle
(
UserOperationLogTypeEnum
.
RELEASE
.
getDesc
())
.
setIp
(
getClientIP
())
.
setContent
(
"修改放货密码成功"
);
//通过memberUserId获取Customer
CustomerDO
customer
=
customerMapper
.
getByMemberUserId
(
userDO
.
getId
());
CustomerOperateLogCreateReqVO
customerOperateLogCreateReqVO
=
new
CustomerOperateLogCreateReqVO
()
.
setOperator
(
1
l
)
.
setOperatorName
(
"admin"
)
.
setCustomerId
(
customer
.
getId
())
.
setNumber
(
customer
.
getNumber
())
.
setName
(
customer
.
getName
())
.
setOperateType
(
CustomerOperateTypeEnum
.
VERIFICATION_CODE
.
getValue
())
.
setRemark
(
"修改放货密码成功"
);
//记录日志
customerOperateLogService
.
createOperateLog
(
customerOperateLogCreateReqVO
);
userOperationLogService
.
createUserOperationLog
(
userOperationLogCreateReqVO
);
}
...
...
@@ -478,6 +512,18 @@ public class MemberAuthServiceImpl implements MemberAuthService {
.
setIp
(
getClientIP
())
.
setContent
(
"修改密码验证码"
);
userOperationLogService
.
createUserOperationLog
(
userOperationLogCreateReqVO
);
//通过memberUserId获取Customer
CustomerDO
customer
=
customerMapper
.
getByMemberUserId
(
userDO
.
getId
());
CustomerOperateLogCreateReqVO
customerOperateLogCreateReqVO
=
new
CustomerOperateLogCreateReqVO
()
.
setOperator
(
1
l
)
.
setOperatorName
(
"admin"
)
.
setCustomerId
(
customer
.
getId
())
.
setNumber
(
customer
.
getNumber
())
.
setName
(
customer
.
getName
())
.
setOperateType
(
CustomerOperateTypeEnum
.
VERIFICATION_CODE
.
getValue
())
.
setRemark
(
"修改密码验证码"
);
//记录日志
customerOperateLogService
.
createOperateLog
(
customerOperateLogCreateReqVO
);
}
else
if
(
reqVO
.
getNodeValue
().
equals
(
SmsNodeEnum
.
MEMBER_LOGIN
.
getNodeValue
()))
{
// 检验用户是否存在
MemberUserDO
userDO
=
checkUserIfExists
(
reqVO
.
getMobile
());
...
...
@@ -489,9 +535,22 @@ public class MemberAuthServiceImpl implements MemberAuthService {
.
setTitle
(
UserOperationLogTypeEnum
.
SEND_CODE
.
getDesc
())
.
setIp
(
getClientIP
())
.
setContent
(
"登录验证码"
);
//通过memberUserId获取Customer
CustomerDO
customer
=
customerMapper
.
getByMemberUserId
(
userDO
.
getId
());
CustomerOperateLogCreateReqVO
customerOperateLogCreateReqVO
=
new
CustomerOperateLogCreateReqVO
()
.
setOperator
(
1
l
)
.
setOperatorName
(
"admin"
)
.
setCustomerId
(
customer
.
getId
())
.
setNumber
(
customer
.
getNumber
())
.
setName
(
customer
.
getName
())
.
setOperateType
(
CustomerOperateTypeEnum
.
VERIFICATION_CODE
.
getValue
())
.
setRemark
(
"登录验证码"
);
//记录日志
customerOperateLogService
.
createOperateLog
(
customerOperateLogCreateReqVO
);
userOperationLogService
.
createUserOperationLog
(
userOperationLogCreateReqVO
);
}
// TODO 要根据不同的场景,校验是否有用户
smsCodeApi
.
sendSmsCode
(
AuthConvert
.
INSTANCE
.
convert
(
reqVO
).
setCreateIp
(
getClientIP
()));
}
...
...
yudao-module-order/yudao-module-order-core/src/main/java/cn/iocoder/yudao/module/order/service/orderCargoControl/OrderCargoControlServiceImpl.java
View file @
062b8816
...
...
@@ -327,6 +327,8 @@ public class OrderCargoControlServiceImpl extends AbstractService<OrderCargoCont
smsCodeSendReqDTO
.
setAreaCode
(
String
.
valueOf
(
orderCargoControlDO
.
getDialCode
()));
smsCodeSendReqDTO
.
setMobile
(
orderCargoControlDO
.
getPhone
());
}
orderBusinessService
.
addOrderOperateLog
(
orderCargoControlDO
.
getOrderId
(),
"验证码发送"
,
SmsNodeEnum
.
getCodeByNodeValue
(
reqVO
.
getNodeValue
()).
getDescription
(),
""
);
smsCodeApi
.
sendSmsCode
(
smsCodeSendReqDTO
);
}
...
...
yudao-module-order/yudao-module-order-core/src/main/java/cn/iocoder/yudao/module/order/service/orderCargoControlPick/OrderCargoControlPickServiceImpl.java
View file @
062b8816
...
...
@@ -1189,6 +1189,8 @@ public class OrderCargoControlPickServiceImpl extends AbstractService<OrderCargo
controlLogParam
.
setOrderId
(
orderCargoControlPickApplyVO
.
getOrderId
());
controlLogParam
.
setApprovalId
(
orderApprovalDO
.
getOrderApprovalId
());
controlLogParams
.
add
(
controlLogParam
);
orderBusinessService
.
addOrderOperateLog
(
orderCargoControlPickApplyVO
.
getOrderId
(),
"短信发送"
,
SmsNodeEnum
.
NOTIFICATION_SUCCESS_CANCEL_DELIVERY
.
getDescription
(),
""
);
// 发送取消放货短信通知
this
.
smsSendSendSingle
(
orderDO
,
SmsNodeEnum
.
NOTIFICATION_SUCCESS_CANCEL_DELIVERY
.
getNodeValue
(),
0
,
null
,
orderCargoControlPickDO
);
}
...
...
@@ -1313,6 +1315,8 @@ public class OrderCargoControlPickServiceImpl extends AbstractService<OrderCargo
throw
exception
(
ORDER_CARGO_CONTROL_PICK_STATUS_ERROR
);
}
OrderDO
orderDO
=
orderService
.
getById
(
orderCargoControlPickDO
.
getOrderId
());
orderBusinessService
.
addOrderOperateLog
(
orderCargoControlPickDO
.
getOrderId
(),
"短信发送"
,
SmsNodeEnum
.
NOTIFICATION_SUCCESS_DELIVERY
.
getDescription
(),
""
);
// 发送放货短信通知
this
.
smsSendSendSingle
(
orderDO
,
NOTIFICATION_SUCCESS_DELIVERY
.
getNodeValue
(),
orderCargoControlPickDO
.
getPickNum
(),
null
,
orderCargoControlPickDO
);
// 需要处理订单状态
...
...
yudao-module-order/yudao-module-order-core/src/main/java/cn/iocoder/yudao/module/order/service/orderWarehouseIn/OrderWarehouseInServiceImpl.java
View file @
062b8816
...
...
@@ -2369,6 +2369,8 @@ public class OrderWarehouseInServiceImpl extends AbstractService<OrderWarehouseI
reqDTO
.
setIsOrders
(
SmsIsOrdersEnum
.
SMS_ORDERS_0
.
getValue
());
reqDTO
.
setMessageType
(
SmsMessageTypeEnum
.
SMS_MESSAGE_TYPE_1
.
getValue
());
orderBusinessService
.
addOrderOperateLog
(
orderDO
.
getOrderId
(),
"短信发送"
,
SmsNodeEnum
.
getCodeByNodeValue
(
nodeValue
).
getDescription
(),
""
);
// 发送追加通知短信
smsSendApi
.
sendSingleSmsToAdminV2
(
reqDTO
,
logisticsInfoDto
.
getDestCountryId
()+
Constants
.
COLON
+
logisticsInfoDto
.
getDestCityId
()+
Constants
.
COLON
+
logisticsInfoDto
.
getChannelId
());
...
...
@@ -2427,6 +2429,7 @@ public class OrderWarehouseInServiceImpl extends AbstractService<OrderWarehouseI
reqDTO
.
setTransportId
(
orderDO
.
getTransportId
());
reqDTO
.
setIsOrders
(
SmsIsOrdersEnum
.
SMS_ORDERS_0
.
getValue
());
reqDTO
.
setMessageType
(
SmsMessageTypeEnum
.
SMS_MESSAGE_TYPE_1
.
getValue
());
smsSendApi
.
sendSingleSmsToAdminV2
(
reqDTO
,
logisticsInfoDto
.
getDestCountryId
()+
Constants
.
COLON
+
logisticsInfoDto
.
getDestCityId
()+
Constants
.
COLON
+
logisticsInfoDto
.
getChannelId
());
}
...
...
@@ -2475,6 +2478,7 @@ public class OrderWarehouseInServiceImpl extends AbstractService<OrderWarehouseI
reqDTO
.
setTransportId
(
orderDO
.
getTransportId
());
reqDTO
.
setIsOrders
(
SmsIsOrdersEnum
.
SMS_ORDERS_0
.
getValue
());
reqDTO
.
setMessageType
(
SmsMessageTypeEnum
.
SMS_MESSAGE_TYPE_1
.
getValue
());
smsSendApi
.
sendSingleSmsToAdminV2
(
reqDTO
,
logisticsInfoDto
.
getDestCountryId
()+
Constants
.
COLON
+
logisticsInfoDto
.
getDestCityId
()+
Constants
.
COLON
+
logisticsInfoDto
.
getChannelId
());
...
...
@@ -2518,12 +2522,14 @@ public class OrderWarehouseInServiceImpl extends AbstractService<OrderWarehouseI
reqDTO2
.
setTransportId
(
orderDO
.
getTransportId
());
reqDTO2
.
setIsOrders
(
SmsIsOrdersEnum
.
SMS_ORDERS_0
.
getValue
());
reqDTO2
.
setMessageType
(
SmsMessageTypeEnum
.
SMS_MESSAGE_TYPE_1
.
getValue
());
smsSendApi
.
sendSingleSmsToAdminV2
(
reqDTO2
,
logisticsInfoDto
.
getDestCountryId
()+
Constants
.
COLON
+
logisticsInfoDto
.
getDestCityId
()+
Constants
.
COLON
+
logisticsInfoDto
.
getChannelId
());
}
}
}
orderBusinessService
.
addOrderOperateLog
(
orderDO
.
getOrderId
(),
"短信发送"
,
SmsNodeEnum
.
getCodeByNodeValue
(
nodeValue
).
getDescription
(),
""
);
// 更新订单入仓短信已发送
orderService
.
update
(
null
,
new
LambdaUpdateWrapper
<
OrderDO
>()
.
set
(
OrderDO:
:
getHasSendRucangSms
,
true
)
...
...
yudao-module-shipment/yudao-module-shipment-core/src/main/java/cn/iocoder/yudao/module/shipment/service/box/BoxServiceImpl.java
View file @
062b8816
...
...
@@ -1631,6 +1631,8 @@ public class BoxServiceImpl extends AbstractService<BoxMapper, BoxDO> implements
List
<
BoxOrderSmsLogDO
>
boxOrderSmsLogDOList
=
new
ArrayList
<>();
// 目的仓
LogisticsInfoDto
logisticsInfoDto
=
null
;
// 日志短信
List
<
Long
>
orderSmsList
=
new
ArrayList
<>();
// 封装需要发送短信的手机号与订单信息
for
(
Long
orderId
:
orderIdList
)
{
// 判断当前货柜的当前订单是否发送过当前的场景短信
...
...
@@ -1643,6 +1645,7 @@ public class BoxServiceImpl extends AbstractService<BoxMapper, BoxDO> implements
log
.
info
(
"出货单【{}】,订单ID【{}】, {}短信已发送过"
,
shipmentId
,
orderId
,
smsNodeEnum
.
getDescription
());
continue
;
}
orderSmsList
.
add
(
orderId
);
OrderBackVO
orderBackVO
=
orderQueryService
.
getOrder
(
orderId
);
if
(
logisticsInfoDto
==
null
)
{
logisticsInfoDto
=
warehouseLineMapper
.
getStartInfoAndDestInfoByLineId
(
orderBackVO
.
getLineId
());
...
...
@@ -1688,6 +1691,7 @@ public class BoxServiceImpl extends AbstractService<BoxMapper, BoxDO> implements
orders
=
new
StringBuilder
();
orders
.
append
(
map
.
get
(
"orderNo"
));
}
String
m
=
map
.
get
(
"marks"
);
// 控制单个marks长度 超出12个字符,截取后面的字符串替换为...
if
(
StringUtils
.
isNotBlank
(
m
)
&&
m
.
length
()
>
12
)
m
=
m
.
replaceAll
(
m
.
substring
(
10
),
"..."
);
...
...
@@ -1784,6 +1788,8 @@ public class BoxServiceImpl extends AbstractService<BoxMapper, BoxDO> implements
reqDTO
.
setIsOrders
(
isOrders
);
reqDTO
.
setMessageType
(
SmsMessageTypeEnum
.
SMS_MESSAGE_TYPE_1
.
getValue
());
//给收发货人发送短信
smsSendApi
.
sendSingleSmsToAdminV2
(
reqDTO
,
logisticsInfoDto
.
getDestCountryId
()+
Constants
.
COLON
+
logisticsInfoDto
.
getDestCityId
()+
Constants
.
COLON
+
logisticsInfoDto
.
getChannelId
());
...
...
@@ -1793,6 +1799,13 @@ public class BoxServiceImpl extends AbstractService<BoxMapper, BoxDO> implements
}
}
}
orderSmsList
.
forEach
(
a
->{
// 订单短信日志
if
(!
SmsNodeEnum
.
SHIPMENT_CLOSE_CONTAINER
.
getNodeValue
().
equals
(
smsNodeEnum
.
getNodeValue
()))
{
orderBusinessService
.
addOrderOperateLog
(
a
,
"短信发送"
,
SmsNodeEnum
.
getCodeByNodeValue
(
smsNodeEnum
.
getNodeValue
()).
getDescription
(),
""
);
}
});
// 将货柜下的每个订单短信发送信息做记录
boxOrderSmsLogService
.
insertBatch
(
boxOrderSmsLogDOList
);
}
...
...
yudao-module-shipment/yudao-module-shipment-rest/src/main/java/cn/iocoder/yudao/module/shipment/controller/admin/BoxController.java
View file @
062b8816
...
...
@@ -322,7 +322,7 @@ public class BoxController {
@ApiImplicitParam
(
name
=
"scene"
,
value
=
"场景编号"
,
required
=
true
,
example
=
"20"
,
dataTypeClass
=
String
.
class
)
})
public
CommonResult
<
Boolean
>
shipmentSmsSend
(
@RequestParam
(
"shipmentId"
)
Long
shipmentId
,
@RequestParam
(
"scene"
)
String
scene
)
{
boxService
.
sendSms
(
shipmentId
,
SmsNodeEnum
.
getCodeBy
Scen
e
(
scene
));
boxService
.
sendSms
(
shipmentId
,
SmsNodeEnum
.
getCodeBy
NodeValu
e
(
scene
));
return
success
(
true
);
}
...
...
yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/enums/sms/SmsNodeEnum.java
View file @
062b8816
...
...
@@ -13,39 +13,39 @@ import lombok.Getter;
@AllArgsConstructor
public
enum
SmsNodeEnum
{
MEMBER_REG
(
"user-sms-reg"
,
"user-sms-reg"
,
"会员用户
- 手机号注册"
),
//测了
MEMBER_REG
(
"user-sms-reg"
,
"user-sms-reg"
,
"会员用户
-手机号注册-验证码发送"
),
MEMBER_LOGIN
(
"user-sms-login"
,
"user-sms-login"
,
"会员用户
- 手机号登陆"
),
//测了
MEMBER_LOGIN
(
"user-sms-login"
,
"user-sms-login"
,
"会员用户
-手机号登陆-验证码发送"
),
MEMBER_UPDATE_MOBILE
(
"user-sms-update-mobile"
,
"user-sms-update-mobile"
,
"会员用户
- 解绑手机"
),
//测了
MEMBER_UPDATE_MOBILE
(
"user-sms-update-mobile"
,
"user-sms-update-mobile"
,
"会员用户
-解绑手机-验证码发送"
),
MEMBER_FORGET_PASSWORD
(
"user-sms-reset-password"
,
"user-sms-reset-password"
,
"会员用户
- 忘记密码"
),
//测了
MEMBER_FORGET_PASSWORD
(
"user-sms-reset-password"
,
"user-sms-reset-password"
,
"会员用户
-忘记密码-验证码发送"
),
TRANSFER_CONTROL_GOODS
(
"transfer-control-goods"
,
"transfer-control-goods"
,
"订单
- 控货权转移"
),
//测了
TRANSFER_CONTROL_GOODS
(
"transfer-control-goods"
,
"transfer-control-goods"
,
"订单
-控货权转移-验证码发送"
),
DELIVERY_VERIFICATION_SMS
(
"delivery-verification-sms"
,
"delivery-verification-sms"
,
"订单
- 放货验证短信"
),
//测了
DELIVERY_VERIFICATION_SMS
(
"delivery-verification-sms"
,
"delivery-verification-sms"
,
"订单
-放货验证短信-验证码发送"
),
NOTIFICATION_SUCCESS_DELIVERY
(
"notification-successful-delivery"
,
"notification-successful-delivery"
,
"订单
- 放货成功通知"
),
//测了
NOTIFICATION_SUCCESS_CANCEL_DELIVERY
(
"notification-successful-cancel-delivery"
,
"notification-successful-cancel-delivery"
,
"订单
- 取消放货通知"
),
//测了
NOTIFICATION_SUCCESS_DELIVERY
(
"notification-successful-delivery"
,
"notification-successful-delivery"
,
"订单
-放货成功通知-短信发送"
),
NOTIFICATION_SUCCESS_CANCEL_DELIVERY
(
"notification-successful-cancel-delivery"
,
"notification-successful-cancel-delivery"
,
"订单
-取消放货通知-短信发送"
),
// NOTIFICATION_SUCCESS_SEASONING_CONDIMENTS("notification-successful-seasoning-condiments", "notification-successful-seasoning-condiments", "订单 - 调货通知"),//暂时没发现调用
MEMBER_REDEEM_REWARD
(
"user-sms-redeem-reward"
,
"user-sms-redeem-reward"
,
"会员用户
- 兑换礼品
"
),
MEMBER_REDEEM_REWARD
(
"user-sms-redeem-reward"
,
"user-sms-redeem-reward"
,
"会员用户
-兑换礼品-验证码发送
"
),
// SHIPMENT_ARRIVALS("shipment-arrivals", "shipment-arrivals", "出货 - 到港通知(多订单)"),//
// SHIPMENT_CUSTOMS_CLEARANCES("shipment-customs-clearances", "shipment-customs-clearances", "出货 - 清关通知(多订单)"),//
// SHIPMENT_CABINETS("shipment-cabinets", "shipment-cabinets", "出货 - 装柜通知(多订单)"),//
SHIPMENT_ARRIVAL
(
"shipment-arrival"
,
"shipment-arrival"
,
"出货
- 到港通知"
),
//h
SHIPMENT_CUSTOMS_CLEARANCE
(
"shipment-customs-clearance"
,
"shipment-customs-clearance"
,
"出货
- 清关通知"
),
//h
SHIPMENT_CABINET
(
"shipment-cabinet"
,
"shipment-cabinet"
,
"出货
- 装柜通知"
),
//h
SHIPMENT_CLOSE_CONTAINER
(
"shipment-close-container"
,
"shipment-close-container"
,
"出货 -
封柜反审
"
),
//好像没发信息
SHIPMENT_ARRIVAL
(
"shipment-arrival"
,
"shipment-arrival"
,
"出货
-到港通知-短信发送"
),
SHIPMENT_CUSTOMS_CLEARANCE
(
"shipment-customs-clearance"
,
"shipment-customs-clearance"
,
"出货
-清关通知-短信发送"
),
SHIPMENT_CABINET
(
"shipment-cabinet"
,
"shipment-cabinet"
,
"出货
-装柜通知-短信发送"
),
SHIPMENT_CLOSE_CONTAINER
(
"shipment-close-container"
,
"shipment-close-container"
,
"出货 -
封柜反审-短信发送
"
),
//好像没发信息
WAREHOUSE_IN_CONTROL
(
"warehouse-in-control"
,
"warehouse-in-control"
,
"入仓控货通知
"
),
//h
WAREHOUSE_IN
(
"warehouse-in"
,
"warehouse-in"
,
"入仓通知"
),
//h
WAREHOUSE_IN_APPEND
(
"warehouse-in-append"
,
"warehouse-in-append"
,
"追加通知
"
),
//k
WAREHOUSE_IN_CONTROL_COLLECT_OF_GOODS
(
"warehouse-in-control-collect-of-goods"
,
"warehouse-in-control-collect-of-goods"
,
"入仓-控货代收货款"
),
//无此功能
WAREHOUSE_IN_COLLECT_OF_GOODS
(
"warehouse-in-collect-of-goods"
,
"warehouse-in-collect-of-goods"
,
"入仓-非控货代收货款
"
),
//h
WAREHOUSE_IN_CONTROL
(
"warehouse-in-control"
,
"warehouse-in-control"
,
"入仓控货通知
-短信发送"
),
WAREHOUSE_IN
(
"warehouse-in"
,
"warehouse-in"
,
"入仓通知
-短信发送
"
),
//h
WAREHOUSE_IN_APPEND
(
"warehouse-in-append"
,
"warehouse-in-append"
,
"追加通知
-短信发送"
),
WAREHOUSE_IN_CONTROL_COLLECT_OF_GOODS
(
"warehouse-in-control-collect-of-goods"
,
"warehouse-in-control-collect-of-goods"
,
"入仓-控货代收货款
-短信发送
"
),
//无此功能
WAREHOUSE_IN_COLLECT_OF_GOODS
(
"warehouse-in-collect-of-goods"
,
"warehouse-in-collect-of-goods"
,
"入仓-非控货代收货款
-短信发送"
),
/** 空运新增模板 **/
...
...
@@ -59,7 +59,7 @@ public enum SmsNodeEnum {
// AIR_SHIPMENT_CUSTOMS_CLEARANCE("air-shipment-customs-clearance", "air-shipment-customs-clearance", "出货 - 清关通知"),//
// AIR_SHIPMENT_CUSTOMS_CLEARANCES("air-shipment-customs-clearances", "air-shipment-customs-clearances", "出货 - 清关通知(多订单)"),//
AIR_SHIPMENT_WAREHOUSE
(
"air-shipment-warehouse"
,
"air-shipment-warehouse"
,
"出货
- 出仓通知"
),
//
AIR_SHIPMENT_WAREHOUSE
(
"air-shipment-warehouse"
,
"air-shipment-warehouse"
,
"出货
-出仓通知-短信发送"
),
// AIR_SHIPMENT_WAREHOUSES("air-shipment-warehouses", "air-shipment-warehouses", "出货 - 出仓通知(多订单)"),//
// AIR_WAREHOUSE_IN_COLLECT_OF_GOODS("air-warehouse-in-collect-of-goods", "air-warehouse-in-collect-of-goods", "入仓-非控货代收货款"),//
...
...
@@ -79,8 +79,8 @@ public enum SmsNodeEnum {
*/
private
final
String
description
;
public
static
SmsNodeEnum
getCodeBy
Scene
(
String
scen
e
)
{
return
ArrayUtil
.
firstMatch
(
sceneEnum
->
sceneEnum
.
getNodeValue
().
equals
(
scen
e
),
public
static
SmsNodeEnum
getCodeBy
NodeValue
(
String
nodeValu
e
)
{
return
ArrayUtil
.
firstMatch
(
sceneEnum
->
sceneEnum
.
getNodeValue
().
equals
(
nodeValu
e
),
values
());
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment