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
d4a88a98
authored
Sep 07, 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
f8afb831
a4e4b4d3
Hide whitespace changes
Inline
Side-by-side
Showing
39 changed files
with
688 additions
and
51 deletions
saas-module/src/main/java/com/makeit/controller/plat/PlatRoleController.java
saas-module/src/main/java/com/makeit/controller/plat/PlatUserController.java
saas-module/src/main/java/com/makeit/controller/saas/PlatTenantController.java
saas-module/src/main/java/com/makeit/controller/saas/SaasRoleController.java
server-common/src/main/java/com/makeit/config/SwaggerCommonConfig.java
server-common/src/main/java/com/makeit/enums/CodeMessageEnum.java
server-common/src/main/java/com/makeit/module/admin/dto/plat/PlatRoleDTOVO.java
server-common/src/main/java/com/makeit/module/admin/dto/plat/PlatTenantDTOVO.java
server-common/src/main/java/com/makeit/module/admin/dto/saas/SaasRoleDTOVO.java
server-common/src/main/java/com/makeit/module/admin/dto/saas/SaasUserDTOVO.java
server-common/src/main/java/com/makeit/module/admin/vo/plat/PlatRoleMenuVO.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/dto/MsgDTO.java
server-common/src/main/java/com/makeit/utils/msg/dto/SendResult.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/resources/locale/business_messages.properties
server-module/src/main/java/com/makeit/module/controller/alarm/PlatAlarmConfigController.java
server-module/src/main/java/com/makeit/module/controller/alarm/PlatAlarmRecordController.java
server-module/src/main/java/com/makeit/module/controller/wechat/alarm/WechatPlatAlarmRecordController.java
server-service/src/main/java/com/makeit/entity/platform/alarm/PlatAlarmRecord.java
server-service/src/main/java/com/makeit/entity/platform/auth/PlatRoleMenu.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/PlatRoleService.java
server-service/src/main/java/com/makeit/service/platform/auth/impl/PlatRoleServiceImpl.java
server-service/src/main/java/com/makeit/service/platform/auth/impl/PlatUserServiceImpl.java
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderServiceImpl.java
server-service/src/main/java/com/makeit/service/saas/SaasRoleService.java
server-service/src/main/java/com/makeit/service/saas/impl/PlatTenantServiceImpl.java
server-service/src/main/java/com/makeit/service/saas/impl/SaasMenuServiceImpl.java
server-service/src/main/java/com/makeit/service/saas/impl/SaasRoleServiceImpl.java
server-service/src/main/java/com/makeit/service/saas/impl/SaasUserServiceImpl.java
server-service/src/main/java/com/makeit/task/IotSyncTask.java
server-service/src/main/java/com/makeit/vo/platform/alarm/PlatAlarmRecordVO.java
server-service/src/main/java/com/makeit/vo/platform/auth/PlatPersonDTOVO.java
server-web/src/main/resources/application-dev.yml
server-web/src/main/resources/application-test.yml
saas-module/src/main/java/com/makeit/controller/plat/PlatRoleController.java
View file @
d4a88a98
...
...
@@ -131,6 +131,7 @@ public class PlatRoleController {
@Action
(
module
=
"平台端-角色"
,
name
=
"分配菜单"
,
code
=
"tnt:role:assignMenuList"
)
@ApiOperation
(
"分配菜单"
)
@Deprecated
@PostMapping
(
"assignMenuList"
)
public
ApiResponseEntity
<
Void
>
assignMenuList
(
@RequestBody
PlatRoleMenuDTO
roleMenuDTO
)
{
platRoleService
.
assignMenuList
(
roleMenuDTO
);
...
...
saas-module/src/main/java/com/makeit/controller/plat/PlatUserController.java
View file @
d4a88a98
...
...
@@ -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
);
...
...
saas-module/src/main/java/com/makeit/controller/saas/PlatTenantController.java
View file @
d4a88a98
...
...
@@ -120,6 +120,7 @@ public class PlatTenantController {
@Action
(
module
=
"租户管理-租户"
,
name
=
"租户分配菜单"
,
code
=
"saas:tenant:assignMenuList"
)
@ApiOperation
(
"租户分配菜单"
)
@PostMapping
(
"assignMenuList"
)
@Deprecated
public
ApiResponseEntity
<?>
assignMenuList
(
@RequestBody
PlatTenantMenuDTO
tntTenantMenuDTO
){
platTenantService
.
assignMenuList
(
tntTenantMenuDTO
);
return
ApiResponseUtils
.
success
();
...
...
saas-module/src/main/java/com/makeit/controller/saas/SaasRoleController.java
View file @
d4a88a98
...
...
@@ -3,6 +3,8 @@ package com.makeit.controller.saas;
import
com.makeit.common.dto.BaseIdDTO
;
import
com.makeit.common.dto.StatusDTO
;
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.global.annotation.Action
;
...
...
@@ -38,14 +40,21 @@ public class SaasRoleController {
private
SaasRoleService
saasRoleService
;
@Action
(
module
=
"saas端-角色"
,
name
=
"列表"
,
code
=
"saas:role:list"
)
@ApiOperation
(
"列表"
)
@ApiOperation
(
"列表
不分页
"
)
@PostMapping
(
"list"
)
public
ApiResponseEntity
<
List
<
SaasRoleDTOVO
>>
list
(
@RequestBody
SaasRoleDTOVO
dto
){
return
ApiResponseUtils
.
success
(
saasRoleService
.
list
(
dto
));
}
@Action
(
module
=
"saas端-角色"
,
name
=
"列表"
,
code
=
"saas:role:page"
)
@ApiOperation
(
"列表分页"
)
@PostMapping
(
"page"
)
public
ApiResponseEntity
<
PageVO
<
SaasRoleDTOVO
>>
page
(
@RequestBody
PageReqDTO
<
SaasRoleDTOVO
>
dto
){
return
ApiResponseUtils
.
success
(
saasRoleService
.
page
(
dto
));
}
@ApiOperation
(
"列表(AuthIgnore)"
)
@ApiOperation
(
"列表
不分页
(AuthIgnore)"
)
@PostMapping
(
"listAuthIgnore"
)
public
ApiResponseEntity
<
List
<
SaasRoleDTOVO
>>
listAuthIgnore
(
@RequestBody
SaasRoleDTOVO
dto
){
return
ApiResponseUtils
.
success
(
saasRoleService
.
list
(
dto
));
...
...
@@ -109,6 +118,7 @@ public class SaasRoleController {
@Action
(
module
=
"saas端-角色"
,
name
=
"分配菜单"
,
code
=
"saas:role:assignMenuList"
)
@ApiOperation
(
"分配菜单"
)
@PostMapping
(
"assignMenuList"
)
@Deprecated
public
ApiResponseEntity
<?>
assignMenuList
(
@RequestBody
SaasRoleMenuDTO
roleMenuDTO
){
saasRoleService
.
assignMenuList
(
roleMenuDTO
);
return
ApiResponseUtils
.
success
();
...
...
server-common/src/main/java/com/makeit/config/SwaggerCommonConfig.java
View file @
d4a88a98
...
...
@@ -36,8 +36,9 @@ public class SwaggerCommonConfig {
ApiSelectorBuilder
builder
=
docket
.
select
();
//api过滤
builder
=
builder
.
apis
(
RequestHandlerSelectors
.
basePackage
(
"com.makeit.controller"
)
//.or(RequestHandlerSelectors.basePackage("com.makeit.common.controller"
)
.
or
(
RequestHandlerSelectors
.
basePackage
(
"com.makeit.module.controller"
)
)
);
return
builder
.
build
();
}
...
...
server-common/src/main/java/com/makeit/enums/CodeMessageEnum.java
View file @
d4a88a98
...
...
@@ -109,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/module/admin/dto/plat/PlatRoleDTOVO.java
View file @
d4a88a98
...
...
@@ -32,4 +32,10 @@ public class PlatRoleDTOVO extends BaseOrgDTO implements Serializable {
@ApiModelProperty
(
value
=
"角色名称集合"
)
private
List
<
String
>
nameList
;
@ApiModelProperty
(
value
=
"菜单集合id"
)
private
List
<
String
>
menuIdList
;
@ApiModelProperty
(
value
=
"菜单集合"
)
private
List
<
PlatMenuDTOVO
>
menuList
;
}
server-common/src/main/java/com/makeit/module/admin/dto/plat/PlatTenantDTOVO.java
View file @
d4a88a98
...
...
@@ -51,4 +51,7 @@ public class PlatTenantDTOVO extends BaseIdDTO {
@ApiModelProperty
(
value
=
"告警渠道"
)
private
String
alertChannel
;
@ApiModelProperty
(
value
=
"菜单id集合"
)
private
List
<
String
>
menuIdList
;
}
server-common/src/main/java/com/makeit/module/admin/dto/saas/SaasRoleDTOVO.java
View file @
d4a88a98
...
...
@@ -11,6 +11,7 @@ import javax.validation.constraints.Pattern;
import
javax.validation.constraints.Size
;
import
java.io.Serializable
;
import
java.time.LocalDateTime
;
import
java.util.List
;
@ApiModel
(
"SAAS端角色 列表 新增 编辑 详情"
)
@Data
...
...
@@ -52,5 +53,11 @@ public class SaasRoleDTOVO extends BaseIdDTO implements Serializable {
@ApiModelProperty
(
value
=
"关键词 查询用"
)
private
String
keyword
;
@ApiModelProperty
(
value
=
"菜单id集合"
)
private
List
<
String
>
menuIdList
;
@ApiModelProperty
(
value
=
"菜单集合"
)
private
List
<
SaasMenuDTOVO
>
menuDTOVOList
;
}
server-common/src/main/java/com/makeit/module/admin/dto/saas/SaasUserDTOVO.java
View file @
d4a88a98
...
...
@@ -65,4 +65,8 @@ public class SaasUserDTOVO extends BaseIdDTO implements Serializable {
@TableField
(
exist
=
false
)
@ApiModelProperty
(
value
=
"角色集合"
)
private
List
<
SaasRoleDTOVO
>
roleList
;
@TableField
(
exist
=
false
)
@ApiModelProperty
(
value
=
"角色id集合"
)
private
List
<
String
>
roleIdList
;
}
server-common/src/main/java/com/makeit/module/admin/vo/plat/PlatRoleMenuVO.java
0 → 100644
View file @
d4a88a98
package
com
.
makeit
.
module
.
admin
.
vo
.
plat
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.makeit.common.dto.BaseTenantDTO
;
import
lombok.Data
;
/**
* 租户端角色菜单关联表
* @TableName plat_role_menu
*/
@TableName
(
value
=
"plat_role_menu"
)
@Data
public
class
PlatRoleMenuVO
extends
BaseTenantDTO
{
/**
* 角色id
*/
private
String
roleId
;
/**
* 菜单id
*/
private
String
menuId
;
@TableField
(
exist
=
false
)
private
String
menuName
;
}
\ No newline at end of file
server-common/src/main/java/com/makeit/utils/msg/MsgUtil.java
0 → 100644
View file @
d4a88a98
package
com
.
makeit
.
utils
.
msg
;
import
org.springframework.stereotype.Component
;
import
java.util.Collection
;
@Component
public
class
MsgUtil
{
/**
* 发送消息并保存记录
*/
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
0 → 100644
View file @
d4a88a98
package
com
.
makeit
.
utils
.
msg
;
import
com.makeit.enums.BaseEnum
;
import
com.makeit.utils.sys.SysDictUtil
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
@AllArgsConstructor
@Getter
public
enum
SendTypeEnum
implements
BaseEnum
{
//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"
),
CHILD_WECHAT
(
"alarm.sendType.childWechat"
)
;
private
String
code
;
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/dto/MsgDTO.java
0 → 100644
View file @
d4a88a98
package
com
.
makeit
.
utils
.
msg
.
dto
;
import
com.makeit.utils.msg.SendTypeEnum
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
org.apache.commons.lang3.StringUtils
;
import
java.util.List
;
import
java.util.regex.Matcher
;
import
java.util.regex.Pattern
;
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public
class
MsgDTO
{
private
SendTypeEnum
sendTypeEnum
;
private
String
subject
;
private
List
<
String
>
receiverList
;
private
String
oriContent
;
private
String
[]
param
;
private
String
sendContent
;
public
void
setParam
(
String
...
param
)
{
this
.
param
=
param
;
}
public
String
getSendContent
()
{
replaceParam
();
return
sendContent
;
}
private
void
replaceParam
(){
if
(
StringUtils
.
isNotBlank
(
sendContent
)){
return
;
}
Pattern
p
=
Pattern
.
compile
(
"\\[#\\d+\\]|\\[#[\\p{IsHan}]+\\]|\\[#[^\\]]*\\]"
);
Matcher
m
=
p
.
matcher
(
oriContent
);
StringBuffer
sb
=
new
StringBuffer
();
if
(!
m
.
find
()){
sendContent
=
oriContent
;
}
m
.
reset
();
int
i
=
0
;
while
(
m
.
find
())
{
m
.
appendReplacement
(
sb
,
param
[
i
]);
i
++;
}
m
.
appendTail
(
sb
);
sendContent
=
sb
.
toString
();
}
}
server-common/src/main/java/com/makeit/utils/msg/dto/SendResult.java
0 → 100644
View file @
d4a88a98
package
com
.
makeit
.
utils
.
msg
.
dto
;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.ToString
;
/**
* <pre>
* 发送结果
* </pre>
*
* @author <a href="https://github.com/rememberber">RememBerBer</a>
* @since 2019/6/15.
*/
@Getter
@Setter
@ToString
public
class
SendResult
{
private
boolean
success
=
false
;
private
String
info
;
}
server-common/src/main/java/com/makeit/utils/msg/sender/IMsgSender.java
0 → 100644
View file @
d4a88a98
package
com
.
makeit
.
utils
.
msg
.
sender
;
import
com.makeit.utils.msg.dto.MsgDTO
;
import
com.makeit.utils.msg.dto.SendResult
;
public
interface
IMsgSender
{
/**
* 发送消息
* @param msgData 消息数据
*/
SendResult
send
(
MsgDTO
MsgDTO
);
}
server-common/src/main/java/com/makeit/utils/msg/sender/MailMsgSender.java
0 → 100644
View file @
d4a88a98
package
com
.
makeit
.
utils
.
msg
.
sender
;
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
;
import
org.springframework.mail.javamail.JavaMailSender
;
import
org.springframework.mail.javamail.MimeMessageHelper
;
import
org.springframework.stereotype.Component
;
import
javax.mail.internet.MimeMessage
;
@Component
@Slf4j
public
class
MailMsgSender
implements
IMsgSender
{
@Value
(
"${spring.mail.username}"
)
private
String
from
;
@Autowired
private
JavaMailSender
mailSender
;
@Override
public
SendResult
send
(
MsgDTO
msgDTO
)
{
SendResult
sendResult
=
new
SendResult
();
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
.
getOriContent
(),
false
);
mailSender
.
send
(
message
);
}
catch
(
Exception
e
)
{
sendResult
.
setSuccess
(
false
);
sendResult
.
setInfo
(
e
.
getMessage
());
}
sendResult
.
setSuccess
(
true
);
return
sendResult
;
}
}
server-common/src/main/resources/locale/business_messages.properties
View file @
d4a88a98
...
...
@@ -103,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/PlatAlarmConfigController.java
View file @
d4a88a98
...
...
@@ -51,14 +51,14 @@ public class PlatAlarmConfigController {
@ApiOperation
(
"编辑(审核)"
)
@PostMapping
(
"editAudit"
)
public
ApiResponseEntity
<?>
editAudit
(
PlatAlarmConfigDTOVO
dto
)
{
public
ApiResponseEntity
<?>
editAudit
(
@RequestBody
PlatAlarmConfigDTOVO
dto
)
{
platAlarmConfigService
.
editAudit
(
dto
);
return
ApiResponseUtils
.
success
();
}
@ApiOperation
(
"编辑(不审核)"
)
@PostMapping
(
"edit"
)
public
ApiResponseEntity
<?>
edit
(
PlatAlarmConfigDTOVO
dto
)
{
public
ApiResponseEntity
<?>
edit
(
@RequestBody
PlatAlarmConfigDTOVO
dto
)
{
platAlarmConfigService
.
edit
(
dto
);
return
ApiResponseUtils
.
success
();
}
...
...
server-module/src/main/java/com/makeit/module/controller/alarm/PlatAlarmRecordController.java
View file @
d4a88a98
...
...
@@ -8,6 +8,8 @@ import com.makeit.common.response.ApiResponseEntity;
import
com.makeit.common.response.ApiResponseUtils
;
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.vo.platform.alarm.PlatAlarmRecordVO
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
...
...
@@ -17,6 +19,8 @@ import org.springframework.web.bind.annotation.RequestBody;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.Collections
;
@Api
(
tags
=
"告警记录"
)
@RestController
@RequestMapping
(
"/plat/alarm-record"
)
...
...
@@ -44,9 +48,22 @@ 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
;
@ApiOperation
(
"测试消息"
)
@PostMapping
(
"testMsg"
)
public
ApiResponseEntity
<
Void
>
testMsg
(
@RequestBody
BaseIdDTO
dto
)
{
MsgDTO
msgDTO
=
new
MsgDTO
();
msgDTO
.
setSubject
(
"测试消息"
);
msgDTO
.
setReceiverList
(
Collections
.
singletonList
(
"994997968@qq.com"
));
msgDTO
.
setOriContent
(
"测试发送邮箱"
);
mailMsgSender
.
send
(
msgDTO
);
return
ApiResponseUtils
.
success
();
}
}
server-module/src/main/java/com/makeit/module/controller/wechat/alarm/WechatPlatAlarmRecordController.java
0 → 100644
View file @
d4a88a98
package
com
.
makeit
.
module
.
controller
.
wechat
.
alarm
;
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.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.vo.platform.alarm.PlatAlarmRecordVO
;
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.Collections
;
@Api
(
tags
=
"小程序-告警记录"
)
@RestController
@RequestMapping
(
"/wechat/plat/alarm-record"
)
public
class
WechatPlatAlarmRecordController
{
@Autowired
private
PlatAlarmRecordService
platAlarmRecordService
;
@ApiOperation
(
"列表"
)
@PostMapping
(
"page"
)
public
ApiResponseEntity
<
PageVO
<
PlatAlarmRecordVO
>>
page
(
@RequestBody
PageReqDTO
<
PlatAlarmRecordQueryDTO
>
dto
)
{
return
ApiResponseUtils
.
success
(
platAlarmRecordService
.
page
(
dto
));
}
@ApiOperation
(
"查看"
)
@PostMapping
(
"view"
)
public
ApiResponseEntity
<
PlatAlarmRecordVO
>
view
(
@RequestBody
BaseIdDTO
dto
)
{
return
ApiResponseUtils
.
success
(
platAlarmRecordService
.
view
(
dto
.
getId
()));
}
@ApiOperation
(
"处理"
)
@PostMapping
(
"deal"
)
public
ApiResponseEntity
<
Void
>
deal
(
@RequestBody
BaseIdDTO
dto
)
{
platAlarmRecordService
.
deal
(
dto
.
getId
());
return
ApiResponseUtils
.
success
();
}
@ApiOperation
(
"通知家属"
)
@PostMapping
(
"notice"
)
public
ApiResponseEntity
<
Void
>
notice
(
@RequestBody
BaseIdDTO
dto
)
{
platAlarmRecordService
.
noticeRelation
(
dto
.
getId
());
return
ApiResponseUtils
.
success
();
}
@Autowired
private
MailMsgSender
mailMsgSender
;
@ApiOperation
(
"测试消息"
)
@PostMapping
(
"testMsg"
)
public
ApiResponseEntity
<
Void
>
testMsg
(
@RequestBody
BaseIdDTO
dto
)
{
MsgDTO
msgDTO
=
new
MsgDTO
();
msgDTO
.
setSubject
(
"测试消息"
);
msgDTO
.
setReceiverList
(
Collections
.
singletonList
(
"994997968@qq.com"
));
msgDTO
.
setOriContent
(
"测试发送邮箱"
);
mailMsgSender
.
send
(
msgDTO
);
return
ApiResponseUtils
.
success
();
}
}
server-service/src/main/java/com/makeit/entity/platform/alarm/PlatAlarmRecord.java
View file @
d4a88a98
...
...
@@ -56,6 +56,8 @@ public class PlatAlarmRecord extends BaseBusEntity {
private
String
orgId
;
private
String
deviceId
;
}
server-service/src/main/java/com/makeit/entity/platform/auth/PlatRoleMenu.java
View file @
d4a88a98
package
com
.
makeit
.
entity
.
platform
.
auth
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.makeit.common.entity.BaseBusEntity
;
import
lombok.Data
;
...
...
@@ -13,11 +12,6 @@ import lombok.Data;
@TableName
(
value
=
"plat_role_menu"
)
@Data
public
class
PlatRoleMenu
extends
BaseBusEntity
{
/**
* id
*/
@TableId
private
String
id
;
/**
* 租户id
...
...
server-service/src/main/java/com/makeit/service/platform/alarm/PlatAlarmRecordService.java
View file @
d4a88a98
...
...
@@ -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 @
d4a88a98
...
...
@@ -7,22 +7,41 @@ import com.makeit.common.entity.BaseEntity;
import
com.makeit.common.page.PageReqDTO
;
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
;
import
org.springframework.transaction.annotation.Transactional
;
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
...
...
@@ -32,6 +51,17 @@ import java.util.Objects;
@Service
public
class
PlatAlarmRecordServiceImpl
extends
ServiceImpl
<
PlatAlarmRecordMapper
,
PlatAlarmRecord
>
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
)
{
...
...
@@ -41,6 +71,11 @@ implements PlatAlarmRecordService{
Page
<
PlatAlarmRecord
>
page
=
page
(
mpPage
,
lambdaQueryWrapper
);
List
<
PlatAlarmRecord
>
records
=
page
.
getRecords
();
List
<
PlatAlarmRecordVO
>
dtos
=
BeanDtoVoUtils
.
listVo
(
records
,
PlatAlarmRecordVO
.
class
);
JoinUtil
.
join
(
dtos
,
platAlarmConfigService
,
PlatAlarmRecordVO:
:
getAlarmId
,
BaseEntity:
:
getId
,(
t
,
m
)->{
t
.
setNotifyRelation
(
m
.
getNotifyRelation
());
});
return
PageUtil
.
toPageVO
(
dtos
,
page
);
}
...
...
@@ -61,6 +96,9 @@ implements PlatAlarmRecordService{
public
PlatAlarmRecordVO
view
(
String
recordId
)
{
PlatAlarmRecord
platAlarmRecord
=
getById
(
recordId
);
PlatAlarmRecordVO
vo
=
BeanDtoVoUtils
.
convert
(
platAlarmRecord
,
PlatAlarmRecordVO
.
class
);
JoinUtil
.
join
(
Arrays
.
asList
(
vo
),
platAlarmConfigService
,
PlatAlarmRecordVO:
:
getAlarmId
,
BaseEntity:
:
getId
,(
t
,
m
)->{
t
.
setNotifyRelation
(
m
.
getNotifyRelation
());
});
return
vo
;
}
...
...
@@ -77,7 +115,44 @@ implements PlatAlarmRecordService{
@Override
@Transactional
public
void
notice
(
String
recordId
)
{
public
void
notice
Relation
(
String
recordId
)
{
//todo
PlatAlarmRecord
platAlarmRecord
=
this
.
getById
(
recordId
);
PlatAlarmConfig
platAlarmConfig
=
platAlarmConfigService
.
getById
(
platAlarmRecord
.
getAlarmId
());
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/PlatRoleService.java
View file @
d4a88a98
...
...
@@ -12,6 +12,7 @@ import com.makeit.dto.platform.auth.PlatUserRoleDTO;
import
com.makeit.entity.platform.auth.PlatRole
;
import
com.makeit.entity.platform.auth.PlatRoleMenu
;
import
com.makeit.entity.platform.auth.PlatRoleOrg
;
import
com.makeit.module.admin.dto.plat.PlatMenuDTOVO
;
import
com.makeit.module.admin.dto.plat.PlatRoleDTOVO
;
import
java.util.List
;
...
...
@@ -46,6 +47,8 @@ public interface PlatRoleService extends IService<PlatRole> {
void
assignDeptList
(
PlatRoleDeptDTOVO
tntRoleDeptDTO
);
List
<
PlatMenuDTOVO
>
getAssignMenuDTO
(
String
id
);
List
<
PlatRoleOrg
>
getDeptListByRoleId
(
String
roleId
);
...
...
server-service/src/main/java/com/makeit/service/platform/auth/impl/PlatRoleServiceImpl.java
View file @
d4a88a98
...
...
@@ -21,8 +21,11 @@ import com.makeit.entity.saas.PlatMenu;
import
com.makeit.enums.CodeMessageEnum
;
import
com.makeit.enums.CommonEnum
;
import
com.makeit.enums.IsTenantAccountEnum
;
import
com.makeit.enums.id.TreeConst
;
import
com.makeit.exception.BusinessException
;
import
com.makeit.global.aspect.tenant.TenantIdUtil
;
import
com.makeit.mapper.platform.auth.PlatRoleMapper
;
import
com.makeit.module.admin.dto.plat.PlatMenuDTOVO
;
import
com.makeit.module.admin.dto.plat.PlatRoleDTOVO
;
import
com.makeit.service.platform.auth.PlatOrgService
;
import
com.makeit.service.platform.auth.PlatRoleMenuService
;
...
...
@@ -160,7 +163,9 @@ implements PlatRoleService {
@Override
public
String
add
(
PlatRoleDTOVO
dto
)
{
check
(
dto
);
save
(
BeanDtoVoUtils
.
convert
(
dto
,
PlatRole
.
class
));
PlatRole
platRole
=
BeanDtoVoUtils
.
convert
(
dto
,
PlatRole
.
class
);
save
(
platRole
);
assignMenuList
(
platRole
.
getId
(),
dto
.
getMenuIdList
());
return
dto
.
getId
();
}
...
...
@@ -169,7 +174,9 @@ implements PlatRoleService {
public
void
edit
(
PlatRoleDTOVO
dto
)
{
adminRoleCantDo
(
dto
.
getId
());
check
(
dto
);
updateById
(
BeanDtoVoUtils
.
convert
(
dto
,
PlatRole
.
class
));
PlatRole
platRole
=
BeanDtoVoUtils
.
convert
(
dto
,
PlatRole
.
class
);
updateById
(
platRole
);
assignMenuList
(
platRole
.
getId
(),
dto
.
getMenuIdList
());
}
@Override
...
...
@@ -179,9 +186,32 @@ implements PlatRoleService {
JoinUtil
.
join
(
Arrays
.
asList
(
vo
),
platOrgService
,
PlatRoleDTOVO:
:
getOrgId
,
PlatOrg:
:
getId
,
(
r
,
e
)
->
r
.
setDeptName
(
e
.
getName
()));
List
<
PlatMenuDTOVO
>
assignMenuDTO
=
getAssignMenuDTO
(
id
);
List
<
PlatMenuDTOVO
>
tree
=
tree
(
assignMenuDTO
);
vo
.
setMenuList
(
tree
);
return
vo
;
}
public
List
<
PlatMenuDTOVO
>
tree
(
List
<
PlatMenuDTOVO
>
platMenuList
)
{
Map
<
String
,
PlatMenuDTOVO
>
map
=
StreamUtil
.
toMap
(
platMenuList
,
PlatMenuDTOVO:
:
getId
);
List
<
PlatMenuDTOVO
>
topList
=
StreamUtil
.
filter
(
platMenuList
,
e
->
TreeConst
.
TOP_LEVEL
.
equals
(
e
.
getParentId
()));
platMenuList
.
forEach
(
e
->
{
PlatMenuDTOVO
parent
=
map
.
get
(
e
.
getParentId
());
if
(
parent
!=
null
)
{
List
<
PlatMenuDTOVO
>
children
=
parent
.
getChildren
();
if
(
children
==
null
)
{
children
=
new
ArrayList
<>(
10
);
parent
.
setChildren
(
children
);
}
children
.
add
(
e
);
}
});
return
topList
;
}
@Transactional
@Override
public
void
del
(
String
id
)
{
...
...
@@ -233,16 +263,23 @@ implements PlatRoleService {
@Override
public
void
assignMenuList
(
PlatRoleMenuDTO
roleMenuDTO
)
{
adminRoleCantDo
(
roleMenuDTO
.
getRoleId
());
assignMenuList
(
roleMenuDTO
.
getRoleId
(),
roleMenuDTO
.
getMenuIdList
());
}
@Transactional
public
void
assignMenuList
(
String
roleId
,
List
<
String
>
menuIdList
)
{
String
tenantId
=
TenantIdUtil
.
getTenantId
();
//adminRoleCantDo(roleId);
platRoleMenuService
.
remove
(
new
QueryWrapper
<
PlatRoleMenu
>().
lambda
()
.
eq
(
PlatRoleMenu:
:
getRoleId
,
role
MenuDTO
.
getRoleId
()
));
.
eq
(
PlatRoleMenu:
:
getRoleId
,
role
Id
));
List
<
PlatRoleMenu
>
roleMenuList
=
StreamUtil
.
map
(
roleMenuDTO
.
getMenuIdList
()
,
e
->
{
List
<
PlatRoleMenu
>
roleMenuList
=
StreamUtil
.
map
(
menuIdList
,
e
->
{
PlatRoleMenu
tntRoleMenu
=
new
PlatRoleMenu
();
tntRoleMenu
.
setRoleId
(
role
MenuDTO
.
getRoleId
()
);
tntRoleMenu
.
setRoleId
(
role
Id
);
tntRoleMenu
.
setMenuId
(
e
);
tntRoleMenu
.
setTenantId
(
roleMenuDTO
.
getTenantId
()
);
tntRoleMenu
.
setTenantId
(
tenantId
);
return
tntRoleMenu
;
});
...
...
@@ -275,6 +312,27 @@ implements PlatRoleService {
return
newList
;
}
@Override
public
List
<
PlatMenuDTOVO
>
getAssignMenuDTO
(
String
id
)
{
List
<
String
>
menuIdList
=
new
ArrayList
<>(
10
);
menuIdList
.
add
(-
1
+
""
);
if
(
StringUtils
.
isNotBlank
(
id
))
{
List
<
PlatRoleMenu
>
platRoleList
=
platRoleMenuService
.
list
(
new
QueryWrapper
<
PlatRoleMenu
>().
lambda
()
.
in
(
PlatRoleMenu:
:
getRoleId
,
id
));
menuIdList
.
addAll
(
StreamUtil
.
map
(
platRoleList
,
PlatRoleMenu:
:
getMenuId
));
}
List
<
PlatMenu
>
platMenuList
=
platMenuService
.
list
(
new
QueryWrapper
<
PlatMenu
>().
lambda
()
.
in
(
StringUtils
.
isNotBlank
(
id
),
PlatMenu:
:
getId
,
menuIdList
)
//.orderByAsc(PlatMenu::getParentId)
.
orderByAsc
(
PlatMenu:
:
getSort
)
.
orderByAsc
(
PlatMenu:
:
getCreateDate
)
);
return
BeanDtoVoUtils
.
listVo
(
platMenuList
,
PlatMenuDTOVO
.
class
);
}
@Transactional
@Override
public
void
assignDeptList
(
PlatRoleDeptDTOVO
tntRoleDeptDTO
)
{
...
...
server-service/src/main/java/com/makeit/service/platform/auth/impl/PlatUserServiceImpl.java
View file @
d4a88a98
...
...
@@ -756,10 +756,10 @@ public class PlatUserServiceImpl extends ServiceImpl<PlatUserMapper, PlatUser>
platUserRoleService
.
remove
(
new
QueryWrapper
<
PlatUserRole
>().
lambda
()
.
eq
(
PlatUserRole:
:
getUserId
,
dto
.
getId
()));
if
(
dto
.
getRoleList
()
!=
null
)
{
List
<
PlatUserRole
>
userRoleList
=
StreamUtil
.
map
(
dto
.
getRoleList
(),
e
->
{
List
<
PlatUserRole
>
userRoleList
=
StreamUtil
.
map
(
dto
.
getRole
Id
List
(),
e
->
{
PlatUserRole
tntUserRole
=
new
PlatUserRole
();
tntUserRole
.
setUserId
(
dto
.
getId
());
tntUserRole
.
setRoleId
(
e
.
getId
()
);
tntUserRole
.
setRoleId
(
e
);
return
tntUserRole
;
});
...
...
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderServiceImpl.java
View file @
d4a88a98
...
...
@@ -187,6 +187,27 @@ public class PlatElderServiceImpl extends ServiceImpl<PlatElderMapper, PlatElder
return
vo
;
});
JoinUtil
.
join
(
list
,
platSpaceService
,
Arrays
.
asList
(
PlatElderExportVO:
:
getStreetSpaceId
,
PlatElderExportVO:
:
getBuildingSpaceId
,
PlatElderExportVO:
:
getUnitSpaceId
,
PlatElderExportVO:
:
getFloorSpaceId
),
Arrays
.
asList
(
(
e
,
s
)
->
e
.
setStreetSpaceName
(
s
.
getName
()),
(
e
,
s
)
->
e
.
setBuildingSpaceName
(
s
.
getName
()),
(
e
,
s
)
->
e
.
setUnitSpaceName
(
s
.
getName
()),
(
e
,
s
)
->
e
.
setFloorSpaceName
(
s
.
getName
())
));
JoinUtil
.
join
(
list
,
platRoomService
,
PlatElderExportVO:
:
getRoomId
,
(
e
,
l
)
->
{
e
.
setRoomName
(
l
.
getName
());
});
JoinUtil
.
join
(
list
,
platBedService
,
PlatElderExportVO:
:
getBedId
,
(
e
,
l
)
->
{
e
.
setBedName
(
l
.
getName
());
});
ExcelUtil
.
export
(
response
,
"长者信息"
+
FileSuffixEnum
.
EXCEL
.
getSuffix
(),
PlatElderExportVO
.
class
,
list
);
}
...
...
server-service/src/main/java/com/makeit/service/saas/SaasRoleService.java
View file @
d4a88a98
...
...
@@ -2,6 +2,8 @@ package com.makeit.service.saas;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.makeit.common.dto.StatusDTO
;
import
com.makeit.common.page.PageReqDTO
;
import
com.makeit.common.page.PageVO
;
import
com.makeit.entity.saas.SaasRole
;
import
com.makeit.module.admin.dto.saas.SaasRoleDTOVO
;
import
com.makeit.module.admin.dto.saas.SaasRoleMenuDTO
;
...
...
@@ -18,6 +20,8 @@ public interface SaasRoleService extends IService<SaasRole> {
List
<
SaasRoleDTOVO
>
list
(
SaasRoleDTOVO
dto
);
PageVO
<
SaasRoleDTOVO
>
page
(
PageReqDTO
<
SaasRoleDTOVO
>
dto
);
void
add
(
SaasRoleDTOVO
dto
);
void
edit
(
SaasRoleDTOVO
dto
);
...
...
server-service/src/main/java/com/makeit/service/saas/impl/PlatTenantServiceImpl.java
View file @
d4a88a98
...
...
@@ -175,19 +175,24 @@ implements PlatTenantService {
@Override
public
void
assignMenuList
(
PlatTenantMenuDTO
tntTenantMenuDTO
)
{
assignMenuList
(
tntTenantMenuDTO
.
getTenantId
(),
tntTenantMenuDTO
.
getMenuIdList
());
}
@Transactional
public
void
assignMenuList
(
String
tenantId
,
List
<
String
>
menuIdList
)
{
platTenantMenuService
.
remove
(
new
QueryWrapper
<
PlatTenantMenu
>().
lambda
()
.
eq
(
PlatTenantMenu:
:
getTenantId
,
t
ntTenantMenuDTO
.
getTenantId
()
));
.
eq
(
PlatTenantMenu:
:
getTenantId
,
t
enantId
));
List
<
PlatTenantMenu
>
tntTenantMenuList
=
StreamUtil
.
map
(
tntTenantMenuDTO
.
getMenuIdList
()
,
e
->
{
List
<
PlatTenantMenu
>
tntTenantMenuList
=
StreamUtil
.
map
(
menuIdList
,
e
->
{
PlatTenantMenu
tntTenantMenu
=
new
PlatTenantMenu
();
tntTenantMenu
.
setMenuId
(
e
);
tntTenantMenu
.
setTenantId
(
t
ntTenantMenuDTO
.
getTenantId
()
);
tntTenantMenu
.
setTenantId
(
t
enantId
);
return
tntTenantMenu
;
});
platTenantMenuService
.
saveBatch
(
tntTenantMenuList
);
}
...
...
@@ -216,6 +221,8 @@ implements PlatTenantService {
PlatOrg
platOrg
=
convertToPlatOrg
(
tntTenant
);
platOrgService
.
save
(
platOrg
);
//分配菜单
assignMenuList
(
tntTenant
.
getId
(),
dto
.
getMenuIdList
());
return
tntTenant
.
getId
();
}
...
...
@@ -238,6 +245,9 @@ implements PlatTenantService {
//更新组织表
platOrgService
.
edit
(
platOrg
);
//分配菜单
assignMenuList
(
tntTenant
.
getId
(),
dto
.
getMenuIdList
());
saasOperationLogService
.
add
(
"saas端-租户账号-编辑"
,
dto
.
getId
());
}
...
...
server-service/src/main/java/com/makeit/service/saas/impl/SaasMenuServiceImpl.java
View file @
d4a88a98
...
...
@@ -49,7 +49,7 @@ import java.util.stream.Collectors;
public
class
SaasMenuServiceImpl
extends
ServiceImpl
<
SaasMenuMapper
,
SaasMenu
>
implements
SaasMenuService
{
@Autowired
private
SaasRoleMenuService
plat
RoleMenuService
;
private
SaasRoleMenuService
saas
RoleMenuService
;
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
SaasMenuServiceImpl
.
class
);
...
...
@@ -73,7 +73,7 @@ public class SaasMenuServiceImpl extends ServiceImpl<SaasMenuMapper, SaasMenu> i
List
<
String
>
menuIdList
=
new
ArrayList
<>(
10
);
menuIdList
.
add
(-
1
+
""
);
if
(
StringUtils
.
isNotBlank
(
dto
.
getRoleId
()))
{
List
<
SaasRoleMenu
>
platRoleList
=
plat
RoleMenuService
.
list
(
new
QueryWrapper
<
SaasRoleMenu
>().
lambda
()
List
<
SaasRoleMenu
>
platRoleList
=
saas
RoleMenuService
.
list
(
new
QueryWrapper
<
SaasRoleMenu
>().
lambda
()
.
in
(
SaasRoleMenu:
:
getRoleId
,
dto
.
getRoleId
()));
menuIdList
.
addAll
(
StreamUtil
.
map
(
platRoleList
,
SaasRoleMenu:
:
getMenuId
));
}
...
...
server-service/src/main/java/com/makeit/service/saas/impl/SaasRoleServiceImpl.java
View file @
d4a88a98
package
com
.
makeit
.
service
.
saas
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.makeit.common.dto.StatusDTO
;
import
com.makeit.common.page.PageReqDTO
;
import
com.makeit.common.page.PageVO
;
import
com.makeit.entity.saas.SaasRole
;
import
com.makeit.entity.saas.SaasRoleMenu
;
import
com.makeit.entity.saas.SaasUserRole
;
...
...
@@ -10,13 +14,17 @@ import com.makeit.enums.CodeMessageEnum;
import
com.makeit.enums.CommonEnum
;
import
com.makeit.exception.BusinessException
;
import
com.makeit.mapper.saas.SaasRoleMapper
;
import
com.makeit.module.admin.dto.saas.SaasMenuDTOVO
;
import
com.makeit.module.admin.dto.saas.SaasMenuQueryDTO
;
import
com.makeit.module.admin.dto.saas.SaasRoleDTOVO
;
import
com.makeit.module.admin.dto.saas.SaasRoleMenuDTO
;
import
com.makeit.module.admin.dto.saas.SaasUserRoleDTO
;
import
com.makeit.service.saas.SaasMenuService
;
import
com.makeit.service.saas.SaasRoleMenuService
;
import
com.makeit.service.saas.SaasRoleService
;
import
com.makeit.service.saas.SaasUserRoleService
;
import
com.makeit.utils.data.convert.BeanDtoVoUtils
;
import
com.makeit.utils.data.convert.PageUtil
;
import
com.makeit.utils.data.convert.StreamUtil
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -43,9 +51,19 @@ implements SaasRoleService{
@Autowired
private
SaasRoleMenuService
saasRoleMenuService
;
@Autowired
private
SaasMenuService
saasMenuService
;
@Override
public
List
<
SaasRoleDTOVO
>
list
(
SaasRoleDTOVO
dto
)
{
List
<
SaasRole
>
platRoleList
=
list
(
new
QueryWrapper
<
SaasRole
>().
lambda
()
List
<
SaasRole
>
platRoleList
=
list
(
getQueryWrapper
(
dto
)
);
return
BeanDtoVoUtils
.
listVo
(
platRoleList
,
SaasRoleDTOVO
.
class
);
}
private
LambdaQueryWrapper
<
SaasRole
>
getQueryWrapper
(
SaasRoleDTOVO
dto
)
{
return
new
QueryWrapper
<
SaasRole
>().
lambda
()
.
like
(
StringUtils
.
isNotBlank
(
dto
.
getName
()),
SaasRole:
:
getName
,
dto
.
getName
())
.
like
(
StringUtils
.
isNotBlank
(
dto
.
getCode
()),
SaasRole:
:
getCode
,
dto
.
getCode
())
.
and
(
StringUtils
.
isNotBlank
(
dto
.
getKeyword
()),
qw
->
{
...
...
@@ -54,10 +72,17 @@ implements SaasRoleService{
.
like
(
StringUtils
.
isNotBlank
(
dto
.
getKeyword
()),
SaasRole:
:
getCode
,
dto
.
getKeyword
());
})
.
eq
(
StringUtils
.
isNotBlank
(
dto
.
getStatus
()),
SaasRole:
:
getStatus
,
dto
.
getStatus
())
.
orderByDesc
(
SaasRole:
:
getCreateDate
)
);
.
orderByDesc
(
SaasRole:
:
getCreateDate
)
;
}
return
BeanDtoVoUtils
.
listVo
(
platRoleList
,
SaasRoleDTOVO
.
class
);
@Override
public
PageVO
<
SaasRoleDTOVO
>
page
(
PageReqDTO
<
SaasRoleDTOVO
>
pageReqDTO
)
{
SaasRoleDTOVO
data
=
pageReqDTO
.
getData
();
Page
<
SaasRole
>
mpPage
=
PageUtil
.
toMpPage
(
pageReqDTO
);
Page
<
SaasRole
>
page
=
page
(
mpPage
,
getQueryWrapper
(
data
));
List
<
SaasRole
>
records
=
page
.
getRecords
();
List
<
SaasRoleDTOVO
>
saasRoleDTOVOS
=
BeanDtoVoUtils
.
listVo
(
records
,
SaasRoleDTOVO
.
class
);
return
PageUtil
.
toPageVO
(
saasRoleDTOVOS
,
page
);
}
private
void
check
(
SaasRoleDTOVO
dto
)
{
...
...
@@ -78,19 +103,28 @@ implements SaasRoleService{
@Override
public
void
add
(
SaasRoleDTOVO
dto
)
{
check
(
dto
);
save
(
BeanDtoVoUtils
.
convert
(
dto
,
SaasRole
.
class
));
SaasRole
saasRole
=
BeanDtoVoUtils
.
convert
(
dto
,
SaasRole
.
class
);
save
(
saasRole
);
assignMenuList
(
saasRole
.
getId
(),
dto
.
getMenuIdList
());
}
@Transactional
@Override
public
void
edit
(
SaasRoleDTOVO
dto
)
{
check
(
dto
);
updateById
(
BeanDtoVoUtils
.
convert
(
dto
,
SaasRole
.
class
));
SaasRole
saasRole
=
BeanDtoVoUtils
.
convert
(
dto
,
SaasRole
.
class
);
updateById
(
saasRole
);
assignMenuList
(
saasRole
.
getId
(),
dto
.
getMenuIdList
());
}
@Override
public
SaasRoleDTOVO
view
(
String
id
)
{
return
BeanDtoVoUtils
.
convert
(
getById
(
id
),
SaasRoleDTOVO
.
class
);
SaasRoleDTOVO
saasRoleDTOVO
=
BeanDtoVoUtils
.
convert
(
getById
(
id
),
SaasRoleDTOVO
.
class
);
SaasMenuQueryDTO
saasMenuQueryDTO
=
new
SaasMenuQueryDTO
();
saasMenuQueryDTO
.
setRoleId
(
id
);
List
<
SaasMenuDTOVO
>
tree
=
saasMenuService
.
tree
(
saasMenuQueryDTO
);
saasRoleDTOVO
.
setMenuDTOVOList
(
tree
);
return
saasRoleDTOVO
;
}
@Transactional
...
...
@@ -142,11 +176,16 @@ implements SaasRoleService{
public
void
assignMenuList
(
SaasRoleMenuDTO
roleMenuDTO
)
{
//removeAssignMenuList(roleMenuDTOList);
saasRoleMenuService
.
remove
(
new
QueryWrapper
<
SaasRoleMenu
>().
lambda
().
eq
(
SaasRoleMenu:
:
getRoleId
,
roleMenuDTO
.
getRoleId
()));
assignMenuList
(
roleMenuDTO
.
getRoleId
(),
roleMenuDTO
.
getMenuIdList
());
}
@Transactional
public
void
assignMenuList
(
String
roleId
,
List
<
String
>
menuIdList
)
{
saasRoleMenuService
.
remove
(
new
QueryWrapper
<
SaasRoleMenu
>().
lambda
().
eq
(
SaasRoleMenu:
:
getRoleId
,
roleId
));
List
<
SaasRoleMenu
>
roleMenuList
=
StreamUtil
.
map
(
roleMenuDTO
.
getMenuIdList
()
,
e
->
{
List
<
SaasRoleMenu
>
roleMenuList
=
StreamUtil
.
map
(
menuIdList
,
e
->
{
SaasRoleMenu
platRoleMenu
=
new
SaasRoleMenu
();
platRoleMenu
.
setRoleId
(
role
MenuDTO
.
getRoleId
()
);
platRoleMenu
.
setRoleId
(
role
Id
);
platRoleMenu
.
setMenuId
(
e
);
return
platRoleMenu
;
});
...
...
server-service/src/main/java/com/makeit/service/saas/impl/SaasUserServiceImpl.java
View file @
d4a88a98
...
...
@@ -187,12 +187,12 @@ implements SaasUserService{
saasUserRoleService
.
remove
(
new
QueryWrapper
<
SaasUserRole
>().
lambda
()
.
eq
(
SaasUserRole:
:
getUserId
,
dto
.
getId
()));
if
(
CollectionUtils
.
isNotEmpty
(
dto
.
getRoleList
()))
{
List
<
SaasUserRole
>
userRoleList
=
StreamUtil
.
map
(
dto
.
getRoleList
(),
e
->
{
SaasUserRole
plat
UserRole
=
new
SaasUserRole
();
plat
UserRole
.
setUserId
(
dto
.
getId
());
platUserRole
.
setRoleId
(
e
.
getId
()
);
List
<
SaasUserRole
>
userRoleList
=
StreamUtil
.
map
(
dto
.
getRole
Id
List
(),
e
->
{
SaasUserRole
saas
UserRole
=
new
SaasUserRole
();
saas
UserRole
.
setUserId
(
dto
.
getId
());
saasUserRole
.
setRoleId
(
e
);
return
plat
UserRole
;
return
saas
UserRole
;
});
saasUserRoleService
.
saveBatch
(
userRoleList
);
...
...
server-service/src/main/java/com/makeit/task/IotSyncTask.java
View file @
d4a88a98
...
...
@@ -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-service/src/main/java/com/makeit/vo/platform/alarm/PlatAlarmRecordVO.java
View file @
d4a88a98
...
...
@@ -22,7 +22,13 @@ import java.util.Date;
@EqualsAndHashCode
(
callSuper
=
true
)
@ApiModel
(
value
=
"PlatAlarmRecord对象"
,
description
=
"告警记录"
)
public
class
PlatAlarmRecordVO
extends
BaseTenantDTO
{
/**
* 关联告警配置
*/
private
String
alarmId
;
@ApiModelProperty
(
value
=
"通知家属 数据字典 1、同步通知 2 可选通知 3 不通知"
)
private
String
notifyRelation
;
@ApiModelProperty
(
value
=
"告警类型 数据字典 1 长者跌倒 2 呼吸异常 3 心率异常 4 行为异常"
)
private
String
alarmType
;
...
...
server-service/src/main/java/com/makeit/vo/platform/auth/PlatPersonDTOVO.java
View file @
d4a88a98
...
...
@@ -77,4 +77,8 @@ public class PlatPersonDTOVO extends BaseIdDTO {
@ApiModelProperty
(
value
=
"角色集合"
)
private
List
<
PlatRoleDTOVO
>
roleList
;
@TableField
(
exist
=
false
)
@ApiModelProperty
(
value
=
"角色Id集合"
)
private
List
<
String
>
roleIdList
;
}
server-web/src/main/resources/application-dev.yml
View file @
d4a88a98
...
...
@@ -32,6 +32,24 @@ spring:
#redis库
database
:
1
#邮件发送配置
mail
:
host
:
smtp.qq.com
username
:
994997968@qq.com
password
:
jctyarhjddstbfef
protocol
:
smtps
default-encoding
:
UTF-8
properties
:
default-encoding
:
utf-8
mail
:
smtp
:
port
:
587
auth
:
true
starttls
:
enable
:
true
required
:
true
sign
:
flag
:
false
...
...
@@ -100,4 +118,13 @@ mqtt:
clientId
:
ab3a2fd694c8c838aba2686df3a80e7b
defaultTopic
:
timeout
:
10
keepalive
:
60
\ No newline at end of file
keepalive
:
60
wx
:
miniapp
:
config
:
appid
:
wx48720402e3fdbe0f
#微信小程序的appid
secret
:
2ebae648f45716e70c75b7d78d0660cc
#微信小程序的Secret
token
:
#微信小程序消息服务器配置的token
aesKey
:
#微信小程序消息服务器配置的EncodingAESKey
msgDataFormat
:
JSON
\ No newline at end of file
server-web/src/main/resources/application-test.yml
View file @
d4a88a98
...
...
@@ -31,6 +31,21 @@ spring:
connectTimeout
:
10000
#redis库
database
:
1
mail
:
host
:
smtp.qq.com
username
:
994997968@qq.com
password
:
jctyarhjddstbfef
protocol
:
smtps
default-encoding
:
UTF-8
properties
:
default-encoding
:
utf-8
mail
:
smtp
:
port
:
587
auth
:
true
starttls
:
enable
:
true
required
:
true
sign
:
flag
:
false
...
...
@@ -91,4 +106,22 @@ libreOffice: /home/group1_lzy/iot-server/LibreOffice/program/soffice
iot
:
url
:
http://iot.meiqicloud.com/api/
clientId
:
fyxmb5h52iKwE2Hi
secureKey
:
22fZbnH36wdHn7ZTyKKHraFw233npcez
\ No newline at end of file
secureKey
:
22fZbnH36wdHn7ZTyKKHraFw233npcez
mqtt
:
username
:
admin|1693982115969
password
:
8e3795ef7b5e95869fa8c323b865b3a9
hostUrl
:
tcp://124.71.33.17:11883
clientId
:
ab3a2fd694c8c838aba2686df3a80e7b
defaultTopic
:
timeout
:
10
keepalive
:
60
wx
:
miniapp
:
config
:
appid
:
wx48720402e3fdbe0f
#微信小程序的appid
secret
:
2ebae648f45716e70c75b7d78d0660cc
#微信小程序的Secret
token
:
#微信小程序消息服务器配置的token
aesKey
:
#微信小程序消息服务器配置的EncodingAESKey
msgDataFormat
:
JSON
\ No newline at end of file
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