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
3bbedd54
authored
Sep 08, 2023
by
杨伟程
Browse files
Options
_('Browse Files')
Download
Plain Diff
Merge branch 'dev' of
http://git.xmmakeit.com/huangjiay/iot-platform-server
into dev
parents
f6d6c3b0
36c20a93
Hide whitespace changes
Inline
Side-by-side
Showing
50 changed files
with
1050 additions
and
176 deletions
saas-module/src/main/java/com/makeit/controller/plat/PlatUserController.java
server-common/src/main/java/com/makeit/config/WebInterceptorConfig.java
server-common/src/main/java/com/makeit/enums/CodeMessageEnum.java
server-common/src/main/java/com/makeit/global/bodyadvice/StringTrimRequestBodyAdvice.java
server-common/src/main/java/com/makeit/utils/msg/MsgUtil.java
server-common/src/main/java/com/makeit/utils/msg/SendTypeEnum.java
server-common/src/main/java/com/makeit/utils/msg/config/SmsConfig.java
server-common/src/main/java/com/makeit/utils/msg/dto/MsgDTO.java
server-common/src/main/java/com/makeit/utils/msg/sender/IMsgSender.java
server-common/src/main/java/com/makeit/utils/msg/sender/MailMsgSender.java
server-common/src/main/java/com/makeit/utils/msg/sender/SmsMsgSender.java
server-common/src/main/java/com/makeit/utils/old/encode/CryptoUtil.java
server-common/src/main/java/com/makeit/utils/third/mail/MailConfig.java
server-common/src/main/java/com/makeit/utils/third/sms/SmsConfig.java → server-common/src/main/java/com/makeit/utils/third/sms/SmsConfigOld.java
server-common/src/main/java/com/makeit/utils/third/sms/SmsSendUtil.java
server-common/src/main/resources/locale/business_messages.properties
server-module/src/main/java/com/makeit/module/controller/alarm/PlatAlarmRecordController.java
server-module/src/main/java/com/makeit/module/controller/space/PlatBedController.java
server-module/src/main/java/com/makeit/module/controller/space/PlatRoomBedDeviceController.java
server-module/src/main/java/com/makeit/module/controller/space/PlatRoomController.java
server-module/src/main/java/com/makeit/module/controller/wechat/alarm/WechatPlatAlarmRecordController.java
server-module/src/main/java/com/makeit/module/controller/wechat/auth/PlatLoginWechatController.java
server-module/src/main/java/com/makeit/module/controller/wechat/auth/PlatUserWechatController.java
server-module/src/main/java/com/makeit/module/controller/wechat/space/PlatBedWechatController.java
server-module/src/main/java/com/makeit/module/controller/wechat/space/PlatRoomWechatController.java
server-module/src/main/java/com/makeit/module/controller/wechat/space/PlatSpaceWechatController.java
server-service/src/main/java/com/makeit/dto/platform/auth/PlatUserChangePasswordDTO.java
server-service/src/main/java/com/makeit/dto/platform/space/PlatBedDeviceQueryDTO.java
server-service/src/main/java/com/makeit/dto/platform/space/PlatRoomBindDeviceDTO.java
server-service/src/main/java/com/makeit/dto/platform/space/PlatSpaceDeviceQueryDTO.java
server-service/src/main/java/com/makeit/dto/platform/space/PlatUnbindingDeviceDTO.java
server-service/src/main/java/com/makeit/entity/platform/space/PlatRoomBedDevice.java
server-service/src/main/java/com/makeit/entity/saas/SaasMenu.java
server-service/src/main/java/com/makeit/service/platform/alarm/PlatAlarmRecordService.java
server-service/src/main/java/com/makeit/service/platform/alarm/impl/PlatAlarmRecordServiceImpl.java
server-service/src/main/java/com/makeit/service/platform/auth/PlatUserService.java
server-service/src/main/java/com/makeit/service/platform/auth/impl/PlatUserServiceImpl.java
server-service/src/main/java/com/makeit/service/platform/space/PlatBedService.java
server-service/src/main/java/com/makeit/service/platform/space/PlatRoomBedDeviceService.java
server-service/src/main/java/com/makeit/service/platform/space/impl/PlatBedServiceImpl.java
server-service/src/main/java/com/makeit/service/platform/space/impl/PlatRoomBedDeviceServiceImpl.java
server-service/src/main/java/com/makeit/service/saas/impl/SaasUserServiceImpl.java
server-service/src/main/java/com/makeit/service/wechat/PlatLoginWechatService.java
server-service/src/main/java/com/makeit/service/wechat/PlatUserWechatService.java
server-service/src/main/java/com/makeit/service/wechat/impl/PlatLoginWechatServiceImpl.java
server-service/src/main/java/com/makeit/service/wechat/impl/PlatUserWechatServiceImpl.java
server-service/src/main/java/com/makeit/task/IotSyncTask.java
server-web/src/main/resources/application-dev.yml
server-web/src/main/resources/application-test.yml
server-web/src/main/resources/application.yml
saas-module/src/main/java/com/makeit/controller/plat/PlatUserController.java
View file @
3bbedd54
...
...
@@ -9,6 +9,7 @@ import com.makeit.common.page.PageVO;
import
com.makeit.common.response.ApiResponseEntity
;
import
com.makeit.common.response.ApiResponseUtils
;
import
com.makeit.common.vo.ExcelImportVo
;
import
com.makeit.enums.CodeMessageEnum
;
import
com.makeit.exception.BusinessException
;
import
com.makeit.global.annotation.Action
;
import
com.makeit.module.admin.dto.plat.PlatUserDTOVO
;
...
...
@@ -161,7 +162,7 @@ public class PlatUserController {
@PostMapping
(
"import"
)
public
ApiResponseEntity
<
ExcelImportVo
>
importExcel
(
@RequestParam
(
value
=
"excelFile"
,
required
=
false
)
MultipartFile
excelFile
)
throws
Exception
{
if
(
excelFile
==
null
){
throw
new
BusinessException
(
"请上传excel"
);
throw
new
BusinessException
(
CodeMessageEnum
.
SYSTEM_ERROR_EXCEL_UPLOAD_EXIT
);
}
ExcelImportVo
excelImportVo
=
platUserService
.
importExcel
(
excelFile
);
return
ApiResponseUtils
.
success
(
excelImportVo
);
...
...
server-common/src/main/java/com/makeit/config/WebInterceptorConfig.java
View file @
3bbedd54
package
com
.
makeit
.
config
;
import
com.makeit.global.inteceptor.RequestIdInterceptor
;
import
com.makeit.global.inteceptor.SaasAuthenticationInterceptor
;
import
com.makeit.global.inteceptor.SaasAuthorizationInterceptor
;
import
com.makeit.global.inteceptor.PlatAuthenticationInterceptor
;
import
com.makeit.global.inteceptor.PlatAuthorizationInterceptor
;
import
com.makeit.global.inteceptor.*
;
import
com.makeit.utils.old.StringUtils
;
import
lombok.Data
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -34,6 +30,9 @@ public class WebInterceptorConfig implements WebMvcConfigurer {
@Autowired
private
SaasAuthorizationInterceptor
saasAuthorizationInterceptor
;
@Autowired
private
WechatAuthenticationInterceptor
wechatAuthenticationInterceptor
;
private
String
authenticationSaasPath
;
private
String
authenticationSaasPathIgnore
;
...
...
@@ -48,6 +47,9 @@ public class WebInterceptorConfig implements WebMvcConfigurer {
private
String
authorizationTntPath
;
private
String
authorizationTntPathIgnore
;
private
String
authenticationWechatPath
;
private
String
authenticationWechatPathIgnore
;
@Override
public
void
addInterceptors
(
InterceptorRegistry
registry
)
{
...
...
@@ -62,6 +64,8 @@ public class WebInterceptorConfig implements WebMvcConfigurer {
addInterceptor
(
registry
.
addInterceptor
(
saasAuthenticationInterceptor
),
authenticationSaasPath
,
authenticationSaasPathIgnore
);
//saas 授权
addInterceptor
(
registry
.
addInterceptor
(
saasAuthorizationInterceptor
),
authorizationSaasPath
,
authorizationSaasPathIgnore
);
//微信 认证
addInterceptor
(
registry
.
addInterceptor
(
wechatAuthenticationInterceptor
),
authenticationWechatPath
,
authenticationWechatPathIgnore
);
}
...
...
server-common/src/main/java/com/makeit/enums/CodeMessageEnum.java
View file @
3bbedd54
...
...
@@ -69,6 +69,7 @@ public enum CodeMessageEnum {
SYSTEM_ERROR_AUTH_USER_PAY_PASSWORD_BLANK
(
500
,
"SYSTEM.ERROR.AUTH.USER.PAY.PASSWORD.BLANK"
),
SYSTEM_ERROR_WECHAT_USER_NOT_EXIST
(
520
,
"SYSTEM.ERROR.WECHAT.USER.NOT.EXIST"
),
SYSTEM_ERROR_AUTH_USER_MAIL_NOT_SET
(
500
,
"SYSTEM.ERROR.AUTH.USER.MAIL.NOT.SET"
),
SYSTEM_ERROR_AUTH_USER_PASSWORD_NOT_EQUALS
(
500
,
"SYSTEM.ERROR.AUTH.USER.PASSWORD.NOT.EQUALS"
),
SYSTEM_ERROR_EXCEL_UPLOAD_EXIT
(
10001
,
"SYSTEM.ERROR.EXCEL.UPLOAD.EXIT"
),
SYSTEM_ERROR_EXCEL_NOT_DATA
(
10002
,
"SYSTEM.ERROR.EXCEL.NOT.DATA"
),
...
...
@@ -108,7 +109,11 @@ public enum CodeMessageEnum {
SYSTEM_ERROR_TENANT_NOT_EXIST
(
510
,
"SYSTEM.ERROR.TENANT.NOT.EXIST"
),
SYSTEM_ERROR_ROLE_ADMIN_CANT_ADD
(
500
,
"SYSTEM.ERROR.ROLE.ADMIN.CANT.ADD"
),
SYSTEM_ERROR_ROLE_ADMIN_CANT_EDIT
(
500
,
"SYSTEM.ERROR.ROLE.ADMIN.CANT.EDIT"
),
;
PLATFORM_ERROR_ALARM_NOT_FOUND_SPACE
(
500
,
"PLATFORM.ERROR.ALARM.NOT.FOUND.SPACE"
),
PLATFORM_ERROR_ALARM_NOT_FOUND_ELDER
(
500
,
"PLATFORM.ERROR.ALARM.NOT.FOUND.ELDER"
),
;
/**
...
...
server-common/src/main/java/com/makeit/global/bodyadvice/StringTrimRequestBodyAdvice.java
View file @
3bbedd54
...
...
@@ -2,7 +2,6 @@ package com.makeit.global.bodyadvice;
import
com.makeit.common.page.PageReqDTO
;
import
com.makeit.utils.data.ReflectionUtil
;
import
com.makeit.utils.old.StringUtils
;
import
org.springframework.core.MethodParameter
;
import
org.springframework.http.HttpInputMessage
;
import
org.springframework.http.converter.HttpMessageConverter
;
...
...
@@ -13,6 +12,7 @@ import java.io.IOException;
import
java.lang.reflect.Field
;
import
java.lang.reflect.Type
;
import
java.util.List
;
import
java.util.Objects
;
@RestControllerAdvice
public
class
StringTrimRequestBodyAdvice
implements
RequestBodyAdvice
{
...
...
@@ -50,7 +50,8 @@ public class StringTrimRequestBodyAdvice implements RequestBodyAdvice {
try
{
Object
o
=
e
.
get
(
body
);
String
s
=
(
String
)
o
;
if
(
StringUtils
.
isNotBlank
(
s
))
{
//前端如果传"" 字段无法更新成功
if
(
Objects
.
nonNull
(
s
))
{
e
.
set
(
body
,
s
.
trim
());
}
else
{
e
.
set
(
body
,
null
);
...
...
server-common/src/main/java/com/makeit/utils/msg/MsgUtil.java
View file @
3bbedd54
package
com
.
makeit
.
utils
.
msg
;
import
com.makeit.utils.msg.dto.MsgDTO
;
import
org.springframework.stereotype.Component
;
import
java.util.Collection
;
@Component
public
class
MsgUtil
{
/**
* 发送消息并保存记录
*/
public
void
send
(
MsgDTO
msgDTO
){
public
void
send
(
SendTypeEnum
sendTypeEnum
,
Collection
<
String
>
receiverList
,
String
content
){
switch
(
sendTypeEnum
){
case
SMS:
break
;
case
MAIL:
break
;
case
VOICE_SMS:
break
;
case
JINGQI:
break
;
case
YUNLING:
break
;
}
}
}
server-common/src/main/java/com/makeit/utils/msg/SendTypeEnum.java
View file @
3bbedd54
...
...
@@ -8,12 +8,14 @@ import lombok.Getter;
@AllArgsConstructor
@Getter
public
enum
SendTypeEnum
implements
BaseEnum
{
//1-短信 2-邮件 3-语音短信 4-云龄工单 5-晶奇工单
//1-短信 2-邮件 3-语音短信 4-云龄工单 5-晶奇工单
6-子女端小程序
SMS
(
"alarm.sendType.sms"
),
MAIL
(
"alarm.sendType.mail"
),
VOICE_SMS
(
"alarm.sendType.voiceSms"
),
YUNLING
(
"alarm.sendType.yunling"
),
JINGQI
(
"alarm.sendType.jingqi"
);
JINGQI
(
"alarm.sendType.jingqi"
),
CHILD_WECHAT
(
"alarm.sendType.childWechat"
)
;
private
String
code
;
...
...
@@ -21,4 +23,9 @@ public enum SendTypeEnum implements BaseEnum {
public
String
getValue
()
{
return
SysDictUtil
.
getValue
(
code
);
}
public
static
SendTypeEnum
getByValue
(
String
value
){
SendTypeEnum
byValue
=(
SendTypeEnum
)
BaseEnum
.
getByValue
(
SendTypeEnum
.
class
,
value
);
return
byValue
;
}
}
server-common/src/main/java/com/makeit/utils/msg/config/SmsConfig.java
0 → 100644
View file @
3bbedd54
package
com
.
makeit
.
utils
.
msg
.
config
;
import
lombok.Data
;
import
org.springframework.boot.context.properties.ConfigurationProperties
;
import
org.springframework.context.annotation.Configuration
;
@Data
@ConfigurationProperties
(
"sms.send"
)
@Configuration
public
class
SmsConfig
{
private
String
url
;
private
String
uid
;
private
String
pwd
;
}
server-common/src/main/java/com/makeit/utils/msg/dto/MsgDTO.java
View file @
3bbedd54
...
...
@@ -33,11 +33,6 @@ public class MsgDTO {
this
.
param
=
param
;
}
public
String
getSendContent
()
{
replaceParam
();
return
sendContent
;
}
private
void
replaceParam
(){
if
(
StringUtils
.
isNotBlank
(
sendContent
)){
return
;
...
...
server-common/src/main/java/com/makeit/utils/msg/sender/IMsgSender.java
View file @
3bbedd54
package
com
.
makeit
.
utils
.
msg
.
sender
;
import
com.makeit.utils.msg.dto.MsgDTO
;
import
com.makeit.utils.msg.dto.SendResult
;
public
interface
IMsgSender
{
...
...
@@ -9,5 +8,5 @@ public interface IMsgSender {
* 发送消息
* @param msgData 消息数据
*/
SendResult
send
(
MsgDTO
MsgDTO
)
;
void
send
(
MsgDTO
MsgDTO
)
throws
Exception
;
}
server-common/src/main/java/com/makeit/utils/msg/sender/MailMsgSender.java
View file @
3bbedd54
package
com
.
makeit
.
utils
.
msg
.
sender
;
import
com.makeit.exception.BusinessException
;
import
com.makeit.utils.msg.dto.MsgDTO
;
import
com.makeit.utils.msg.dto.SendResult
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
...
...
@@ -25,23 +25,18 @@ public class MailMsgSender implements IMsgSender {
@Override
public
SendResult
send
(
MsgDTO
msgDTO
)
{
SendResult
sendResult
=
new
SendResult
();
public
void
send
(
MsgDTO
msgDTO
)
{
try
{
MimeMessage
message
=
mailSender
.
createMimeMessage
();
MimeMessageHelper
helper
=
new
MimeMessageHelper
(
message
,
true
);
helper
.
setFrom
(
from
);
helper
.
setTo
(
msgDTO
.
getReceiverList
().
toArray
(
new
String
[
msgDTO
.
getReceiverList
().
size
()]));
helper
.
setSubject
(
msgDTO
.
getSubject
());
helper
.
setText
(
msgDTO
.
get
Send
Content
(),
false
);
helper
.
setText
(
msgDTO
.
get
Ori
Content
(),
false
);
mailSender
.
send
(
message
);
}
catch
(
Exception
e
)
{
sendResult
.
setSuccess
(
false
);
sendResult
.
setInfo
(
e
.
getMessage
());
throw
new
BusinessException
(
e
.
getMessage
());
}
sendResult
.
setSuccess
(
true
);
return
sendResult
;
}
}
server-common/src/main/java/com/makeit/utils/msg/sender/SmsMsgSender.java
0 → 100644
View file @
3bbedd54
package
com
.
makeit
.
utils
.
msg
.
sender
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.makeit.exception.BusinessException
;
import
com.makeit.utils.msg.config.SmsConfig
;
import
com.makeit.utils.msg.dto.MsgDTO
;
import
com.makeit.utils.old.encode.CryptoUtil
;
import
com.makeit.utils.third.HttpClient
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.HttpHeaders
;
import
org.springframework.stereotype.Component
;
import
java.net.URLEncoder
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.stream.Collectors
;
@Component
public
class
SmsMsgSender
implements
IMsgSender
{
@Autowired
private
SmsConfig
smsConfig
;
/**
* 发送消息
*
* @param msgDTO
*/
@Override
public
void
send
(
MsgDTO
msgDTO
)
throws
Exception
{
try
{
Date
now
=
new
Date
();
String
time
=
String
.
valueOf
(
now
.
getTime
());
List
<
String
>
receiverList
=
msgDTO
.
getReceiverList
();
String
receiverJoin
=
receiverList
.
stream
().
collect
(
Collectors
.
joining
(
","
));
HashMap
<
String
,
String
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"uid"
,
smsConfig
.
getUid
()
+
1000
);
//md5-32位( md5-16位(登录密码)+ time )
String
md16
=
CryptoUtil
.
md5_16
(
smsConfig
.
getPwd
());
String
md32
=
CryptoUtil
.
md5
(
md16
+
time
);
paramMap
.
put
(
"pwd"
,
md32
);
paramMap
.
put
(
"time"
,
time
);
paramMap
.
put
(
"mobile"
,
receiverJoin
);
paramMap
.
put
(
"content"
,
URLEncoder
.
encode
(
msgDTO
.
getOriContent
(),
"UTF-8"
));
String
resStr
=
HttpClient
.
sendJSONPostRequest
(
smsConfig
.
getUrl
(),
paramMap
,
new
HttpHeaders
(),
String
.
class
);
JSONObject
jsonObject
=
JSON
.
parseObject
(
resStr
);
String
status
=
(
String
)
jsonObject
.
get
(
"status"
);
if
(!
StringUtils
.
equals
(
status
,
"0"
))
{
throw
new
BusinessException
((
String
)
jsonObject
.
get
(
"status_code"
));
}
}
catch
(
Exception
e
){
throw
new
BusinessException
(
e
.
getMessage
());
}
}
}
server-common/src/main/java/com/makeit/utils/old/encode/CryptoUtil.java
View file @
3bbedd54
...
...
@@ -301,7 +301,8 @@ public class CryptoUtil {
// 3 计算后获得字节数组,这就是那128位了
byte
[]
buff
=
md
.
digest
(
input
);
// 4 把数组每一字节(一个字节占八位)换成16进制连成md5字符串
return
bytesToHex
(
buff
).
substring
(
8
,
24
);
String
bytesToHex
=
bytesToHex
(
buff
);
return
bytesToHex
.
substring
(
8
,
24
);
}
catch
(
Exception
e
)
{
throw
ExceptionUtil
.
unchecked
(
e
);
}
...
...
@@ -330,6 +331,6 @@ public class CryptoUtil {
}
md5str
.
append
(
Integer
.
toHexString
(
digital
));
}
return
md5str
.
toString
()
.
toUpperCase
()
;
return
md5str
.
toString
();
}
}
server-common/src/main/java/com/makeit/utils/third/mail/MailConfig.java
deleted
100644 → 0
View file @
f6d6c3b0
package
com
.
makeit
.
utils
.
third
.
mail
;
import
lombok.Data
;
import
org.springframework.boot.context.properties.ConfigurationProperties
;
import
org.springframework.stereotype.Component
;
@Data
@ConfigurationProperties
(
prefix
=
"spring.mail"
)
@Component
public
class
MailConfig
{
private
String
username
;
private
String
template
;
private
String
title
;
}
server-common/src/main/java/com/makeit/utils/third/sms/SmsConfig.java
→
server-common/src/main/java/com/makeit/utils/third/sms/SmsConfig
Old
.java
View file @
3bbedd54
...
...
@@ -14,7 +14,7 @@ import org.springframework.stereotype.Component;
@Component
@ConfigurationProperties
(
prefix
=
"sms.config"
)
@Data
public
class
SmsConfig
{
public
class
SmsConfig
Old
{
private
String
templateCode
;
private
String
signName
;
private
String
keys
;
...
...
server-common/src/main/java/com/makeit/utils/third/sms/SmsSendUtil.java
View file @
3bbedd54
...
...
@@ -75,7 +75,7 @@ public class SmsSendUtil {
}
public
static
void
sendSMS
(
String
phone
,
SmsConfig
smsConfig
,
String
templateParam
)
throws
Exception
{
public
static
void
sendSMS
(
String
phone
,
SmsConfig
Old
smsConfig
,
String
templateParam
)
throws
Exception
{
try
{
sendSMS
(
phone
,
smsConfig
.
getSignName
(),
smsConfig
.
getTemplateCode
(),
templateParam
);
}
catch
(
Exception
ex
)
{
...
...
@@ -95,7 +95,7 @@ public class SmsSendUtil {
String
token
=
IdGen
.
getUUID
();
Map
<
String
,
Object
>
param
=
new
HashMap
<>(
16
);
param
.
put
(
"code"
,
code
);
SmsSendUtil
.
sendSMS
(
phone
,
SpringContextHolder
.
getBean
(
SmsConfig
.
class
),
JsonUtil
.
toJson
(
param
));
SmsSendUtil
.
sendSMS
(
phone
,
SpringContextHolder
.
getBean
(
SmsConfig
Old
.
class
),
JsonUtil
.
toJson
(
param
));
TokenUtil
.
setMobileCode
(
phone
,
token
,
code
,
5
);
return
token
;
}
...
...
server-common/src/main/resources/locale/business_messages.properties
View file @
3bbedd54
...
...
@@ -65,6 +65,7 @@ SYSTEM.ERROR.AUTH.USER.ACCOUNT.PASSWORD=账号或者密码错误!
SYSTEM.ERROR.AUTH.USER.PASSWORD
=
密码错误
SYSTEM.ERROR.AUTH.USER.PAY.PASSWORD.BLANK
=
支付密码未设置
SYSTEM.ERROR.AUTH.USER.MAIL.NOT.SET
=
邮箱未设置
SYSTEM.ERROR.AUTH.USER.PASSWORD.NOT.EQUALS
=
新密码与确认密码不一致
SYSTEM.ERROR.WECHAT.USER.NOT.EXIST
=
该企微账号对应的用户不存在
...
...
@@ -102,3 +103,7 @@ PLATFORM.ERROR.ROOM.OTHER.USED.NOT.DEL=该房间下有床位有其他长者入
SYSTEM.ERROR.ROLE.ADMIN.CANT.ADD
=
不能在该节点下新增非管理员角色
SYSTEM.ERROR.ROLE.ADMIN.CANT.EDIT
=
管理员角色不能修改
PLATFORM.ERROR.ALARM.NOT.FOUND.SPACE
=
设备未绑定空间
PLATFORM.ERROR.ALARM.NOT.FOUND.ELDER
=
设备空间下无长者
server-module/src/main/java/com/makeit/module/controller/alarm/PlatAlarmRecordController.java
View file @
3bbedd54
...
...
@@ -10,6 +10,7 @@ import com.makeit.dto.platform.alarm.PlatAlarmRecordQueryDTO;
import
com.makeit.service.platform.alarm.PlatAlarmRecordService
;
import
com.makeit.utils.msg.dto.MsgDTO
;
import
com.makeit.utils.msg.sender.MailMsgSender
;
import
com.makeit.utils.msg.sender.SmsMsgSender
;
import
com.makeit.vo.platform.alarm.PlatAlarmRecordVO
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
...
...
@@ -48,16 +49,18 @@ public class PlatAlarmRecordController {
@ApiOperation
(
"通知家属"
)
@PostMapping
(
"notice"
)
public
ApiResponseEntity
<
Void
>
notice
(
@RequestBody
BaseIdDTO
dto
)
{
platAlarmRecordService
.
notice
(
dto
.
getId
());
platAlarmRecordService
.
notice
Relation
(
dto
.
getId
());
return
ApiResponseUtils
.
success
();
}
@Autowired
private
MailMsgSender
mailMsgSender
;
@Autowired
private
SmsMsgSender
smsMsgSender
;
@ApiOperation
(
"测试
消息
"
)
@PostMapping
(
"testM
sg
"
)
public
ApiResponseEntity
<
Void
>
testM
sg
(
@RequestBody
BaseIdDTO
dto
)
{
@ApiOperation
(
"测试
邮箱
"
)
@PostMapping
(
"testM
ail
"
)
public
ApiResponseEntity
<
Void
>
testM
ail
(
@RequestBody
BaseIdDTO
dto
)
{
MsgDTO
msgDTO
=
new
MsgDTO
();
msgDTO
.
setSubject
(
"测试消息"
);
msgDTO
.
setReceiverList
(
Collections
.
singletonList
(
"994997968@qq.com"
));
...
...
@@ -65,5 +68,15 @@ public class PlatAlarmRecordController {
mailMsgSender
.
send
(
msgDTO
);
return
ApiResponseUtils
.
success
();
}
@ApiOperation
(
"测试短信"
)
@PostMapping
(
"testMsg"
)
public
ApiResponseEntity
<
Void
>
testMsg
(
@RequestBody
BaseIdDTO
dto
)
throws
Exception
{
MsgDTO
msgDTO
=
new
MsgDTO
();
msgDTO
.
setReceiverList
(
Collections
.
singletonList
(
"18850503603"
));
msgDTO
.
setOriContent
(
"测试短信test"
);
smsMsgSender
.
send
(
msgDTO
);
return
ApiResponseUtils
.
success
();
}
}
server-module/src/main/java/com/makeit/module/controller/space/PlatBedController.java
View file @
3bbedd54
...
...
@@ -5,8 +5,6 @@ import com.makeit.common.page.PageReqDTO;
import
com.makeit.common.page.PageVO
;
import
com.makeit.common.response.ApiResponseEntity
;
import
com.makeit.common.response.ApiResponseUtils
;
import
com.makeit.dto.platform.device.PlatDeviceDTO
;
import
com.makeit.dto.platform.space.PlatBedDeviceQueryDTO
;
import
com.makeit.dto.platform.space.PlatBedEditDTO
;
import
com.makeit.dto.platform.space.PlatBedQueryDTO
;
import
com.makeit.entity.platform.space.PlatBed
;
...
...
@@ -20,8 +18,6 @@ import org.springframework.web.bind.annotation.RequestBody;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.List
;
/**
* @Author:lzy
* @Date:2023/9/6 11:56
...
...
@@ -63,18 +59,4 @@ public class PlatBedController {
return
ApiResponseUtils
.
success
();
}
@ApiOperation
(
"设备列表(选择设备)"
)
@PostMapping
(
"pageDevice"
)
public
ApiResponseEntity
<
PageVO
<
PlatDeviceDTO
>>
pageDevice
(
@RequestBody
PageReqDTO
<
PlatDeviceDTO
>
page
)
{
PageVO
<
PlatDeviceDTO
>
data
=
platBedService
.
pageDevice
(
page
);
return
ApiResponseUtils
.
success
(
data
);
}
@ApiOperation
(
"绑定设备列表"
)
@PostMapping
(
"listBindDevice"
)
public
ApiResponseEntity
<
List
<
PlatDeviceDTO
>>
listBindDevice
(
@RequestBody
PlatBedDeviceQueryDTO
dto
)
{
List
<
PlatDeviceDTO
>
data
=
platBedService
.
listBindDevice
(
dto
);
return
ApiResponseUtils
.
success
(
data
);
}
}
server-module/src/main/java/com/makeit/module/controller/space/PlatRoomBedDeviceController.java
0 → 100644
View file @
3bbedd54
package
com
.
makeit
.
module
.
controller
.
space
;
import
com.makeit.common.page.PageReqDTO
;
import
com.makeit.common.page.PageVO
;
import
com.makeit.common.response.ApiResponseEntity
;
import
com.makeit.common.response.ApiResponseUtils
;
import
com.makeit.dto.platform.device.PlatDeviceDTO
;
import
com.makeit.dto.platform.space.PlatBedDeviceQueryDTO
;
import
com.makeit.dto.platform.space.PlatRoomBindDeviceDTO
;
import
com.makeit.dto.platform.space.PlatSpaceDeviceQueryDTO
;
import
com.makeit.dto.platform.space.PlatUnbindingDeviceDTO
;
import
com.makeit.enums.CommonEnum
;
import
com.makeit.service.platform.space.PlatRoomBedDeviceService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.List
;
/**
* @Author:lzy
* @Date:2023/9/8 9:54
* @Describe:
*/
@Api
(
tags
=
"绑定设备"
)
@RestController
@RequestMapping
(
"/plat/binding/device/"
)
public
class
PlatRoomBedDeviceController
{
@Autowired
private
PlatRoomBedDeviceService
platRoomBedDeviceService
;
@ApiOperation
(
"设备列表(选择设备)-房间绑定"
)
@PostMapping
(
"pageRoomDevice"
)
public
ApiResponseEntity
<
PageVO
<
PlatDeviceDTO
>>
pageRoomDevice
(
@RequestBody
PageReqDTO
<
PlatSpaceDeviceQueryDTO
>
page
)
{
page
.
getData
().
setIsRoom
(
CommonEnum
.
YES
.
getValue
());
PageVO
<
PlatDeviceDTO
>
data
=
platRoomBedDeviceService
.
pageDevice
(
page
);
return
ApiResponseUtils
.
success
(
data
);
}
@ApiOperation
(
"设备列表(选择设备)-床位绑定"
)
@PostMapping
(
"pageBedDevice"
)
public
ApiResponseEntity
<
PageVO
<
PlatDeviceDTO
>>
pageBedDevice
(
@RequestBody
PageReqDTO
<
PlatSpaceDeviceQueryDTO
>
page
)
{
page
.
getData
().
setIsRoom
(
CommonEnum
.
NO
.
getValue
());
PageVO
<
PlatDeviceDTO
>
data
=
platRoomBedDeviceService
.
pageDevice
(
page
);
return
ApiResponseUtils
.
success
(
data
);
}
@ApiOperation
(
"已绑定设备列表"
)
@PostMapping
(
"listBindDevice"
)
public
ApiResponseEntity
<
List
<
PlatDeviceDTO
>>
listBindDevice
(
@RequestBody
PlatBedDeviceQueryDTO
dto
)
{
List
<
PlatDeviceDTO
>
data
=
platRoomBedDeviceService
.
listBindDevice
(
dto
);
return
ApiResponseUtils
.
success
(
data
);
}
@ApiOperation
(
"绑定设备"
)
@PostMapping
(
"bindingDevice"
)
public
ApiResponseEntity
<?>
bindingDevice
(
@RequestBody
PlatRoomBindDeviceDTO
dto
)
{
platRoomBedDeviceService
.
bindingDevice
(
dto
);
return
ApiResponseUtils
.
success
();
}
@ApiOperation
(
"解绑设备"
)
@PostMapping
(
"unbindingDevice"
)
public
ApiResponseEntity
<?>
unbindingDevice
(
@RequestBody
PlatUnbindingDeviceDTO
dto
)
{
platRoomBedDeviceService
.
unbindingDevice
(
dto
);
return
ApiResponseUtils
.
success
();
}
}
server-module/src/main/java/com/makeit/module/controller/space/PlatRoomController.java
View file @
3bbedd54
...
...
@@ -66,4 +66,5 @@ public class PlatRoomController {
PageVO
<
PlatRoom
>
data
=
platRoomService
.
page
(
page
);
return
ApiResponseUtils
.
success
(
data
);
}
}
server-module/src/main/java/com/makeit/module/controller/wechat/alarm/WechatPlatAlarmRecordController.java
View file @
3bbedd54
...
...
@@ -48,7 +48,7 @@ public class WechatPlatAlarmRecordController {
@ApiOperation
(
"通知家属"
)
@PostMapping
(
"notice"
)
public
ApiResponseEntity
<
Void
>
notice
(
@RequestBody
BaseIdDTO
dto
)
{
platAlarmRecordService
.
notice
(
dto
.
getId
());
platAlarmRecordService
.
notice
Relation
(
dto
.
getId
());
return
ApiResponseUtils
.
success
();
}
...
...
server-module/src/main/java/com/makeit/module/controller/wechat/auth/PlatLoginWechatController.java
0 → 100644
View file @
3bbedd54
package
com
.
makeit
.
module
.
controller
.
wechat
.
auth
;
import
com.makeit.common.dto.LoginDTO
;
import
com.makeit.common.response.ApiResponseEntity
;
import
com.makeit.common.response.ApiResponseUtils
;
import
com.makeit.module.admin.vo.plat.PlatUserLoginVO
;
import
com.makeit.service.platform.auth.PlatUserService
;
import
com.makeit.service.wechat.PlatLoginWechatService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
/**
* Controller
*
* @author zm
* @version 2023/9/6
*/
@Api
(
tags
=
"平台端小程序-登录"
)
@RestController
@RequestMapping
(
"/wechat/plat/login"
)
public
class
PlatLoginWechatController
{
@Autowired
private
PlatLoginWechatService
platLoginWechatService
;
@ApiOperation
(
"登录"
)
@PostMapping
(
"login"
)
public
ApiResponseEntity
<
PlatUserLoginVO
>
login
(
@RequestBody
LoginDTO
loginDTO
)
{
return
ApiResponseUtils
.
success
(
platLoginWechatService
.
wechatLogin
(
loginDTO
));
}
}
server-module/src/main/java/com/makeit/module/controller/wechat/auth/PlatUserWechatController.java
0 → 100644
View file @
3bbedd54
package
com
.
makeit
.
module
.
controller
.
wechat
.
auth
;
import
com.makeit.common.response.ApiResponseEntity
;
import
com.makeit.common.response.ApiResponseUtils
;
import
com.makeit.dto.platform.auth.PlatUserChangePasswordDTO
;
import
com.makeit.service.wechat.PlatUserWechatService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
/**
* Controller
*
* @author zm
* @version 2023/9/7
*/
@Api
(
tags
=
"平台端小程序-我的"
)
@RestController
@RequestMapping
(
"/wechat/plat/user"
)
public
class
PlatUserWechatController
{
@Autowired
private
PlatUserWechatService
platUserWechatService
;
@ApiOperation
(
"修改密码"
)
@PostMapping
(
"changePassword"
)
public
ApiResponseEntity
<
Void
>
changePassword
(
@RequestBody
PlatUserChangePasswordDTO
dto
)
{
platUserWechatService
.
changePassword
(
dto
);
return
ApiResponseUtils
.
success
();
}
}
server-module/src/main/java/com/makeit/module/controller/wechat/space/PlatBedWechatController.java
0 → 100644
View file @
3bbedd54
package
com
.
makeit
.
module
.
controller
.
wechat
.
space
;
import
com.makeit.common.dto.BaseIdDTO
;
import
com.makeit.common.page.PageReqDTO
;
import
com.makeit.common.page.PageVO
;
import
com.makeit.common.response.ApiResponseEntity
;
import
com.makeit.common.response.ApiResponseUtils
;
import
com.makeit.dto.platform.space.PlatBedEditDTO
;
import
com.makeit.dto.platform.space.PlatBedQueryDTO
;
import
com.makeit.entity.platform.space.PlatBed
;
import
com.makeit.service.platform.space.PlatBedService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
/**
* Controller
*
* @author zm
* @version 2023/9/7
*/
@Api
(
tags
=
"平台端小程序-管理床位"
)
@RestController
@RequestMapping
(
"/wechat/plat/bed"
)
public
class
PlatBedWechatController
{
@Autowired
private
PlatBedService
platBedService
;
@ApiOperation
(
"列表"
)
@PostMapping
(
"page"
)
public
ApiResponseEntity
<
PageVO
<
PlatBed
>>
page
(
@RequestBody
PageReqDTO
<
PlatBedQueryDTO
>
page
)
{
PageVO
<
PlatBed
>
data
=
platBedService
.
page
(
page
);
return
ApiResponseUtils
.
success
(
data
);
}
@ApiOperation
(
"详情"
)
@PostMapping
(
"view"
)
public
ApiResponseEntity
<
PlatBed
>
view
(
@RequestBody
BaseIdDTO
baseIdDTO
)
{
PlatBed
data
=
platBedService
.
view
(
baseIdDTO
.
getId
());
return
ApiResponseUtils
.
success
(
data
);
}
@ApiOperation
(
"编辑"
)
@PostMapping
(
"edit"
)
public
ApiResponseEntity
<?>
edit
(
@Validated
@RequestBody
PlatBedEditDTO
dto
)
{
platBedService
.
edit
(
dto
);
return
ApiResponseUtils
.
success
();
}
@ApiOperation
(
"删除"
)
@PostMapping
(
"del"
)
public
ApiResponseEntity
<?>
del
(
@RequestBody
BaseIdDTO
baseIdDTO
)
{
platBedService
.
del
(
baseIdDTO
.
getId
());
return
ApiResponseUtils
.
success
();
}
}
server-module/src/main/java/com/makeit/module/controller/wechat/space/PlatRoomWechatController.java
0 → 100644
View file @
3bbedd54
package
com
.
makeit
.
module
.
controller
.
wechat
.
space
;
import
com.makeit.common.dto.BaseBatchIdDTO
;
import
com.makeit.common.dto.BaseIdDTO
;
import
com.makeit.common.page.PageReqDTO
;
import
com.makeit.common.page.PageVO
;
import
com.makeit.common.response.ApiResponseEntity
;
import
com.makeit.common.response.ApiResponseUtils
;
import
com.makeit.dto.platform.space.PlatRoomDTO
;
import
com.makeit.dto.platform.space.PlatRoomQueryDTO
;
import
com.makeit.entity.platform.space.PlatRoom
;
import
com.makeit.service.platform.space.PlatRoomService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
/**
* Controller
*
* @author zm
* @version 2023/9/7
*/
@Api
(
tags
=
"平台端小程序-房间管理"
)
@RestController
@RequestMapping
(
"/wechat/plat/room"
)
public
class
PlatRoomWechatController
{
@Autowired
private
PlatRoomService
platRoomService
;
@ApiOperation
(
"新增"
)
@PostMapping
(
"add"
)
public
ApiResponseEntity
<?>
add
(
@Validated
@RequestBody
PlatRoomDTO
dto
)
{
platRoomService
.
add
(
dto
);
return
ApiResponseUtils
.
success
();
}
@ApiOperation
(
"编辑"
)
@PostMapping
(
"edit"
)
public
ApiResponseEntity
<?>
edit
(
@Validated
@RequestBody
PlatRoomDTO
dto
)
{
platRoomService
.
edit
(
dto
);
return
ApiResponseUtils
.
success
();
}
@ApiOperation
(
"详情"
)
@PostMapping
(
"view"
)
public
ApiResponseEntity
<
PlatRoomDTO
>
edit
(
@RequestBody
BaseIdDTO
baseIdDTO
)
{
PlatRoomDTO
data
=
platRoomService
.
view
(
baseIdDTO
.
getId
());
return
ApiResponseUtils
.
success
(
data
);
}
@ApiOperation
(
"删除"
)
@PostMapping
(
"del"
)
public
ApiResponseEntity
<
PlatRoomDTO
>
del
(
@RequestBody
BaseBatchIdDTO
baseBatchIdDTO
)
{
platRoomService
.
del
(
baseBatchIdDTO
.
getIdList
());
return
ApiResponseUtils
.
success
();
}
@ApiOperation
(
"列表"
)
@PostMapping
(
"page"
)
public
ApiResponseEntity
<
PageVO
<
PlatRoom
>>
page
(
@RequestBody
PageReqDTO
<
PlatRoomQueryDTO
>
page
)
{
PageVO
<
PlatRoom
>
data
=
platRoomService
.
page
(
page
);
return
ApiResponseUtils
.
success
(
data
);
}
}
server-module/src/main/java/com/makeit/module/controller/wechat/space/PlatSpaceWechatController.java
0 → 100644
View file @
3bbedd54
package
com
.
makeit
.
module
.
controller
.
wechat
.
space
;
import
com.makeit.common.dto.BaseIdDTO
;
import
com.makeit.common.response.ApiResponseEntity
;
import
com.makeit.common.response.ApiResponseUtils
;
import
com.makeit.dto.platform.space.PlatSpaceAddDTO
;
import
com.makeit.dto.platform.space.PlatSpaceQueryDTO
;
import
com.makeit.dto.platform.space.PlatSpaceVO
;
import
com.makeit.service.platform.space.PlatSpaceService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.List
;
/**
* Controller
*
* @author zm
* @version 2023/9/7
*/
@Api
(
tags
=
"平台端小程序-空间管理"
)
@RestController
@RequestMapping
(
"/wechat/plat/space"
)
public
class
PlatSpaceWechatController
{
@Autowired
private
PlatSpaceService
spaceService
;
@ApiOperation
(
"新增"
)
@PostMapping
(
"add"
)
public
ApiResponseEntity
<?>
add
(
@Validated
@RequestBody
PlatSpaceAddDTO
dto
)
{
spaceService
.
add
(
dto
);
return
ApiResponseUtils
.
success
();
}
@ApiOperation
(
"编辑"
)
@PostMapping
(
"edit"
)
public
ApiResponseEntity
<?>
edit
(
@Validated
@RequestBody
PlatSpaceAddDTO
dto
)
{
spaceService
.
edit
(
dto
);
return
ApiResponseUtils
.
success
();
}
@ApiOperation
(
"详情"
)
@PostMapping
(
"view"
)
public
ApiResponseEntity
<
PlatSpaceAddDTO
>
view
(
@RequestBody
BaseIdDTO
baseIdDTO
)
{
PlatSpaceAddDTO
data
=
spaceService
.
view
(
baseIdDTO
.
getId
());
return
ApiResponseUtils
.
success
(
data
);
}
@ApiOperation
(
"删除"
)
@PostMapping
(
"del"
)
public
ApiResponseEntity
<?>
del
(
@RequestBody
BaseIdDTO
baseIdDTO
)
{
spaceService
.
del
(
baseIdDTO
.
getId
());
return
ApiResponseUtils
.
success
();
}
@ApiOperation
(
"树"
)
@PostMapping
(
"tree"
)
public
ApiResponseEntity
<
List
<
PlatSpaceVO
>>
tree
(
@RequestBody
PlatSpaceQueryDTO
dto
)
{
List
<
PlatSpaceVO
>
data
=
spaceService
.
tree
(
dto
);
return
ApiResponseUtils
.
success
(
data
);
}
}
server-service/src/main/java/com/makeit/dto/platform/auth/PlatUserChangePasswordDTO.java
0 → 100644
View file @
3bbedd54
package
com
.
makeit
.
dto
.
platform
.
auth
;
import
com.makeit.common.dto.BaseIdDTO
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.validation.constraints.NotBlank
;
/**
* Controller
*
* @author zm
* @version 2023/9/7
*/
@ApiModel
(
"平台端小程序修改密码DTO"
)
@Data
public
class
PlatUserChangePasswordDTO
extends
BaseIdDTO
{
@NotBlank
(
message
=
"旧密码不能为空"
)
@ApiModelProperty
(
value
=
"旧密码"
)
private
String
oldPassword
;
@NotBlank
(
message
=
"新密码不能为空"
)
@ApiModelProperty
(
value
=
"新密码"
)
private
String
newPassword
;
@NotBlank
(
message
=
"确认密码不能为空"
)
@ApiModelProperty
(
value
=
"确认密码"
)
private
String
queryPassword
;
}
server-service/src/main/java/com/makeit/dto/platform/space/PlatBedDeviceQueryDTO.java
View file @
3bbedd54
...
...
@@ -15,4 +15,7 @@ public class PlatBedDeviceQueryDTO {
@ApiModelProperty
(
"房间Id"
)
private
String
roomId
;
@ApiModelProperty
(
"床位Id"
)
private
String
bedId
;
}
server-service/src/main/java/com/makeit/dto/platform/space/PlatRoomBindDeviceDTO.java
View file @
3bbedd54
...
...
@@ -15,10 +15,10 @@ import java.util.List;
@ApiModel
(
"PlatRoomBindDeviceDTO 设备绑定"
)
public
class
PlatRoomBindDeviceDTO
{
@ApiModelProperty
(
value
=
"房间ID"
)
@ApiModelProperty
(
value
=
"房间ID"
,
required
=
true
)
private
String
roomId
;
@ApiModelProperty
(
value
=
"设备Id"
)
@ApiModelProperty
(
value
=
"设备Id"
,
required
=
true
)
private
List
<
String
>
listEquipmentId
;
@ApiModelProperty
(
value
=
"床位Id"
)
...
...
server-service/src/main/java/com/makeit/dto/platform/space/PlatSpaceDeviceQueryDTO.java
0 → 100644
View file @
3bbedd54
package
com
.
makeit
.
dto
.
platform
.
space
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
/**
* @Author:lzy
* @Date:2023/9/7 14:58
* @Describe:
*/
@Data
@ApiModel
(
"PlatSpaceDeviceQueryDTO 参数"
)
public
class
PlatSpaceDeviceQueryDTO
{
@ApiModelProperty
(
value
=
"原始设备ID"
)
private
String
oriDeviceId
;
@ApiModelProperty
(
value
=
"设备名称"
)
private
String
name
;
@ApiModelProperty
(
value
=
"产品名称"
)
private
String
productName
;
@ApiModelProperty
(
value
=
"状态 数据字典 1 在线 0离线"
)
private
String
status
;
@ApiModelProperty
(
value
=
"设备类型 device.category 0-呼吸心率雷达 1-空间人体雷达 2-跌倒检测雷达"
)
private
String
category
;
@ApiModelProperty
(
value
=
"是否房间绑定 0-床位绑定 1-房间绑定"
)
private
String
isRoom
;
@ApiModelProperty
(
value
=
"房间ID 绑定床位时使用"
)
private
String
roomId
;
}
server-service/src/main/java/com/makeit/dto/platform/space/PlatUnbindingDeviceDTO.java
0 → 100644
View file @
3bbedd54
package
com
.
makeit
.
dto
.
platform
.
space
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
/**
* @Author:lzy
* @Date:2023/9/8 10:35
* @Describe:
*/
@Data
@ApiModel
(
"解绑设备"
)
public
class
PlatUnbindingDeviceDTO
{
@ApiModelProperty
(
"设备Id"
)
private
String
equipmentId
;
@ApiModelProperty
(
"房间Id"
)
private
String
roomId
;
@ApiModelProperty
(
"床位Id"
)
private
String
bedId
;
}
server-service/src/main/java/com/makeit/entity/platform/space/PlatRoomBedDevice.java
View file @
3bbedd54
package
com
.
makeit
.
entity
.
platform
.
space
;
import
com.baomidou.mybatisplus.annotation.FieldStrategy
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.makeit.common.entity.BaseBusEntity
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
...
...
@@ -16,13 +18,13 @@ import lombok.EqualsAndHashCode;
@ApiModel
(
value
=
"PlatRoomBedDevice对象"
,
description
=
"房间床位设备中间表"
)
public
class
PlatRoomBedDevice
extends
BaseBusEntity
{
@ApiModelProperty
(
value
=
"房间ID"
)
@ApiModelProperty
(
value
=
"房间ID"
,
required
=
true
)
private
String
roomId
;
@ApiModelProperty
(
value
=
"设备Id"
)
@ApiModelProperty
(
value
=
"设备Id"
,
required
=
true
)
private
String
equipmentId
;
@TableField
(
updateStrategy
=
FieldStrategy
.
IGNORED
)
@ApiModelProperty
(
value
=
"床位Id"
)
private
String
bedId
;
}
server-service/src/main/java/com/makeit/entity/saas/SaasMenu.java
View file @
3bbedd54
package
com
.
makeit
.
entity
.
saas
;
import
com.baomidou.mybatisplus.annotation.FieldStrategy
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.makeit.common.entity.BaseEntity
;
import
lombok.Data
;
...
...
@@ -30,11 +32,13 @@ public class SaasMenu extends BaseEntity {
/**
* 图标
*/
@TableField
(
updateStrategy
=
FieldStrategy
.
IGNORED
)
private
String
icon
;
/**
* 排序
*/
@TableField
private
Integer
sort
;
/**
...
...
server-service/src/main/java/com/makeit/service/platform/alarm/PlatAlarmRecordService.java
View file @
3bbedd54
...
...
@@ -20,5 +20,5 @@ public interface PlatAlarmRecordService extends IService<PlatAlarmRecord> {
void
deal
(
String
recordId
);
void
notice
(
String
recordId
);
void
notice
Relation
(
String
recordId
);
}
server-service/src/main/java/com/makeit/service/platform/alarm/impl/PlatAlarmRecordServiceImpl.java
View file @
3bbedd54
...
...
@@ -9,16 +9,27 @@ import com.makeit.common.page.PageVO;
import
com.makeit.dto.platform.alarm.PlatAlarmRecordQueryDTO
;
import
com.makeit.entity.platform.alarm.PlatAlarmConfig
;
import
com.makeit.entity.platform.alarm.PlatAlarmRecord
;
import
com.makeit.entity.platform.elder.PlatElder
;
import
com.makeit.entity.platform.elder.PlatElderSocialRelation
;
import
com.makeit.entity.platform.space.PlatRoomBedDevice
;
import
com.makeit.enums.CodeMessageEnum
;
import
com.makeit.enums.CommonEnum
;
import
com.makeit.exception.BusinessException
;
import
com.makeit.mapper.platform.alarm.PlatAlarmRecordMapper
;
import
com.makeit.service.platform.alarm.PlatAlarmConfigService
;
import
com.makeit.service.platform.alarm.PlatAlarmRecordService
;
import
com.makeit.service.platform.elder.PlatElderService
;
import
com.makeit.service.platform.elder.PlatElderSocialRelationService
;
import
com.makeit.service.platform.space.PlatRoomBedDeviceService
;
import
com.makeit.utils.data.convert.BeanDtoVoUtils
;
import
com.makeit.utils.data.convert.PageUtil
;
import
com.makeit.utils.msg.MsgUtil
;
import
com.makeit.utils.msg.SendTypeEnum
;
import
com.makeit.utils.sql.join.JoinUtil
;
import
com.makeit.utils.user.common.CommonUserUtil
;
import
com.makeit.utils.user.common.CommonUserVO
;
import
com.makeit.vo.platform.alarm.PlatAlarmRecordVO
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
...
...
@@ -28,6 +39,9 @@ import java.time.LocalDateTime;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.Objects
;
import
java.util.Set
;
import
java.util.stream.Collectors
;
import
java.util.stream.Stream
;
/**
* @author lixl
...
...
@@ -39,6 +53,15 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe
implements
PlatAlarmRecordService
{
@Autowired
private
PlatAlarmConfigService
platAlarmConfigService
;
@Autowired
private
PlatRoomBedDeviceService
platRoomBedDeviceService
;
@Autowired
private
PlatElderService
platElderService
;
@Autowired
private
PlatElderSocialRelationService
platElderSocialRelationService
;
@Autowired
private
MsgUtil
msgUtil
;
@Override
public
PageVO
<
PlatAlarmRecordVO
>
page
(
PageReqDTO
<
PlatAlarmRecordQueryDTO
>
dto
)
{
...
...
@@ -92,7 +115,7 @@ implements PlatAlarmRecordService{
@Override
@Transactional
public
void
notice
(
String
recordId
)
{
public
void
notice
Relation
(
String
recordId
)
{
//todo
PlatAlarmRecord
platAlarmRecord
=
this
.
getById
(
recordId
);
...
...
@@ -100,5 +123,37 @@ implements PlatAlarmRecordService{
String
deviceId
=
platAlarmRecord
.
getDeviceId
();
LambdaQueryWrapper
<
PlatRoomBedDevice
>
roomBedDeviceLambdaQueryWrapper
=
new
LambdaQueryWrapper
<
PlatRoomBedDevice
>()
.
eq
(
PlatRoomBedDevice:
:
getEquipmentId
,
deviceId
).
orderByDesc
(
BaseEntity:
:
getUpdateDate
);
PlatRoomBedDevice
platRoomBedDevice
=
platRoomBedDeviceService
.
getOne
(
roomBedDeviceLambdaQueryWrapper
,
false
);
//绑定房间的设备要通知 全部长者的家属
//绑定床位的设备要通知对应的长者的家属
if
(
platRoomBedDevice
==
null
){
throw
new
BusinessException
(
CodeMessageEnum
.
PLATFORM_ERROR_ALARM_NOT_FOUND_SPACE
);
}
String
bedId
=
platRoomBedDevice
.
getBedId
();
String
roomId
=
platRoomBedDevice
.
getRoomId
();
LambdaQueryWrapper
<
PlatElder
>
elderLambdaQueryWrapper
=
new
LambdaQueryWrapper
<
PlatElder
>().
eq
(
StringUtils
.
isNotBlank
(
bedId
),
PlatElder:
:
getBedId
,
bedId
)
.
eq
(
PlatElder:
:
getRoomId
,
roomId
);
List
<
PlatElder
>
elderList
=
platElderService
.
list
(
elderLambdaQueryWrapper
);
if
(
CollectionUtils
.
isEmpty
(
elderList
)){
throw
new
BusinessException
(
CodeMessageEnum
.
PLATFORM_ERROR_ALARM_NOT_FOUND_ELDER
);
}
Set
<
String
>
elderIdSet
=
elderList
.
stream
().
map
(
BaseEntity:
:
getId
).
collect
(
Collectors
.
toSet
());
List
<
PlatElderSocialRelation
>
relations
=
platElderSocialRelationService
.
list
(
new
LambdaQueryWrapper
<
PlatElderSocialRelation
>().
in
(
PlatElderSocialRelation:
:
getElderId
,
elderIdSet
));
Set
<
String
>
phoneList
=
relations
.
stream
().
map
(
PlatElderSocialRelation:
:
getPhone
).
collect
(
Collectors
.
toSet
());
String
notifyChannel
=
platAlarmConfig
.
getNotifyChannel
();
String
[]
split
=
notifyChannel
.
split
(
","
);
List
<
String
>
notifyChannelList
=
Arrays
.
asList
(
SendTypeEnum
.
SMS
.
getValue
(),
SendTypeEnum
.
VOICE_SMS
.
getValue
(),
SendTypeEnum
.
CHILD_WECHAT
.
getValue
());
Set
<
String
>
sendTypeList
=
Stream
.
of
(
split
).
filter
(
vo
->
notifyChannelList
.
contains
(
vo
)).
collect
(
Collectors
.
toSet
());
for
(
String
sendType:
sendTypeList
)
{
SendTypeEnum
sendTypeEnum
=
SendTypeEnum
.
getByValue
(
sendType
);
msgUtil
.
send
(
sendTypeEnum
,
phoneList
,
platAlarmRecord
.
getContent
());
}
platAlarmRecord
.
setNoticeStatus
(
CommonEnum
.
YES
.
getValue
());
updateById
(
platAlarmRecord
);
}
}
server-service/src/main/java/com/makeit/service/platform/auth/PlatUserService.java
View file @
3bbedd54
...
...
@@ -50,6 +50,8 @@ public interface PlatUserService extends IService<PlatUser> {
PlatUserLoginVO
login
(
LoginDTO
loginDTO
);
void
setTenantList
(
PlatUserLoginVO
tntUserLoginVO
);
void
logout
();
List
<
PlatMenu
>
getMenuListByTenantId
(
String
tenantId
);
...
...
server-service/src/main/java/com/makeit/service/platform/auth/impl/PlatUserServiceImpl.java
View file @
3bbedd54
...
...
@@ -308,7 +308,8 @@ public class PlatUserServiceImpl extends ServiceImpl<PlatUserMapper, PlatUser>
updateById
(
user
);
}
private
void
setTenantList
(
PlatUserLoginVO
tntUserLoginVO
)
{
@Override
public
void
setTenantList
(
PlatUserLoginVO
tntUserLoginVO
)
{
if
(
IsTenantAccountEnum
.
YES
.
getValue
().
equals
(
tntUserLoginVO
.
getIsTenant
()))
{
List
<
PlatTenant
>
tntTenantList
=
platTenantService
.
list
(
new
QueryWrapper
<
PlatTenant
>().
lambda
()
.
eq
(
PlatTenant:
:
getStatus
,
CommonEnum
.
YES
.
getValue
())
...
...
@@ -420,7 +421,7 @@ public class PlatUserServiceImpl extends ServiceImpl<PlatUserMapper, PlatUser>
buttonList
.
add
(
e
);
}
if
(
catalogue
.
equals
(
e
.
getResourceType
())
||
menu
.
equals
(
e
.
getResourceType
()))
{
if
(
catalogue
.
equals
(
e
.
getResourceType
())
||
menu
.
equals
(
e
.
getResourceType
())
||
button
.
equals
(
e
.
getResourceType
())
)
{
nonButtonList
.
add
(
e
);
}
...
...
server-service/src/main/java/com/makeit/service/platform/space/PlatBedService.java
View file @
3bbedd54
...
...
@@ -5,9 +5,7 @@ import com.makeit.common.dto.StatusDTO;
import
com.makeit.common.page.PageReqDTO
;
import
com.makeit.common.page.PageVO
;
import
com.makeit.dto.platform.device.PlatDeviceDTO
;
import
com.makeit.dto.platform.space.PlatBedDeviceQueryDTO
;
import
com.makeit.dto.platform.space.PlatBedEditDTO
;
import
com.makeit.dto.platform.space.PlatBedQueryDTO
;
import
com.makeit.dto.platform.space.*
;
import
com.makeit.entity.platform.space.PlatBed
;
import
com.makeit.entity.platform.space.PlatRoom
;
...
...
@@ -53,21 +51,6 @@ public interface PlatBedService extends IService<PlatBed> {
void
del
(
String
id
);
void
changeStatus
(
StatusDTO
dto
);
/**
* 未绑定设备列表
* @param pageReqDTO
* @return
*/
PageVO
<
PlatDeviceDTO
>
pageDevice
(
PageReqDTO
<
PlatDeviceDTO
>
pageReqDTO
);
/**
* 已绑定设备
* @param dto
* @return
*/
List
<
PlatDeviceDTO
>
listBindDevice
(
PlatBedDeviceQueryDTO
dto
);
}
server-service/src/main/java/com/makeit/service/platform/space/PlatRoomBedDeviceService.java
View file @
3bbedd54
package
com
.
makeit
.
service
.
platform
.
space
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.makeit.common.page.PageReqDTO
;
import
com.makeit.common.page.PageVO
;
import
com.makeit.dto.platform.device.PlatDeviceDTO
;
import
com.makeit.dto.platform.space.PlatBedDeviceQueryDTO
;
import
com.makeit.dto.platform.space.PlatRoomBindDeviceDTO
;
import
com.makeit.dto.platform.space.PlatSpaceDeviceQueryDTO
;
import
com.makeit.dto.platform.space.PlatUnbindingDeviceDTO
;
import
com.makeit.entity.platform.space.PlatRoomBedDevice
;
import
java.util.List
;
/**
* @Author:lzy
* @Date:2023/9/6 17:44
* @Describe:
*/
public
interface
PlatRoomBedDeviceService
extends
IService
<
PlatRoomBedDevice
>
{
/**
* 绑定设备
* @param dto
*/
void
bindingDevice
(
PlatRoomBindDeviceDTO
dto
);
/**
* 未绑定设备列表
* @param pageReqDTO
* @return
*/
PageVO
<
PlatDeviceDTO
>
pageDevice
(
PageReqDTO
<
PlatSpaceDeviceQueryDTO
>
pageReqDTO
);
/**
* 已绑定设备
* @param dto
* @return
*/
List
<
PlatDeviceDTO
>
listBindDevice
(
PlatBedDeviceQueryDTO
dto
);
/**
* 解绑设备
* @param dto
*/
void
unbindingDevice
(
PlatUnbindingDeviceDTO
dto
);
}
server-service/src/main/java/com/makeit/service/platform/space/impl/PlatBedServiceImpl.java
View file @
3bbedd54
...
...
@@ -7,9 +7,7 @@ import com.makeit.common.dto.StatusDTO;
import
com.makeit.common.page.PageReqDTO
;
import
com.makeit.common.page.PageVO
;
import
com.makeit.dto.platform.device.PlatDeviceDTO
;
import
com.makeit.dto.platform.space.PlatBedDeviceQueryDTO
;
import
com.makeit.dto.platform.space.PlatBedEditDTO
;
import
com.makeit.dto.platform.space.PlatBedQueryDTO
;
import
com.makeit.dto.platform.space.*
;
import
com.makeit.entity.platform.device.PlatDevice
;
import
com.makeit.entity.platform.space.PlatBed
;
import
com.makeit.entity.platform.space.PlatRoom
;
...
...
@@ -148,61 +146,5 @@ public class PlatBedServiceImpl extends ServiceImpl<PlatBedMapper, PlatBed> impl
updateById
(
bed
);
}
@Override
public
PageVO
<
PlatDeviceDTO
>
pageDevice
(
PageReqDTO
<
PlatDeviceDTO
>
pageReqDTO
)
{
LambdaQueryWrapper
<
PlatRoomBedDevice
>
queryWrapper1
=
new
LambdaQueryWrapper
<>();
queryWrapper1
.
select
(
PlatRoomBedDevice:
:
getEquipmentId
);
List
<
PlatRoomBedDevice
>
list
=
platRoomBedDeviceService
.
list
(
queryWrapper1
);
List
<
String
>
listEquipmentIds
=
list
.
stream
().
map
(
item
->
item
.
getEquipmentId
()).
collect
(
Collectors
.
toList
());
PlatDeviceDTO
dto
=
pageReqDTO
.
getData
();
Page
<
PlatDevice
>
p
=
PageUtil
.
toMpPage
(
pageReqDTO
);
LambdaQueryWrapper
<
PlatDevice
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
queryWrapper
.
eq
(
PlatDevice:
:
getCategory
,
PlatDeviceEnum
.
CategoryEnum
.
HEART
);
queryWrapper
.
notIn
(
PlatDevice:
:
getId
,
listEquipmentIds
);
queryWrapper
.
like
(
StringUtil
.
isNotEmpty
(
dto
.
getOriDeviceId
()),
PlatDevice:
:
getOriDeviceId
,
dto
.
getOriDeviceId
());
queryWrapper
.
like
(
StringUtil
.
isNotEmpty
(
dto
.
getName
()),
PlatDevice:
:
getName
,
dto
.
getName
());
queryWrapper
.
like
(
StringUtil
.
isNotEmpty
(
dto
.
getProductName
()),
PlatDevice:
:
getProductName
,
dto
.
getProductName
());
queryWrapper
.
eq
(
StringUtil
.
isNotEmpty
(
dto
.
getStatus
()),
PlatDevice:
:
getStatus
,
dto
.
getStatus
());
Page
<
PlatDevice
>
pages
=
platDeviceService
.
page
(
p
,
queryWrapper
);
List
<
PlatDeviceDTO
>
listRecord
=
BeanDtoVoUtils
.
listVo
(
pages
.
getRecords
(),
PlatDeviceDTO
.
class
);
return
PageUtil
.
toPageVO
(
listRecord
,
pages
);
}
@Override
public
List
<
PlatDeviceDTO
>
listBindDevice
(
PlatBedDeviceQueryDTO
dto
)
{
LambdaQueryWrapper
<
PlatRoomBedDevice
>
queryWrapper1
=
new
LambdaQueryWrapper
<>();
queryWrapper1
.
eq
(
PlatRoomBedDevice:
:
getRoomId
,
dto
.
getRoomId
());
List
<
PlatRoomBedDevice
>
list
=
platRoomBedDeviceService
.
list
(
queryWrapper1
);
List
<
String
>
listEquipmentIds
=
list
.
stream
().
map
(
item
->
item
.
getEquipmentId
()).
collect
(
Collectors
.
toList
());
List
<
String
>
listBedIds
=
list
.
stream
().
map
(
item
->
item
.
getBedId
()).
collect
(
Collectors
.
toList
());
LambdaQueryWrapper
<
PlatBed
>
queryWrapper2
=
new
LambdaQueryWrapper
<>();
queryWrapper2
.
in
(
PlatBed:
:
getId
,
listBedIds
);
List
<
PlatBed
>
listBeds
=
list
(
queryWrapper2
);
Map
<
String
,
String
>
map
=
listBeds
.
stream
().
collect
(
Collectors
.
toMap
(
PlatBed:
:
getId
,
PlatBed:
:
getName
,(
k1
,
k2
)->
k1
));
Map
<
String
,
String
>
mapName
=
new
HashMap
<>();
list
.
forEach
(
item
->{
if
(
map
.
containsKey
(
item
.
getBedId
())){
mapName
.
put
(
item
.
getEquipmentId
(),
map
.
get
(
item
.
getBedId
()));
}
});
List
<
PlatDeviceDTO
>
data
=
new
ArrayList
<>();
if
(!
listEquipmentIds
.
isEmpty
()){
LambdaQueryWrapper
<
PlatDevice
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
queryWrapper
.
eq
(
PlatDevice:
:
getCategory
,
PlatDeviceEnum
.
CategoryEnum
.
HEART
);
queryWrapper
.
in
(
PlatDevice:
:
getId
,
listEquipmentIds
);
List
<
PlatDevice
>
listDevices
=
platDeviceService
.
list
(
queryWrapper
);
data
=
BeanDtoVoUtils
.
listVo
(
listDevices
,
PlatDeviceDTO
.
class
);
data
.
forEach
(
item
->{
item
.
setBedName
(
mapName
.
get
(
item
.
getId
()));
});
}
return
data
;
}
}
server-service/src/main/java/com/makeit/service/platform/space/impl/PlatRoomBedDeviceServiceImpl.java
View file @
3bbedd54
package
com
.
makeit
.
service
.
platform
.
space
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.makeit.common.page.PageReqDTO
;
import
com.makeit.common.page.PageVO
;
import
com.makeit.dto.platform.device.PlatDeviceDTO
;
import
com.makeit.dto.platform.space.PlatBedDeviceQueryDTO
;
import
com.makeit.dto.platform.space.PlatRoomBindDeviceDTO
;
import
com.makeit.dto.platform.space.PlatSpaceDeviceQueryDTO
;
import
com.makeit.dto.platform.space.PlatUnbindingDeviceDTO
;
import
com.makeit.entity.platform.device.PlatDevice
;
import
com.makeit.entity.platform.space.PlatBed
;
import
com.makeit.entity.platform.space.PlatRoomBedDevice
;
import
com.makeit.enums.CommonEnum
;
import
com.makeit.enums.platform.device.PlatDeviceEnum
;
import
com.makeit.mapper.platform.space.PlatRoomBedDeviceMapper
;
import
com.makeit.service.platform.device.PlatDeviceService
;
import
com.makeit.service.platform.space.PlatBedService
;
import
com.makeit.service.platform.space.PlatRoomBedDeviceService
;
import
com.makeit.utils.data.convert.BeanDtoVoUtils
;
import
com.makeit.utils.data.convert.PageUtil
;
import
jodd.util.StringUtil
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
/**
* @Author:lzy
...
...
@@ -13,4 +39,120 @@ import org.springframework.stereotype.Service;
*/
@Service
public
class
PlatRoomBedDeviceServiceImpl
extends
ServiceImpl
<
PlatRoomBedDeviceMapper
,
PlatRoomBedDevice
>
implements
PlatRoomBedDeviceService
{
@Autowired
private
PlatDeviceService
platDeviceService
;
@Autowired
private
PlatBedService
platBedService
;
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
bindingDevice
(
PlatRoomBindDeviceDTO
dto
)
{
List
<
String
>
listEquipmentIds
=
dto
.
getListEquipmentId
();
List
<
PlatRoomBedDevice
>
list
=
new
ArrayList
<>();
listEquipmentIds
.
forEach
(
item
->{
PlatRoomBedDevice
data
=
new
PlatRoomBedDevice
();
data
.
setEquipmentId
(
item
);
data
.
setRoomId
(
dto
.
getRoomId
());
data
.
setBedId
(
dto
.
getBedId
());
list
.
add
(
data
);
});
if
(!
list
.
isEmpty
()){
saveBatch
(
list
);
}
}
@Override
public
PageVO
<
PlatDeviceDTO
>
pageDevice
(
PageReqDTO
<
PlatSpaceDeviceQueryDTO
>
pageReqDTO
)
{
PlatSpaceDeviceQueryDTO
dto
=
pageReqDTO
.
getData
();
LambdaQueryWrapper
<
PlatRoomBedDevice
>
queryWrapper1
=
new
LambdaQueryWrapper
<>();
queryWrapper1
.
select
(
PlatRoomBedDevice:
:
getEquipmentId
);
if
(
StringUtil
.
isNotEmpty
(
dto
.
getRoomId
())){
queryWrapper1
.
ne
(
PlatRoomBedDevice:
:
getRoomId
,
dto
.
getRoomId
());
}
if
(
CommonEnum
.
NO
.
getValue
().
equals
(
dto
.
getIsRoom
())){
queryWrapper1
.
isNull
(
PlatRoomBedDevice:
:
getBedId
);
}
List
<
PlatRoomBedDevice
>
list
=
list
(
queryWrapper1
);
List
<
String
>
listEquipmentIds
=
list
.
stream
().
map
(
item
->
item
.
getEquipmentId
()).
collect
(
Collectors
.
toList
());
Page
<
PlatDevice
>
p
=
PageUtil
.
toMpPage
(
pageReqDTO
);
LambdaQueryWrapper
<
PlatDevice
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
queryWrapper
.
notIn
(
PlatDevice:
:
getId
,
listEquipmentIds
);
queryWrapper
.
eq
(
PlatDevice:
:
getCategory
,
dto
.
getCategory
());
queryWrapper
.
like
(
StringUtil
.
isNotEmpty
(
dto
.
getOriDeviceId
()),
PlatDevice:
:
getOriDeviceId
,
dto
.
getOriDeviceId
());
queryWrapper
.
like
(
StringUtil
.
isNotEmpty
(
dto
.
getName
()),
PlatDevice:
:
getName
,
dto
.
getName
());
queryWrapper
.
like
(
StringUtil
.
isNotEmpty
(
dto
.
getProductName
()),
PlatDevice:
:
getProductName
,
dto
.
getProductName
());
queryWrapper
.
eq
(
StringUtil
.
isNotEmpty
(
dto
.
getStatus
()),
PlatDevice:
:
getStatus
,
dto
.
getStatus
());
Page
<
PlatDevice
>
pages
=
platDeviceService
.
page
(
p
,
queryWrapper
);
List
<
PlatDeviceDTO
>
listRecord
=
BeanDtoVoUtils
.
listVo
(
pages
.
getRecords
(),
PlatDeviceDTO
.
class
);
return
PageUtil
.
toPageVO
(
listRecord
,
pages
);
}
@Override
public
List
<
PlatDeviceDTO
>
listBindDevice
(
PlatBedDeviceQueryDTO
dto
)
{
LambdaQueryWrapper
<
PlatRoomBedDevice
>
queryWrapper1
=
new
LambdaQueryWrapper
<>();
queryWrapper1
.
eq
(
PlatRoomBedDevice:
:
getRoomId
,
dto
.
getRoomId
());
queryWrapper1
.
eq
(
StringUtil
.
isNotEmpty
(
dto
.
getBedId
()),
PlatRoomBedDevice:
:
getBedId
,
dto
.
getBedId
());
List
<
PlatRoomBedDevice
>
list
=
list
(
queryWrapper1
);
List
<
String
>
listEquipmentIds
=
list
.
stream
().
map
(
item
->
item
.
getEquipmentId
()).
collect
(
Collectors
.
toList
());
List
<
String
>
listBedIds
=
list
.
stream
().
map
(
item
->
item
.
getBedId
()).
collect
(
Collectors
.
toList
());
LambdaQueryWrapper
<
PlatBed
>
queryWrapper2
=
new
LambdaQueryWrapper
<>();
queryWrapper2
.
in
(
PlatBed:
:
getId
,
listBedIds
);
List
<
PlatBed
>
listBeds
=
platBedService
.
list
(
queryWrapper2
);
Map
<
String
,
String
>
map
=
listBeds
.
stream
().
collect
(
Collectors
.
toMap
(
PlatBed:
:
getId
,
PlatBed:
:
getName
,(
k1
,
k2
)->
k1
));
Map
<
String
,
String
>
mapName
=
new
HashMap
<>();
list
.
forEach
(
item
->{
if
(
map
.
containsKey
(
item
.
getBedId
())){
mapName
.
put
(
item
.
getEquipmentId
(),
map
.
get
(
item
.
getBedId
()));
}
});
List
<
PlatDeviceDTO
>
data
=
new
ArrayList
<>();
if
(!
listEquipmentIds
.
isEmpty
()){
LambdaQueryWrapper
<
PlatDevice
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
queryWrapper
.
eq
(
PlatDevice:
:
getCategory
,
PlatDeviceEnum
.
CategoryEnum
.
HEART
);
queryWrapper
.
in
(
PlatDevice:
:
getId
,
listEquipmentIds
);
List
<
PlatDevice
>
listDevices
=
platDeviceService
.
list
(
queryWrapper
);
data
=
BeanDtoVoUtils
.
listVo
(
listDevices
,
PlatDeviceDTO
.
class
);
data
.
forEach
(
item
->{
item
.
setBedName
(
mapName
.
get
(
item
.
getId
()));
});
}
return
data
;
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
unbindingDevice
(
PlatUnbindingDeviceDTO
dto
)
{
LambdaQueryWrapper
<
PlatRoomBedDevice
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
queryWrapper
.
eq
(
PlatRoomBedDevice:
:
getEquipmentId
,
dto
.
getEquipmentId
());
queryWrapper
.
eq
(
PlatRoomBedDevice:
:
getRoomId
,
dto
.
getRoomId
());
queryWrapper
.
eq
(
StringUtil
.
isNotEmpty
(
dto
.
getBedId
()),
PlatRoomBedDevice:
:
getBedId
,
dto
.
getBedId
());
List
<
PlatRoomBedDevice
>
list
=
list
(
queryWrapper
);
if
(
StringUtil
.
isNotEmpty
(
dto
.
getBedId
())){
list
.
forEach
(
item
->{
item
.
setBedId
(
null
);
});
updateBatchById
(
list
);
}
else
{
List
<
String
>
ids
=
list
.
stream
().
map
(
item
->
item
.
getId
()).
collect
(
Collectors
.
toList
());
removeByIds
(
ids
);
}
}
}
server-service/src/main/java/com/makeit/service/saas/impl/SaasUserServiceImpl.java
View file @
3bbedd54
...
...
@@ -328,7 +328,12 @@ implements SaasUserService{
private
void
fillMenuList
(
List
<
SaasMenu
>
menuList
,
SaasUserLoginVO
userLoginVO
)
{
List
<
SaasMenu
>
buttonList
=
StreamUtil
.
filter
(
menuList
,
e
->
SysEnum
.
MenuTypeEnum
.
MENU
.
getValue
().
equals
(
e
.
getCategory
())
||
SysEnum
.
MenuTypeEnum
.
BUTTON
.
getValue
().
equals
(
e
.
getCategory
()));
List
<
SaasMenu
>
nonButtonList
=
StreamUtil
.
filter
(
menuList
,
e
->
SysEnum
.
MenuTypeEnum
.
CATALOGUE
.
getValue
().
equals
(
e
.
getCategory
())
||
SysEnum
.
MenuTypeEnum
.
MENU
.
getValue
().
equals
(
e
.
getCategory
()));
List
<
SaasMenu
>
nonButtonList
=
StreamUtil
.
filter
(
menuList
,
e
->
SysEnum
.
MenuTypeEnum
.
CATALOGUE
.
getValue
().
equals
(
e
.
getCategory
())
||
SysEnum
.
MenuTypeEnum
.
MENU
.
getValue
().
equals
(
e
.
getCategory
())
||
SysEnum
.
MenuTypeEnum
.
BUTTON
.
getValue
().
equals
(
e
.
getCategory
())
);
List
<
SaasMenuDTOVO
>
menuVOList
=
saasMenuService
.
tree
(
BeanDtoVoUtils
.
listVo
(
nonButtonList
,
SaasMenuDTOVO
.
class
));
userLoginVO
.
setButtonList
(
BeanDtoVoUtils
.
listVo
(
buttonList
,
SaasMenuDTOVO
.
class
));
...
...
@@ -345,15 +350,15 @@ implements SaasUserService{
}
private
void
setRoleMenuToRedis
(
SaasUserLoginVO
userLoginVO
)
{
SaasUserRoleMenuRedisVO
plat
UserRoleMenuRedisVO
=
new
SaasUserRoleMenuRedisVO
();
plat
UserRoleMenuRedisVO
.
setId
(
userLoginVO
.
getId
());
SaasUserRoleMenuRedisVO
saas
UserRoleMenuRedisVO
=
new
SaasUserRoleMenuRedisVO
();
saas
UserRoleMenuRedisVO
.
setId
(
userLoginVO
.
getId
());
if
(
userLoginVO
.
getRoleList
()
!=
null
)
{
plat
UserRoleMenuRedisVO
.
setRoleCodeList
(
StreamUtil
.
map
(
userLoginVO
.
getRoleList
(),
SaasRoleDTOVO:
:
getCode
));
saas
UserRoleMenuRedisVO
.
setRoleCodeList
(
StreamUtil
.
map
(
userLoginVO
.
getRoleList
(),
SaasRoleDTOVO:
:
getCode
));
}
if
(
userLoginVO
.
getButtonList
()
!=
null
)
{
plat
UserRoleMenuRedisVO
.
setButtonCodeList
(
StreamUtil
.
map
(
userLoginVO
.
getButtonList
(),
SaasMenuDTOVO:
:
getCode
));
saas
UserRoleMenuRedisVO
.
setButtonCodeList
(
StreamUtil
.
map
(
userLoginVO
.
getButtonList
(),
SaasMenuDTOVO:
:
getCode
));
}
TokenUtil
.
platLoginRoleMenu
(
plat
UserRoleMenuRedisVO
);
TokenUtil
.
platLoginRoleMenu
(
saas
UserRoleMenuRedisVO
);
}
...
...
server-service/src/main/java/com/makeit/service/wechat/PlatLoginWechatService.java
0 → 100644
View file @
3bbedd54
package
com
.
makeit
.
service
.
wechat
;
import
com.makeit.common.dto.LoginDTO
;
import
com.makeit.module.admin.vo.plat.PlatUserLoginVO
;
/**
* Controller
*
* @author zm
* @version 2023/9/7
*/
public
interface
PlatLoginWechatService
{
PlatUserLoginVO
wechatLogin
(
LoginDTO
loginDTO
);
}
server-service/src/main/java/com/makeit/service/wechat/PlatUserWechatService.java
0 → 100644
View file @
3bbedd54
package
com
.
makeit
.
service
.
wechat
;
import
com.makeit.dto.platform.auth.PlatUserChangePasswordDTO
;
/**
* Controller
*
* @author zm
* @version 2023/9/7
*/
public
interface
PlatUserWechatService
{
void
changePassword
(
PlatUserChangePasswordDTO
dto
);
}
server-service/src/main/java/com/makeit/service/wechat/impl/PlatLoginWechatServiceImpl.java
0 → 100644
View file @
3bbedd54
package
com
.
makeit
.
service
.
wechat
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.makeit.common.dto.LoginDTO
;
import
com.makeit.entity.platform.auth.PlatUser
;
import
com.makeit.enums.CodeMessageEnum
;
import
com.makeit.enums.CommonEnum
;
import
com.makeit.exception.BusinessException
;
import
com.makeit.global.aspect.tenant.TenantIdIgnore
;
import
com.makeit.module.admin.vo.plat.PlatUserLoginVO
;
import
com.makeit.service.platform.auth.PlatUserService
;
import
com.makeit.service.wechat.PlatLoginWechatService
;
import
com.makeit.utils.data.convert.BeanDtoVoUtils
;
import
com.makeit.utils.data.id.IdGen
;
import
com.makeit.utils.user.PasswordUtils
;
import
com.makeit.utils.user.TokenUtil
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
/**
* Controller
*
* @author zm
* @version 2023/9/7
*/
@Service
public
class
PlatLoginWechatServiceImpl
implements
PlatLoginWechatService
{
@Autowired
private
PlatUserService
platUserService
;
@Override
@TenantIdIgnore
public
PlatUserLoginVO
wechatLogin
(
LoginDTO
loginDTO
)
{
if
(
StringUtils
.
isBlank
(
loginDTO
.
getAccount
()))
{
throw
new
BusinessException
(
CodeMessageEnum
.
SYSTEM_ERROR
);
}
if
(
StringUtils
.
isBlank
(
loginDTO
.
getPassword
()))
{
throw
new
BusinessException
(
CodeMessageEnum
.
SYSTEM_ERROR
);
}
PlatUser
platUser
=
platUserService
.
getOne
(
new
QueryWrapper
<
PlatUser
>().
lambda
()
.
eq
(
PlatUser:
:
getAccount
,
loginDTO
.
getAccount
())
.
or
()
.
eq
(
PlatUser:
:
getMobile
,
loginDTO
.
getAccount
())
);
if
(
platUser
==
null
)
{
throw
new
BusinessException
(
CodeMessageEnum
.
SYSTEM_ERROR_AUTH_USER_PASSWORD
);
}
if
(
CommonEnum
.
NO
.
getValue
().
equals
(
platUser
.
getStatus
()))
{
throw
new
BusinessException
(
CodeMessageEnum
.
SYSTEM_ERROR_AUTH_USER_HAS_DISABLED
);
}
if
(!
PasswordUtils
.
validatePassword
(
loginDTO
.
getPassword
(),
platUser
.
getPassword
()))
{
throw
new
BusinessException
(
CodeMessageEnum
.
SYSTEM_ERROR_AUTH_USER_PASSWORD
);
}
PlatUserLoginVO
userLoginVO
=
BeanDtoVoUtils
.
convert
(
platUser
,
PlatUserLoginVO
.
class
);
String
token
=
IdGen
.
getUUID
();
userLoginVO
.
setToken
(
token
);
TokenUtil
.
wechatLogin
(
token
,
userLoginVO
);
platUserService
.
setTenantList
(
userLoginVO
);
return
userLoginVO
;
}
}
server-service/src/main/java/com/makeit/service/wechat/impl/PlatUserWechatServiceImpl.java
0 → 100644
View file @
3bbedd54
package
com
.
makeit
.
service
.
wechat
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.makeit.dto.platform.auth.PlatUserChangePasswordDTO
;
import
com.makeit.entity.platform.auth.PlatUser
;
import
com.makeit.enums.CodeMessageEnum
;
import
com.makeit.exception.BusinessException
;
import
com.makeit.service.platform.auth.PlatUserService
;
import
com.makeit.service.wechat.PlatUserWechatService
;
import
com.makeit.utils.user.PasswordUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
/**
* Controller
*
* @author zm
* @version 2023/9/7
*/
@Service
public
class
PlatUserWechatServiceImpl
implements
PlatUserWechatService
{
@Autowired
private
PlatUserService
platUserService
;
@Override
@Transactional
public
void
changePassword
(
PlatUserChangePasswordDTO
dto
)
{
PlatUser
platUser
=
platUserService
.
getById
(
dto
.
getId
());
if
(
platUser
==
null
)
{
throw
new
BusinessException
(
CodeMessageEnum
.
SYSTEM_ERROR_AUTH_USER_PASSWORD
);
}
if
(!
PasswordUtils
.
validatePassword
(
dto
.
getOldPassword
(),
platUser
.
getPassword
()))
{
throw
new
BusinessException
(
CodeMessageEnum
.
SYSTEM_ERROR_AUTH_USER_PASSWORD
);
}
if
(
dto
.
getNewPassword
()!=
null
&&
!
dto
.
getNewPassword
().
equals
(
dto
.
getQueryPassword
())){
throw
new
BusinessException
(
CodeMessageEnum
.
SYSTEM_ERROR_AUTH_USER_PASSWORD_NOT_EQUALS
);
}
platUser
.
setPassword
(
dto
.
getNewPassword
());
platUserService
.
setPassword
(
platUser
);
platUserService
.
updateById
(
platUser
);
}
}
server-service/src/main/java/com/makeit/task/IotSyncTask.java
View file @
3bbedd54
...
...
@@ -90,6 +90,7 @@ public class IotSyncTask {
if
(
platDevice
==
null
){
platDevice
=
new
PlatDevice
();
platDevice
.
setTenantId
(
tenantId
);
deviceMap
.
put
(
iotDevice
.
getId
(),
platDevice
);
}
platDevice
.
setOriDeviceId
(
iotDevice
.
getId
());
platDevice
.
setName
(
iotDevice
.
getName
());
...
...
@@ -100,6 +101,9 @@ public class IotSyncTask {
platDevice
.
setDescription
(
iotDevice
.
getDescribe
());
String
state
=
iotDevice
.
getState
();
platDevice
.
setStatus
(
StringUtils
.
equals
(
"online"
,
state
)?
CommonEnum
.
YES
.
getValue
()
:
CommonEnum
.
NO
.
getValue
());
//todo 根据类型名称来匹配
// platDevice.setCategory();
// platDevice.setFirmwareVersion();
// platDevice.setLastOnlineData();
// platDevice.setOrgId();
...
...
@@ -114,7 +118,7 @@ public class IotSyncTask {
// platDevice.setCreateBy();
// platDevice.setUpdateBy();
deviceMap
.
put
(
iotDevice
.
getId
(),
platDevice
);
});
return
deviceMap
.
values
();
}
...
...
server-web/src/main/resources/application-dev.yml
View file @
3bbedd54
...
...
@@ -127,4 +127,25 @@ wx:
secret
:
2ebae648f45716e70c75b7d78d0660cc
#微信小程序的Secret
token
:
#微信小程序消息服务器配置的token
aesKey
:
#微信小程序消息服务器配置的EncodingAESKey
msgDataFormat
:
JSON
\ No newline at end of file
msgDataFormat
:
JSON
sms
:
send
:
url
:
http://www.aozoneyun.com/message/message/send
uid
:
357
pwd
:
xmks123456
rec
:
url
:
query
:
url
:
http://www.aozoneyun.com/message/message/balance
voiceSms
:
url
:
http://www.aozoneyun.com/Message/Message/video_send
uid
:
362
pwd
:
xmksyy123456
server-web/src/main/resources/application-test.yml
View file @
3bbedd54
...
...
@@ -124,4 +124,20 @@ wx:
secret
:
2ebae648f45716e70c75b7d78d0660cc
#微信小程序的Secret
token
:
#微信小程序消息服务器配置的token
aesKey
:
#微信小程序消息服务器配置的EncodingAESKey
msgDataFormat
:
JSON
\ No newline at end of file
msgDataFormat
:
JSON
sms
:
send
:
url
:
http://www.aozoneyun.com/message/message/send
uid
:
357
pwd
:
xmks123456
rec
:
url
:
query
:
url
:
http://www.aozoneyun.com/message/message/balance
voiceSms
:
url
:
http://www.aozoneyun.com/Message/Message/video_send
uid
:
362
pwd
:
xmksyy123456
\ No newline at end of file
server-web/src/main/resources/application.yml
View file @
3bbedd54
...
...
@@ -110,11 +110,11 @@ sa-token:
interceptor
:
## 登录拦截路径
authenticationTntPath
:
/**
authenticationTntPathIgnore
:
/error,/swagger-resources/**,/v2/api-docs/**,/doc.html,/plat/login/**,/sys/dictionaryCategory/getDictionaryCategoryByList,/children/**,/saas/**
authenticationTntPathIgnore
:
/error,/swagger-resources/**,/v2/api-docs/**,/doc.html,/plat/login/**,/sys/dictionaryCategory/getDictionaryCategoryByList,/children/**,/saas/**
,/wechat/**
## 权限拦截路径
authorizationTntPath
:
/**
authorizationTntPathIgnore
:
/error,/swagger-resources/**,/v2/api-docs/**,/doc.html,/plat/login/**,/sys/dictionaryCategory/getDictionaryCategoryByList,/children/**,/saas/**
authorizationTntPathIgnore
:
/error,/swagger-resources/**,/v2/api-docs/**,/doc.html,/plat/login/**,/sys/dictionaryCategory/getDictionaryCategoryByList,/children/**,/saas/**
,/wechat/**
## saas端登录拦截路径
authenticationSaasPath
:
/saas/**
...
...
@@ -124,8 +124,8 @@ interceptor:
authorizationSaasPath
:
/saas/**
authorizationSaasPathIgnore
:
/saas/login/login
authenticationWechatPath
:
/children/**
authenticationWechatPathIgnore
:
/children/login/login
authenticationWechatPath
:
/children/**
,/wechat/**
authenticationWechatPathIgnore
:
/children/login/login
,/wechat/plat/login/login
sign
:
flag
:
true
...
...
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