Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
黄嘉阳
/
iot-platform-server
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
97eed631
authored
Oct 08, 2023
by
李小龙
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
fix: 语音短信
parent
f6d83c32
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
55 additions
and
26 deletions
server-common/src/main/java/com/makeit/utils/msg/dto/MsgSendDTO.java
server-common/src/main/java/com/makeit/utils/msg/sender/SmsVoiceSender.java
server-service/src/main/java/com/makeit/service/platform/alarm/impl/PlatAlarmRecordServiceImpl.java
server-common/src/main/java/com/makeit/utils/msg/dto/MsgSendDTO.java
View file @
97eed631
...
@@ -33,5 +33,7 @@ public class MsgSendDTO {
...
@@ -33,5 +33,7 @@ public class MsgSendDTO {
this
.
param
=
param
;
this
.
param
=
param
;
}
}
private
String
alarmType
;
}
}
server-common/src/main/java/com/makeit/utils/msg/sender/SmsVoiceSender.java
View file @
97eed631
...
@@ -21,7 +21,6 @@ import java.util.Date;
...
@@ -21,7 +21,6 @@ import java.util.Date;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.function.BiConsumer
;
import
java.util.function.BiConsumer
;
import
java.util.stream.Collectors
;
@Component
@Component
@Slf4j
@Slf4j
...
@@ -48,35 +47,62 @@ public class SmsVoiceSender implements IMsgSender{
...
@@ -48,35 +47,62 @@ public class SmsVoiceSender implements IMsgSender{
if
(
CollectionUtils
.
isEmpty
(
msgDTO
.
getReceiverList
())){
if
(
CollectionUtils
.
isEmpty
(
msgDTO
.
getReceiverList
())){
log
.
info
(
"发送语音短信时,没有接收人,短信内容:"
+
msgDTO
.
getOriContent
());
log
.
info
(
"发送语音短信时,没有接收人,短信内容:"
+
msgDTO
.
getOriContent
());
}
}
String
alarmType
=
msgDTO
.
getAlarmType
();
Date
now
=
new
Date
();
Date
now
=
new
Date
();
//todo 支持同时发送多个老人
String
time
=
String
.
valueOf
(
now
.
getTime
());
String
time
=
String
.
valueOf
(
now
.
getTime
());
Collection
<
String
>
receiverList
=
msgDTO
.
getReceiverList
();
Collection
<
String
>
receiverList
=
msgDTO
.
getReceiverList
();
String
receiverJoin
=
receiverList
.
stream
().
collect
(
Collectors
.
joining
(
","
));
receiverList
.
forEach
(
HashMap
<
String
,
String
>
paramMap
=
new
HashMap
<>();
vo
->{
paramMap
.
put
(
"uid"
,
smsVoiceConfig
.
getUid
());
try
{
//md5-32位( md5-16位(登录密码)+ time )
HashMap
<
String
,
String
>
paramMap
=
new
HashMap
<>();
String
md16
=
CryptoUtil
.
md5_16
(
smsVoiceConfig
.
getPwd
());
paramMap
.
put
(
"uid"
,
smsVoiceConfig
.
getUid
());
String
md32
=
CryptoUtil
.
md5
(
md16
+
time
);
//md5-32位( md5-16位(登录密码)+ time )
paramMap
.
put
(
"pwd"
,
md32
);
String
md16
=
null
;
paramMap
.
put
(
"time"
,
time
);
md16
=
CryptoUtil
.
md5_16
(
smsVoiceConfig
.
getPwd
());
paramMap
.
put
(
"mobile"
,
receiverJoin
);
String
md32
=
CryptoUtil
.
md5
(
md16
+
time
);
String
[]
param
=
msgDTO
.
getParam
();
paramMap
.
put
(
"pwd"
,
md32
);
List
<
BiConsumer
<
HashMap
<
String
,
String
>,
String
>>
consumerList
=
Arrays
.
asList
(
paramMap
.
put
(
"time"
,
time
);
(
t
,
v
)->
t
.
put
(
"one"
,
v
),
paramMap
.
put
(
"mobile"
,
vo
);
(
t
,
v
)->
t
.
put
(
"two"
,
v
)
//告警类型 数据字典 1 长者跌倒 2 呼吸异常 3 心率异常 4 行为异常
if
(
StringUtils
.
equals
(
alarmType
,
"1"
))
{
paramMap
.
put
(
"vid"
,
"141"
);
}
if
(
StringUtils
.
equals
(
alarmType
,
"2"
))
{
paramMap
.
put
(
"vid"
,
""
);
}
if
(
StringUtils
.
equals
(
alarmType
,
"3"
))
{
paramMap
.
put
(
"vid"
,
""
);
}
if
(
StringUtils
.
equals
(
alarmType
,
"4"
))
{
paramMap
.
put
(
"vid"
,
""
);
}
String
[]
param
=
msgDTO
.
getParam
();
List
<
BiConsumer
<
HashMap
<
String
,
String
>,
String
>>
consumerList
=
Arrays
.
asList
(
(
t
,
v
)
->
t
.
put
(
"one"
,
v
),
(
t
,
v
)
->
t
.
put
(
"two"
,
v
)
);
for
(
int
i
=
0
;
i
<
param
.
length
;
i
++)
{
BiConsumer
<
HashMap
<
String
,
String
>,
String
>
biConsumer
=
consumerList
.
get
(
i
);
biConsumer
.
accept
(
paramMap
,
param
[
i
]);
}
String
resStr
=
HttpClient
.
sendJSONPostRequest
(
smsVoiceConfig
.
getUrl
(),
paramMap
,
new
HttpHeaders
(),
String
.
class
);
JSONObject
jsonObject
=
JSON
.
parseObject
(
resStr
);
String
status
=
String
.
valueOf
(
jsonObject
.
get
(
"status"
));
if
(!
StringUtils
.
equals
(
status
,
"0"
))
{
log
.
error
(
"发送语音短信失败:"
+
jsonObject
.
get
(
"status_code"
));
throw
new
BusinessException
((
String
)
jsonObject
.
get
(
"status_code"
));
}
log
.
info
(
"发送语音短信成功"
);
}
catch
(
Exception
e
){
log
.
error
(
"发送语音异常:"
,
vo
,
msgDTO
,
e
);
}
}
);
);
for
(
int
i
=
0
;
i
<
param
.
length
;
i
++)
{
BiConsumer
<
HashMap
<
String
,
String
>,
String
>
biConsumer
=
consumerList
.
get
(
i
);
biConsumer
.
accept
(
paramMap
,
param
[
i
]);
}
String
resStr
=
HttpClient
.
sendJSONPostRequest
(
smsVoiceConfig
.
getUrl
(),
paramMap
,
new
HttpHeaders
(),
String
.
class
);
JSONObject
jsonObject
=
JSON
.
parseObject
(
resStr
);
String
status
=
String
.
valueOf
(
jsonObject
.
get
(
"status"
));
if
(!
StringUtils
.
equals
(
status
,
"0"
))
{
log
.
error
(
"发送语音短信失败:"
+
jsonObject
.
get
(
"status_code"
));
throw
new
BusinessException
((
String
)
jsonObject
.
get
(
"status_code"
));
}
log
.
info
(
"发送语音短信成功"
);
}
catch
(
Exception
e
){
}
catch
(
Exception
e
){
log
.
error
(
"发送语音异常:"
,
msgDTO
,
e
);
log
.
error
(
"发送语音异常:"
,
msgDTO
,
e
);
}
}
...
...
server-service/src/main/java/com/makeit/service/platform/alarm/impl/PlatAlarmRecordServiceImpl.java
View file @
97eed631
...
@@ -323,6 +323,7 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe
...
@@ -323,6 +323,7 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe
msgSendDTO
.
setOriContent
(
alarmRecord
.
getContent
());
msgSendDTO
.
setOriContent
(
alarmRecord
.
getContent
());
msgSendDTO
.
setSubject
(
alarmRecord
.
getContent
());
msgSendDTO
.
setSubject
(
alarmRecord
.
getContent
());
msgSendDTO
.
setParam
(
alarmRecord
.
getElderName
());
msgSendDTO
.
setParam
(
alarmRecord
.
getElderName
());
msgSendDTO
.
setAlarmType
(
alarmConfig
.
getAlarmType
());
//todo 小程序消息
//todo 小程序消息
msgUtil
.
send
(
msgSendDTO
);
msgUtil
.
send
(
msgSendDTO
);
}
}
...
...
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