记得上下班打卡 | git大法好,push需谨慎
Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
liquidnet-bus-v1
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
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
董敬伟
liquidnet-bus-v1
Commits
789755e1
Commit
789755e1
authored
Jul 21, 2026
by
wangyifan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
发送短信改成异步
parent
d4aba725
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
82 additions
and
40 deletions
+82
-40
SmsMessage.java
.../src/main/java/com/liquidnet/service/base/SmsMessage.java
+6
-0
GroupBuySmsSender.java
.../com/liquidnet/service/kylin/utils/GroupBuySmsSender.java
+29
-15
GroupBuySmsSender.java
.../com/liquidnet/service/order/utils/GroupBuySmsSender.java
+22
-13
GroupBuySmsSender.java
...m/liquidnet/service/platform/utils/GroupBuySmsSender.java
+25
-12
No files found.
liquidnet-bus-common/liquidnet-common-service-base/src/main/java/com/liquidnet/service/base/SmsMessage.java
View file @
789755e1
...
@@ -77,6 +77,12 @@ public class SmsMessage implements Serializable, Cloneable {
...
@@ -77,6 +77,12 @@ public class SmsMessage implements Serializable, Cloneable {
return
this
;
return
this
;
}
}
/** 无变量模板时传空对象 {},避免 templateParam 为 null */
public
SmsMessage
setEmptyTemplateParam
()
{
this
.
templateParam
=
JsonUtils
.
OM
().
createObjectNode
();
return
this
;
}
public
String
toJson
()
{
public
String
toJson
()
{
return
JsonUtils
.
toJson
(
this
);
return
JsonUtils
.
toJson
(
this
);
}
}
...
...
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/utils/GroupBuySmsSender.java
View file @
789755e1
package
com
.
liquidnet
.
service
.
kylin
.
utils
;
package
com
.
liquidnet
.
service
.
kylin
.
utils
;
import
com.fasterxml.jackson.databind.JsonNode
;
import
com.fasterxml.jackson.databind.node.ObjectNode
;
import
com.fasterxml.jackson.databind.node.ObjectNode
;
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
import
com.liquidnet.common.sms.constant.SmsEnum
;
import
com.liquidnet.common.sms.constant.SmsEnum
;
import
com.liquidnet.common.sms.processor.SmsProcessor
;
import
com.liquidnet.commons.lang.util.DateUtil
;
import
com.liquidnet.commons.lang.util.DateUtil
;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.service.base.SmsMessage
;
import
com.liquidnet.service.base.constant.MQConst
;
import
com.liquidnet.service.base.constant.RedisKeyExpireConst
;
import
com.liquidnet.service.base.constant.RedisKeyExpireConst
;
import
com.liquidnet.service.kylin.constant.GroupBuyStatusConst
;
import
com.liquidnet.service.kylin.constant.GroupBuyStatusConst
;
import
com.liquidnet.service.kylin.constant.KylinRedisConst
;
import
com.liquidnet.service.kylin.constant.KylinRedisConst
;
...
@@ -29,18 +31,20 @@ import java.time.Duration;
...
@@ -29,18 +31,20 @@ import java.time.Duration;
import
java.time.LocalDateTime
;
import
java.time.LocalDateTime
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.HashSet
;
import
java.util.HashSet
;
import
java.util.Iterator
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
import
java.util.Set
;
/**
/**
* 拼团短信
发送(kylin 侧)。总开关:{@link KylinRedisConst#GROUP_BUY_SMS_ENABLED}
。
* 拼团短信
(kylin):入队 {@link MQConst.KylinQueue#SMS_NOTICE}(与购票短信一致,异步)
。
*/
*/
@Component
@Component
@Slf4j
@Slf4j
public
class
GroupBuySmsSender
{
public
class
GroupBuySmsSender
{
@Autowired
@Autowired
private
SmsProcessor
smsProcessor
;
private
QueueUtils
queueUtils
;
@Autowired
@Autowired
private
RedisUtil
redisUtil
;
private
RedisUtil
redisUtil
;
@Autowired
@Autowired
...
@@ -58,8 +62,8 @@ public class GroupBuySmsSender {
...
@@ -58,8 +62,8 @@ public class GroupBuySmsSender {
}
}
ObjectNode
params
=
buildSuccessParams
(
group
);
ObjectNode
params
=
buildSuccessParams
(
group
);
for
(
String
phone
:
phones
)
{
for
(
String
phone
:
phones
)
{
sendSafe
(
phone
,
SmsEnum
.
ADTemplate
.
SMS_510540063
.
name
()
,
enqueueSms
(
phone
,
SmsEnum
.
ADTemplate
.
SMS_510540063
.
name
(),
params
,
params
.
toString
(),
group
.
getGroupOrderId
(),
"success"
);
group
.
getGroupOrderId
(),
"success"
);
}
}
}
}
...
@@ -74,8 +78,8 @@ public class GroupBuySmsSender {
...
@@ -74,8 +78,8 @@ public class GroupBuySmsSender {
ObjectNode
params
=
JsonUtils
.
OM
().
createObjectNode
();
ObjectNode
params
=
JsonUtils
.
OM
().
createObjectNode
();
params
.
put
(
"hours"
,
resolveHours
(
group
));
params
.
put
(
"hours"
,
resolveHours
(
group
));
for
(
String
phone
:
phones
)
{
for
(
String
phone
:
phones
)
{
sendSafe
(
phone
,
SmsEnum
.
ADTemplate
.
SMS_510615071
.
name
()
,
enqueueSms
(
phone
,
SmsEnum
.
ADTemplate
.
SMS_510615071
.
name
(),
params
,
params
.
toString
(),
group
.
getGroupOrderId
(),
"failed"
);
group
.
getGroupOrderId
(),
"failed"
);
}
}
}
}
...
@@ -87,10 +91,10 @@ public class GroupBuySmsSender {
...
@@ -87,10 +91,10 @@ public class GroupBuySmsSender {
if
(
phones
.
isEmpty
())
{
if
(
phones
.
isEmpty
())
{
return
;
return
;
}
}
String
templateParam
=
JsonUtils
.
OM
().
createObjectNode
().
toString
();
ObjectNode
empty
=
JsonUtils
.
OM
().
createObjectNode
();
for
(
String
phone
:
phones
)
{
for
(
String
phone
:
phones
)
{
sendSafe
(
phone
,
SmsEnum
.
ADTemplate
.
SMS_510285138
.
name
()
,
enqueueSms
(
phone
,
SmsEnum
.
ADTemplate
.
SMS_510285138
.
name
(),
empty
,
templateParam
,
group
.
getGroupOrderId
(),
"remind1h"
);
group
.
getGroupOrderId
(),
"remind1h"
);
}
}
redisUtil
.
set
(
KylinRedisConst
.
GROUP_BUY_REMIND_1H
.
concat
(
group
.
getGroupOrderId
()),
"1"
,
redisUtil
.
set
(
KylinRedisConst
.
GROUP_BUY_REMIND_1H
.
concat
(
group
.
getGroupOrderId
()),
"1"
,
RedisKeyExpireConst
.
KYLIN_GROUP_BUY_EXPIRE
);
RedisKeyExpireConst
.
KYLIN_GROUP_BUY_EXPIRE
);
...
@@ -197,14 +201,24 @@ public class GroupBuySmsSender {
...
@@ -197,14 +201,24 @@ public class GroupBuySmsSender {
return
"24"
;
return
"24"
;
}
}
private
void
sendSafe
(
String
phone
,
String
templateCode
,
String
templateParam
,
String
groupOrderId
,
String
scene
)
{
private
void
enqueueSms
(
String
phone
,
String
templateCode
,
ObjectNode
params
,
String
groupOrderId
,
String
scene
)
{
try
{
try
{
boolean
ok
=
smsProcessor
.
send
(
phone
,
SmsEnum
.
ADSignName
.
M02
.
getVal
(),
templateCode
,
templateParam
);
SmsMessage
msg
=
SmsMessage
.
builder
()
if
(!
ok
)
{
.
setPhone
(
phone
)
log
.
warn
(
"拼团短信发送失败 scene={} groupOrderId={} phone={}"
,
scene
,
groupOrderId
,
phone
);
.
setSignName
(
SmsEnum
.
ADSignName
.
M02
.
getVal
())
.
setTemplateCode
(
templateCode
);
if
(
params
==
null
||
params
.
size
()
==
0
)
{
msg
.
setEmptyTemplateParam
();
}
else
{
Iterator
<
Map
.
Entry
<
String
,
JsonNode
>>
it
=
params
.
fields
();
while
(
it
.
hasNext
())
{
Map
.
Entry
<
String
,
JsonNode
>
e
=
it
.
next
();
msg
.
setTemplateParam
(
e
.
getKey
(),
e
.
getValue
()
==
null
?
""
:
e
.
getValue
().
asText
(
""
));
}
}
}
queueUtils
.
sendMsgByRedis
(
MQConst
.
KylinQueue
.
SMS_NOTICE
.
getKey
(),
msg
.
toJson
());
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
log
.
error
(
"拼团短信
发送
异常 scene={} groupOrderId={} phone={}"
,
scene
,
groupOrderId
,
phone
,
e
);
log
.
error
(
"拼团短信
入队
异常 scene={} groupOrderId={} phone={}"
,
scene
,
groupOrderId
,
phone
,
e
);
}
}
}
}
}
}
liquidnet-bus-service/liquidnet-service-order/liquidnet-service-order-impl/src/main/java/com/liquidnet/service/order/utils/GroupBuySmsSender.java
View file @
789755e1
...
@@ -3,8 +3,9 @@ package com.liquidnet.service.order.utils;
...
@@ -3,8 +3,9 @@ package com.liquidnet.service.order.utils;
import
com.fasterxml.jackson.databind.node.ObjectNode
;
import
com.fasterxml.jackson.databind.node.ObjectNode
;
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
import
com.liquidnet.common.sms.constant.SmsEnum
;
import
com.liquidnet.common.sms.constant.SmsEnum
;
import
com.liquidnet.common.sms.processor.SmsProcessor
;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.service.base.SmsMessage
;
import
com.liquidnet.service.base.constant.MQConst
;
import
com.liquidnet.service.kylin.constant.GroupBuyStatusConst
;
import
com.liquidnet.service.kylin.constant.GroupBuyStatusConst
;
import
com.liquidnet.service.kylin.constant.KylinRedisConst
;
import
com.liquidnet.service.kylin.constant.KylinRedisConst
;
import
com.liquidnet.service.kylin.dto.vo.groupbuy.KylinGroupBuyActivityVo
;
import
com.liquidnet.service.kylin.dto.vo.groupbuy.KylinGroupBuyActivityVo
;
...
@@ -25,18 +26,20 @@ import org.springframework.util.CollectionUtils;
...
@@ -25,18 +26,20 @@ import org.springframework.util.CollectionUtils;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.HashSet
;
import
java.util.HashSet
;
import
java.util.Iterator
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
import
java.util.Set
;
/**
/**
* 拼团
短信:成功。复用 SmsProcessor;总开关见 Redis {@link KylinRedisConst#GROUP_BUY_SMS_ENABLED}
。
* 拼团
成功短信:入队 {@link MQConst.KylinQueue#SMS_NOTICE}(与购票短信一致,异步)
。
*/
*/
@Component
@Component
@Slf4j
@Slf4j
public
class
GroupBuySmsSender
{
public
class
GroupBuySmsSender
{
@Autowired
@Autowired
private
SmsProcessor
smsProcessor
;
private
QueueUtils
queueUtils
;
@Autowired
@Autowired
private
RedisUtil
redisUtil
;
private
RedisUtil
redisUtil
;
@Autowired
@Autowired
...
@@ -54,9 +57,8 @@ public class GroupBuySmsSender {
...
@@ -54,9 +57,8 @@ public class GroupBuySmsSender {
return
;
return
;
}
}
ObjectNode
params
=
buildSuccessParams
(
group
);
ObjectNode
params
=
buildSuccessParams
(
group
);
String
templateParam
=
params
.
toString
();
for
(
String
phone
:
phones
)
{
for
(
String
phone
:
phones
)
{
sendSafe
(
phone
,
SmsEnum
.
ADTemplate
.
SMS_510540063
.
name
(),
templateParam
,
enqueueSms
(
phone
,
SmsEnum
.
ADTemplate
.
SMS_510540063
.
name
(),
params
,
group
.
getGroupOrderId
(),
"success"
);
group
.
getGroupOrderId
(),
"success"
);
}
}
}
}
...
@@ -70,9 +72,6 @@ public class GroupBuySmsSender {
...
@@ -70,9 +72,6 @@ public class GroupBuySmsSender {
return
!(
"0"
.
equals
(
s
)
||
"false"
.
equalsIgnoreCase
(
s
));
return
!(
"0"
.
equals
(
s
)
||
"false"
.
equalsIgnoreCase
(
s
));
}
}
/**
* @param joinedOnly true=仅 JOINED;false 且 includePendingPay=true 时含 JOINED+PENDING_PAY
*/
private
List
<
String
>
collectPhones
(
KylinGroupBuyOrderVo
group
,
boolean
joinedOnly
,
boolean
includePendingPay
)
{
private
List
<
String
>
collectPhones
(
KylinGroupBuyOrderVo
group
,
boolean
joinedOnly
,
boolean
includePendingPay
)
{
Set
<
String
>
phones
=
new
HashSet
<>();
Set
<
String
>
phones
=
new
HashSet
<>();
if
(
group
==
null
||
CollectionUtils
.
isEmpty
(
group
.
getMembers
()))
{
if
(
group
==
null
||
CollectionUtils
.
isEmpty
(
group
.
getMembers
()))
{
...
@@ -164,14 +163,24 @@ public class GroupBuySmsSender {
...
@@ -164,14 +163,24 @@ public class GroupBuySmsSender {
return
new
String
[]{
timeTitle
,
ticketTitle
};
return
new
String
[]{
timeTitle
,
ticketTitle
};
}
}
private
void
sendSafe
(
String
phone
,
String
templateCode
,
String
templateParam
,
String
groupOrderId
,
String
scene
)
{
private
void
enqueueSms
(
String
phone
,
String
templateCode
,
ObjectNode
params
,
String
groupOrderId
,
String
scene
)
{
try
{
try
{
boolean
ok
=
smsProcessor
.
send
(
phone
,
SmsEnum
.
ADSignName
.
M02
.
getVal
(),
templateCode
,
templateParam
);
SmsMessage
msg
=
SmsMessage
.
builder
()
if
(!
ok
)
{
.
setPhone
(
phone
)
log
.
warn
(
"拼团短信发送失败 scene={} groupOrderId={} phone={}"
,
scene
,
groupOrderId
,
phone
);
.
setSignName
(
SmsEnum
.
ADSignName
.
M02
.
getVal
())
.
setTemplateCode
(
templateCode
);
if
(
params
==
null
||
params
.
size
()
==
0
)
{
msg
.
setEmptyTemplateParam
();
}
else
{
Iterator
<
Map
.
Entry
<
String
,
com
.
fasterxml
.
jackson
.
databind
.
JsonNode
>>
it
=
params
.
fields
();
while
(
it
.
hasNext
())
{
Map
.
Entry
<
String
,
com
.
fasterxml
.
jackson
.
databind
.
JsonNode
>
e
=
it
.
next
();
msg
.
setTemplateParam
(
e
.
getKey
(),
e
.
getValue
()
==
null
?
""
:
e
.
getValue
().
asText
(
""
));
}
}
}
queueUtils
.
sendMsgByRedis
(
MQConst
.
KylinQueue
.
SMS_NOTICE
.
getKey
(),
msg
.
toJson
());
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
log
.
error
(
"拼团短信
发送
异常 scene={} groupOrderId={} phone={}"
,
scene
,
groupOrderId
,
phone
,
e
);
log
.
error
(
"拼团短信
入队
异常 scene={} groupOrderId={} phone={}"
,
scene
,
groupOrderId
,
phone
,
e
);
}
}
}
}
}
}
liquidnet-bus-service/liquidnet-service-platform/liquidnet-service-platform-impl/src/main/java/com/liquidnet/service/platform/utils/GroupBuySmsSender.java
View file @
789755e1
package
com
.
liquidnet
.
service
.
platform
.
utils
;
package
com
.
liquidnet
.
service
.
platform
.
utils
;
import
com.fasterxml.jackson.databind.JsonNode
;
import
com.fasterxml.jackson.databind.node.ObjectNode
;
import
com.fasterxml.jackson.databind.node.ObjectNode
;
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
import
com.liquidnet.common.sms.constant.SmsEnum
;
import
com.liquidnet.common.sms.constant.SmsEnum
;
import
com.liquidnet.common.sms.processor.SmsProcessor
;
import
com.liquidnet.commons.lang.util.DateUtil
;
import
com.liquidnet.commons.lang.util.DateUtil
;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.service.base.SmsMessage
;
import
com.liquidnet.service.base.constant.MQConst
;
import
com.liquidnet.service.base.constant.RedisKeyExpireConst
;
import
com.liquidnet.service.base.constant.RedisKeyExpireConst
;
import
com.liquidnet.service.kylin.constant.GroupBuyStatusConst
;
import
com.liquidnet.service.kylin.constant.GroupBuyStatusConst
;
import
com.liquidnet.service.kylin.constant.KylinRedisConst
;
import
com.liquidnet.service.kylin.constant.KylinRedisConst
;
...
@@ -25,18 +27,20 @@ import java.time.Duration;
...
@@ -25,18 +27,20 @@ import java.time.Duration;
import
java.time.LocalDateTime
;
import
java.time.LocalDateTime
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.HashSet
;
import
java.util.HashSet
;
import
java.util.Iterator
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
import
java.util.Set
;
/**
/**
* 拼团
短信:失败 / 1h 提醒。复用 SmsProcessor;总开关 Redis {@link KylinRedisConst#GROUP_BUY_SMS_ENABLED}
。
* 拼团
失败 / 1h 提醒短信:入队 {@link MQConst.KylinQueue#SMS_NOTICE}(与购票短信一致,异步)
。
*/
*/
@Component
@Component
@Slf4j
@Slf4j
public
class
GroupBuySmsSender
{
public
class
GroupBuySmsSender
{
@Autowired
@Autowired
private
SmsProcessor
smsProcessor
;
private
QueueUtils
queueUtils
;
@Autowired
@Autowired
private
RedisUtil
redisUtil
;
private
RedisUtil
redisUtil
;
@Autowired
@Autowired
...
@@ -53,9 +57,8 @@ public class GroupBuySmsSender {
...
@@ -53,9 +57,8 @@ public class GroupBuySmsSender {
}
}
ObjectNode
params
=
JsonUtils
.
OM
().
createObjectNode
();
ObjectNode
params
=
JsonUtils
.
OM
().
createObjectNode
();
params
.
put
(
"hours"
,
resolveHours
(
group
));
params
.
put
(
"hours"
,
resolveHours
(
group
));
String
templateParam
=
params
.
toString
();
for
(
String
phone
:
phones
)
{
for
(
String
phone
:
phones
)
{
sendSafe
(
phone
,
SmsEnum
.
ADTemplate
.
SMS_510615071
.
name
(),
templateParam
,
enqueueSms
(
phone
,
SmsEnum
.
ADTemplate
.
SMS_510615071
.
name
(),
params
,
group
.
getGroupOrderId
(),
"failed"
);
group
.
getGroupOrderId
(),
"failed"
);
}
}
}
}
...
@@ -69,9 +72,9 @@ public class GroupBuySmsSender {
...
@@ -69,9 +72,9 @@ public class GroupBuySmsSender {
log
.
info
(
"拼团1h提醒短信无有效手机号 groupOrderId={}"
,
group
.
getGroupOrderId
());
log
.
info
(
"拼团1h提醒短信无有效手机号 groupOrderId={}"
,
group
.
getGroupOrderId
());
return
;
return
;
}
}
String
templateParam
=
JsonUtils
.
OM
().
createObjectNode
().
toString
();
ObjectNode
empty
=
JsonUtils
.
OM
().
createObjectNode
();
for
(
String
phone
:
phones
)
{
for
(
String
phone
:
phones
)
{
sendSafe
(
phone
,
SmsEnum
.
ADTemplate
.
SMS_510285138
.
name
(),
templateParam
,
enqueueSms
(
phone
,
SmsEnum
.
ADTemplate
.
SMS_510285138
.
name
(),
empty
,
group
.
getGroupOrderId
(),
"remind1h"
);
group
.
getGroupOrderId
(),
"remind1h"
);
}
}
redisUtil
.
set
(
KylinRedisConst
.
GROUP_BUY_REMIND_1H
.
concat
(
group
.
getGroupOrderId
()),
"1"
,
redisUtil
.
set
(
KylinRedisConst
.
GROUP_BUY_REMIND_1H
.
concat
(
group
.
getGroupOrderId
()),
"1"
,
...
@@ -157,14 +160,24 @@ public class GroupBuySmsSender {
...
@@ -157,14 +160,24 @@ public class GroupBuySmsSender {
return
"24"
;
return
"24"
;
}
}
private
void
sendSafe
(
String
phone
,
String
templateCode
,
String
templateParam
,
String
groupOrderId
,
String
scene
)
{
private
void
enqueueSms
(
String
phone
,
String
templateCode
,
ObjectNode
params
,
String
groupOrderId
,
String
scene
)
{
try
{
try
{
boolean
ok
=
smsProcessor
.
send
(
phone
,
SmsEnum
.
ADSignName
.
M02
.
getVal
(),
templateCode
,
templateParam
);
SmsMessage
msg
=
SmsMessage
.
builder
()
if
(!
ok
)
{
.
setPhone
(
phone
)
log
.
warn
(
"拼团短信发送失败 scene={} groupOrderId={} phone={}"
,
scene
,
groupOrderId
,
phone
);
.
setSignName
(
SmsEnum
.
ADSignName
.
M02
.
getVal
())
.
setTemplateCode
(
templateCode
);
if
(
params
==
null
||
params
.
size
()
==
0
)
{
msg
.
setEmptyTemplateParam
();
}
else
{
Iterator
<
Map
.
Entry
<
String
,
JsonNode
>>
it
=
params
.
fields
();
while
(
it
.
hasNext
())
{
Map
.
Entry
<
String
,
JsonNode
>
e
=
it
.
next
();
msg
.
setTemplateParam
(
e
.
getKey
(),
e
.
getValue
()
==
null
?
""
:
e
.
getValue
().
asText
(
""
));
}
}
}
queueUtils
.
sendMsgByRedis
(
MQConst
.
KylinQueue
.
SMS_NOTICE
.
getKey
(),
msg
.
toJson
());
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
log
.
error
(
"拼团短信
发送
异常 scene={} groupOrderId={} phone={}"
,
scene
,
groupOrderId
,
phone
,
e
);
log
.
error
(
"拼团短信
入队
异常 scene={} groupOrderId={} phone={}"
,
scene
,
groupOrderId
,
phone
,
e
);
}
}
}
}
}
}
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