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
cc7954f8
authored
Jan 03, 2024
by
汪志阳
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
fix:告警消息推送微信公众号
parent
68a0488b
Show whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
106 additions
and
31 deletions
db/上线后sql/update.sql
server-common/src/main/java/com/makeit/utils/msg/SendTypeEnum.java
server-common/src/main/java/com/makeit/utils/msg/dto/MsgSendDTO.java
server-common/src/main/java/com/makeit/utils/msg/sender/WxSpSender.java
server-common/src/main/java/com/makeit/utils/third/wechat/WechatLoginPhoneDTO.java
server-common/src/main/java/com/makeit/utils/third/wechat/WechatUtil.java
server-module/src/main/java/com/makeit/module/controller/children/elder/PlatElderChildrenInfoChildrenController.java
server-service/src/main/java/com/makeit/entity/platform/elder/PlatElderChildrenInfo.java
server-service/src/main/java/com/makeit/service/platform/alarm/impl/PlatAlarmRecordServiceImpl.java
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderChildrenInfoServiceImpl.java
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderSleepServiceImpl.java
server-service/src/main/java/com/makeit/service/wechat/impl/PlatElderChildrenInfoUserLoginWechatServiceImpl.java
db/上线后sql/update.sql
View file @
cc7954f8
ALTER
TABLE
`plat_device_other`
ALTER
TABLE
`plat_device_other`
...
@@ -122,3 +122,5 @@ ALTER TABLE `plat_alarm_record`
...
@@ -122,3 +122,5 @@ ALTER TABLE `plat_alarm_record`
alter
table
plat_elder_sleep_analysis
add
column
`ori_device_id`
varchar
(
64
)
default
NULL
COMMENT
'iot设备id'
;
alter
table
plat_elder_sleep_analysis
add
column
`ori_device_id`
varchar
(
64
)
default
NULL
COMMENT
'iot设备id'
;
alter
table
plat_elder_breathe_analysis
add
column
`ori_device_id`
varchar
(
64
)
default
NULL
COMMENT
'iot设备id'
;
alter
table
plat_elder_breathe_analysis
add
column
`ori_device_id`
varchar
(
64
)
default
NULL
COMMENT
'iot设备id'
;
alter
table
plat_elder_children_info
add
column
weChat_openid
varchar
(
64
)
default
null
comment
'公众号openid'
;
\ No newline at end of file
server-common/src/main/java/com/makeit/utils/msg/SendTypeEnum.java
View file @
cc7954f8
...
@@ -21,6 +21,7 @@ public enum SendTypeEnum implements BaseEnum {
...
@@ -21,6 +21,7 @@ public enum SendTypeEnum implements BaseEnum {
private
String
code
;
private
String
code
;
@Override
public
String
getValue
()
{
public
String
getValue
()
{
return
SysDictUtil
.
getValue
(
code
);
return
SysDictUtil
.
getValue
(
code
);
}
}
...
...
server-common/src/main/java/com/makeit/utils/msg/dto/MsgSendDTO.java
View file @
cc7954f8
package
com
.
makeit
.
utils
.
msg
.
dto
;
package
com
.
makeit
.
utils
.
msg
.
dto
;
import
com.makeit.utils.msg.SendTypeEnum
;
import
com.makeit.utils.msg.SendTypeEnum
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.NoArgsConstructor
;
import
java.util.Collection
;
import
java.util.Collection
;
import
java.util.List
;
@Data
@Data
@Builder
@Builder
...
@@ -18,6 +20,9 @@ public class MsgSendDTO {
...
@@ -18,6 +20,9 @@ public class MsgSendDTO {
private
String
subject
;
private
String
subject
;
/**
* 手机号
*/
private
Collection
<
String
>
receiverList
;
private
Collection
<
String
>
receiverList
;
private
Collection
<
String
>
emailSet
;
private
Collection
<
String
>
emailSet
;
...
@@ -35,5 +40,21 @@ public class MsgSendDTO {
...
@@ -35,5 +40,21 @@ public class MsgSendDTO {
private
String
alarmType
;
private
String
alarmType
;
private
List
<
ReceiverInfo
>
receiverInfos
;
@Data
public
static
class
ReceiverInfo
{
@ApiModelProperty
(
"通知者openId"
)
private
String
weChatOpenid
;
@ApiModelProperty
(
"长者名称"
)
private
String
name
;
@ApiModelProperty
(
"区域名称"
)
private
String
regionName
;
}
}
}
server-common/src/main/java/com/makeit/utils/msg/sender/WxSpSender.java
View file @
cc7954f8
package
com
.
makeit
.
utils
.
msg
.
sender
;
package
com
.
makeit
.
utils
.
msg
.
sender
;
import
cn.binarywang.wx.miniapp.api.WxMaService
;
import
cn.binarywang.wx.miniapp.api.WxMaService
;
import
cn.hutool.core.collection.CollUtil
;
import
cn.hutool.core.date.DateUtil
;
import
cn.hutool.core.date.DateUtil
;
import
cn.hutool.core.util.StrUtil
;
import
com.makeit.utils.msg.SendTypeEnum
;
import
com.makeit.utils.msg.SendTypeEnum
;
import
com.makeit.utils.msg.dto.MsgSendDTO
;
import
com.makeit.utils.msg.dto.MsgSendDTO
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
...
@@ -24,6 +26,8 @@ public class WxSpSender implements IMsgSender{
...
@@ -24,6 +26,8 @@ public class WxSpSender implements IMsgSender{
@Autowired
@Autowired
private
WxMpService
wxMpService
;
private
WxMpService
wxMpService
;
private
final
SendTypeEnum
sendTypeEnum
=
SendTypeEnum
.
CHILD_WECHAT
;
/**
/**
* 小程序公众号消息
* 小程序公众号消息
* zn5fBS9cqjnN5UB78tAbm53M3dXufR2b5K1a8mkhXCY
* zn5fBS9cqjnN5UB78tAbm53M3dXufR2b5K1a8mkhXCY
...
@@ -39,33 +43,49 @@ public class WxSpSender implements IMsgSender{
...
@@ -39,33 +43,49 @@ public class WxSpSender implements IMsgSender{
@Override
@Override
public
void
send
(
MsgSendDTO
msgDTO
)
{
public
void
send
(
MsgSendDTO
msgDTO
)
{
List
<
MsgSendDTO
.
ReceiverInfo
>
receiverInfos
=
msgDTO
.
getReceiverInfos
();
if
(
CollUtil
.
isNotEmpty
(
receiverInfos
))
{
return
;
}
String
content
=
msgDTO
.
getOriContent
();
receiverInfos
.
forEach
(
r
->
{
if
(
StrUtil
.
isBlank
(
r
.
getWeChatOpenid
())){
return
;
}
sentMsg
(
content
,
r
.
getRegionName
(),
r
.
getName
(),
r
.
getWeChatOpenid
());
});
}
/**
*
* @param content 报警内容
* @param place 地点
* @param name 长者姓名
* @param openId 接收人openId
*/
private
void
sentMsg
(
String
content
,
String
place
,
String
name
,
String
openId
)
{
List
<
WxMpTemplateData
>
mpData
=
Arrays
.
asList
(
List
<
WxMpTemplateData
>
mpData
=
Arrays
.
asList
(
new
WxMpTemplateData
(
"thing8"
,
"报警内容"
),
new
WxMpTemplateData
(
"thing8"
,
content
),
new
WxMpTemplateData
(
"thing4"
,
"固定值"
),
new
WxMpTemplateData
(
"thing4"
,
place
),
new
WxMpTemplateData
(
"thing2"
,
"老人姓名"
),
new
WxMpTemplateData
(
"thing2"
,
name
),
new
WxMpTemplateData
(
"time3"
,
DateUtil
.
format
(
new
Date
(),
"yyyy-MM-dd HH:mm:ss"
))
new
WxMpTemplateData
(
"time3"
,
DateUtil
.
format
(
new
Date
(),
"yyyy-MM-dd HH:mm:ss"
))
);
);
try
{
try
{
//oBmPb5o9T3q-EMsxfhPg_9OjO5k4 lixl公众号openid
// String testOpenId = "oM2OI67H11zTZL88X99PxL6rAS3Y";
//oM2OI67H11zTZL88X99PxL6rAS3Y
WxMpTemplateMessage
wxMpTemplateMessage
=
WxMpTemplateMessage
.
builder
().
toUser
(
openId
)
//WxMpUser wxMpUser = wxMpService.getUserService().userInfo("oM2OI6zZQBB-kL6_0kaMM6adVb1E");
//oM2OI6zZQBB-kL6_0kaMM6adVb1E 小程序openId
// WxMpUserList wxMpUserList = wxMpService.getUserService().userList();
//WxMpUser wxMpUser = wxMpService.getUserService().userInfo("oM2OI67H11zTZL88X99PxL6rAS3Y");
WxMpTemplateMessage
wxMpTemplateMessage
=
WxMpTemplateMessage
.
builder
().
toUser
(
"oM2OI67H11zTZL88X99PxL6rAS3Y"
)
.
templateId
(
"zn5fBS9cqjnN5UB78tAbm53M3dXufR2b5K1a8mkhXCY"
)
.
templateId
(
"zn5fBS9cqjnN5UB78tAbm53M3dXufR2b5K1a8mkhXCY"
)
.
data
(
mpData
)
.
data
(
mpData
)
.
build
();
.
build
();
wxMpService
.
getTemplateMsgService
().
sendTemplateMsg
(
wxMpTemplateMessage
);
wxMpService
.
getTemplateMsgService
().
sendTemplateMsg
(
wxMpTemplateMessage
);
log
.
info
(
"发送小程序消息成功"
);
log
.
info
(
"发送小程序消息成功"
);
}
catch
(
WxErrorException
e
)
{
}
catch
(
WxErrorException
e
)
{
log
.
error
(
"发送小程序消息失败:"
,
e
);
log
.
error
(
"发送小程序消息失败:"
,
e
);
}
}
}
}
@Override
@Override
public
boolean
support
(
SendTypeEnum
sendTypeEnu
m
)
{
public
boolean
support
(
SendTypeEnum
para
m
)
{
return
false
;
return
sendTypeEnum
==
param
;
}
}
...
...
server-common/src/main/java/com/makeit/utils/third/wechat/WechatLoginPhoneDTO.java
View file @
cc7954f8
...
@@ -40,5 +40,8 @@ public class WechatLoginPhoneDTO {
...
@@ -40,5 +40,8 @@ public class WechatLoginPhoneDTO {
@ApiModelProperty
(
value
=
"微信secret"
)
@ApiModelProperty
(
value
=
"微信secret"
)
private
String
secret
;
private
String
secret
;
@ApiModelProperty
(
value
=
"微信公众号openid"
)
private
String
weChatOpenid
;
}
}
server-common/src/main/java/com/makeit/utils/third/wechat/WechatUtil.java
View file @
cc7954f8
...
@@ -3,7 +3,6 @@ package com.makeit.utils.third.wechat;
...
@@ -3,7 +3,6 @@ package com.makeit.utils.third.wechat;
import
cn.binarywang.wx.miniapp.api.WxMaService
;
import
cn.binarywang.wx.miniapp.api.WxMaService
;
import
cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult
;
import
cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult
;
import
cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo
;
import
cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo
;
import
cn.binarywang.wx.miniapp.config.WxMaConfig
;
import
cn.binarywang.wx.miniapp.config.impl.WxMaDefaultConfigImpl
;
import
cn.binarywang.wx.miniapp.config.impl.WxMaDefaultConfigImpl
;
import
com.makeit.config.WxMaConfiguration
;
import
com.makeit.config.WxMaConfiguration
;
import
com.makeit.enums.CodeMessageEnum
;
import
com.makeit.enums.CodeMessageEnum
;
...
...
server-module/src/main/java/com/makeit/module/controller/children/elder/PlatElderChildrenInfoChildrenController.java
View file @
cc7954f8
...
@@ -4,12 +4,10 @@ package com.makeit.module.controller.children.elder;
...
@@ -4,12 +4,10 @@ package com.makeit.module.controller.children.elder;
import
com.makeit.common.response.ApiResponseEntity
;
import
com.makeit.common.response.ApiResponseEntity
;
import
com.makeit.common.response.ApiResponseUtils
;
import
com.makeit.common.response.ApiResponseUtils
;
import
com.makeit.dto.platform.elder.PlatElderIdDTO
;
import
com.makeit.dto.platform.elder.PlatElderIdDTO
;
import
com.makeit.dto.platform.elder.PlatElderQueryDTO
;
import
com.makeit.dto.platform.elder.children.PlatElderChildrenInfoWechatDTOVO
;
import
com.makeit.dto.platform.elder.children.PlatElderChildrenInfoWechatDTOVO
;
import
com.makeit.entity.platform.elder.PlatElderChildrenInfo
;
import
com.makeit.entity.platform.elder.PlatElderChildrenInfo
;
import
com.makeit.global.aspect.tenant.TenantIdIgnore
;
import
com.makeit.global.aspect.tenant.TenantIdIgnore
;
import
com.makeit.service.platform.elder.PlatElderChildrenInfoService
;
import
com.makeit.service.platform.elder.PlatElderChildrenInfoService
;
import
com.makeit.vo.platform.elder.PlatElderListVO
;
import
com.makeit.vo.wechat.elder.PlatElderChildrenInfoWechatVO
;
import
com.makeit.vo.wechat.elder.PlatElderChildrenInfoWechatVO
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
...
...
server-service/src/main/java/com/makeit/entity/platform/elder/PlatElderChildrenInfo.java
View file @
cc7954f8
...
@@ -54,6 +54,9 @@ public class PlatElderChildrenInfo extends BaseBusEntity {
...
@@ -54,6 +54,9 @@ public class PlatElderChildrenInfo extends BaseBusEntity {
@ApiModelProperty
(
value
=
"微信头像路径"
)
@ApiModelProperty
(
value
=
"微信头像路径"
)
private
String
avatar
;
private
String
avatar
;
@ApiModelProperty
(
value
=
"微信公众号openid"
)
@TableField
(
value
=
"weChat_openid"
)
private
String
weChatOpenid
;
...
...
server-service/src/main/java/com/makeit/service/platform/alarm/impl/PlatAlarmRecordServiceImpl.java
View file @
cc7954f8
...
@@ -303,6 +303,7 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe
...
@@ -303,6 +303,7 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe
* @param alarmConfig
* @param alarmConfig
* @param alarmRecord
* @param alarmRecord
*/
*/
@Override
@Transactional
@Transactional
@TenantIdIgnore
@TenantIdIgnore
public
void
noticeChildren
(
PlatAlarmConfig
alarmConfig
,
PlatAlarmRecord
alarmRecord
)
{
public
void
noticeChildren
(
PlatAlarmConfig
alarmConfig
,
PlatAlarmRecord
alarmRecord
)
{
...
@@ -321,9 +322,9 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe
...
@@ -321,9 +322,9 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe
Set
<
String
>
phoneSet
=
childrenInfoList
.
stream
().
map
(
PlatElderChildrenInfo:
:
getPhone
).
collect
(
Collectors
.
toSet
());
Set
<
String
>
phoneSet
=
childrenInfoList
.
stream
().
map
(
PlatElderChildrenInfo:
:
getPhone
).
collect
(
Collectors
.
toSet
());
//告警配置和租户告警 字典一致
//告警配置和租户告警 字典一致
List
<
SendTypeEnum
>
notifyChannelList
=
Arrays
.
asList
(
SendTypeEnum
.
SMS
,
SendTypeEnum
.
VOICE_SMS
,
SendTypeEnum
.
CHILD_WECHAT
);
List
<
SendTypeEnum
>
notifyChannelList
=
Arrays
.
asList
(
SendTypeEnum
.
SMS
,
SendTypeEnum
.
VOICE_SMS
,
SendTypeEnum
.
CHILD_WECHAT
);
List
<
MsgSendDTO
.
ReceiverInfo
>
receiverInfos
=
buildReceiverInfo
(
allChildInfoList
,
alarmRecord
);
//发送消息
//发送消息
noticeByChannel
(
alarmConfig
,
alarmRecord
,
phoneSet
,
null
,
notifyChannelList
);
noticeByChannel
(
alarmConfig
,
alarmRecord
,
phoneSet
,
null
,
notifyChannelList
,
receiverInfos
);
String
childIdJoin
=
allChildInfoList
.
stream
().
map
(
BaseEntity:
:
getId
).
collect
(
Collectors
.
joining
(
","
));
String
childIdJoin
=
allChildInfoList
.
stream
().
map
(
BaseEntity:
:
getId
).
collect
(
Collectors
.
joining
(
","
));
//通知的子女
//通知的子女
...
@@ -334,6 +335,21 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe
...
@@ -334,6 +335,21 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe
}
}
private
List
<
MsgSendDTO
.
ReceiverInfo
>
buildReceiverInfo
(
List
<
PlatElderChildrenInfo
>
childInfoList
,
PlatAlarmRecord
alarmRecord
)
{
List
<
MsgSendDTO
.
ReceiverInfo
>
list
=
new
ArrayList
<>();
if
(
CollUtil
.
isEmpty
(
childInfoList
))
{
return
list
;
}
childInfoList
.
forEach
(
c
->
{
MsgSendDTO
.
ReceiverInfo
receiverInfo
=
new
MsgSendDTO
.
ReceiverInfo
();
receiverInfo
.
setRegionName
(
alarmRecord
.
getRegionName
());
receiverInfo
.
setName
(
c
.
getName
());
receiverInfo
.
setWeChatOpenid
(
c
.
getWeChatOpenid
());
});
return
list
;
}
/**
/**
* 通知工作人员
* 通知工作人员
* 短信
* 短信
...
@@ -374,7 +390,7 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe
...
@@ -374,7 +390,7 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe
Set
<
String
>
phoneSet
=
platUserList
.
stream
().
map
(
PlatUser:
:
getMobile
).
collect
(
Collectors
.
toSet
());
Set
<
String
>
phoneSet
=
platUserList
.
stream
().
map
(
PlatUser:
:
getMobile
).
collect
(
Collectors
.
toSet
());
Set
<
String
>
emailSet
=
platUserList
.
stream
().
map
(
PlatUser:
:
getEmail
).
collect
(
Collectors
.
toSet
());
Set
<
String
>
emailSet
=
platUserList
.
stream
().
map
(
PlatUser:
:
getEmail
).
collect
(
Collectors
.
toSet
());
//发送消息
//发送消息
noticeByChannel
(
alarmConfig
,
alarmRecord
,
phoneSet
,
emailSet
,
notifyChannelList
);
noticeByChannel
(
alarmConfig
,
alarmRecord
,
phoneSet
,
emailSet
,
notifyChannelList
,
null
);
String
userIdJoin
=
platUserList
.
stream
().
map
(
PlatUser:
:
getId
).
collect
(
Collectors
.
joining
(
","
));
String
userIdJoin
=
platUserList
.
stream
().
map
(
PlatUser:
:
getId
).
collect
(
Collectors
.
joining
(
","
));
alarmRecord
.
setNotifyUser
(
userIdJoin
);
alarmRecord
.
setNotifyUser
(
userIdJoin
);
...
@@ -391,7 +407,8 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe
...
@@ -391,7 +407,8 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe
* @param phoneSet 工作人员手机号
* @param phoneSet 工作人员手机号
* @param notifyChannelList 通知渠道
* @param notifyChannelList 通知渠道
*/
*/
private
void
noticeByChannel
(
PlatAlarmConfig
alarmConfig
,
PlatAlarmRecord
alarmRecord
,
Set
<
String
>
phoneSet
,
Set
<
String
>
emailSet
,
List
<
SendTypeEnum
>
notifyChannelList
)
{
private
void
noticeByChannel
(
PlatAlarmConfig
alarmConfig
,
PlatAlarmRecord
alarmRecord
,
Set
<
String
>
phoneSet
,
Set
<
String
>
emailSet
,
List
<
SendTypeEnum
>
notifyChannelList
,
List
<
MsgSendDTO
.
ReceiverInfo
>
receiverInfos
)
{
log
.
info
(
"开始短信通知:{}"
,
JSON
.
toJSONString
(
alarmConfig
));
log
.
info
(
"开始短信通知:{}"
,
JSON
.
toJSONString
(
alarmConfig
));
String
notifyChannel
=
alarmConfig
.
getNotifyChannel
();
String
notifyChannel
=
alarmConfig
.
getNotifyChannel
();
if
(
StringUtils
.
isEmpty
(
notifyChannel
)){
if
(
StringUtils
.
isEmpty
(
notifyChannel
)){
...
@@ -423,6 +440,7 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe
...
@@ -423,6 +440,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
.
setReceiverInfos
(
receiverInfos
);
String
alarmType
=
alarmConfig
.
getAlarmType
();
String
alarmType
=
alarmConfig
.
getAlarmType
();
//告警类型 数据字典 1 长者跌倒 2 呼吸异常 3 心率异常 4 行为异常 5 离床异常
//告警类型 数据字典 1 长者跌倒 2 呼吸异常 3 心率异常 4 行为异常 5 离床异常
if
(
StringUtils
.
equals
(
alarmType
,
"1"
))
{
if
(
StringUtils
.
equals
(
alarmType
,
"1"
))
{
...
...
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderChildrenInfoServiceImpl.java
View file @
cc7954f8
...
@@ -338,6 +338,7 @@ public class PlatElderChildrenInfoServiceImpl extends ServiceImpl<PlatElderChild
...
@@ -338,6 +338,7 @@ public class PlatElderChildrenInfoServiceImpl extends ServiceImpl<PlatElderChild
}
}
newChildrenInfo
.
setTenantId
(
platElder
.
getTenantId
());
newChildrenInfo
.
setTenantId
(
platElder
.
getTenantId
());
newChildrenInfo
.
setOpenid
(
copyInfo
.
getOpenid
());
newChildrenInfo
.
setOpenid
(
copyInfo
.
getOpenid
());
newChildrenInfo
.
setWeChatOpenid
(
copyInfo
.
getWeChatOpenid
());
newChildrenInfo
.
setPhone
(
copyInfo
.
getPhone
());
newChildrenInfo
.
setPhone
(
copyInfo
.
getPhone
());
newChildrenInfo
.
setName
(
copyInfo
.
getName
());
newChildrenInfo
.
setName
(
copyInfo
.
getName
());
newChildrenInfo
.
setAvatar
(
copyInfo
.
getAvatar
());
newChildrenInfo
.
setAvatar
(
copyInfo
.
getAvatar
());
...
...
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderSleepServiceImpl.java
View file @
cc7954f8
...
@@ -92,7 +92,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
...
@@ -92,7 +92,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
List
<
String
>
dayHourRangeList
=
getLastDayHourRange
(
month
,
day
);
List
<
String
>
dayHourRangeList
=
getLastDayHourRange
(
month
,
day
);
String
currentDate
=
LocalDate
.
now
().
minusDays
(
1
).
toString
();
String
currentDate
=
LocalDate
.
now
().
minusDays
(
1
).
toString
();
if
(
month
!=
null
&&
day
!=
null
){
if
(
month
!=
null
&&
day
!=
null
){
currentDate
=
LocalDate
.
of
(
202
3
,
month
,
day
).
minusDays
(
1
).
toString
();
currentDate
=
LocalDate
.
of
(
202
4
,
month
,
day
).
minusDays
(
1
).
toString
();
}
}
SaasSleepAnalysisModel
analysisModel
=
saasSleepAnalysisModelService
.
getOne
(
new
QueryWrapper
<
SaasSleepAnalysisModel
>().
lambda
()
SaasSleepAnalysisModel
analysisModel
=
saasSleepAnalysisModelService
.
getOne
(
new
QueryWrapper
<
SaasSleepAnalysisModel
>().
lambda
()
...
@@ -699,7 +699,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
...
@@ -699,7 +699,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
}
}
}
}
int
riseRepeatThreshold
=
Integer
.
parseInt
(
analysisModel
.
getRiseRepeatThreshold
());
int
riseRepeatThreshold
=
Integer
.
parseInt
(
analysisModel
.
getRiseRepeatThreshold
());
List
<
PlatElderSleep
>
mergeElderSleepList
=
mergeWakeUpList
(
elderSleepList
,
riseRepeatThreshold
);
List
<
PlatElderSleep
>
mergeElderSleepList
=
recursion
(
elderSleepList
,
elderSleepList
.
size
()
/
2
,
riseRepeatThreshold
);
platElderSleepService
.
saveBatch
(
mergeElderSleepList
);
platElderSleepService
.
saveBatch
(
mergeElderSleepList
);
String
score
=
calculateScores
(
daySleepTime
,
dayRestTime
,
deepTime
,
soberTime
,
lightTime
,
evaluateStandardReport
);
String
score
=
calculateScores
(
daySleepTime
,
dayRestTime
,
deepTime
,
soberTime
,
lightTime
,
evaluateStandardReport
);
EvaluateReportVO
sleepReport
=
saasSleepEvaluateReportService
.
getByScore
(
Long
.
parseLong
(
score
));
EvaluateReportVO
sleepReport
=
saasSleepEvaluateReportService
.
getByScore
(
Long
.
parseLong
(
score
));
...
@@ -724,6 +724,17 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
...
@@ -724,6 +724,17 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
}
}
private
List
<
PlatElderSleep
>
recursion
(
List
<
PlatElderSleep
>
elderSleepList
,
int
count
,
int
riseRepeatThreshold
)
{
List
<
PlatElderSleep
>
platElderSleeps
=
platElderSleepService
.
mergeWakeUpList
(
elderSleepList
,
riseRepeatThreshold
);
if
(
count
==
0
)
{
return
platElderSleeps
;
}
else
{
count
--;
return
recursion
(
platElderSleeps
,
count
,
riseRepeatThreshold
);
}
}
/**
/**
* @param elderSleepList
* @param elderSleepList
...
@@ -747,7 +758,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
...
@@ -747,7 +758,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
}
}
// 2小时内再次入睡的数据,合并
// 2小时内再次入睡的数据,合并
List
<
PlatElderSleep
>
riseSleepList
=
finalElderSleepList
.
stream
().
filter
(
f
->
Duration
.
between
(
e
.
getEndSleep
(),
List
<
PlatElderSleep
>
riseSleepList
=
finalElderSleepList
.
stream
().
filter
(
f
->
Duration
.
between
(
e
.
getEndSleep
(),
f
.
getStartSleep
()).
to
Hours
()
<
riseRepeatThreshold
).
collect
(
Collectors
.
toList
());
f
.
getStartSleep
()).
to
Minutes
()
<
riseRepeatThreshold
*
60L
).
collect
(
Collectors
.
toList
());
if
(
CollUtil
.
isEmpty
(
riseSleepList
))
{
if
(
CollUtil
.
isEmpty
(
riseSleepList
))
{
result
.
add
(
e
);
result
.
add
(
e
);
return
;
return
;
...
@@ -828,7 +839,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
...
@@ -828,7 +839,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
int
count
=
24
;
int
count
=
24
;
LocalDateTime
localDateTime
=
LocalDateTime
.
now
();
LocalDateTime
localDateTime
=
LocalDateTime
.
now
();
if
(
month
!=
null
&&
day
!=
null
)
{
if
(
month
!=
null
&&
day
!=
null
)
{
localDateTime
=
LocalDateTime
.
of
(
LocalDate
.
of
(
202
3
,
month
,
day
),
LocalTime
.
now
());
localDateTime
=
LocalDateTime
.
of
(
LocalDate
.
of
(
202
4
,
month
,
day
),
LocalTime
.
now
());
}
}
List
<
String
>
list
=
Lists
.
newArrayList
();
List
<
String
>
list
=
Lists
.
newArrayList
();
String
startTime
;
String
startTime
;
...
...
server-service/src/main/java/com/makeit/service/wechat/impl/PlatElderChildrenInfoUserLoginWechatServiceImpl.java
View file @
cc7954f8
package
com
.
makeit
.
service
.
wechat
.
impl
;
package
com
.
makeit
.
service
.
wechat
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.makeit.dto.platform.auth.PlatOrgSplitDTO
;
import
com.makeit.entity.platform.elder.PlatElderChildrenInfo
;
import
com.makeit.entity.platform.elder.PlatElderChildrenInfo
;
import
com.makeit.entity.saas.PlatTenant
;
import
com.makeit.entity.saas.PlatTenant
;
import
com.makeit.enums.Const
;
import
com.makeit.enums.HeaderConst
;
import
com.makeit.global.aspect.misc.nofill.NoFillUtil
;
import
com.makeit.global.aspect.misc.nofill.NoFillUtil
;
import
com.makeit.service.platform.elder.PlatElderChildrenInfoService
;
import
com.makeit.service.platform.elder.PlatElderChildrenInfoService
;
import
com.makeit.service.saas.PlatTenantService
;
import
com.makeit.service.saas.PlatTenantService
;
...
@@ -16,8 +13,8 @@ import com.makeit.utils.msg.config.WxConfig;
...
@@ -16,8 +13,8 @@ import com.makeit.utils.msg.config.WxConfig;
import
com.makeit.utils.old.StringUtils
;
import
com.makeit.utils.old.StringUtils
;
import
com.makeit.utils.sys.FileUtil
;
import
com.makeit.utils.sys.FileUtil
;
import
com.makeit.utils.third.wechat.WechatLoginPhoneDTO
;
import
com.makeit.utils.third.wechat.WechatLoginPhoneDTO
;
import
com.makeit.utils.third.wechat.WxUserInfo
;
import
com.makeit.utils.third.wechat.WechatUtil
;
import
com.makeit.utils.third.wechat.WechatUtil
;
import
com.makeit.utils.third.wechat.WxUserInfo
;
import
com.makeit.utils.user.TokenUtil
;
import
com.makeit.utils.user.TokenUtil
;
import
com.makeit.utils.user.wechat.WechatUserInfo
;
import
com.makeit.utils.user.wechat.WechatUserInfo
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.collections4.CollectionUtils
;
...
@@ -60,7 +57,7 @@ public class PlatElderChildrenInfoUserLoginWechatServiceImpl implements PlatElde
...
@@ -60,7 +57,7 @@ public class PlatElderChildrenInfoUserLoginWechatServiceImpl implements PlatElde
childrenInfo
.
setOpenid
(
userInfo
.
getOpenId
());
childrenInfo
.
setOpenid
(
userInfo
.
getOpenId
());
childrenInfo
.
setName
(
userInfo
.
getNickName
());
childrenInfo
.
setName
(
userInfo
.
getNickName
());
childrenInfo
.
setWeChatOpenid
(
dto
.
getWeChatOpenid
());
childrenInfo
.
setCreateBy
(
userInfo
.
getNickName
());
childrenInfo
.
setCreateBy
(
userInfo
.
getNickName
());
childrenInfo
.
setUpdateBy
(
userInfo
.
getNickName
());
childrenInfo
.
setUpdateBy
(
userInfo
.
getNickName
());
childrenInfo
.
setPhone
(
userInfo
.
getPhoneNumber
());
childrenInfo
.
setPhone
(
userInfo
.
getPhoneNumber
());
...
...
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