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
166bb587
authored
Sep 11, 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
8b25e0c8
6d5b2de6
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
77 changed files
with
979 additions
and
590 deletions
README-CODE.md
db/saas.sql
db/space.sql
saas-module/src/main/java/com/makeit/controller/saas/SaasMenuController.java
saas-module/src/main/java/com/makeit/controller/saas/SaasPlatMenuController.java
saas-module/src/main/java/com/makeit/controller/saas/SaasPlatUserController.java
saas-module/src/main/java/com/makeit/controller/saas/SaasPrivacyConfigController.java
saas-module/src/main/java/com/makeit/controller/saas/SaasRoleController.java
saas-module/src/main/java/com/makeit/controller/saas/SaasUserController.java
server-common/src/main/java/com/makeit/config/global/swagger/model/ConfigPlugin.java
server-common/src/main/java/com/makeit/enums/id/IdConst.java
server-common/src/main/java/com/makeit/module/admin/dto/plat/PlatMenuDTOVO.java
server-common/src/main/java/com/makeit/module/admin/dto/plat/PlatTenantDTOVO.java
server-common/src/main/java/com/makeit/module/iot/mqtt/PushCallback.java
server-common/src/main/java/com/makeit/module/iot/service/IotCommonService.java
server-common/src/main/java/com/makeit/module/iot/service/IotOrgService.java
server-common/src/main/java/com/makeit/module/iot/service/IotProductDeviceService.java
server-common/src/main/java/com/makeit/module/iot/util/HeaderUtils.java
server-common/src/main/java/com/makeit/module/iot/vo/OrganizationEntity.java
server-common/src/main/java/com/makeit/module/system/service/impl/SysConfigServiceImpl.java
server-common/src/main/java/com/makeit/utils/msg/MsgSendUtil.java
server-common/src/main/java/com/makeit/utils/msg/MsgUtil.java
server-common/src/main/java/com/makeit/utils/msg/config/SmsVoiceConfig.java
server-common/src/main/java/com/makeit/utils/msg/dto/MsgDTO.java → server-common/src/main/java/com/makeit/utils/msg/dto/MsgSendDTO.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/msg/sender/SmsVoiceSender.java
server-common/src/main/java/com/makeit/utils/redis/RedisUtil.java
server-module/src/main/java/com/makeit/module/controller/alarm/PlatAlarmRecordController.java
server-module/src/main/java/com/makeit/module/controller/device/PlatDeviceController.java
server-module/src/main/java/com/makeit/module/controller/space/PlatBedController.java
server-module/src/main/java/com/makeit/module/controller/space/PlatRegionSettingController.java
server-module/src/main/java/com/makeit/module/controller/wechat/alarm/ChildrenAlarmRecordController.java
server-module/src/main/java/com/makeit/module/controller/wechat/alarm/WechatPlatAlarmRecordController.java
server-service/src/main/java/com/makeit/dto/platform/alarm/PlatAlarmRecordQueryDTO.java
server-service/src/main/java/com/makeit/entity/platform/space/PlatRegionSettingLocation.java → server-service/src/main/java/com/makeit/dto/platform/space/PlatRegionSettingDTO.java
server-service/src/main/java/com/makeit/dto/platform/space/PlatRegionSettingQueryDTO.java
server-service/src/main/java/com/makeit/dto/platform/space/PlatRoomBindDeviceDTO.java
server-service/src/main/java/com/makeit/dto/platform/space/PlatRoomQueryDTO.java
server-service/src/main/java/com/makeit/dto/platform/space/PlatSpaceVO.java
server-service/src/main/java/com/makeit/entity/platform/alarm/PlatAlarmRecord.java
server-service/src/main/java/com/makeit/entity/platform/auth/PlatOrg.java
server-service/src/main/java/com/makeit/entity/platform/space/PlatRegionSetting.java
server-service/src/main/java/com/makeit/entity/platform/space/PlatRoomBedDevice.java
server-service/src/main/java/com/makeit/entity/saas/PlatMenu.java
server-service/src/main/java/com/makeit/enums/platform/device/PlatDeviceEnum.java
server-service/src/main/java/com/makeit/mapper/platform/space/PlatRegionSettingLocationMapper.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/DeptUtil.java
server-service/src/main/java/com/makeit/service/platform/auth/PlatOrgService.java
server-service/src/main/java/com/makeit/service/platform/auth/PlatUserService.java
server-service/src/main/java/com/makeit/service/platform/auth/impl/PlatOrgServiceImpl.java
server-service/src/main/java/com/makeit/service/platform/auth/impl/PlatUserServiceImpl.java
server-service/src/main/java/com/makeit/service/platform/space/PlatRegionSettingLocationService.java
server-service/src/main/java/com/makeit/service/platform/space/PlatRegionSettingService.java
server-service/src/main/java/com/makeit/service/platform/space/impl/PlatRegionSettingLocationServiceImpl.java
server-service/src/main/java/com/makeit/service/platform/space/impl/PlatRegionSettingServiceImpl.java
server-service/src/main/java/com/makeit/service/platform/space/impl/PlatRoomBedDeviceServiceImpl.java
server-service/src/main/java/com/makeit/service/platform/space/impl/PlatRoomServiceImpl.java
server-service/src/main/java/com/makeit/service/platform/space/impl/PlatSpaceServiceImpl.java
server-service/src/main/java/com/makeit/service/saas/PlatMenuService.java
server-service/src/main/java/com/makeit/service/saas/SaasMenuService.java
server-service/src/main/java/com/makeit/service/saas/SaasPrivacyConfigService.java
server-service/src/main/java/com/makeit/service/saas/SaasRoleService.java
server-service/src/main/java/com/makeit/service/saas/SaasUserService.java
server-service/src/main/java/com/makeit/service/saas/impl/PlatMenuServiceImpl.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/SaasPrivacyConfigServiceImpl.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-web/src/main/resources/application-dev.yml
server-web/src/main/resources/application-test.yml
server-web/src/test/java/com/makeit/iotapi/IotTest.java
README-CODE.md
View file @
166bb587
#旷时IOT项目
## 技术选型
###后端
#####框架:springboot2以上 、mybatis-plus
#####数据库:mysql5.7, ES6.8.1
##### 中间件:nginx 、redis5.7、RabbitMQ、MQTT
IOT框架:jetlinks
旷时IOT项目
技术选型
后端
框架:springboot2以上 、mybatis-plus
数据库:mysql5.7, ES6.8.1
中间件:nginx 、redis5.7、RabbitMQ、MQTT
IOT框架:jetlinks
前端:
#####后台:vue3
#####手机端:uniapp(不上架内部使用)
##### 子女端:子女端需要支持APP
#### 需要对接硬件:
#####1、呼吸雷达
#####2、空间雷达:
### 重要技术点:
##### 1、睡眠模型、呼吸模型、心率模型
##### 2、设备接入MQTT
##### 3、空间点位换算
##### 4、设备数据存储采用 ES
##### 5、业务数据库用mysql
##### 6、搭建RabbitMQ中间件,定义数据上报标准
## 注意事项:
##### 子女端: 子女端支持APP
地图:地图使用高德地图
##项目规范:
###后端:
#####1、项目按模块化开发:SASS端,子女小程序端,平台端,平台端小程序
#####2、模块部署:各个模块可以自己单独部署,模块中引用其他模块的,可单独出一个模块,写成公用的模块去引用,需要各自在公共去写自己引用的或者自己与其他开发进行协商。
##### 3、路径命名:/模块名/controller名/方法名
#####4、文件采用统一表存储,其余业务表直接记录文件表ID
##### 5、手机端接口单独出来写,与后台公用服务层,路径开头全部/app/模块名/controller名/方法名。
#####6、后端权限code: 模块名.controller名.方法名;
#####7、后端统一拦截登录,权限,去参数前后空格;
#####8、项目所有的请求采用POST请求
#####9、所有参数的入参和出参使用 DTO 和VO (简单表可使用entity返回)
#####10、接口文档采用swagger
#####11、项目代码中不允许写SQL语句,sql语句放在相应的 .xml 文件中
#####12、所有接口请求都必须经过签名校验
#####13、所有分页的入参和出参使用统一的工具类PageReqDTO 和 PageVO
#####14、所有异常的返回统一继承 common 中的 BusinessException
##### 15、参数校验采用 @Validated
##### 16、采用软删除,delFlag 0-未删除 1-删除
##### 17、所有表全部加字段:租户ID, 创建时间,更新时间,创建人,更新人,删除标识
##### 18、不允许在项目中写循环读取数据库。
##### 19、租户ID全局获取,不用每个接口都传输,租户ID统一放在请求头部 head。
##### 20、所有的常量采用枚举的方式,写在同一的一份文件里面
##### 21、所有的包按照大模块,大模块里面在划分小模块
##### 22、调用第三方接口的HTPP,统一使用项目中的工具类
##### 23、字符串转JSON,统一使用项目中的工具类
##### 24、代码要用阿里巴巴的规范扫描一下,不能出现严重和中级的问题
后台:vue3
手机端:uniapp,写成小程序
子女端:子女端需要支持APP(不上架内部使用)
需要对接硬件:
1、呼吸雷达
2、空间雷达
3、跌倒雷达
重要技术点:
1、睡眠模型、呼吸模型、心率模型
2、设备接入MQTT
3、空间点位换算
4、设备数据存储采用 ES
5、业务数据库用mysql
6、搭建RabbitMQ中间件,定义数据上报标准
注意事项:
子女端: 子女端支持APP
业务端获取设备数据: 通过调用iot端接口
地图:地图使用高德地图
项目规范:
后端:
1、项目按模块化开发:SASS端,子女小程序端,平台端,平台端小程序
2、模块部署:各个模块可以自己单独部署,模块中引用其他模块的,可单独出一个模块,写成公用的模块去引用,需要各自在公共去写自己引用的或者自己与其他开发进行协商。
3、路径命名:/模块名/controller名/方法名
4、文件采用统一表存储,其余业务表直接记录文件表ID
5、手机端接口单独出来写,与后台公用服务层,路径开头全部/app/模块名/controller名/方法名。
6、后端权限code: 模块名.controller名.方法名;
7、后端统一拦截登录,权限,去参数前后空格;
8、项目所有的请求采用POST请求
9、所有参数的入参和出参使用 DTO 和VO (简单表可使用entity返回)
10、接口文档采用swagger
11、项目代码中不允许写SQL语句,sql语句放在相应的 .xml 文件中
12、所有接口请求都必须经过签名校验
13、所有分页的入参和出参使用统一的工具类PageReqDTO 和 PageVO
14、所有异常的返回统一继承 common 中的 BusinessException
15、参数校验采用 @Validated
16、采用软删除,delFlag 0-未删除 1-删除
17、所有表全部加字段:租户ID, 创建时间,更新时间,创建人,更新人,删除标识
18、不允许在项目中写循环读取数据库。
19、租户ID全局获取,不用每个接口都传输,租户ID统一放在请求头部 head。
20、所有的常量采用枚举的方式,写在同一的一份文件里面
21、所有的包按照大模块,大模块里面在划分小模块
22、调用第三方接口的HTPP,统一使用项目中的工具类
23、字符串转JSON,统一使用项目中的工具类
24、代码要用阿里巴巴的规范扫描一下,不能出现严重和中级的问题
...
...
db/saas.sql
View file @
166bb587
...
...
@@ -103,8 +103,9 @@ CREATE TABLE `plat_menu` (
`del_flag`
char
(
1
)
DEFAULT
NULL
COMMENT
'删除标识'
,
`create_by`
varchar
(
64
)
NOT
NULL
COMMENT
'创建人'
,
`update_by`
varchar
(
64
)
NOT
NULL
COMMENT
'更新人'
,
`page_type`
varchar
(
4
)
DEFAULT
NULL
COMMENT
'页面类别'
,
`page_type`
varchar
(
20
)
DEFAULT
NULL
COMMENT
'页面类别'
,
`page_query`
varchar
(
512
)
DEFAULT
NULL
COMMENT
'跳转参数'
,
`code`
varchar
(
255
)
DEFAULT
NULL
COMMENT
'页面标识'
,
PRIMARY
KEY
(
`id`
)
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8mb4
ROW_FORMAT
=
COMPACT
COMMENT
=
'租户端资源管理'
;
...
...
db/space.sql
View file @
166bb587
...
...
@@ -64,7 +64,7 @@ CREATE TABLE `plat_bed`
`name`
varchar
(
128
)
NOT
NULL
COMMENT
'床位名称 床位1,床位2'
,
`room_id`
varchar
(
64
)
NOT
NULL
COMMENT
'房间id'
,
`bed_id`
varchar
(
64
)
NOT
NULL
COMMENT
'空间id'
,
`
equipment
_id`
varchar
(
64
)
DEFAULT
NULL
COMMENT
'设备id'
,
`
device
_id`
varchar
(
64
)
DEFAULT
NULL
COMMENT
'设备id'
,
`create_by`
varchar
(
64
)
DEFAULT
NULL
COMMENT
'创建者'
,
`create_date`
datetime
DEFAULT
NULL
COMMENT
'创建时间'
,
`update_by`
varchar
(
64
)
DEFAULT
NULL
COMMENT
'更新者'
,
...
...
@@ -80,31 +80,14 @@ CREATE TABLE `plat_bed`
CREATE
TABLE
`plat_region_setting`
(
`id`
varchar
(
64
)
NOT
NULL
COMMENT
'id'
,
`name`
varchar
(
128
)
NOT
NULL
COMMENT
'区域名称'
,
`room_id`
varchar
(
64
)
NOT
NULL
COMMENT
'房间id'
,
`range_map`
varchar
(
1024
)
NOT
NULL
COMMENT
'区域地图 json'
,
`create_by`
varchar
(
64
)
DEFAULT
NULL
COMMENT
'创建者'
,
`create_date`
datetime
DEFAULT
NULL
COMMENT
'创建时间'
,
`update_by`
varchar
(
64
)
DEFAULT
NULL
COMMENT
'更新者'
,
`update_date`
datetime
DEFAULT
NULL
COMMENT
'更新时间'
,
`del_flag`
int
(
1
)
DEFAULT
'0'
COMMENT
'删除标记'
,
`tenant_id`
varchar
(
64
)
COLLATE
utf8mb4_general_ci
DEFAULT
NULL
COMMENT
' 租户id '
,
PRIMARY
KEY
(
`id`
)
USING
BTREE
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8mb4
COMMENT
=
'区域设置'
;
CREATE
TABLE
`plat_region_setting_location`
(
`id`
varchar
(
64
)
NOT
NULL
COMMENT
'id'
,
`region_setting_id`
varchar
(
64
)
NOT
NULL
COMMENT
'区域设置Id'
,
`install_type`
char
(
1
)
NOT
NULL
COMMENT
'安装方式 0-顶装 1-侧装'
,
`toward`
char
(
1
)
NOT
NULL
COMMENT
'设备朝向 0-上 1-下 2-左 3-右'
,
`region_name`
varchar
(
64
)
DEFAULT
NULL
COMMENT
'区域名称'
,
`region_range`
varchar
(
128
)
DEFAULT
NULL
COMMENT
'区域定位'
,
`room_range`
varchar
(
128
)
DEFAULT
NULL
COMMENT
'房间门定位'
,
`equipment_range`
varchar
(
128
)
DEFAULT
NULL
COMMENT
'设备定位'
,
`
equipment
_id`
varchar
(
64
)
DEFAULT
NULL
COMMENT
'设备Id'
,
`
device
_id`
varchar
(
64
)
DEFAULT
NULL
COMMENT
'设备Id'
,
`create_by`
varchar
(
64
)
DEFAULT
NULL
COMMENT
'创建者'
,
`create_date`
datetime
DEFAULT
NULL
COMMENT
'创建时间'
,
`update_by`
varchar
(
64
)
DEFAULT
NULL
COMMENT
'更新者'
,
...
...
@@ -112,4 +95,4 @@ CREATE TABLE `plat_region_setting_location`
`del_flag`
int
(
1
)
DEFAULT
'0'
COMMENT
'删除标记'
,
`tenant_id`
varchar
(
64
)
COLLATE
utf8mb4_general_ci
DEFAULT
NULL
COMMENT
' 租户id '
,
PRIMARY
KEY
(
`id`
)
USING
BTREE
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8mb4
COMMENT
=
'区域设置
定位
'
;
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8mb4
COMMENT
=
'区域设置'
;
saas-module/src/main/java/com/makeit/controller/saas/SaasMenuController.java
View file @
166bb587
...
...
@@ -64,9 +64,9 @@ public class SaasMenuController {
@Action
(
module
=
"saas端-菜单"
,
name
=
"新增"
,
code
=
"plat:menu:add"
)
@ApiOperation
(
"新增"
)
@PostMapping
(
"add"
)
public
ApiResponseEntity
<
?
>
add
(
@Validated
@RequestBody
SaasMenuDTOVO
dto
)
{
platMenuService
.
add
(
dto
);
return
ApiResponseUtils
.
success
();
public
ApiResponseEntity
<
String
>
add
(
@Validated
@RequestBody
SaasMenuDTOVO
dto
)
{
String
id
=
platMenuService
.
add
(
dto
);
return
ApiResponseUtils
.
success
(
id
);
}
@Action
(
module
=
"saas端-菜单"
,
name
=
"编辑"
,
code
=
"plat:menu:edit"
)
...
...
saas-module/src/main/java/com/makeit/controller/saas/SaasPlatMenuController.java
View file @
166bb587
...
...
@@ -65,9 +65,9 @@ public class SaasPlatMenuController {
@Action
(
module
=
"saas端-租户资源管理(菜单)"
,
name
=
"新增"
,
code
=
"saas:plat:menu:add"
)
@ApiOperation
(
"新增"
)
@PostMapping
(
"add"
)
public
ApiResponseEntity
<
?
>
add
(
@Validated
@RequestBody
PlatMenuDTOVO
dto
){
platMenuService
.
add
(
dto
);
return
ApiResponseUtils
.
success
();
public
ApiResponseEntity
<
String
>
add
(
@Validated
@RequestBody
PlatMenuDTOVO
dto
){
String
add
=
platMenuService
.
add
(
dto
);
return
ApiResponseUtils
.
success
(
add
);
}
@Action
(
module
=
"saas端-租户资源管理(菜单)"
,
name
=
"编辑"
,
code
=
"saas:plat:menu:edit"
)
...
...
saas-module/src/main/java/com/makeit/controller/saas/SaasPlatUserController.java
View file @
166bb587
...
...
@@ -68,9 +68,9 @@ public class SaasPlatUserController {
@Action
(
module
=
"saas端-租户账号"
,
name
=
"新增"
,
code
=
"saas.plat.user.add"
)
@ApiOperation
(
"新增"
)
@PostMapping
(
"add"
)
public
ApiResponseEntity
<
?
>
add
(
@Validated
@RequestBody
PlatUserDTOVO
dto
){
platUserService
.
add
(
dto
);
return
ApiResponseUtils
.
success
();
public
ApiResponseEntity
<
String
>
add
(
@Validated
@RequestBody
PlatUserDTOVO
dto
){
String
add
=
platUserService
.
add
(
dto
);
return
ApiResponseUtils
.
success
(
add
);
}
@Action
(
module
=
"saas端-租户账号"
,
name
=
"编辑"
,
code
=
"saas.plat.user.edit"
)
...
...
saas-module/src/main/java/com/makeit/controller/saas/SaasPrivacyConfigController.java
View file @
166bb587
...
...
@@ -33,9 +33,9 @@ public class SaasPrivacyConfigController {
//@PlatOperationLogger
@ApiOperation
(
value
=
"新增隐私政策-关于我们"
,
notes
=
""
)
@PostMapping
(
"/add"
)
public
ApiResponseEntity
<
?
>
add
(
@Validated
@RequestBody
SaasPrivacyConfigDTO
saasPrivacyConfigDTO
){
saasPrivacyConfigService
.
add
(
saasPrivacyConfigDTO
);
return
ApiResponseUtils
.
success
();
public
ApiResponseEntity
<
String
>
add
(
@Validated
@RequestBody
SaasPrivacyConfigDTO
saasPrivacyConfigDTO
){
String
add
=
saasPrivacyConfigService
.
add
(
saasPrivacyConfigDTO
);
return
ApiResponseUtils
.
success
(
add
);
}
@Action
(
module
=
"saas端-隐私政策-关于我们"
,
name
=
"详情"
,
code
=
"saas.sys.privacyConfig.view"
)
...
...
saas-module/src/main/java/com/makeit/controller/saas/SaasRoleController.java
View file @
166bb587
...
...
@@ -63,9 +63,9 @@ public class SaasRoleController {
@Action
(
module
=
"saas端-角色"
,
name
=
"新增"
,
code
=
"saas:role:add"
)
@ApiOperation
(
"新增"
)
@PostMapping
(
"add"
)
public
ApiResponseEntity
<
?
>
add
(
@Validated
@RequestBody
SaasRoleDTOVO
dto
){
saasRoleService
.
add
(
dto
);
return
ApiResponseUtils
.
success
();
public
ApiResponseEntity
<
String
>
add
(
@Validated
@RequestBody
SaasRoleDTOVO
dto
){
String
add
=
saasRoleService
.
add
(
dto
);
return
ApiResponseUtils
.
success
(
add
);
}
@Action
(
module
=
"saas端-角色"
,
name
=
"编辑"
,
code
=
"saas:role:edit"
)
...
...
saas-module/src/main/java/com/makeit/controller/saas/SaasUserController.java
View file @
166bb587
...
...
@@ -74,9 +74,9 @@ public class SaasUserController {
@Action
(
module
=
"saas端-用户"
,
name
=
"新增"
,
code
=
"saas:user:add"
)
@ApiOperation
(
"新增"
)
@PostMapping
(
"add"
)
public
ApiResponseEntity
<
?
>
add
(
@Validated
@RequestBody
SaasUserDTOVO
dto
){
saasUserService
.
add
(
dto
);
return
ApiResponseUtils
.
success
();
public
ApiResponseEntity
<
String
>
add
(
@Validated
@RequestBody
SaasUserDTOVO
dto
){
String
add
=
saasUserService
.
add
(
dto
);
return
ApiResponseUtils
.
success
(
add
);
}
@Action
(
module
=
"saas端-用户"
,
name
=
"编辑"
,
code
=
"saas:user:edit"
)
...
...
server-common/src/main/java/com/makeit/config/global/swagger/model/ConfigPlugin.java
View file @
166bb587
...
...
@@ -21,7 +21,7 @@ public class ConfigPlugin implements ModelPropertyBuilderPlugin {
private
<
T
>
void
fill
(
String
categoryCode
,
ModelPropertyContext
context
)
{
TenantIdUtil
.
execute
(
IdConst
.
DEFAULT_
FACTORY
_ID
,
()
->
{
TenantIdUtil
.
execute
(
IdConst
.
DEFAULT_
TENANT
_ID
,
()
->
{
// String s = "配置 分类code:" + categoryCode + " " +
// TntConfigUtil.viewListByCategoryCode(categoryCode).stream().map(e -> e.getCode() + "-" + e.getValue() + "-" + e.getName()).collect(Collectors.joining(","));
...
...
server-common/src/main/java/com/makeit/enums/id/IdConst.java
View file @
166bb587
...
...
@@ -6,8 +6,8 @@ public class IdConst {
public
static
final
String
DEFAULT_ID_ZERO
=
"0"
;
public
static
final
String
DEFAULT_ID_ONE
=
"1"
;
public
static
final
String
DEFAULT_
FACTORY_ID
=
"1544975976697262082
"
;
//todo 这个id待确认
public
static
final
String
DEFAULT_
TENANT_ID
=
"0
"
;
public
static
final
String
ROLE_COMMON_USER_NAME
=
"普通用户"
;
...
...
server-common/src/main/java/com/makeit/module/admin/dto/plat/PlatMenuDTOVO.java
View file @
166bb587
...
...
@@ -24,6 +24,11 @@ public class PlatMenuDTOVO extends BaseIdDTO {
@ApiModelProperty
(
value
=
"名称"
)
private
String
name
;
/**
* 资源标识
*/
private
String
code
;
@ApiModelProperty
(
value
=
"图标"
)
private
String
icon
;
...
...
@@ -38,7 +43,7 @@ public class PlatMenuDTOVO extends BaseIdDTO {
@NotBlank
(
message
=
"类型不能为空"
)
@Pattern
(
regexp
=
"1|2|3"
,
message
=
"类型可选值 1目录 2菜单 3按钮"
)
@ApiModelProperty
(
value
=
"类型 1目录 2菜单 3按钮"
)
private
String
resourceType
;
private
String
category
;
@ApiModelProperty
(
value
=
"前端路径"
)
private
String
requestPath
;
...
...
server-common/src/main/java/com/makeit/module/admin/dto/plat/PlatTenantDTOVO.java
View file @
166bb587
...
...
@@ -48,7 +48,7 @@ public class PlatTenantDTOVO extends BaseIdDTO {
@ApiModelProperty
(
value
=
"租户管理员用户名"
)
private
String
userName
;
@ApiModelProperty
(
value
=
"告警渠道"
)
@ApiModelProperty
(
value
=
"告警渠道
1-短信 2-邮件 3-语音短信 4-云龄工单 5-晶奇工单
"
)
private
String
alertChannel
;
@ApiModelProperty
(
value
=
"菜单id集合"
)
...
...
server-common/src/main/java/com/makeit/module/iot/mqtt/PushCallback.java
View file @
166bb587
...
...
@@ -33,8 +33,8 @@ public class PushCallback implements MqttCallback {
// 收到消息并设置返回字符串格式
String
payload
=
new
String
(
message
.
getPayload
(),
"UTF-8"
);
logger
.
info
(
"接收消息主题:{}, 接收消息QoS:{}"
,
topic
,
message
.
getQos
());
logger
.
info
(
"接收消息内容:payload格式:{}"
,
payload
);
//
logger.info("接收消息主题:{}, 接收消息QoS:{}", topic, message.getQos());
//
logger.info("接收消息内容:payload格式:{}", payload);
// 解析数据
DeviceInfo
device
=
JSON
.
parseObject
(
payload
,
DeviceInfo
.
class
);
...
...
server-common/src/main/java/com/makeit/module/iot/service/IotCommonService.java
View file @
166bb587
...
...
@@ -42,12 +42,27 @@ public class IotCommonService {
return
request
;
}
public
ResponseMessage
sendPut
(
String
url
,
HttpRequest
request
)
throws
IOException
{
Response
response
=
request
.
put
();
ResponseMessage
responseMessage
=
getResponseMessage
(
url
,
response
);
return
responseMessage
;
}
public
ResponseMessage
sendGet
(
String
url
,
HttpRequest
request
)
throws
IOException
{
Response
response
=
request
.
get
();
ResponseMessage
responseMessage
=
getResponseMessage
(
url
,
response
);
return
responseMessage
;
}
public
ResponseMessage
sendPost
(
String
url
,
HttpRequest
request
)
throws
IOException
{
Response
response
=
request
.
post
();
ResponseMessage
responseMessage
=
getResponseMessage
(
url
,
response
);
return
responseMessage
;
}
private
static
ResponseMessage
getResponseMessage
(
String
url
,
Response
response
)
throws
IOException
{
Object
result
=
JSON
.
parse
(
response
.
asBytes
());
ResponseMessage
responseMessage
=
JSON
.
parseObject
(
result
.
toString
(),
ResponseMessage
.
class
);
log
.
info
(
"接口:{},返回信息:{}"
,
url
,
JSON
.
toJSONString
(
responseMessage
));
log
.
info
(
"接口:{},返回信息:{}"
,
url
,
JSON
.
toJSONString
(
responseMessage
));
return
responseMessage
;
}
...
...
@@ -72,7 +87,9 @@ public class IotCommonService {
IotQueryParam
iotQueryParam
=
new
IotQueryParam
();
iotQueryParam
.
setPageIndex
(
0
);
iotQueryParam
.
setPageSize
(
pageSize
);
buildSort
(
"timestamp"
);
iotQueryParam
.
setSorts
(
buildSort
(
"timestamp"
));
iotQueryParam
.
setTerms
(
Lists
.
newArrayList
());
return
iotQueryParam
;
}
...
...
server-common/src/main/java/com/makeit/module/iot/service/IotOrgService.java
View file @
166bb587
...
...
@@ -18,6 +18,7 @@ import lombok.extern.slf4j.Slf4j;
import
org.springframework.stereotype.Component
;
import
java.io.IOException
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -31,10 +32,53 @@ public class IotOrgService extends IotCommonService{
public
static
final
String
DEVICE_PRODUCT_PREFIX_URL
=
"device-product/"
;
public
void
getIotOrgInfo
(
String
orgId
)
{
String
url
=
iotUrl
+
"organization/"
+
orgId
;
HttpRequest
request
=
new
SimpleHttpRequest
(
url
,
httpClient
);
request
.
headers
(
headerUtils
.
createHeadersOfParams
(
new
HashMap
<>()));
try
{
ResponseMessage
responseMessage
=
sendGet
(
url
,
request
);
if
(
responseMessage
.
getStatus
()
==
200
)
{
OrganizationEntity
organizationEntity
=
JSON
.
parseObject
(
responseMessage
.
getResult
().
toString
(),
OrganizationEntity
.
class
);
}
}
catch
(
IOException
e
)
{
log
.
error
(
"调用:{}接口异常:{}"
,
url
,
e
.
getMessage
());
}
}
/**
* 更新iod
* @param orgId
* @param orgName
*/
public
void
updateIotOrgInfo
(
String
orgId
,
String
orgName
)
{
String
url
=
iotUrl
+
"organization/"
+
orgId
;
Map
<
String
,
Object
>
reqMap
=
Maps
.
newHashMap
();
reqMap
.
put
(
"name"
,
orgName
);
String
body
=
JSON
.
toJSONString
(
reqMap
);
HttpRequest
request
=
new
SimpleHttpRequest
(
url
,
httpClient
);
request
.
headers
(
headerUtils
.
createHeadersOfJsonString
(
body
));
request
.
requestBody
(
body
);
try
{
ResponseMessage
responseMessage
=
sendPut
(
url
,
request
);
if
(
responseMessage
.
getStatus
()
==
200
)
{
log
.
info
(
"更新机构成功"
);
}
else
{
log
.
error
(
"更新机构失败:{}"
,
responseMessage
.
getMessage
());
}
}
catch
(
IOException
e
)
{
log
.
error
(
"调用:{}接口异常:{}"
,
url
,
e
.
getMessage
());
}
}
/**
* iot同步新增组织机构
*/
public
OrganizationEntity
syncTenantInfoToIot
(
PlatTenantVO
platTenantVO
)
{
public
OrganizationEntity
addIotOrg
(
PlatTenantVO
platTenantVO
)
{
String
url
=
iotUrl
+
"organization"
;
Map
<
String
,
Object
>
reqMap
=
Maps
.
newHashMap
();
reqMap
.
put
(
"name"
,
platTenantVO
.
getName
());
...
...
@@ -45,7 +89,7 @@ public class IotOrgService extends IotCommonService{
request
.
headers
(
headerUtils
.
createHeadersOfJsonString
(
body
));
request
.
requestBody
(
body
);
try
{
ResponseMessage
responseMessage
=
sendPost
(
url
,
request
);
ResponseMessage
responseMessage
=
sendPost
(
url
,
request
);
if
(
responseMessage
.
getStatus
()
==
200
)
{
OrganizationEntity
organizationEntity
=
JSON
.
parseObject
(
responseMessage
.
getResult
().
toString
(),
OrganizationEntity
.
class
);
log
.
info
(
"新增机构成功,机构id:{}"
,
organizationEntity
.
getId
());
...
...
server-common/src/main/java/com/makeit/module/iot/service/IotProductDeviceService.java
View file @
166bb587
...
...
@@ -4,13 +4,16 @@ import com.alibaba.fastjson.JSON;
import
com.alibaba.fastjson.JSONArray
;
import
com.google.common.collect.Lists
;
import
com.makeit.module.iot.dto.IotQueryParam
;
import
com.makeit.module.iot.dto.Term
;
import
com.makeit.module.iot.util.HttpRequest
;
import
com.makeit.module.iot.vo.DeviceInstanceEntity
;
import
com.makeit.module.iot.vo.DeviceOperationLogEntity
;
import
com.makeit.module.iot.vo.IotPagerResult
;
import
com.makeit.module.iot.vo.ResponseMessage
;
import
com.makeit.utils.data.convert.JsonUtil
;
import
com.makeit.utils.old.StringUtils
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.springframework.stereotype.Component
;
import
java.io.IOException
;
...
...
@@ -38,7 +41,6 @@ public class IotProductDeviceService extends IotCommonService {
HttpRequest
request
=
buildRequest
(
url
,
body
);
try
{
ResponseMessage
responseMessage
=
sendPost
(
url
,
request
);
if
(
responseMessage
.
getStatus
()
==
200
)
{
IotPagerResult
pagerResult
=
JSON
.
parseObject
(
responseMessage
.
getResult
().
toString
(),
IotPagerResult
.
class
);
...
...
@@ -54,16 +56,89 @@ public class IotProductDeviceService extends IotCommonService {
}
/**
* 获取最新一条设备日志
* @param deviceId
* @return
*/
public
DeviceOperationLogEntity
getLastDeviceLog
(
String
deviceId
)
{
List
<
DeviceOperationLogEntity
>
deviceOperationLogEntities
=
getDeviceLog
(
deviceId
,
1
,
""
);
return
CollectionUtils
.
isNotEmpty
(
deviceOperationLogEntities
)
?
deviceOperationLogEntities
.
get
(
0
)
:
null
;
}
/**
*
* 根据类型查询设备日志
* text: "事件上报", value: "event"}
* {text: "读取属性", value: "readProperty"}
* {text: "修改属性", value: "writeProperty"}
* {text: "修改属性回复", value: "writePropertyReply"}
* {text: "属性上报", value: "reportProperty"}
* {text: "读取属性回复", value: "readPropertyReply"}
* {text: "子设备消息", value: "child"}
* {text: "子设备消息回复", value: "childReply"}
* {text: "调用功能", value: "functionInvoke"}
* {text: "调用功能回复", value: "functionReply"}
* {text: "设备注册", value: "register"}
* {text: "设备注销", value: "unregister"}
* {text: "读取固件信息", value: "readFirmware"}
* {text: "读取固件信息回复", value: "readFirmwareReply"}
* {text: "上报固件信息", value: "reportFirmware"}
* {text: "拉取固件信息", value: "pullFirmware"}
* {text: "拉取固件信息回复", value: "pullFirmwareReply"}
* {text: "推送固件信息", value: "upgradeFirmware"}
* {text: "推送固件信息回复", value: "upgradeFirmwareReply"}
* {text: "固件更新进度", value: "upgradeFirmwareProgress"}
* {text: "日志", value: "log"}
* {text: "标签更新", value: "tag"}
* {text: "离线", value: "offline"}
* {text: "上线", value: "online"}
* {text: "其它", value: "other"}
* {text: "透传", value: "direct"}
* {text: "应答", value: "acknowledge"}
* {text: "上报物模型", value: "metadata"}
* {text: "状态检查", value: "stateCheck"}
* {text: "状态检查回复", value: "stateCheckReply"}
* {text: "断开连接", value: "disconnect"}
* {text: "断开连接回复", value: "disconnectReply"}
* {text: "上报数采数据", value: "reportCollectorData"}
* {text: "读取数采数据", value: "readCollectorData"}
* {text: "读取数采数据回复", value: "readCollectorDataReply"}
* {text: "修改数采数据", value: "writeCollectorData"}
* {text: "修改数采数据回复", value: "writeCollectorDataReply"}
*
* @param deviceId
* @param typeValue
* @return
*/
public
List
<
DeviceOperationLogEntity
>
getDeviceLogByType
(
String
deviceId
,
String
typeValue
)
{
return
getDeviceLog
(
deviceId
,
10
,
typeValue
);
}
/**
* 获取设备的日志
*
* @param deviceId
* @param typeValue
*/
public
List
<
DeviceOperationLogEntity
>
getDeviceLog
(
String
deviceId
)
{
public
List
<
DeviceOperationLogEntity
>
getDeviceLog
(
String
deviceId
,
int
pageSize
,
String
typeValue
)
{
String
url
=
iotUrl
+
DEVICE_PREFIX_URL
+
deviceId
+
"/logs"
;
IotQueryParam
iotQueryParam
=
buildQueryParam
(
10
);
IotQueryParam
iotQueryParam
=
buildQueryParam
(
pageSize
);
if
(
StringUtils
.
isNotEmpty
(
typeValue
))
{
List
<
Term
>
terms
=
Lists
.
newArrayList
();
Term
term
=
Term
.
builder
()
.
column
(
"type"
)
.
termType
(
"eq"
)
.
type
(
Term
.
Type
.
or
)
.
value
(
typeValue
)
.
terms
(
Lists
.
newArrayList
())
.
options
(
Lists
.
newArrayList
())
.
build
();
terms
.
add
(
term
);
iotQueryParam
.
setTerms
(
terms
);
}
String
body
=
JsonUtil
.
toJson
(
iotQueryParam
);
HttpRequest
request
=
buildRequest
(
url
,
body
);
try
{
...
...
@@ -82,4 +157,7 @@ public class IotProductDeviceService extends IotCommonService {
}
}
server-common/src/main/java/com/makeit/module/iot/util/HeaderUtils.java
View file @
166bb587
...
...
@@ -27,6 +27,32 @@ public class HeaderUtils {
@Value
(
"${iot.secureKey}"
)
private
String
secureKey
;
public
Map
<
String
,
String
>
createHeadersOfParams
(
Map
<
String
,
Object
>
params
)
{
//时间戳
String
xTimestamp
=
String
.
valueOf
(
new
Date
().
getTime
());
//将参数按ASCII排序后拼接为k1=v1&k2=v2的格式
String
paramString
=
new
TreeMap
<>(
params
).
entrySet
()
.
stream
()
.
map
(
e
->
e
.
getKey
().
concat
(
"="
).
concat
(
String
.
valueOf
(
e
.
getValue
())))
.
collect
(
Collectors
.
joining
(
"&"
));
System
.
out
.
println
(
paramString
);
//param+X-Timestamp+SecureKey通过MD5加密
MessageDigest
digest
=
DigestUtils
.
getMd5Digest
();
System
.
out
.
println
(
paramString
+
xTimestamp
+
secureKey
);
digest
.
update
(
paramString
.
getBytes
());
digest
.
update
(
xTimestamp
.
getBytes
());
digest
.
update
(
secureKey
.
getBytes
());
Map
<
String
,
String
>
headers
=
new
HashMap
<>();
headers
.
put
(
"X-Sign"
,
Hex
.
encodeHexString
(
digest
.
digest
()));
headers
.
put
(
"X-Client-Id"
,
clientId
);
headers
.
put
(
"X-Timestamp"
,
xTimestamp
);
return
headers
;
}
public
Map
<
String
,
String
>
createHeadersOfJsonString
(
String
jsonString
)
{
//时间戳
String
xTimestamp
=
String
.
valueOf
(
new
Date
().
getTime
());
...
...
server-common/src/main/java/com/makeit/module/iot/vo/OrganizationEntity.java
View file @
166bb587
...
...
@@ -2,6 +2,7 @@ package com.makeit.module.iot.vo;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
import
org.hibernate.validator.constraints.Length
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -9,11 +10,9 @@ import java.util.Map;
@Data
public
class
OrganizationEntity
{
@Schema
(
description
=
"ID"
)
private
String
id
;
@Schema
(
description
=
"编码"
)
private
String
code
;
...
...
@@ -43,4 +42,24 @@ public class OrganizationEntity {
private
Long
createTime
;
private
List
<
OrganizationEntity
>
children
;
@Schema
(
description
=
"父节点ID"
)
private
String
parentId
;
@Schema
(
description
=
"树结构路径"
)
private
String
path
;
@Schema
(
description
=
"排序序号"
)
private
Long
sortIndex
;
@Schema
(
description
=
"树层级"
)
private
Integer
level
;
}
server-common/src/main/java/com/makeit/module/system/service/impl/SysConfigServiceImpl.java
View file @
166bb587
...
...
@@ -368,12 +368,12 @@ public class SysConfigServiceImpl extends ServiceImpl<SysConfigMapper, SysConfig
public
void
copyForTenant
(
PlatTenantDTOVO
factory
)
{
List
<
SysConfigCategory
>
configCategoryList
=
sysConfigCategoryService
.
list
(
new
QueryWrapper
<
SysConfigCategory
>().
lambda
()
.
eq
(
SysConfigCategory:
:
getTenantId
,
IdConst
.
DEFAULT_
FACTORY
_ID
)
.
eq
(
SysConfigCategory:
:
getTenantId
,
IdConst
.
DEFAULT_
TENANT
_ID
)
);
List
<
SysConfig
>
configList
=
list
(
new
QueryWrapper
<
SysConfig
>().
lambda
()
.
eq
(
SysConfig:
:
getTenantId
,
IdConst
.
DEFAULT_
FACTORY
_ID
)
.
eq
(
SysConfig:
:
getTenantId
,
IdConst
.
DEFAULT_
TENANT
_ID
)
);
Map
<
String
,
SysConfigCategory
>
tntConfigCategoryMap
=
StreamUtil
.
toMap
(
configCategoryList
,
SysConfigCategory:
:
getId
);
...
...
server-common/src/main/java/com/makeit/utils/msg/MsgSendUtil.java
0 → 100644
View file @
166bb587
package
com
.
makeit
.
utils
.
msg
;
import
com.makeit.utils.msg.dto.MsgSendDTO
;
import
com.makeit.utils.msg.sender.IMsgSender
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
java.util.List
;
@Component
public
class
MsgSendUtil
{
@Autowired
private
List
<
IMsgSender
>
msgSenderList
;
/**
* 发送消息
*/
public
void
send
(
MsgSendDTO
msgSendDTO
){
for
(
IMsgSender
msgSender
:
msgSenderList
)
{
if
(
msgSender
.
support
(
msgSendDTO
.
getSendTypeEnum
())){
msgSender
.
send
(
msgSendDTO
);
}
}
}
}
server-common/src/main/java/com/makeit/utils/msg/MsgUtil.java
deleted
100644 → 0
View file @
8b25e0c8
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/config/SmsVoiceConfig.java
0 → 100644
View file @
166bb587
package
com
.
makeit
.
utils
.
msg
.
config
;
import
lombok.Data
;
import
org.springframework.boot.context.properties.ConfigurationProperties
;
import
org.springframework.context.annotation.Configuration
;
@Data
@ConfigurationProperties
(
"voice-sms.send"
)
@Configuration
public
class
SmsVoiceConfig
{
private
String
url
;
private
String
uid
;
private
String
pwd
;
}
\ No newline at end of file
server-common/src/main/java/com/makeit/utils/msg/dto/MsgDTO.java
→
server-common/src/main/java/com/makeit/utils/msg/dto/Msg
Send
DTO.java
View file @
166bb587
...
...
@@ -7,7 +7,7 @@ import lombok.Data;
import
lombok.NoArgsConstructor
;
import
org.apache.commons.lang3.StringUtils
;
import
java.util.
List
;
import
java.util.
Collection
;
import
java.util.regex.Matcher
;
import
java.util.regex.Pattern
;
...
...
@@ -15,16 +15,19 @@ import java.util.regex.Pattern;
@Builder
@AllArgsConstructor
@NoArgsConstructor
public
class
MsgDTO
{
public
class
Msg
Send
DTO
{
private
SendTypeEnum
sendTypeEnum
;
private
String
subject
;
private
List
<
String
>
receiverList
;
private
Collection
<
String
>
receiverList
;
private
String
oriContent
;
/**
* 语音短信:老人姓名 最多支持两个
*/
private
String
[]
param
;
private
String
sendContent
;
...
...
server-common/src/main/java/com/makeit/utils/msg/sender/IMsgSender.java
View file @
166bb587
package
com
.
makeit
.
utils
.
msg
.
sender
;
import
com.makeit.utils.msg.dto.MsgDTO
;
import
com.makeit.utils.msg.SendTypeEnum
;
import
com.makeit.utils.msg.dto.MsgSendDTO
;
public
interface
IMsgSender
{
...
...
@@ -8,5 +9,7 @@ public interface IMsgSender {
* 发送消息
* @param msgData 消息数据
*/
void
send
(
MsgDTO
MsgDTO
)
throws
Exception
;
void
send
(
MsgSendDTO
msgDTO
);
boolean
support
(
SendTypeEnum
sendTypeEnum
);
}
server-common/src/main/java/com/makeit/utils/msg/sender/MailMsgSender.java
View file @
166bb587
package
com
.
makeit
.
utils
.
msg
.
sender
;
import
com.makeit.exception.BusinessException
;
import
com.makeit.utils.msg.dto.MsgDTO
;
import
com.makeit.utils.msg.SendTypeEnum
;
import
com.makeit.utils.msg.dto.MsgSendDTO
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
...
...
@@ -22,10 +23,15 @@ public class MailMsgSender implements IMsgSender {
@Autowired
private
JavaMailSender
mailSender
;
private
SendTypeEnum
sendTypeEnum
=
SendTypeEnum
.
MAIL
;
@Override
public
boolean
support
(
SendTypeEnum
param
)
{
return
this
.
sendTypeEnum
==
param
;
}
@Override
public
void
send
(
MsgDTO
msgDTO
)
{
public
void
send
(
Msg
Send
DTO
msgDTO
)
{
try
{
MimeMessage
message
=
mailSender
.
createMimeMessage
();
MimeMessageHelper
helper
=
new
MimeMessageHelper
(
message
,
true
);
...
...
@@ -39,4 +45,5 @@ public class MailMsgSender implements IMsgSender {
}
}
}
server-common/src/main/java/com/makeit/utils/msg/sender/SmsMsgSender.java
View file @
166bb587
...
...
@@ -3,8 +3,9 @@ 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.SendTypeEnum
;
import
com.makeit.utils.msg.config.SmsConfig
;
import
com.makeit.utils.msg.dto.MsgDTO
;
import
com.makeit.utils.msg.dto.Msg
Send
DTO
;
import
com.makeit.utils.old.encode.CryptoUtil
;
import
com.makeit.utils.third.HttpClient
;
import
org.apache.commons.lang3.StringUtils
;
...
...
@@ -13,9 +14,9 @@ import org.springframework.http.HttpHeaders;
import
org.springframework.stereotype.Component
;
import
java.net.URLEncoder
;
import
java.util.Collection
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.stream.Collectors
;
@Component
...
...
@@ -24,20 +25,27 @@ public class SmsMsgSender implements IMsgSender{
@Autowired
private
SmsConfig
smsConfig
;
private
SendTypeEnum
sendTypeEnum
=
SendTypeEnum
.
SMS
;
@Override
public
boolean
support
(
SendTypeEnum
param
)
{
return
this
.
sendTypeEnum
==
param
;
}
/**
* 发送消息
*
* @param msgDTO
*/
@Override
public
void
send
(
Msg
DTO
msgDTO
)
throws
Exception
{
public
void
send
(
Msg
SendDTO
msgDTO
)
{
try
{
Date
now
=
new
Date
();
String
time
=
String
.
valueOf
(
now
.
getTime
());
List
<
String
>
receiverList
=
msgDTO
.
getReceiverList
();
Collection
<
String
>
receiverList
=
msgDTO
.
getReceiverList
();
String
receiverJoin
=
receiverList
.
stream
().
collect
(
Collectors
.
joining
(
","
));
HashMap
<
String
,
String
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"uid"
,
smsConfig
.
getUid
()
+
1000
);
paramMap
.
put
(
"uid"
,
smsConfig
.
getUid
());
//md5-32位( md5-16位(登录密码)+ time )
String
md16
=
CryptoUtil
.
md5_16
(
smsConfig
.
getPwd
());
String
md32
=
CryptoUtil
.
md5
(
md16
+
time
);
...
...
@@ -47,7 +55,7 @@ public class SmsMsgSender implements IMsgSender{
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"
);
String
status
=
String
.
valueOf
(
jsonObject
.
get
(
"status"
)
);
if
(!
StringUtils
.
equals
(
status
,
"0"
))
{
throw
new
BusinessException
((
String
)
jsonObject
.
get
(
"status_code"
));
}
...
...
server-common/src/main/java/com/makeit/utils/msg/sender/SmsVoiceSender.java
0 → 100644
View file @
166bb587
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.SendTypeEnum
;
import
com.makeit.utils.msg.config.SmsVoiceConfig
;
import
com.makeit.utils.msg.dto.MsgSendDTO
;
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.util.Arrays
;
import
java.util.Collection
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.function.BiConsumer
;
import
java.util.stream.Collectors
;
@Component
public
class
SmsVoiceSender
implements
IMsgSender
{
@Autowired
private
SmsVoiceConfig
smsVoiceConfig
;
private
SendTypeEnum
sendTypeEnum
=
SendTypeEnum
.
VOICE_SMS
;
@Override
public
boolean
support
(
SendTypeEnum
param
)
{
return
this
.
sendTypeEnum
==
param
;
}
/**
* 发送消息
*
* @param msgDTO
*/
@Override
public
void
send
(
MsgSendDTO
msgDTO
)
{
try
{
Date
now
=
new
Date
();
String
time
=
String
.
valueOf
(
now
.
getTime
());
Collection
<
String
>
receiverList
=
msgDTO
.
getReceiverList
();
String
receiverJoin
=
receiverList
.
stream
().
collect
(
Collectors
.
joining
(
","
));
HashMap
<
String
,
String
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"uid"
,
smsVoiceConfig
.
getUid
());
//md5-32位( md5-16位(登录密码)+ time )
String
md16
=
CryptoUtil
.
md5_16
(
smsVoiceConfig
.
getPwd
());
String
md32
=
CryptoUtil
.
md5
(
md16
+
time
);
paramMap
.
put
(
"pwd"
,
md32
);
paramMap
.
put
(
"time"
,
time
);
paramMap
.
put
(
"mobile"
,
receiverJoin
);
String
[]
param
=
msgDTO
.
getParam
();
List
<
BiConsumer
<
HashMap
<
String
,
String
>,
String
>>
consumerList
=
Arrays
.
asList
(
(
t
,
v
)->
t
.
put
(
"one"
,
v
),
(
t
,
v
)->
t
.
put
(
"two"
,
v
)
);
for
(
int
i
=
0
;
i
<
param
.
length
;
i
++)
{
BiConsumer
<
HashMap
<
String
,
String
>,
String
>
biConsumer
=
consumerList
.
get
(
i
);
biConsumer
.
accept
(
paramMap
,
param
[
i
]);
}
String
resStr
=
HttpClient
.
sendJSONPostRequest
(
smsVoiceConfig
.
getUrl
(),
paramMap
,
new
HttpHeaders
(),
String
.
class
);
JSONObject
jsonObject
=
JSON
.
parseObject
(
resStr
);
String
status
=
String
.
valueOf
(
jsonObject
.
get
(
"status"
));
if
(!
StringUtils
.
equals
(
status
,
"0"
))
{
throw
new
BusinessException
((
String
)
jsonObject
.
get
(
"status_code"
));
}
}
catch
(
Exception
e
){
throw
new
BusinessException
(
e
.
getMessage
().
toString
());
}
}
}
server-common/src/main/java/com/makeit/utils/redis/RedisUtil.java
View file @
166bb587
...
...
@@ -57,6 +57,10 @@ public class RedisUtil {
client
=
redissonClient
;
}
public
static
RedissonClient
getClient
()
{
return
client
;
}
/**
* 创建锁带默认过期时间
*/
...
...
server-module/src/main/java/com/makeit/module/controller/alarm/PlatAlarmRecordController.java
View file @
166bb587
...
...
@@ -8,9 +8,6 @@ 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.utils.msg.sender.SmsMsgSender
;
import
com.makeit.vo.platform.alarm.PlatAlarmRecordVO
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
...
...
@@ -20,8 +17,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.Collections
;
@Api
(
tags
=
"告警记录"
)
@RestController
@RequestMapping
(
"/plat/alarm-record"
)
...
...
@@ -53,30 +48,43 @@ public class PlatAlarmRecordController {
return
ApiResponseUtils
.
success
();
}
@Autowired
private
MailMsgSender
mailMsgSender
;
@Autowired
private
SmsMsgSender
smsMsgSender
;
@ApiOperation
(
"测试邮箱"
)
@PostMapping
(
"testMail"
)
public
ApiResponseEntity
<
Void
>
testMail
(
@RequestBody
BaseIdDTO
dto
)
{
MsgDTO
msgDTO
=
new
MsgDTO
();
msgDTO
.
setSubject
(
"测试消息"
);
msgDTO
.
setReceiverList
(
Collections
.
singletonList
(
"994997968@qq.com"
));
msgDTO
.
setOriContent
(
"测试发送邮箱"
);
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
();
}
// @Autowired
// private MailMsgSender mailMsgSender;
// @Autowired
// private SmsMsgSender smsMsgSender;
// @Autowired
// private SmsVoiceSender smsVoiceSender;
//
// @ApiOperation("测试邮箱")
// @PostMapping("testMail")
// public ApiResponseEntity<Void> testMail(@RequestBody BaseIdDTO dto) {
// MsgSendDTO msgDTO = new MsgSendDTO();
// msgDTO.setSubject("测试消息");
// msgDTO.setReceiverList(Collections.singletonList("994997968@qq.com"));
// msgDTO.setOriContent("测试发送邮箱");
// mailMsgSender.send(msgDTO);
// return ApiResponseUtils.success();
// }
//
// @ApiOperation("测试短信")
// @PostMapping("testMsg")
// public ApiResponseEntity<Void> testMsg(@RequestBody BaseIdDTO dto) throws Exception {
// MsgSendDTO msgDTO = new MsgSendDTO();
// msgDTO.setReceiverList(Collections.singletonList("18850503603"));
// msgDTO.setOriContent("测试短信test");
// smsMsgSender.send(msgDTO);
// return ApiResponseUtils.success();
// }
//
// @ApiOperation("测试语音短信")
// @PostMapping("testVoice")
// @AuthIgnore
// public ApiResponseEntity<Void> testVoice(@RequestBody BaseIdDTO dto) throws Exception {
// MsgSendDTO msgDTO = new MsgSendDTO();
// msgDTO.setReceiverList(Collections.singletonList("18850503603"));
// msgDTO.setOriContent("测试短信test");
// smsVoiceSender.send(msgDTO);
// return ApiResponseUtils.success();
// }
}
server-module/src/main/java/com/makeit/module/controller/device/PlatDeviceController.java
View file @
166bb587
...
...
@@ -8,7 +8,10 @@ import com.makeit.common.response.ApiResponseEntity;
import
com.makeit.common.response.ApiResponseUtils
;
import
com.makeit.dto.platform.device.PlatDeviceEditDTO
;
import
com.makeit.dto.platform.device.PlatDeviceQueryDTO
;
import
com.makeit.global.annotation.AuthIgnore
;
import
com.makeit.global.aspect.tenant.TenantIdIgnore
;
import
com.makeit.service.platform.device.PlatDeviceService
;
import
com.makeit.task.IotSyncTask
;
import
com.makeit.vo.platform.device.PlatDeviceListVO
;
import
com.makeit.vo.platform.device.PlatDeviceViewVO
;
import
io.swagger.annotations.Api
;
...
...
@@ -55,6 +58,18 @@ public class PlatDeviceController {
return
ApiResponseUtils
.
success
(
platDeviceService
.
view
(
baseIdDTO
.
getId
()));
}
@Autowired
private
IotSyncTask
iotSyncTask
;
@ApiOperation
(
"详情"
)
@PostMapping
(
"iotSyncTask"
)
@AuthIgnore
@TenantIdIgnore
public
ApiResponseEntity
<
Void
>
iotSyncTask
(
@RequestBody
BaseIdDTO
baseIdDTO
)
{
iotSyncTask
.
syncEquipmentInfo
();
return
ApiResponseUtils
.
success
();
}
}
server-module/src/main/java/com/makeit/module/controller/space/PlatBedController.java
View file @
166bb587
...
...
@@ -25,7 +25,7 @@ import org.springframework.web.bind.annotation.RestController;
*/
@Api
(
tags
=
"床位管理"
)
@RestController
@RequestMapping
(
"/plat/b
a
d"
)
@RequestMapping
(
"/plat/b
e
d"
)
public
class
PlatBedController
{
@Autowired
...
...
server-module/src/main/java/com/makeit/module/controller/space/PlatRegionSettingController.java
0 → 100644
View file @
166bb587
package
com
.
makeit
.
module
.
controller
.
space
;
import
com.makeit.common.response.ApiResponseEntity
;
import
com.makeit.common.response.ApiResponseUtils
;
import
com.makeit.dto.platform.space.PlatRegionSettingDTO
;
import
com.makeit.dto.platform.space.PlatRegionSettingQueryDTO
;
import
com.makeit.service.platform.space.PlatRegionSettingService
;
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 16:03
* @Describe:
*/
@Api
(
tags
=
"区域设置"
)
@RestController
@RequestMapping
(
"/plat/region/setting"
)
public
class
PlatRegionSettingController
{
@Autowired
private
PlatRegionSettingService
platRegionSettingService
;
@ApiOperation
(
"列表"
)
@PostMapping
(
"list"
)
public
ApiResponseEntity
<
List
<
PlatRegionSettingDTO
>>
list
(
@RequestBody
PlatRegionSettingQueryDTO
dto
)
{
List
<
PlatRegionSettingDTO
>
data
=
platRegionSettingService
.
list
(
dto
);
return
ApiResponseUtils
.
success
(
data
);
}
@ApiOperation
(
"编辑"
)
@PostMapping
(
"edit"
)
public
ApiResponseEntity
<?>
edit
(
@RequestBody
PlatRegionSettingDTO
dto
)
{
platRegionSettingService
.
edit
(
dto
);
return
ApiResponseUtils
.
success
();
}
}
server-module/src/main/java/com/makeit/module/controller/wechat/alarm/ChildrenAlarmRecordController.java
0 → 100644
View file @
166bb587
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.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
;
@Api
(
tags
=
"子女端小程序-告警记录"
)
@RestController
@RequestMapping
(
"/children/alarm-record"
)
public
class
ChildrenAlarmRecordController
{
@Autowired
private
PlatAlarmRecordService
platAlarmRecordService
;
@ApiOperation
(
"列表"
)
@PostMapping
(
"page"
)
public
ApiResponseEntity
<
PageVO
<
PlatAlarmRecordVO
>>
page
(
@RequestBody
PageReqDTO
<
PlatAlarmRecordQueryDTO
>
dto
)
{
//只能看到发给关联的长者告警
return
ApiResponseUtils
.
success
(
platAlarmRecordService
.
childrenPage
(
dto
));
}
@ApiOperation
(
"查看"
)
@PostMapping
(
"view"
)
public
ApiResponseEntity
<
PlatAlarmRecordVO
>
view
(
@RequestBody
BaseIdDTO
dto
)
{
return
ApiResponseUtils
.
success
(
platAlarmRecordService
.
view
(
dto
.
getId
()));
}
}
server-module/src/main/java/com/makeit/module/controller/wechat/alarm/WechatPlatAlarmRecordController.java
View file @
166bb587
...
...
@@ -8,8 +8,7 @@ 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.utils.user.wechat.WechatUserUtil
;
import
com.makeit.vo.platform.alarm.PlatAlarmRecordVO
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
...
...
@@ -19,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.Collections
;
@Api
(
tags
=
"小程序-告警记录"
)
@RestController
@RequestMapping
(
"/wechat/plat/alarm-record"
)
...
...
@@ -32,6 +29,10 @@ public class WechatPlatAlarmRecordController {
@ApiOperation
(
"列表"
)
@PostMapping
(
"page"
)
public
ApiResponseEntity
<
PageVO
<
PlatAlarmRecordVO
>>
page
(
@RequestBody
PageReqDTO
<
PlatAlarmRecordQueryDTO
>
dto
)
{
//小程序告警记录只看到发给自己的告警
String
userId
=
WechatUserUtil
.
getUserId
();
PlatAlarmRecordQueryDTO
data
=
dto
.
getData
();
data
.
setNotifyUser
(
userId
);
return
ApiResponseUtils
.
success
(
platAlarmRecordService
.
page
(
dto
));
}
@ApiOperation
(
"查看"
)
...
...
@@ -51,19 +52,5 @@ public class WechatPlatAlarmRecordController {
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/dto/platform/alarm/PlatAlarmRecordQueryDTO.java
View file @
166bb587
...
...
@@ -9,6 +9,7 @@ import lombok.EqualsAndHashCode;
import
java.time.LocalDateTime
;
import
java.util.Date
;
import
java.util.List
;
/**
* <p>
...
...
@@ -51,6 +52,12 @@ public class PlatAlarmRecordQueryDTO extends BaseTenantDTO {
@ApiModelProperty
(
value
=
"告警类型 数据字典 1 长者跌倒 2 呼吸异常 3 心率异常 4 行为异常"
)
private
String
alarmType
;
//告警接收人id
private
String
notifyUser
;
//子女关联的老人id
private
List
<
String
>
elderIdList
;
}
server-service/src/main/java/com/makeit/
entity/platform/space/PlatRegionSettingLocation
.java
→
server-service/src/main/java/com/makeit/
dto/platform/space/PlatRegionSettingDTO
.java
View file @
166bb587
package
com
.
makeit
.
entity
.
platform
.
space
;
package
com
.
makeit
.
dto
.
platform
.
space
;
import
com.makeit.common.
entity.BaseBusEntity
;
import
com.makeit.common.
dto.BaseIdDTO
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
/**
* @Author:lzy
* @Date:2023/
8/31 11:50
* @Date:2023/
9/8 14:51
* @Describe:
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@ApiModel
(
value
=
"RegionSettingLocation对象"
,
description
=
"区域设置定位"
)
public
class
PlatRegionSettingLocation
extends
BaseBusEntity
{
@ApiModel
(
"PlatRegionSettingDTO"
)
public
class
PlatRegionSettingDTO
extends
BaseIdDTO
{
@ApiModelProperty
(
"区域设置Id"
)
private
String
regionSettingId
;
@ApiModelProperty
(
"安装方式 0-顶装 1-侧装"
)
@ApiModelProperty
(
"安装方式 数据字典:device.install 0-顶装 1-侧装"
)
private
String
installType
;
@ApiModelProperty
(
"设备朝向 0-上 1-下 2-左 3-右"
)
@ApiModelProperty
(
"设备朝向
数据字典:device.toward
0-上 1-下 2-左 3-右"
)
private
String
toward
;
@ApiModelProperty
(
"区域名称"
)
...
...
@@ -35,6 +30,11 @@ public class PlatRegionSettingLocation extends BaseBusEntity {
private
String
roomRange
;
@ApiModelProperty
(
"设备ID"
)
private
String
equipmentId
;
private
String
deviceId
;
@ApiModelProperty
(
"房间ID"
)
private
String
roomId
;
@ApiModelProperty
(
"设备名称"
)
private
String
deviceName
;
}
server-service/src/main/java/com/makeit/dto/platform/space/PlatRegionSettingQueryDTO.java
0 → 100644
View file @
166bb587
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 15:16
* @Describe:
*/
@Data
@ApiModel
(
"PlatRegionSettingQueryDTO"
)
public
class
PlatRegionSettingQueryDTO
{
@ApiModelProperty
(
"房间ID"
)
private
String
roomId
;
}
server-service/src/main/java/com/makeit/dto/platform/space/PlatRoomBindDeviceDTO.java
View file @
166bb587
...
...
@@ -19,7 +19,7 @@ public class PlatRoomBindDeviceDTO {
private
String
roomId
;
@ApiModelProperty
(
value
=
"设备Id"
,
required
=
true
)
private
List
<
String
>
list
Equipment
Id
;
private
List
<
String
>
list
Device
Id
;
@ApiModelProperty
(
value
=
"床位Id"
)
private
String
bedId
;
...
...
server-service/src/main/java/com/makeit/dto/platform/space/PlatRoomQueryDTO.java
View file @
166bb587
...
...
@@ -15,4 +15,7 @@ public class PlatRoomQueryDTO {
@ApiModelProperty
(
"房间名称"
)
private
String
name
;
@ApiModelProperty
(
"空间ID"
)
private
String
spaceId
;
}
server-service/src/main/java/com/makeit/dto/platform/space/PlatSpaceVO.java
View file @
166bb587
...
...
@@ -23,5 +23,5 @@ public class PlatSpaceVO extends BaseIdDTO {
private
String
parentId
;
@ApiModelProperty
(
"子集"
)
private
List
<
PlatSpaceVO
>
child
;
private
List
<
PlatSpaceVO
>
child
ren
;
}
server-service/src/main/java/com/makeit/entity/platform/alarm/PlatAlarmRecord.java
View file @
166bb587
...
...
@@ -54,10 +54,27 @@ public class PlatAlarmRecord extends BaseBusEntity {
*/
private
LocalDateTime
dealDate
;
/**
* 组织id
*/
private
String
orgId
;
/**
* 通知人员,逗号拼接
*/
private
String
notifyUser
;
/**
* 设备id
*/
private
String
deviceId
;
/**
* 老人id,逗号拼接
*/
private
String
elderIds
;
}
server-service/src/main/java/com/makeit/entity/platform/auth/PlatOrg.java
View file @
166bb587
...
...
@@ -24,6 +24,7 @@ public class PlatOrg extends BaseBusEntity {
/**
* 全路径id
* 不包括本身机构
*/
private
String
path
;
...
...
server-service/src/main/java/com/makeit/entity/platform/space/PlatRegionSetting.java
View file @
166bb587
...
...
@@ -16,12 +16,30 @@ import lombok.EqualsAndHashCode;
@ApiModel
(
value
=
"RegionSetting对象"
,
description
=
"区域设置"
)
public
class
PlatRegionSetting
extends
BaseBusEntity
{
@ApiModelProperty
(
value
=
"区域名称"
)
private
String
name
;
/**
* 数据字典:device.install
*/
@ApiModelProperty
(
"安装方式 0-顶装 1-侧装"
)
private
String
installType
;
@ApiModelProperty
(
value
=
"房间Id"
)
private
String
roomId
;
/**
* 数据字典:device.toward
*/
@ApiModelProperty
(
"设备朝向 0-上 1-下 2-左 3-右"
)
private
String
toward
;
@ApiModelProperty
(
"区域名称"
)
private
String
regionName
;
@ApiModelProperty
(
"区域定位"
)
private
String
regionRange
;
@ApiModelProperty
(
value
=
"地图json"
)
private
String
rangeMap
;
@ApiModelProperty
(
"房间门定位"
)
private
String
roomRange
;
@ApiModelProperty
(
"设备ID"
)
private
String
deviceId
;
@ApiModelProperty
(
"房间ID"
)
private
String
roomId
;
}
server-service/src/main/java/com/makeit/entity/platform/space/PlatRoomBedDevice.java
View file @
166bb587
...
...
@@ -22,7 +22,7 @@ public class PlatRoomBedDevice extends BaseBusEntity {
private
String
roomId
;
@ApiModelProperty
(
value
=
"设备Id"
,
required
=
true
)
private
String
equipment
Id
;
private
String
device
Id
;
@TableField
(
updateStrategy
=
FieldStrategy
.
IGNORED
)
@ApiModelProperty
(
value
=
"床位Id"
)
...
...
server-service/src/main/java/com/makeit/entity/saas/PlatMenu.java
View file @
166bb587
...
...
@@ -23,6 +23,11 @@ public class PlatMenu extends BaseEntity {
private
String
name
;
/**
* 资源标识
*/
private
String
code
;
/**
* 账号链接
*/
private
String
requestPath
;
...
...
@@ -40,7 +45,7 @@ public class PlatMenu extends BaseEntity {
/**
* 类型 1目录 2菜单/功能 3按钮/应用
*/
private
String
resourceType
;
private
String
category
;
/**
* 隐藏状态 0不隐藏 1隐藏
...
...
server-service/src/main/java/com/makeit/enums/platform/device/PlatDeviceEnum.java
View file @
166bb587
...
...
@@ -32,4 +32,33 @@ public class PlatDeviceEnum {
}
}
public
enum
InstallEnum
implements
BaseEnum
{
CROWN
(
"device.install.crown"
),
SIDE
(
"device.install.side"
);
private
String
code
;
InstallEnum
(
String
code
)
{
this
.
code
=
code
;
}
public
String
getValue
()
{
return
SysDictUtil
.
getValue
(
code
);
}
}
public
enum
TowardEnum
implements
BaseEnum
{
UP
(
"device.toward.up"
),
DOWN
(
"device.toward.down"
),
LEFT
(
"device.toward.left"
),
RIGHT
(
"device.toward.right"
);
private
String
code
;
TowardEnum
(
String
code
)
{
this
.
code
=
code
;
}
public
String
getValue
()
{
return
SysDictUtil
.
getValue
(
code
);
}
}
}
server-service/src/main/java/com/makeit/mapper/platform/space/PlatRegionSettingLocationMapper.java
deleted
100644 → 0
View file @
8b25e0c8
package
com
.
makeit
.
mapper
.
platform
.
space
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.makeit.entity.platform.space.PlatRegionSettingLocation
;
/**
* @Author:lzy
* @Date:2023/8/31 11:59
* @Describe:
*/
public
interface
PlatRegionSettingLocationMapper
extends
BaseMapper
<
PlatRegionSettingLocation
>
{
}
server-service/src/main/java/com/makeit/service/platform/alarm/PlatAlarmRecordService.java
View file @
166bb587
...
...
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
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.vo.platform.alarm.PlatAlarmRecordVO
;
...
...
@@ -16,9 +17,22 @@ public interface PlatAlarmRecordService extends IService<PlatAlarmRecord> {
PageVO
<
PlatAlarmRecordVO
>
page
(
PageReqDTO
<
PlatAlarmRecordQueryDTO
>
dto
);
/**
* 子女端告警列表
* @param dto
* @return
*/
PageVO
<
PlatAlarmRecordVO
>
childrenPage
(
PageReqDTO
<
PlatAlarmRecordQueryDTO
>
dto
);
PlatAlarmRecordVO
view
(
String
recordId
);
void
deal
(
String
recordId
);
void
noticeRelation
(
String
recordId
);
void
noticeChildren
(
PlatAlarmConfig
alarmConfig
,
PlatAlarmRecord
alarmRecord
);
void
noticeUser
(
PlatAlarmConfig
alarmConfig
,
PlatAlarmRecord
alarmRecord
);
void
noticeDeviceAlarm
(
PlatAlarmConfig
alarmConfig
,
PlatAlarmRecord
alarmRecord
);
}
server-service/src/main/java/com/makeit/service/platform/alarm/impl/PlatAlarmRecordServiceImpl.java
View file @
166bb587
This diff is collapsed.
Click to expand it.
server-service/src/main/java/com/makeit/service/platform/auth/DeptUtil.java
deleted
100644 → 0
View file @
8b25e0c8
package
com
.
makeit
.
service
.
platform
.
auth
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.makeit.entity.platform.auth.PlatOrg
;
import
com.makeit.utils.data.convert.StreamUtil
;
import
com.makeit.utils.sql.join.JoinUtil
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.collections4.MapUtils
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.springframework.stereotype.Component
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.function.BiConsumer
;
import
java.util.function.Function
;
@Component
public
class
DeptUtil
{
private
static
PlatUserService
platUserService
;
private
static
PlatOrgService
platOrgService
;
public
static
PlatOrg
getById
(
String
deptId
)
{
return
platOrgService
.
getById
(
deptId
);
}
public
static
List
<
PlatOrg
>
getHotelList
()
{
List
<
PlatOrg
>
deptList
=
platOrgService
.
list
(
new
QueryWrapper
<
PlatOrg
>().
lambda
()
//.eq(PlatOrg::getTag, DeptEnum.DeptTagEnum.HOTEL.getValue())
//.eq(TntDept::getStatus, CommonEnum.YES.getValue())
);
return
deptList
;
}
//涉及角色
// public static List<PlatOrg> getDeptList(String deptId) {//集团 品牌 酒店 部门 上级和下级
// PlatOrgQueryDTO tntDeptQueryDTO = new PlatOrgQueryDTO();
//
// tntDeptQueryDTO.setDeptId(deptId);
//
// return tntDeptService.list(tntDeptQueryDTO);
// }
//涉及角色
// public static List<PlatOrg> getDeptList(String deptId, String fromHotel) {//集团 品牌 酒店 部门 上级和下级
// PlatOrgQueryDTO tntDeptQueryDTO = new PlatOrgQueryDTO();
//
// tntDeptQueryDTO.setDeptId(deptId);
// tntDeptQueryDTO.setFromHotel(fromHotel);
//
// return tntDeptService.list(tntDeptQueryDTO);
// }
//涉及角色
// public static List<String> getDeptIdList(String deptId) {//集团 品牌 酒店 部门 上级和下级
// List<String> idList = StreamUtil.map(getDeptList(deptId), PlatOrg::getId);
// idList.add(-1 + "");
// return idList;
// }
//涉及角色
// public static List<String> getDeptCantTapIdList(String deptId, String fromHotel) { //集团 品牌 酒店 部门 上级和下级 可点击的
// List<String> idList = getDeptList(deptId, fromHotel).stream()//.filter(e -> CommonEnum.YES.getValue().equals(e.getCanTap()))
// .map(PlatOrg::getId).collect(Collectors.toList());
// idList.add(-1 + "");
// return idList;
// }
//涉及角色
// public static List<PlatOrg> getDeptSelfAndChildren(String deptId) {//集团 品牌 酒店 上级和下级
// return tntUserService.getDeptSelfAndChildren(deptId);
// }
//涉及角色
// public static List<String> getDeptSelfAndChildrenIdList(String deptId) {//集团 品牌 酒店 上级和下级
// List<String> idList = StreamUtil.map(tntUserService.getDeptSelfAndChildren(deptId), PlatOrg::getId);
// idList.add(-1 + "");
// return idList;
// }
//not ywc
// public static List<TntDept> getDeptSelfAndChildren(String deptName, List<TntDept> selfAndChildren) {
// return getDeptSelfAndChildrenByDeptNameList(Arrays.asList(deptName), selfAndChildren);
// }
// public static List<PlatOrg> getDeptSelfAndChildrenByDeptNameList(List<String> deptNames, Map<String, PlatOrg> selfAndChildren) {
// return tntUserService.getDeptSelfAndChildrenByDeptName(deptNames, selfAndChildren);
// }
//涉及角色
// public static List<PlatOrg> getDeptSelfAndChildrenCanTap(String deptId) {//集团 品牌 酒店 上级和下级 可点击的
// return tntUserService.getDeptSelfAndChildrenCanTap(deptId);
// }
//涉及角色
// public static List<String> getDeptSelfAndChildrenCanTapIdList(String deptId) {//集团 品牌 酒店 上级和下级 可点击的
// List<String> idList = StreamUtil.map(tntUserService.getDeptSelfAndChildrenCanTap(deptId), PlatOrg::getId);
// idList.add(-1 + "");
// return idList;
// }
// //涉及角色
// public static List<String> getDeptSelfAndChildrenCanTapIdListFilterName(String deptId, String name) {//集团 品牌 酒店 上级和下级 可点击的
// List<PlatOrg> deptList = tntUserService.getDeptSelfAndChildrenCanTap(deptId);
// PlatOrgQueryDTO queryDTO = new PlatOrgQueryDTO();
// queryDTO.setName(name);
// deptList = filter(deptList, queryDTO);
// List<String> idList = StreamUtil.map(deptList, PlatOrg::getId);
// idList.add(-1 + "");
// return idList;
// }
// //涉及角色
// public static List<PlatOrg> getHotelList(String deptId) {//酒店那一级
// // 也能点击?
//
// return tntUserService.getHotelList(deptId);
// }
// //涉及角色
// public static List<String> getHotelIdList(String deptId) {//酒店那一级
// // 也能点击?
//
// List<String> deptIdList = StreamUtil.map(tntUserService.getHotelList(deptId), PlatOrg::getId);
// deptIdList.add(-1 + "");
// return deptIdList;
// }
//不涉及角色
// public static List<PlatOrg> filter(List<PlatOrg> deptList, PlatOrgQueryDTO dto) {
// return tntDeptService.filter(deptList, dto);
// }
//
// //不涉及角色
// public static List<PlatOrg> findSelfAndAllParent(String deptId) {
// return tntDeptService.findSelfAndAllParent(deptId);
// }
//
// //不涉及角色
// public static Map<String, List<PlatOrg>> findSelfAndAllParent(List<String> deptIdList) {
// return tntDeptService.findSelfAndAllParent(deptIdList);
// }
//不涉及角色
public
static
List
<
String
>
findSelfAndAllChildrenIdList
(
String
deptId
)
{
List
<
String
>
idList
=
StreamUtil
.
map
(
platOrgService
.
findSelfAndAllChildren
(
deptId
),
PlatOrg:
:
getId
);
idList
.
add
(-
1
+
""
);
return
idList
;
}
// public static PlatOrg getHotel(String deptId) {
// List<PlatOrg> deptList = DeptUtil.findSelfAndAllParent(deptId);
// PlatOrg hotel = null;
// for (PlatOrg d : deptList) {
//// if (DeptEnum.DeptTagEnum.HOTEL.getValue().equals(d.getTag())) {
//// hotel = d;
//// break;
//// }
// }
//
// return hotel;
// }
//不涉及角色
// public static <T> void fillDept(List<T> list, Function<T, String> getDeptId, BiConsumer<T, String> fillDeptName) {
// List<String> deptIdList = StreamUtil.map(list, getDeptId);
// deptIdList.add(-1 + "");
// Map<String, List<PlatOrg>> deptMap = DeptUtil.findSelfAndAllParent(deptIdList);
// list.forEach(e -> {
// MapUtil.setIfPresent(deptMap, getDeptId.apply(e), l -> {
// fillDeptName.accept(e, l.stream().map(PlatOrg::getName).collect(Collectors.joining("-")));
// });
// });
// }
public
static
<
T
>
void
join
(
List
<
T
>
list
,
Function
<
T
,
String
>
getNid
,
BiConsumer
<
T
,
PlatOrg
>
consumer
)
{
JoinUtil
.
join
(
list
,
platOrgService
,
null
,
getNid
,
PlatOrg:
:
getId
,
consumer
);
}
public
static
String
getDeptName
(
List
<
String
>
applyDeptIds
,
Map
<
String
,
String
>
deptMap
)
{
if
(
CollectionUtils
.
isEmpty
(
applyDeptIds
)
||
MapUtils
.
isEmpty
(
deptMap
))
{
return
""
;
}
StringBuilder
sb
=
new
StringBuilder
();
for
(
String
applyDeptId
:
applyDeptIds
)
{
String
dept
=
deptMap
.
get
(
applyDeptId
);
if
(
ObjectUtils
.
isNotEmpty
(
dept
))
{
sb
.
append
(
dept
+
","
);
}
}
if
(
sb
.
length
()
>
0
)
{
return
sb
.
deleteCharAt
(
sb
.
length
()
-
1
).
toString
();
}
return
""
;
}
// @Autowired
// public void setTntUserService(TntUserService tntUserService) {
// DeptUtil.tntUserService = tntUserService;
// }
//
// @Autowired
// public void setTntDeptService(TntDeptService tntDeptService) {
// DeptUtil.tntDeptService = tntDeptService;
// }
}
server-service/src/main/java/com/makeit/service/platform/auth/PlatOrgService.java
View file @
166bb587
...
...
@@ -87,4 +87,11 @@ public interface PlatOrgService extends IService<PlatOrg> {
PageVO
<
PlatOrg
>
page
(
PageReqDTO
<
PlatOrgQueryDTO
>
pageReqDTO
);
List
<
PlatOrg
>
subOrgList
(
PlatOrgQueryDTO
platOrgQueryDTO
);
/**
* 组织表增加一条数据
* 增加告警配置
* @param platOrg
*/
void
saveOrg
(
PlatOrg
platOrg
);
}
server-service/src/main/java/com/makeit/service/platform/auth/PlatUserService.java
View file @
166bb587
...
...
@@ -32,7 +32,7 @@ public interface PlatUserService extends IService<PlatUser> {
List
<
PlatUserDTOVO
>
listTenant
(
PlatUserQueryDTO
dto
);
void
add
(
PlatUserDTOVO
dto
);
String
add
(
PlatUserDTOVO
dto
);
void
edit
(
PlatUserDTOVO
dto
);
...
...
server-service/src/main/java/com/makeit/service/platform/auth/impl/PlatOrgServiceImpl.java
View file @
166bb587
...
...
@@ -37,7 +37,6 @@ import java.util.ArrayList;
import
java.util.Arrays
;
import
java.util.Collections
;
import
java.util.Comparator
;
import
java.util.HashMap
;
import
java.util.HashSet
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -279,7 +278,7 @@ public class PlatOrgServiceImpl extends ServiceImpl<PlatOrgMapper, PlatOrg>
PlatOrg
parent
=
getById
(
dto
.
getParentId
());
dto
.
setPath
(
parent
.
getPath
()
+
","
+
parent
.
getId
());
}
save
(
dto
);
save
Org
(
dto
);
return
dto
.
getId
();
}
...
...
@@ -287,7 +286,7 @@ public class PlatOrgServiceImpl extends ServiceImpl<PlatOrgMapper, PlatOrg>
@Override
public
void
edit
(
PlatOrg
dto
)
{
if
(
StringUtils
.
isBlank
(
dto
.
getParentId
()))
{
if
(
StringUtils
.
isBlank
(
dto
.
getParentId
())
||
StringUtils
.
equals
(
dto
.
getParentId
(),
"1"
)
)
{
String
tenantId
=
TenantIdUtil
.
getTenantId
();
dto
.
setParentId
(
tenantId
);
dto
.
setPath
(
tenantId
);
...
...
@@ -512,4 +511,15 @@ public class PlatOrgServiceImpl extends ServiceImpl<PlatOrgMapper, PlatOrg>
return
list
(
queryWrapper
);
}
/**
* 组织表增加一条数据
* 增加告警配置
* @param platOrg
*/
@Override
public
void
saveOrg
(
PlatOrg
platOrg
)
{
save
(
platOrg
);
}
}
server-service/src/main/java/com/makeit/service/platform/auth/impl/PlatUserServiceImpl.java
View file @
166bb587
...
...
@@ -235,7 +235,7 @@ public class PlatUserServiceImpl extends ServiceImpl<PlatUserMapper, PlatUser>
@Transactional
@Override
public
void
add
(
PlatUserDTOVO
dto
)
{
public
String
add
(
PlatUserDTOVO
dto
)
{
check
(
dto
);
PlatUser
user
=
BeanDtoVoUtils
.
convert
(
dto
,
PlatUser
.
class
);
user
.
setIsTenant
(
CommonEnum
.
YES
.
getValue
());
...
...
@@ -247,6 +247,7 @@ public class PlatUserServiceImpl extends ServiceImpl<PlatUserMapper, PlatUser>
user
.
setAccount
(
dto
.
getMobile
());
save
(
user
);
dto
.
setId
(
user
.
getId
());
return
user
.
getId
();
}
...
...
@@ -417,11 +418,11 @@ public class PlatUserServiceImpl extends ServiceImpl<PlatUserMapper, PlatUser>
String
button
=
SysEnum
.
MenuTypeEnum
.
BUTTON
.
getValue
();
menuList
.
forEach
(
e
->
{
if
(
menu
.
equals
(
e
.
get
ResourceType
())
||
button
.
equals
(
e
.
getResourceType
()))
{
if
(
menu
.
equals
(
e
.
get
Category
())
||
button
.
equals
(
e
.
getCategory
()))
{
buttonList
.
add
(
e
);
}
if
(
catalogue
.
equals
(
e
.
get
ResourceType
())
||
menu
.
equals
(
e
.
getResourceType
())||
button
.
equals
(
e
.
getResourceType
()))
{
if
(
catalogue
.
equals
(
e
.
get
Category
())
||
menu
.
equals
(
e
.
getCategory
())||
button
.
equals
(
e
.
getCategory
()))
{
nonButtonList
.
add
(
e
);
}
...
...
server-service/src/main/java/com/makeit/service/platform/space/PlatRegionSettingLocationService.java
deleted
100644 → 0
View file @
8b25e0c8
package
com
.
makeit
.
service
.
platform
.
space
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.makeit.entity.platform.space.PlatRegionSettingLocation
;
/**
* @Author:lzy
* @Date:2023/8/31 16:10
* @Describe:
*/
public
interface
PlatRegionSettingLocationService
extends
IService
<
PlatRegionSettingLocation
>
{
}
server-service/src/main/java/com/makeit/service/platform/space/PlatRegionSettingService.java
View file @
166bb587
package
com
.
makeit
.
service
.
platform
.
space
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.makeit.dto.platform.space.PlatRegionSettingDTO
;
import
com.makeit.dto.platform.space.PlatRegionSettingQueryDTO
;
import
com.makeit.entity.platform.space.PlatRegionSetting
;
import
java.util.List
;
/**
* @Author:lzy
* @Date:2023/8/31 16:13
* @Describe:
*/
public
interface
PlatRegionSettingService
extends
IService
<
PlatRegionSetting
>
{
/**
*
* @param roomId
* @param listDeviceId
*/
void
add
(
String
roomId
,
List
<
String
>
listDeviceId
);
/**
* 设备解绑时删除
* @param roomId
* @param deviceId
*/
void
del
(
String
roomId
,
String
deviceId
);
/**
*
* @param dto
* @return
*/
List
<
PlatRegionSettingDTO
>
list
(
PlatRegionSettingQueryDTO
dto
);
/**
* 编辑
* @param dto
*/
void
edit
(
PlatRegionSettingDTO
dto
);
}
server-service/src/main/java/com/makeit/service/platform/space/impl/PlatRegionSettingLocationServiceImpl.java
deleted
100644 → 0
View file @
8b25e0c8
package
com
.
makeit
.
service
.
platform
.
space
.
impl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.makeit.entity.platform.space.PlatRegionSettingLocation
;
import
com.makeit.mapper.platform.space.PlatRegionSettingLocationMapper
;
import
com.makeit.service.platform.space.PlatRegionSettingLocationService
;
import
org.springframework.stereotype.Service
;
/**
* @Author:lzy
* @Date:2023/8/31 16:10
* @Describe:
*/
@Service
public
class
PlatRegionSettingLocationServiceImpl
extends
ServiceImpl
<
PlatRegionSettingLocationMapper
,
PlatRegionSettingLocation
>
implements
PlatRegionSettingLocationService
{
}
server-service/src/main/java/com/makeit/service/platform/space/impl/PlatRegionSettingServiceImpl.java
View file @
166bb587
package
com
.
makeit
.
service
.
platform
.
space
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.makeit.dto.platform.space.PlatRegionSettingDTO
;
import
com.makeit.dto.platform.space.PlatRegionSettingQueryDTO
;
import
com.makeit.entity.platform.device.PlatDevice
;
import
com.makeit.entity.platform.space.PlatRegionSetting
;
import
com.makeit.enums.platform.device.PlatDeviceEnum
;
import
com.makeit.mapper.platform.space.PlatRegionSettingMapper
;
import
com.makeit.service.platform.device.PlatDeviceService
;
import
com.makeit.service.platform.space.PlatRegionSettingService
;
import
com.makeit.utils.data.convert.BeanDtoVoUtils
;
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.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
/**
* @Author:lzy
...
...
@@ -13,4 +27,82 @@ import org.springframework.stereotype.Service;
*/
@Service
public
class
PlatRegionSettingServiceImpl
extends
ServiceImpl
<
PlatRegionSettingMapper
,
PlatRegionSetting
>
implements
PlatRegionSettingService
{
@Autowired
private
PlatDeviceService
platDeviceService
;
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
add
(
String
roomId
,
List
<
String
>
listDeviceId
)
{
if
(!
listDeviceId
.
isEmpty
()){
LambdaQueryWrapper
<
PlatDevice
>
queryWrapper1
=
new
LambdaQueryWrapper
<>();
queryWrapper1
.
in
(
PlatDevice:
:
getId
,
listDeviceId
);
queryWrapper1
.
select
(
PlatDevice:
:
getId
);
queryWrapper1
.
ne
(
PlatDevice:
:
getCategory
,
PlatDeviceEnum
.
CategoryEnum
.
HEART
);
List
<
PlatDevice
>
devices
=
platDeviceService
.
list
(
queryWrapper1
);
listDeviceId
=
devices
.
stream
().
map
(
item
->
item
.
getId
()).
collect
(
Collectors
.
toList
());
List
<
PlatRegionSetting
>
list
=
new
ArrayList
<>();
listDeviceId
.
forEach
(
item
->{
PlatRegionSetting
platRegionSetting
=
new
PlatRegionSetting
();
platRegionSetting
.
setDeviceId
(
item
);
platRegionSetting
.
setRoomId
(
roomId
);
list
.
add
(
platRegionSetting
);
});
if
(!
list
.
isEmpty
()){
saveBatch
(
list
);
}
}
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
del
(
String
roomId
,
String
deviceId
)
{
LambdaQueryWrapper
<
PlatRegionSetting
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
queryWrapper
.
eq
(
PlatRegionSetting:
:
getRoomId
,
roomId
);
queryWrapper
.
eq
(
PlatRegionSetting:
:
getDeviceId
,
deviceId
);
remove
(
queryWrapper
);
}
@Override
public
List
<
PlatRegionSettingDTO
>
list
(
PlatRegionSettingQueryDTO
dto
)
{
LambdaQueryWrapper
<
PlatRegionSetting
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
queryWrapper
.
eq
(
PlatRegionSetting:
:
getRoomId
,
dto
.
getRoomId
());
List
<
PlatRegionSetting
>
list
=
list
(
queryWrapper
);
List
<
PlatRegionSettingDTO
>
data
=
BeanDtoVoUtils
.
listVo
(
list
,
PlatRegionSettingDTO
.
class
);
if
(!
list
.
isEmpty
()){
List
<
String
>
listDeviceIds
=
data
.
stream
().
map
(
item
->
item
.
getDeviceId
()).
collect
(
Collectors
.
toList
());
LambdaQueryWrapper
<
PlatDevice
>
queryWrapper1
=
new
LambdaQueryWrapper
<>();
queryWrapper1
.
in
(
PlatDevice:
:
getId
,
listDeviceIds
);
queryWrapper1
.
select
(
PlatDevice:
:
getId
,
PlatDevice:
:
getName
);
List
<
PlatDevice
>
devices
=
platDeviceService
.
list
(
queryWrapper1
);
Map
<
String
,
String
>
map
=
devices
.
stream
().
collect
(
Collectors
.
toMap
(
PlatDevice:
:
getId
,
PlatDevice:
:
getName
,(
k1
,
k2
)->
k1
));
data
.
forEach
(
item
->{
item
.
setDeviceName
(
map
.
get
(
item
.
getDeviceId
()));
});
}
return
data
;
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
edit
(
PlatRegionSettingDTO
dto
)
{
PlatRegionSetting
platRegionSetting
=
getById
(
dto
.
getId
());
platRegionSetting
.
setInstallType
(
dto
.
getInstallType
());
platRegionSetting
.
setToward
(
dto
.
getToward
());
platRegionSetting
.
setRegionName
(
dto
.
getRegionName
());
platRegionSetting
.
setRegionRange
(
dto
.
getRegionRange
());
platRegionSetting
.
setDeviceId
(
dto
.
getDeviceId
());
platRegionSetting
.
setRoomId
(
dto
.
getRoomId
());
updateById
(
platRegionSetting
);
}
}
server-service/src/main/java/com/makeit/service/platform/space/impl/PlatRoomBedDeviceServiceImpl.java
View file @
166bb587
...
...
@@ -18,6 +18,7 @@ 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.PlatRegionSettingService
;
import
com.makeit.service.platform.space.PlatRoomBedDeviceService
;
import
com.makeit.utils.data.convert.BeanDtoVoUtils
;
import
com.makeit.utils.data.convert.PageUtil
;
...
...
@@ -45,24 +46,29 @@ public class PlatRoomBedDeviceServiceImpl extends ServiceImpl<PlatRoomBedDeviceM
@Autowired
private
PlatBedService
platBedService
;
@Autowired
private
PlatRegionSettingService
platRegionSettingService
;
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
bindingDevice
(
PlatRoomBindDeviceDTO
dto
)
{
List
<
String
>
listEquipmentIds
=
dto
.
getList
Equipment
Id
();
List
<
String
>
listEquipmentIds
=
dto
.
getList
Device
Id
();
List
<
PlatRoomBedDevice
>
list
=
new
ArrayList
<>();
listEquipmentIds
.
forEach
(
item
->{
PlatRoomBedDevice
data
=
new
PlatRoomBedDevice
();
data
.
set
Equipment
Id
(
item
);
data
.
set
Device
Id
(
item
);
data
.
setRoomId
(
dto
.
getRoomId
());
data
.
setBedId
(
dto
.
getBedId
());
list
.
add
(
data
);
});
if
(!
list
.
isEmpty
()){
saveBatch
(
list
);
//区域设备
platRegionSettingService
.
add
(
dto
.
getRoomId
(),
dto
.
getListDeviceId
());
}
}
...
...
@@ -72,7 +78,7 @@ public class PlatRoomBedDeviceServiceImpl extends ServiceImpl<PlatRoomBedDeviceM
PlatSpaceDeviceQueryDTO
dto
=
pageReqDTO
.
getData
();
LambdaQueryWrapper
<
PlatRoomBedDevice
>
queryWrapper1
=
new
LambdaQueryWrapper
<>();
queryWrapper1
.
select
(
PlatRoomBedDevice:
:
get
Equipment
Id
);
queryWrapper1
.
select
(
PlatRoomBedDevice:
:
get
Device
Id
);
if
(
StringUtil
.
isNotEmpty
(
dto
.
getRoomId
())){
queryWrapper1
.
ne
(
PlatRoomBedDevice:
:
getRoomId
,
dto
.
getRoomId
());
}
...
...
@@ -80,7 +86,7 @@ public class PlatRoomBedDeviceServiceImpl extends ServiceImpl<PlatRoomBedDeviceM
queryWrapper1
.
isNull
(
PlatRoomBedDevice:
:
getBedId
);
}
List
<
PlatRoomBedDevice
>
list
=
list
(
queryWrapper1
);
List
<
String
>
listEquipmentIds
=
list
.
stream
().
map
(
item
->
item
.
get
Equipment
Id
()).
collect
(
Collectors
.
toList
());
List
<
String
>
listEquipmentIds
=
list
.
stream
().
map
(
item
->
item
.
get
Device
Id
()).
collect
(
Collectors
.
toList
());
Page
<
PlatDevice
>
p
=
PageUtil
.
toMpPage
(
pageReqDTO
);
...
...
@@ -104,7 +110,7 @@ public class PlatRoomBedDeviceServiceImpl extends ServiceImpl<PlatRoomBedDeviceM
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
.
get
Equipment
Id
()).
collect
(
Collectors
.
toList
());
List
<
String
>
listEquipmentIds
=
list
.
stream
().
map
(
item
->
item
.
get
Device
Id
()).
collect
(
Collectors
.
toList
());
List
<
String
>
listBedIds
=
list
.
stream
().
map
(
item
->
item
.
getBedId
()).
collect
(
Collectors
.
toList
());
LambdaQueryWrapper
<
PlatBed
>
queryWrapper2
=
new
LambdaQueryWrapper
<>();
...
...
@@ -114,7 +120,7 @@ public class PlatRoomBedDeviceServiceImpl extends ServiceImpl<PlatRoomBedDeviceM
Map
<
String
,
String
>
mapName
=
new
HashMap
<>();
list
.
forEach
(
item
->{
if
(
map
.
containsKey
(
item
.
getBedId
())){
mapName
.
put
(
item
.
get
Equipment
Id
(),
map
.
get
(
item
.
getBedId
()));
mapName
.
put
(
item
.
get
Device
Id
(),
map
.
get
(
item
.
getBedId
()));
}
});
...
...
@@ -138,7 +144,7 @@ public class PlatRoomBedDeviceServiceImpl extends ServiceImpl<PlatRoomBedDeviceM
public
void
unbindingDevice
(
PlatUnbindingDeviceDTO
dto
)
{
LambdaQueryWrapper
<
PlatRoomBedDevice
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
queryWrapper
.
eq
(
PlatRoomBedDevice:
:
get
Equipment
Id
,
dto
.
getEquipmentId
());
queryWrapper
.
eq
(
PlatRoomBedDevice:
:
get
Device
Id
,
dto
.
getEquipmentId
());
queryWrapper
.
eq
(
PlatRoomBedDevice:
:
getRoomId
,
dto
.
getRoomId
());
queryWrapper
.
eq
(
StringUtil
.
isNotEmpty
(
dto
.
getBedId
()),
PlatRoomBedDevice:
:
getBedId
,
dto
.
getBedId
());
List
<
PlatRoomBedDevice
>
list
=
list
(
queryWrapper
);
...
...
@@ -153,6 +159,8 @@ public class PlatRoomBedDeviceServiceImpl extends ServiceImpl<PlatRoomBedDeviceM
List
<
String
>
ids
=
list
.
stream
().
map
(
item
->
item
.
getId
()).
collect
(
Collectors
.
toList
());
removeByIds
(
ids
);
platRegionSettingService
.
del
(
dto
.
getRoomId
(),
dto
.
getEquipmentId
());
}
}
}
server-service/src/main/java/com/makeit/service/platform/space/impl/PlatRoomServiceImpl.java
View file @
166bb587
...
...
@@ -82,7 +82,7 @@ public class PlatRoomServiceImpl extends ServiceImpl<PlatRoomMapper, PlatRoom> i
removeByIds
(
ids
);
}
@Transactional
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
void
delCascade
(
List
<
String
>
ids
)
{
removeByIds
(
ids
);
...
...
@@ -118,6 +118,7 @@ public class PlatRoomServiceImpl extends ServiceImpl<PlatRoomMapper, PlatRoom> i
Page
<
PlatRoom
>
p
=
PageUtil
.
toMpPage
(
page
);
LambdaQueryWrapper
<
PlatRoom
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
queryWrapper
.
like
(
StringUtil
.
isNotEmpty
(
dto
.
getName
()),
PlatRoom:
:
getName
,
dto
.
getName
());
queryWrapper
.
eq
(
StringUtil
.
isNotEmpty
(
dto
.
getSpaceId
()),
PlatRoom:
:
getSpaceId
,
dto
.
getSpaceId
());
Page
<
PlatRoom
>
pages
=
page
(
p
,
queryWrapper
);
return
PageUtil
.
toPageVO
(
pages
.
getRecords
(),
pages
);
}
...
...
server-service/src/main/java/com/makeit/service/platform/space/impl/PlatSpaceServiceImpl.java
View file @
166bb587
...
...
@@ -137,7 +137,7 @@ public class PlatSpaceServiceImpl extends ServiceImpl<PlatSpaceMapper, PlatSpace
this
.
child
(
dto
,
map
);
listChild
.
add
(
dto
);
}
vo
.
setChild
(
listChild
);
vo
.
setChild
ren
(
listChild
);
return
vo
;
}
...
...
server-service/src/main/java/com/makeit/service/saas/PlatMenuService.java
View file @
166bb587
...
...
@@ -19,7 +19,7 @@ public interface PlatMenuService extends IService<PlatMenu> {
List
<
PlatMenuDTOVO
>
tree
(
PlatMenuQueryDTO
dto
);
void
add
(
PlatMenuDTOVO
dto
);
String
add
(
PlatMenuDTOVO
dto
);
void
edit
(
PlatMenuDTOVO
dto
);
...
...
server-service/src/main/java/com/makeit/service/saas/SaasMenuService.java
View file @
166bb587
...
...
@@ -20,7 +20,7 @@ public interface SaasMenuService extends IService<SaasMenu> {
List
<
SaasMenuDTOVO
>
tree
(
SaasMenuQueryDTO
dto
);
void
add
(
SaasMenuDTOVO
dto
);
String
add
(
SaasMenuDTOVO
dto
);
void
edit
(
SaasMenuDTOVO
dto
);
...
...
server-service/src/main/java/com/makeit/service/saas/SaasPrivacyConfigService.java
View file @
166bb587
...
...
@@ -14,7 +14,7 @@ public interface SaasPrivacyConfigService extends IService<SaasPrivacyConfig> {
*
* @param saasPrivacyConfigDTO
*/
void
add
(
SaasPrivacyConfigDTO
saasPrivacyConfigDTO
);
String
add
(
SaasPrivacyConfigDTO
saasPrivacyConfigDTO
);
/**
*
...
...
server-service/src/main/java/com/makeit/service/saas/SaasRoleService.java
View file @
166bb587
...
...
@@ -22,7 +22,7 @@ public interface SaasRoleService extends IService<SaasRole> {
PageVO
<
SaasRoleDTOVO
>
page
(
PageReqDTO
<
SaasRoleDTOVO
>
dto
);
void
add
(
SaasRoleDTOVO
dto
);
String
add
(
SaasRoleDTOVO
dto
);
void
edit
(
SaasRoleDTOVO
dto
);
...
...
server-service/src/main/java/com/makeit/service/saas/SaasUserService.java
View file @
166bb587
...
...
@@ -26,7 +26,7 @@ public interface SaasUserService extends IService<SaasUser> {
List
<
SaasUserDTOVO
>
listNoSuperAdmin
(
SaasUserQueryDTO
dto
);
void
add
(
SaasUserDTOVO
dto
);
String
add
(
SaasUserDTOVO
dto
);
void
edit
(
SaasUserDTOVO
dto
);
...
...
server-service/src/main/java/com/makeit/service/saas/impl/PlatMenuServiceImpl.java
View file @
166bb587
...
...
@@ -117,7 +117,7 @@ implements PlatMenuService {
*/
private
void
checkCode
(
PlatMenuDTOVO
dto
)
{
PlatMenu
old
=
getOne
(
new
QueryWrapper
<
PlatMenu
>().
lambda
()
.
eq
(
PlatMenu:
:
get
Name
,
dto
.
getNam
e
()));
.
eq
(
PlatMenu:
:
get
Code
,
dto
.
getCod
e
()));
if
(
old
!=
null
&&
!
old
.
getId
().
equals
(
dto
.
getId
()))
{
throw
new
BusinessException
(
CodeMessageEnum
.
SYSTEM_ERROR_CODE_DUPLICATE
);
}
...
...
@@ -125,9 +125,11 @@ implements PlatMenuService {
@Transactional
@Override
public
void
add
(
PlatMenuDTOVO
dto
)
{
public
String
add
(
PlatMenuDTOVO
dto
)
{
checkCode
(
dto
);
save
(
BeanDtoVoUtils
.
convert
(
dto
,
PlatMenu
.
class
));
PlatMenu
platMenu
=
BeanDtoVoUtils
.
convert
(
dto
,
PlatMenu
.
class
);
save
(
platMenu
);
return
platMenu
.
getId
();
}
@Transactional
...
...
@@ -174,33 +176,33 @@ implements PlatMenuService {
public
void
sync
()
{
List
<
PlatMenu
>
exitList
=
list
(
new
QueryWrapper
<
PlatMenu
>().
lambda
()
.
isNotNull
(
PlatMenu:
:
get
Nam
e
)
.
in
(
PlatMenu:
:
get
ResourceType
,
SysEnum
.
MenuTypeEnum
.
MENU
.
getValue
(),
SysEnum
.
MenuTypeEnum
.
BUTTON
.
getValue
())
.
isNotNull
(
PlatMenu:
:
get
Cod
e
)
.
in
(
PlatMenu:
:
get
Category
,
SysEnum
.
MenuTypeEnum
.
MENU
.
getValue
(),
SysEnum
.
MenuTypeEnum
.
BUTTON
.
getValue
())
);
Map
<
String
,
PlatMenu
>
exitCodeMap
=
StreamUtil
.
toMapDep
(
exitList
,
PlatMenu:
:
get
Nam
e
);
Map
<
String
,
PlatMenu
>
exitCodeMap
=
StreamUtil
.
toMapDep
(
exitList
,
PlatMenu:
:
get
Cod
e
);
//查询数据库中已存在的权限
List
<
PlatMenu
>
exitButtonList
=
StreamUtil
.
filter
(
exitList
,
e
->
SysEnum
.
MenuTypeEnum
.
BUTTON
.
getValue
().
equals
(
e
.
get
ResourceType
()));
Map
<
String
,
PlatMenu
>
exitButtonCodeMap
=
StreamUtil
.
toMap
(
exitButtonList
,
PlatMenu:
:
get
Nam
e
);
List
<
PlatMenu
>
exitButtonList
=
StreamUtil
.
filter
(
exitList
,
e
->
SysEnum
.
MenuTypeEnum
.
BUTTON
.
getValue
().
equals
(
e
.
get
Category
()));
Map
<
String
,
PlatMenu
>
exitButtonCodeMap
=
StreamUtil
.
toMap
(
exitButtonList
,
PlatMenu:
:
get
Cod
e
);
//加载项目中的权限
List
<
PlatMenu
>
loadActionList
=
StreamUtil
.
filter
(
this
.
load
(),
e
->
!
TreeConst
.
TOP_LEVEL
.
equals
(
e
.
getParentId
()));
Set
<
String
>
loadActionCodeList
=
loadActionList
.
stream
().
map
(
PlatMenu:
:
get
Nam
e
).
collect
(
Collectors
.
toSet
());
Set
<
String
>
loadActionCodeList
=
loadActionList
.
stream
().
map
(
PlatMenu:
:
get
Cod
e
).
collect
(
Collectors
.
toSet
());
//新增加的权限
List
<
PlatMenu
>
addActionList
=
loadActionList
.
stream
().
filter
(
item
->
!
exitButtonCodeMap
.
containsKey
(
item
.
get
Nam
e
())).
collect
(
Collectors
.
toList
());
!
exitButtonCodeMap
.
containsKey
(
item
.
get
Cod
e
())).
collect
(
Collectors
.
toList
());
//删除的权限
List
<
PlatMenu
>
deleteActionList
=
exitButtonList
.
stream
().
filter
(
item
->
!
loadActionCodeList
.
contains
(
item
.
get
Nam
e
())).
collect
(
Collectors
.
toList
());
!
loadActionCodeList
.
contains
(
item
.
get
Cod
e
())).
collect
(
Collectors
.
toList
());
saveBatch
(
StreamUtil
.
filter
(
addActionList
,
e
->
TreeConst
.
TOP_LEVEL
.
equals
(
e
.
getParentId
())));
addActionList
.
forEach
(
e
->
{
if
(
TreeConst
.
TOP_LEVEL
.
equals
(
e
.
getParentId
()))
{
exitCodeMap
.
put
(
e
.
get
Nam
e
(),
e
);
exitCodeMap
.
put
(
e
.
get
Cod
e
(),
e
);
}
});
...
...
@@ -210,7 +212,7 @@ implements PlatMenuService {
if
(!
TreeConst
.
TOP_LEVEL
.
equals
(
e
.
getParentId
()))
{
String
groupCode
=
getGroupCode
(
e
.
get
Nam
e
());
String
groupCode
=
getGroupCode
(
e
.
get
Cod
e
());
PlatMenu
buttonGroup
=
exitCodeMap
.
get
(
groupCode
);
if
(
buttonGroup
!=
null
)
{
e
.
setParentId
(
buttonGroup
.
getId
());
...
...
@@ -287,10 +289,10 @@ implements PlatMenuService {
PlatMenu
button
=
new
PlatMenu
();
button
.
setName
(
action
.
name
());
//
button.setCode(e);
button
.
setCode
(
e
);
button
.
setSort
(
0
);
button
.
setStatus
(
CommonEnum
.
YES
.
getValue
());
button
.
set
ResourceType
(
SysEnum
.
MenuTypeEnum
.
BUTTON
.
getValue
());
button
.
set
Category
(
SysEnum
.
MenuTypeEnum
.
BUTTON
.
getValue
());
button
.
setHiddenStatus
(
CommonEnum
.
NO
.
getValue
());
button
.
setCacheStatus
(
CommonEnum
.
NO
.
getValue
());
...
...
@@ -323,11 +325,11 @@ implements PlatMenuService {
private
PlatMenu
generateButtonGroup
(
String
name
,
String
code
)
{
PlatMenu
button
=
new
PlatMenu
();
button
.
setName
(
name
);
//
button.setCode(code);
button
.
setCode
(
code
);
button
.
setParentId
(
TreeConst
.
TOP_LEVEL
);
button
.
setSort
(
0
);
button
.
setStatus
(
CommonEnum
.
YES
.
getValue
());
button
.
set
ResourceType
(
SysEnum
.
MenuTypeEnum
.
BUTTON
.
getValue
());
button
.
set
Category
(
SysEnum
.
MenuTypeEnum
.
BUTTON
.
getValue
());
button
.
setHiddenStatus
(
CommonEnum
.
NO
.
getValue
());
button
.
setCacheStatus
(
CommonEnum
.
NO
.
getValue
());
...
...
server-service/src/main/java/com/makeit/service/saas/impl/PlatTenantServiceImpl.java
View file @
166bb587
...
...
@@ -4,6 +4,7 @@ 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.entity.BaseBusEntity
;
import
com.makeit.common.entity.BaseEntity
;
import
com.makeit.common.page.PageReqDTO
;
import
com.makeit.common.page.PageVO
;
...
...
@@ -16,6 +17,7 @@ import com.makeit.enums.CommonEnum;
import
com.makeit.enums.IsTenantAccountEnum
;
import
com.makeit.enums.redis.RedisConst
;
import
com.makeit.exception.BusinessException
;
import
com.makeit.global.aspect.tenant.TenantIdIgnore
;
import
com.makeit.global.aspect.tenant.TenantIdUtil
;
import
com.makeit.mapper.saas.PlatTenantMapper
;
import
com.makeit.module.admin.dto.plat.PlatTenantDTOVO
;
...
...
@@ -40,6 +42,7 @@ import com.makeit.utils.user.plat.PlatUserVO;
import
com.makeit.utils.user.plat.TntUserJoinUtil
;
import
com.makeit.utils.user.wechat.WechatUserInfo
;
import
com.makeit.utils.user.wechat.WechatUserUtil
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
...
...
@@ -50,6 +53,7 @@ import java.util.ArrayList;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.Objects
;
import
java.util.stream.Collectors
;
/**
* @author lixl
...
...
@@ -206,7 +210,7 @@ implements PlatTenantService {
//新租户同步到iot
PlatTenantVO
platTenantVO
=
new
PlatTenantVO
();
platTenantVO
.
setName
(
dto
.
getName
());
OrganizationEntity
organizationEntity
=
iotOrgService
.
syncTenantInfoToIot
(
platTenantVO
);
OrganizationEntity
organizationEntity
=
iotOrgService
.
addIotOrg
(
platTenantVO
);
tntTenant
.
setIotOrgId
(
organizationEntity
.
getId
());
save
(
tntTenant
);
...
...
@@ -219,7 +223,7 @@ implements PlatTenantService {
//组织表增加一条数据
PlatOrg
platOrg
=
convertToPlatOrg
(
tntTenant
);
platOrgService
.
save
(
platOrg
);
platOrgService
.
save
Org
(
platOrg
);
//分配菜单
assignMenuList
(
tntTenant
.
getId
(),
dto
.
getMenuIdList
());
...
...
@@ -228,11 +232,15 @@ implements PlatTenantService {
@Transactional
@Override
@TenantIdIgnore
public
void
edit
(
PlatTenantDTOVO
dto
)
{
checkName
(
dto
);
checkDate
(
dto
);
PlatTenant
tntTenant
=
BeanDtoVoUtils
.
convert
(
dto
,
PlatTenant
.
class
);
PlatTenant
platTenant
=
getById
(
tntTenant
.
getId
());
//更新同步到iot
iotOrgService
.
updateIotOrgInfo
(
tntTenant
.
getIotOrgId
(),
dto
.
getName
());
updateById
(
tntTenant
);
//更新用户的tenantId
...
...
@@ -258,7 +266,7 @@ implements PlatTenantService {
platOrg
.
setName
(
platTenant
.
getName
());
platOrg
.
setStatus
(
platTenant
.
getStatus
());
platOrg
.
setId
(
platTenant
.
getId
());
platOrg
.
setPath
(
""
);
platOrg
.
setPath
(
"
1
"
);
//租户没有父级
platOrg
.
setParentId
(
"1"
);
return
platOrg
;
...
...
@@ -272,6 +280,14 @@ implements PlatTenantService {
saasOperationLogService
.
add
(
"saas端-租户账号-详情"
,
id
);
LambdaQueryWrapper
<
PlatTenantMenu
>
tenantMenuLambdaQueryWrapper
=
new
LambdaQueryWrapper
<
PlatTenantMenu
>()
.
eq
(
BaseBusEntity:
:
getTenantId
,
id
);
List
<
PlatTenantMenu
>
list
=
platTenantMenuService
.
list
(
tenantMenuLambdaQueryWrapper
);
if
(
CollectionUtils
.
isNotEmpty
(
list
)){
List
<
String
>
menuList
=
list
.
stream
().
map
(
PlatTenantMenu:
:
getMenuId
).
collect
(
Collectors
.
toList
());
userVO
.
setMenuIdList
(
menuList
);
}
return
userVO
;
}
...
...
server-service/src/main/java/com/makeit/service/saas/impl/SaasMenuServiceImpl.java
View file @
166bb587
...
...
@@ -127,9 +127,11 @@ public class SaasMenuServiceImpl extends ServiceImpl<SaasMenuMapper, SaasMenu> i
@Transactional
@Override
public
void
add
(
SaasMenuDTOVO
dto
)
{
public
String
add
(
SaasMenuDTOVO
dto
)
{
checkCode
(
dto
);
save
(
BeanDtoVoUtils
.
convert
(
dto
,
SaasMenu
.
class
));
SaasMenu
saasMenu
=
BeanDtoVoUtils
.
convert
(
dto
,
SaasMenu
.
class
);
save
(
saasMenu
);
return
saasMenu
.
getId
();
}
@Transactional
...
...
server-service/src/main/java/com/makeit/service/saas/impl/SaasPrivacyConfigServiceImpl.java
View file @
166bb587
...
...
@@ -20,13 +20,15 @@ public class SaasPrivacyConfigServiceImpl extends ServiceImpl<SaasPrivacyConfigM
implements
SaasPrivacyConfigService
{
@Override
@Transactional
public
void
add
(
SaasPrivacyConfigDTO
saasPrivacyConfigDTO
)
{
public
String
add
(
SaasPrivacyConfigDTO
saasPrivacyConfigDTO
)
{
LambdaQueryWrapper
<
SaasPrivacyConfig
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
queryWrapper
.
eq
(
SaasPrivacyConfig:
:
getCategory
,
saasPrivacyConfigDTO
.
getCategory
());
this
.
remove
(
queryWrapper
);
this
.
save
(
BeanDtoVoUtils
.
convert
(
saasPrivacyConfigDTO
,
SaasPrivacyConfig
.
class
));
SaasPrivacyConfig
saasPrivacyConfig
=
BeanDtoVoUtils
.
convert
(
saasPrivacyConfigDTO
,
SaasPrivacyConfig
.
class
);
this
.
save
(
saasPrivacyConfig
);
return
saasPrivacyConfig
.
getId
();
}
...
...
server-service/src/main/java/com/makeit/service/saas/impl/SaasRoleServiceImpl.java
View file @
166bb587
...
...
@@ -101,11 +101,12 @@ implements SaasRoleService{
@Transactional
@Override
public
void
add
(
SaasRoleDTOVO
dto
)
{
public
String
add
(
SaasRoleDTOVO
dto
)
{
check
(
dto
);
SaasRole
saasRole
=
BeanDtoVoUtils
.
convert
(
dto
,
SaasRole
.
class
);
save
(
saasRole
);
assignMenuList
(
saasRole
.
getId
(),
dto
.
getMenuIdList
());
return
saasRole
.
getId
();
}
@Transactional
...
...
server-service/src/main/java/com/makeit/service/saas/impl/SaasUserServiceImpl.java
View file @
166bb587
...
...
@@ -230,7 +230,7 @@ implements SaasUserService{
@Transactional
@Override
public
void
add
(
SaasUserDTOVO
dto
)
{
public
String
add
(
SaasUserDTOVO
dto
)
{
check
(
dto
);
SaasUser
user
=
BeanDtoVoUtils
.
convert
(
dto
,
SaasUser
.
class
);
...
...
@@ -242,6 +242,8 @@ implements SaasUserService{
save
(
user
);
dto
.
setId
(
user
.
getId
());
setRoleList
(
dto
);
return
user
.
getId
();
}
@Transactional
...
...
server-service/src/main/java/com/makeit/task/IotSyncTask.java
View file @
166bb587
...
...
@@ -2,7 +2,6 @@ package com.makeit.task;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.makeit.common.entity.BaseBusEntity
;
import
com.makeit.common.entity.BaseEntity
;
import
com.makeit.entity.platform.device.PlatDevice
;
import
com.makeit.entity.saas.PlatTenant
;
import
com.makeit.enums.CommonEnum
;
...
...
@@ -43,7 +42,6 @@ public class IotSyncTask {
* 新增和更新平台端设备表
*/
@Scheduled
(
cron
=
"0 0 */1 * * ?"
)
// @Scheduled(cron = "0 */1 * * * ?")
@TenantIdIgnore
public
void
syncEquipmentInfo
()
{
log
.
info
(
"开始执行同步设备信息接口"
);
...
...
@@ -62,7 +60,7 @@ public class IotSyncTask {
//查询平台设备
Set
<
String
>
iotDeviceIdSet
=
iotDeviceList
.
stream
().
map
(
DeviceInstanceEntity:
:
getId
).
collect
(
Collectors
.
toSet
());
LambdaQueryWrapper
<
PlatDevice
>
deviceLambdaQueryWrapper
=
new
LambdaQueryWrapper
<
PlatDevice
>().
eq
(
BaseBusEntity:
:
getTenantId
,
platTenant
.
getId
())
.
in
(
BaseEntity:
:
get
Id
,
iotDeviceIdSet
);
.
in
(
PlatDevice:
:
getOriDevice
Id
,
iotDeviceIdSet
);
List
<
PlatDevice
>
deviceList
=
platDeviceService
.
list
(
deviceLambdaQueryWrapper
);
//更新平台设备
Collection
<
PlatDevice
>
platDevices
=
convertToPlatDevice
(
iotDeviceList
,
deviceList
,
platTenant
.
getId
());
...
...
server-web/src/main/resources/application-dev.yml
View file @
166bb587
...
...
@@ -134,16 +134,11 @@ sms:
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
voice-sms
:
send
:
url
:
http://www.aozoneyun.com/Message/Message/video_send
uid
:
362
pwd
:
xmksyy123456
...
...
server-web/src/main/resources/application-test.yml
View file @
166bb587
...
...
@@ -131,13 +131,8 @@ sms:
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
voice-sms
:
send
:
url
:
http://www.aozoneyun.com/Message/Message/video_send
uid
:
362
pwd
:
xmksyy123456
\ No newline at end of file
server-web/src/test/java/com/makeit/iotapi/IotTest.java
View file @
166bb587
...
...
@@ -23,7 +23,7 @@ public class IotTest {
void
syncTenantInfoToIot
()
{
PlatTenantVO
platTenantVO
=
new
PlatTenantVO
();
platTenantVO
.
setName
(
"lxl2"
);
iotOrgService
.
syncTenantInfoToIot
(
platTenantVO
);
iotOrgService
.
addIotOrg
(
platTenantVO
);
}
...
...
@@ -49,6 +49,26 @@ public class IotTest {
@Test
void
getDeviceLog
()
{
iotProductDeviceService
.
getDeviceLog
(
"1694547143952007168"
);
iotProductDeviceService
.
getDeviceLog
(
"1694547143952007168"
,
10
,
""
);
}
@Test
void
getDeviceLogByType
()
{
iotProductDeviceService
.
getDeviceLogByType
(
"1694547143952007168"
,
"online"
);
}
@Test
void
getLastDeviceLog
()
{
iotProductDeviceService
.
getLastDeviceLog
(
"1694547143952007168"
);
}
@Test
void
getIotOrgInfo
()
{
iotOrgService
.
getIotOrgInfo
(
"1698964909267415040"
);
}
@Test
void
updateIotOrgInfo
()
{
iotOrgService
.
updateIotOrgInfo
(
"1698964909267415040"
,
"lxl2234"
);
}
}
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