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
aa5d6f78
authored
Sep 13, 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
6400bdf8
6aafcd38
Hide whitespace changes
Inline
Side-by-side
Showing
88 changed files
with
1978 additions
and
336 deletions
db/inti-elder.sql
db/platAuth.sql
db/space.sql
saas-module/src/main/java/com/makeit/controller/analysis/SaasDiseaseEvaluateReportController.java
saas-module/src/main/java/com/makeit/controller/analysis/SaasDiseaseModelController.java
saas-module/src/main/java/com/makeit/controller/analysis/SaasElderReportConfigController.java
saas-module/src/main/java/com/makeit/controller/analysis/SaasModelManageController.java
saas-module/src/main/java/com/makeit/controller/analysis/SaasReportManageController.java
saas-module/src/main/java/com/makeit/controller/analysis/SaasSleepAnalysisModelController.java
saas-module/src/main/java/com/makeit/controller/analysis/SaasSleepEvaluateReportController.java
saas-module/src/main/java/com/makeit/controller/analysis/SaasSleepEvaluateStandardReportController.java
saas-module/src/main/java/com/makeit/controller/saas/SaasDeviceController.java
saas-module/src/main/java/com/makeit/controller/saas/SaasMenuController.java
server-common/src/main/java/com/makeit/common/vo/ExcelErrorVo.java
server-common/src/main/java/com/makeit/enums/CodeMessageEnum.java
server-common/src/main/java/com/makeit/enums/redis/RedisConst.java
server-common/src/main/java/com/makeit/module/iot/enums/DeviceState.java
server-common/src/main/java/com/makeit/module/iot/enums/DeviceType.java
server-common/src/main/java/com/makeit/module/iot/service/IotProductDeviceService.java
server-common/src/main/java/com/makeit/module/iot/vo/DeviceInfo.java
server-common/src/main/java/com/makeit/module/iot/vo/DeviceState.java
server-common/src/main/resources/locale/business_messages.properties
server-module/src/main/java/com/makeit/module/controller/dataScreen/DataScreenController.java
server-module/src/main/java/com/makeit/module/controller/space/PlatBedController.java
server-module/src/main/java/com/makeit/module/controller/space/PlatRoomDynamicController.java
server-module/src/main/java/com/makeit/module/controller/sys/PlatLogoConfigController.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/PlatAlarmRecordChildrenController.java
server-module/src/main/java/com/makeit/module/controller/wechat/alarm/WechatPlatAlarmRecordController.java → server-module/src/main/java/com/makeit/module/controller/wechat/alarm/PlatAlarmRecordWechatController.java
server-module/src/main/java/com/makeit/module/controller/wechat/space/PlatRegionSettingWechatController.java
server-module/src/main/java/com/makeit/module/controller/wechat/space/PlatRoomBedDeviceWechatController.java
server-service/src/main/java/com/makeit/dto/platform/alarm/PlatAlaramCheckDTO.java → server-service/src/main/java/com/makeit/dto/platform/alarm/PlatAlarmCheckDTO.java
server-service/src/main/java/com/makeit/dto/platform/auth/PlatUserImportDTO.java
server-service/src/main/java/com/makeit/dto/platform/dataScreen/PlatDataScreenQueryDTO.java
server-service/src/main/java/com/makeit/dto/platform/elder/PlatElderQueryDTO.java
server-service/src/main/java/com/makeit/dto/platform/sys/PlatLogoConfigDTO.java
server-service/src/main/java/com/makeit/dto/platform/sys/PlatLogoConfigDTOVO.java
server-service/src/main/java/com/makeit/dto/platform/sys/PlatLogoConfigQueryDTO.java
server-service/src/main/java/com/makeit/entity/platform/auth/PlatOrg.java
server-service/src/main/java/com/makeit/entity/platform/auth/PlatUserRole.java
server-service/src/main/java/com/makeit/entity/platform/device/PlatDevice.java
server-service/src/main/java/com/makeit/entity/platform/space/PlatSpace.java
server-service/src/main/java/com/makeit/entity/platform/sys/PlatLogoConfig.java
server-service/src/main/java/com/makeit/enums/platform/alarm/PlatAlarmRecordEnum.java
server-service/src/main/java/com/makeit/enums/platform/auth/PlatOrgEnum.java
server-service/src/main/java/com/makeit/enums/platform/device/PlatDeviceEnum.java
server-service/src/main/java/com/makeit/mapper/platform/space/PlatBedMapper.java
server-service/src/main/java/com/makeit/mapper/platform/sys/PlatLogoConfigMapper.java
server-service/src/main/java/com/makeit/service/platform/alarm/PlatAlarmRecordService.java
server-service/src/main/java/com/makeit/service/platform/alarm/alarmStrategy/BehaviorAlarm.java
server-service/src/main/java/com/makeit/service/platform/alarm/alarmStrategy/BreathAlarm.java
server-service/src/main/java/com/makeit/service/platform/alarm/alarmStrategy/FallAlarm.java
server-service/src/main/java/com/makeit/service/platform/alarm/alarmStrategy/HeartAlarm.java
server-service/src/main/java/com/makeit/service/platform/alarm/alarmStrategy/IAlarm.java
server-service/src/main/java/com/makeit/service/platform/alarm/impl/PlatAlarmConfigServiceImpl.java
server-service/src/main/java/com/makeit/service/platform/alarm/impl/PlatAlarmRecordServiceImpl.java
server-service/src/main/java/com/makeit/service/platform/auth/PlatOrgService.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/dataScreen/DataScreenService.java
server-service/src/main/java/com/makeit/service/platform/dataScreen/impl/DataScreenServiceImpl.java
server-service/src/main/java/com/makeit/service/platform/device/PlatDeviceService.java
server-service/src/main/java/com/makeit/service/platform/device/impl/PlatDeviceServiceImpl.java
server-service/src/main/java/com/makeit/service/platform/space/PlatBedService.java
server-service/src/main/java/com/makeit/service/platform/space/PlatRoomDynamicService.java
server-service/src/main/java/com/makeit/service/platform/space/impl/PlatBedServiceImpl.java
server-service/src/main/java/com/makeit/service/platform/space/impl/PlatRoomDynamicServiceImpl.java
server-service/src/main/java/com/makeit/service/platform/space/impl/PlatRoomServiceImpl.java
server-service/src/main/java/com/makeit/service/platform/sys/PlatLogoConfigService.java
server-service/src/main/java/com/makeit/service/platform/sys/impl/PlatLogoConfigServiceImpl.java
server-service/src/main/java/com/makeit/service/saas/SaasMenuService.java
server-service/src/main/java/com/makeit/service/saas/impl/SaasMenuServiceImpl.java
server-service/src/main/java/com/makeit/task/IotSyncTask.java
server-service/src/main/java/com/makeit/utils/AlarmConfigCacheUtil.java
server-service/src/main/java/com/makeit/utils/DeviceCacheUtil.java
server-service/src/main/java/com/makeit/vo/platform/dataScreen/PlatAgeStatisticsVO.java
server-service/src/main/java/com/makeit/vo/platform/dataScreen/PlatAlarmStatisticsListVo.java
server-service/src/main/java/com/makeit/vo/platform/dataScreen/PlatAlarmStatisticsVO.java
server-service/src/main/java/com/makeit/vo/platform/dataScreen/PlatBaseInfoStatisticsVO.java
server-service/src/main/java/com/makeit/vo/platform/dataScreen/PlatDeviceStatisticsVO.java
server-service/src/main/java/com/makeit/vo/platform/dataScreen/PlatMapStatisticsSpaceVO.java
server-service/src/main/java/com/makeit/vo/platform/dataScreen/PlatMapStatisticsVO.java
server-service/src/main/java/com/makeit/vo/platform/dataScreen/PlatSexStatisticsVO.java
server-service/src/main/resources/mappers/PlatBedMapper.xml
server-web/src/main/java/com/makeit/mqtt/MqttConfig.java
server-web/src/main/java/com/makeit/mqtt/PushCallback.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
db/inti-elder.sql
View file @
aa5d6f78
...
@@ -244,7 +244,7 @@ CREATE TABLE `plat_device`
...
@@ -244,7 +244,7 @@ CREATE TABLE `plat_device`
registration_date
datetime
NOT
NULL
COMMENT
'注册时间'
,
registration_date
datetime
NOT
NULL
COMMENT
'注册时间'
,
last_online_data
datetime
NOT
NULL
COMMENT
'最后上线时间'
,
last_online_data
datetime
NOT
NULL
COMMENT
'最后上线时间'
,
description
VARCHAR
(
1024
)
DEFAULT
NULL
COMMENT
'说明'
,
description
VARCHAR
(
1024
)
DEFAULT
NULL
COMMENT
'说明'
,
status
char
(
1
)
NOT
NULL
COMMENT
'状态 数据字典 1 在线 0离线
'
,
status
varchar
(
36
)
DEFAULT
NULL
COMMENT
'状态 DeviceState
'
,
org_id
varchar
(
64
)
NULL
COMMENT
'组织id'
,
org_id
varchar
(
64
)
NULL
COMMENT
'组织id'
,
city_org_id
varchar
(
64
)
NULL
COMMENT
'城市组织id'
,
city_org_id
varchar
(
64
)
NULL
COMMENT
'城市组织id'
,
district_org_id
varchar
(
64
)
NULL
COMMENT
'区组织id'
,
district_org_id
varchar
(
64
)
NULL
COMMENT
'区组织id'
,
...
...
db/platAuth.sql
View file @
aa5d6f78
...
@@ -109,10 +109,11 @@ CREATE TABLE `plat_role_org` (
...
@@ -109,10 +109,11 @@ CREATE TABLE `plat_role_org` (
CREATE
TABLE
`plat_logo_config`
(
CREATE
TABLE
`plat_logo_config`
(
`id`
VARCHAR
(
64
)
COLLATE
utf8mb4_general_ci
NOT
NULL
COMMENT
'id'
,
`id`
VARCHAR
(
64
)
COLLATE
utf8mb4_general_ci
NOT
NULL
COMMENT
'id'
,
`tenant_id`
VARCHAR
(
64
)
COLLATE
utf8mb4_general_ci
NOT
NULL
COMMENT
'租户id'
,
`tenant_id`
VARCHAR
(
64
)
COLLATE
utf8mb4_general_ci
NOT
NULL
COMMENT
'租户id'
,
`name`
varchar
(
100
)
COLLATE
utf8mb4_general_ci
NOT
NULL
COMMENT
'名称'
,
`name`
varchar
(
100
)
COLLATE
utf8mb4_general_ci
DEFAULT
NULL
COMMENT
'名称'
,
`logo_file_id`
VARCHAR
(
64
)
COLLATE
utf8mb4_general_ci
NOT
NULL
COMMENT
'logo文件ID'
,
`code`
varchar
(
100
)
COLLATE
utf8mb4_general_ci
NOT
NULL
COMMENT
'编码'
,
`browser_file_id`
VARCHAR
(
64
)
COLLATE
utf8mb4_general_ci
NOT
NULL
COMMENT
'浏览器页签文件Id'
,
`logo_file_id`
VARCHAR
(
64
)
COLLATE
utf8mb4_general_ci
DEFAULT
NULL
COMMENT
'logo文件ID'
,
`background_file_id`
VARCHAR
(
64
)
COLLATE
utf8mb4_general_ci
NOT
NULL
COMMENT
'登录背景图片'
,
`browser_file_id`
VARCHAR
(
64
)
COLLATE
utf8mb4_general_ci
DEFAULT
NULL
COMMENT
'浏览器页签文件Id'
,
`background_file_id`
VARCHAR
(
64
)
COLLATE
utf8mb4_general_ci
DEFAULT
NULL
COMMENT
'登录背景图片'
,
`create_date`
datetime
NOT
NULL
COMMENT
'创建时间'
,
`create_date`
datetime
NOT
NULL
COMMENT
'创建时间'
,
`update_date`
datetime
NOT
NULL
COMMENT
'更新时间'
,
`update_date`
datetime
NOT
NULL
COMMENT
'更新时间'
,
`del_flag`
CHAR
(
1
)
DEFAULT
NULL
COMMENT
'删除标识'
,
`del_flag`
CHAR
(
1
)
DEFAULT
NULL
COMMENT
'删除标识'
,
...
...
db/space.sql
View file @
aa5d6f78
...
@@ -17,6 +17,8 @@ CREATE TABLE `plat_space`
...
@@ -17,6 +17,8 @@ CREATE TABLE `plat_space`
`update_date`
datetime
DEFAULT
NULL
COMMENT
'更新时间'
,
`update_date`
datetime
DEFAULT
NULL
COMMENT
'更新时间'
,
`del_flag`
INT
(
1
)
DEFAULT
'0'
COMMENT
'删除标记'
,
`del_flag`
INT
(
1
)
DEFAULT
'0'
COMMENT
'删除标记'
,
`tenant_id`
varchar
(
64
)
COLLATE
utf8mb4_general_ci
DEFAULT
NULL
COMMENT
' 租户id '
,
`tenant_id`
varchar
(
64
)
COLLATE
utf8mb4_general_ci
DEFAULT
NULL
COMMENT
' 租户id '
,
`org_id`
varchar
(
64
)
DEFAULT
NULL
COMMENT
'组织id'
,
`attribute`
char
(
1
)
DEFAULT
NULL
COMMENT
'属性 1-居家 2-机构'
,
PRIMARY
KEY
(
`id`
)
USING
BTREE
PRIMARY
KEY
(
`id`
)
USING
BTREE
)
ENGINE
=
INNODB
)
ENGINE
=
INNODB
DEFAULT
CHARSET
=
utf8mb4
COMMENT
=
'空间管理'
;
DEFAULT
CHARSET
=
utf8mb4
COMMENT
=
'空间管理'
;
...
...
saas-module/src/main/java/com/makeit/controller/analysis/SaasDiseaseEvaluateReportController.java
View file @
aa5d6f78
...
@@ -10,6 +10,7 @@ import com.makeit.entity.saas.analysis.SaasSleepEvaluateReport;
...
@@ -10,6 +10,7 @@ import com.makeit.entity.saas.analysis.SaasSleepEvaluateReport;
import
com.makeit.global.annotation.Action
;
import
com.makeit.global.annotation.Action
;
import
com.makeit.service.saas.SaasDiseaseEvaluateReportService
;
import
com.makeit.service.saas.SaasDiseaseEvaluateReportService
;
import
com.makeit.service.saas.SaasSleepEvaluateReportService
;
import
com.makeit.service.saas.SaasSleepEvaluateReportService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.validation.annotation.Validated
;
...
@@ -28,6 +29,7 @@ import org.springframework.web.bind.annotation.RestController;
...
@@ -28,6 +29,7 @@ import org.springframework.web.bind.annotation.RestController;
*/
*/
@RestController
@RestController
@RequestMapping
(
"/saas/diseaseEvaluateReport"
)
@RequestMapping
(
"/saas/diseaseEvaluateReport"
)
@Api
(
tags
=
"saas端-报告管理"
)
public
class
SaasDiseaseEvaluateReportController
{
public
class
SaasDiseaseEvaluateReportController
{
...
...
saas-module/src/main/java/com/makeit/controller/analysis/SaasDiseaseModelController.java
View file @
aa5d6f78
...
@@ -8,6 +8,7 @@ import com.makeit.dto.saas.analysis.SaasDiseaseModelDTO;
...
@@ -8,6 +8,7 @@ import com.makeit.dto.saas.analysis.SaasDiseaseModelDTO;
import
com.makeit.entity.saas.analysis.SaasDiseaseModel
;
import
com.makeit.entity.saas.analysis.SaasDiseaseModel
;
import
com.makeit.global.annotation.Action
;
import
com.makeit.global.annotation.Action
;
import
com.makeit.service.saas.SaasDiseaseModelService
;
import
com.makeit.service.saas.SaasDiseaseModelService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.validation.annotation.Validated
;
...
@@ -26,6 +27,7 @@ import org.springframework.web.bind.annotation.RestController;
...
@@ -26,6 +27,7 @@ import org.springframework.web.bind.annotation.RestController;
*/
*/
@RestController
@RestController
@RequestMapping
(
"/saas/diseaseModel"
)
@RequestMapping
(
"/saas/diseaseModel"
)
@Api
(
tags
=
"saas端-模型管理"
)
public
class
SaasDiseaseModelController
{
public
class
SaasDiseaseModelController
{
...
...
saas-module/src/main/java/com/makeit/controller/analysis/SaasElderReportConfigController.java
View file @
aa5d6f78
...
@@ -8,6 +8,7 @@ import com.makeit.dto.saas.analysis.SaasElderReportConfigDTO;
...
@@ -8,6 +8,7 @@ import com.makeit.dto.saas.analysis.SaasElderReportConfigDTO;
import
com.makeit.entity.saas.analysis.SaasElderReportConfig
;
import
com.makeit.entity.saas.analysis.SaasElderReportConfig
;
import
com.makeit.global.annotation.Action
;
import
com.makeit.global.annotation.Action
;
import
com.makeit.service.saas.SaasElderReportConfigService
;
import
com.makeit.service.saas.SaasElderReportConfigService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.validation.annotation.Validated
;
...
@@ -26,6 +27,7 @@ import org.springframework.web.bind.annotation.RestController;
...
@@ -26,6 +27,7 @@ import org.springframework.web.bind.annotation.RestController;
*/
*/
@RestController
@RestController
@RequestMapping
(
"/saas/elderReportConfig"
)
@RequestMapping
(
"/saas/elderReportConfig"
)
@Api
(
tags
=
"saas端-报告管理"
)
public
class
SaasElderReportConfigController
{
public
class
SaasElderReportConfigController
{
@Autowired
@Autowired
private
SaasElderReportConfigService
saasElderReportConfigService
;
private
SaasElderReportConfigService
saasElderReportConfigService
;
...
...
saas-module/src/main/java/com/makeit/controller/analysis/SaasModelManageController.java
View file @
aa5d6f78
...
@@ -9,6 +9,7 @@ import com.makeit.entity.saas.analysis.SaasModelManage;
...
@@ -9,6 +9,7 @@ import com.makeit.entity.saas.analysis.SaasModelManage;
import
com.makeit.global.annotation.Action
;
import
com.makeit.global.annotation.Action
;
import
com.makeit.module.admin.vo.plat.PlatTenantVO
;
import
com.makeit.module.admin.vo.plat.PlatTenantVO
;
import
com.makeit.service.saas.SaasModelManageService
;
import
com.makeit.service.saas.SaasModelManageService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
...
@@ -28,13 +29,14 @@ import java.util.List;
...
@@ -28,13 +29,14 @@ import java.util.List;
*/
*/
@RestController
@RestController
@RequestMapping
(
"/saas/modelManage"
)
@RequestMapping
(
"/saas/modelManage"
)
@Api
(
tags
=
"saas端-报告管理"
)
public
class
SaasModelManageController
{
public
class
SaasModelManageController
{
@Autowired
@Autowired
private
SaasModelManageService
saasModelManageService
;
private
SaasModelManageService
saasModelManageService
;
@Action
(
module
=
"
租户管理-租户
"
,
name
=
"分页列表"
,
code
=
"saas:modelManage:page"
)
@Action
(
module
=
"
数据分析-模型管理
"
,
name
=
"分页列表"
,
code
=
"saas:modelManage:page"
)
@ApiOperation
(
"分页列表"
)
@ApiOperation
(
"分页列表"
)
@PostMapping
(
"list"
)
@PostMapping
(
"list"
)
public
ApiResponseEntity
<
List
<
SaasModelManage
>>
list
(){
public
ApiResponseEntity
<
List
<
SaasModelManage
>>
list
(){
...
...
saas-module/src/main/java/com/makeit/controller/analysis/SaasReportManageController.java
View file @
aa5d6f78
...
@@ -8,6 +8,7 @@ import com.makeit.entity.saas.analysis.SaasReportManage;
...
@@ -8,6 +8,7 @@ import com.makeit.entity.saas.analysis.SaasReportManage;
import
com.makeit.global.annotation.Action
;
import
com.makeit.global.annotation.Action
;
import
com.makeit.service.saas.SaasModelManageService
;
import
com.makeit.service.saas.SaasModelManageService
;
import
com.makeit.service.saas.SaasReportManageService
;
import
com.makeit.service.saas.SaasReportManageService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
...
@@ -26,13 +27,14 @@ import java.util.List;
...
@@ -26,13 +27,14 @@ import java.util.List;
*/
*/
@RestController
@RestController
@RequestMapping
(
"/saas/reportManage"
)
@RequestMapping
(
"/saas/reportManage"
)
@Api
(
tags
=
"saas端-报告管理"
)
public
class
SaasReportManageController
{
public
class
SaasReportManageController
{
@Autowired
@Autowired
private
SaasReportManageService
saasReportManageService
;
private
SaasReportManageService
saasReportManageService
;
@Action
(
module
=
"
租户管理-租户
"
,
name
=
"分页列表"
,
code
=
"saas:reportManage:page"
)
@Action
(
module
=
"
数据分析-报告管理
"
,
name
=
"分页列表"
,
code
=
"saas:reportManage:page"
)
@ApiOperation
(
"分页列表"
)
@ApiOperation
(
"分页列表"
)
@PostMapping
(
"list"
)
@PostMapping
(
"list"
)
public
ApiResponseEntity
<
List
<
SaasReportManage
>>
list
(){
public
ApiResponseEntity
<
List
<
SaasReportManage
>>
list
(){
...
...
saas-module/src/main/java/com/makeit/controller/analysis/SaasSleepAnalysisModelController.java
View file @
aa5d6f78
...
@@ -9,6 +9,7 @@ import com.makeit.entity.saas.analysis.SaasSleepAnalysisModel;
...
@@ -9,6 +9,7 @@ import com.makeit.entity.saas.analysis.SaasSleepAnalysisModel;
import
com.makeit.global.annotation.Action
;
import
com.makeit.global.annotation.Action
;
import
com.makeit.module.admin.dto.plat.PlatTenantDTOVO
;
import
com.makeit.module.admin.dto.plat.PlatTenantDTOVO
;
import
com.makeit.service.saas.SaasSleepAnalysisModelService
;
import
com.makeit.service.saas.SaasSleepAnalysisModelService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.validation.annotation.Validated
;
...
@@ -27,6 +28,7 @@ import org.springframework.web.bind.annotation.RestController;
...
@@ -27,6 +28,7 @@ import org.springframework.web.bind.annotation.RestController;
*/
*/
@RestController
@RestController
@RequestMapping
(
"/saas/sleepAnalysisModel"
)
@RequestMapping
(
"/saas/sleepAnalysisModel"
)
@Api
(
tags
=
"saas端-模型管理"
)
public
class
SaasSleepAnalysisModelController
{
public
class
SaasSleepAnalysisModelController
{
@Autowired
@Autowired
...
...
saas-module/src/main/java/com/makeit/controller/analysis/SaasSleepEvaluateReportController.java
View file @
aa5d6f78
...
@@ -8,6 +8,7 @@ import com.makeit.dto.saas.analysis.SaasSleepEvaluateReportDTO;
...
@@ -8,6 +8,7 @@ import com.makeit.dto.saas.analysis.SaasSleepEvaluateReportDTO;
import
com.makeit.entity.saas.analysis.SaasSleepEvaluateReport
;
import
com.makeit.entity.saas.analysis.SaasSleepEvaluateReport
;
import
com.makeit.global.annotation.Action
;
import
com.makeit.global.annotation.Action
;
import
com.makeit.service.saas.SaasSleepEvaluateReportService
;
import
com.makeit.service.saas.SaasSleepEvaluateReportService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.validation.annotation.Validated
;
...
@@ -26,6 +27,7 @@ import org.springframework.web.bind.annotation.RestController;
...
@@ -26,6 +27,7 @@ import org.springframework.web.bind.annotation.RestController;
*/
*/
@RestController
@RestController
@RequestMapping
(
"/saas/sleepEvaluateReport"
)
@RequestMapping
(
"/saas/sleepEvaluateReport"
)
@Api
(
tags
=
"saas端-报告管理"
)
public
class
SaasSleepEvaluateReportController
{
public
class
SaasSleepEvaluateReportController
{
...
...
saas-module/src/main/java/com/makeit/controller/analysis/SaasSleepEvaluateStandardReportController.java
View file @
aa5d6f78
...
@@ -8,6 +8,7 @@ import com.makeit.dto.saas.analysis.SaasSleepEvaluateStandardReportDTO;
...
@@ -8,6 +8,7 @@ import com.makeit.dto.saas.analysis.SaasSleepEvaluateStandardReportDTO;
import
com.makeit.entity.saas.analysis.SaasSleepEvaluateStandardReport
;
import
com.makeit.entity.saas.analysis.SaasSleepEvaluateStandardReport
;
import
com.makeit.global.annotation.Action
;
import
com.makeit.global.annotation.Action
;
import
com.makeit.service.saas.SaasSleepEvaluateStandardReportService
;
import
com.makeit.service.saas.SaasSleepEvaluateStandardReportService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.validation.annotation.Validated
;
...
@@ -26,6 +27,7 @@ import org.springframework.web.bind.annotation.RestController;
...
@@ -26,6 +27,7 @@ import org.springframework.web.bind.annotation.RestController;
*/
*/
@RestController
@RestController
@RequestMapping
(
"/saas/sleepEvaluateStandardReport"
)
@RequestMapping
(
"/saas/sleepEvaluateStandardReport"
)
@Api
(
tags
=
"saas端-报告管理"
)
public
class
SaasSleepEvaluateStandardReportController
{
public
class
SaasSleepEvaluateStandardReportController
{
...
...
saas-module/src/main/java/com/makeit/controller/saas/SaasDeviceController.java
View file @
aa5d6f78
...
@@ -6,6 +6,7 @@ import com.makeit.common.page.PageVO;
...
@@ -6,6 +6,7 @@ import com.makeit.common.page.PageVO;
import
com.makeit.common.response.ApiResponseEntity
;
import
com.makeit.common.response.ApiResponseEntity
;
import
com.makeit.common.response.ApiResponseUtils
;
import
com.makeit.common.response.ApiResponseUtils
;
import
com.makeit.dto.platform.device.PlatDeviceDetailDTO
;
import
com.makeit.dto.platform.device.PlatDeviceDetailDTO
;
import
com.makeit.dto.platform.device.PlatDeviceEditDTO
;
import
com.makeit.entity.platform.device.PlatDevice
;
import
com.makeit.entity.platform.device.PlatDevice
;
import
com.makeit.service.platform.device.PlatDeviceService
;
import
com.makeit.service.platform.device.PlatDeviceService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
...
@@ -37,8 +38,8 @@ public class SaasDeviceController {
...
@@ -37,8 +38,8 @@ public class SaasDeviceController {
@ApiOperation
(
"设备编辑"
)
@ApiOperation
(
"设备编辑"
)
@PostMapping
(
"edit"
)
@PostMapping
(
"edit"
)
public
ApiResponseEntity
<
Void
>
edit
(
@RequestBody
PlatDevice
platDevice
)
{
public
ApiResponseEntity
<
Void
>
edit
(
@RequestBody
PlatDevice
EditDTO
dto
)
{
platDeviceService
.
edit
(
platDevice
);
platDeviceService
.
edit
(
dto
);
return
ApiResponseUtils
.
success
();
return
ApiResponseUtils
.
success
();
}
}
...
...
saas-module/src/main/java/com/makeit/controller/saas/SaasMenuController.java
View file @
aa5d6f78
...
@@ -2,6 +2,7 @@ package com.makeit.controller.saas;
...
@@ -2,6 +2,7 @@ package com.makeit.controller.saas;
import
com.makeit.common.dto.BaseIdDTO
;
import
com.makeit.common.dto.BaseIdDTO
;
import
com.makeit.common.dto.StatusDTO
;
import
com.makeit.common.response.ApiResponseEntity
;
import
com.makeit.common.response.ApiResponseEntity
;
import
com.makeit.common.response.ApiResponseUtils
;
import
com.makeit.common.response.ApiResponseUtils
;
import
com.makeit.global.annotation.Action
;
import
com.makeit.global.annotation.Action
;
...
@@ -33,47 +34,47 @@ import java.util.List;
...
@@ -33,47 +34,47 @@ import java.util.List;
public
class
SaasMenuController
{
public
class
SaasMenuController
{
@Autowired
@Autowired
private
SaasMenuService
plat
MenuService
;
private
SaasMenuService
saas
MenuService
;
@Action
(
module
=
"saas端-菜单"
,
name
=
"列表"
,
code
=
"
plat
:menu:list"
)
@Action
(
module
=
"saas端-菜单"
,
name
=
"列表"
,
code
=
"
saas
:menu:list"
)
@ApiOperation
(
"列表"
)
@ApiOperation
(
"列表"
)
@PostMapping
(
"list"
)
@PostMapping
(
"list"
)
public
ApiResponseEntity
<
List
<
SaasMenuDTOVO
>>
list
(
@RequestBody
SaasMenuQueryDTO
dto
)
{
public
ApiResponseEntity
<
List
<
SaasMenuDTOVO
>>
list
(
@RequestBody
SaasMenuQueryDTO
dto
)
{
return
ApiResponseUtils
.
success
(
plat
MenuService
.
list
(
dto
));
return
ApiResponseUtils
.
success
(
saas
MenuService
.
list
(
dto
));
}
}
@Action
(
module
=
"saas端-菜单"
,
name
=
"树形列表"
,
code
=
"
plat
:menu:tree"
)
@Action
(
module
=
"saas端-菜单"
,
name
=
"树形列表"
,
code
=
"
saas
:menu:tree"
)
@ApiOperation
(
"树形列表"
)
@ApiOperation
(
"树形列表"
)
@PostMapping
(
"tree"
)
@PostMapping
(
"tree"
)
public
ApiResponseEntity
<
List
<
SaasMenuDTOVO
>>
tree
(
@RequestBody
SaasMenuQueryDTO
dto
)
{
public
ApiResponseEntity
<
List
<
SaasMenuDTOVO
>>
tree
(
@RequestBody
SaasMenuQueryDTO
dto
)
{
return
ApiResponseUtils
.
success
(
plat
MenuService
.
tree
(
dto
));
return
ApiResponseUtils
.
success
(
saas
MenuService
.
tree
(
dto
));
}
}
@ApiOperation
(
"列表(AuthIgnore)"
)
@ApiOperation
(
"列表(AuthIgnore)"
)
@PostMapping
(
"listAuthIgnore"
)
@PostMapping
(
"listAuthIgnore"
)
public
ApiResponseEntity
<
List
<
SaasMenuDTOVO
>>
listAuthIgnore
(
@RequestBody
SaasMenuQueryDTO
dto
)
{
public
ApiResponseEntity
<
List
<
SaasMenuDTOVO
>>
listAuthIgnore
(
@RequestBody
SaasMenuQueryDTO
dto
)
{
return
ApiResponseUtils
.
success
(
plat
MenuService
.
list
(
dto
));
return
ApiResponseUtils
.
success
(
saas
MenuService
.
list
(
dto
));
}
}
@ApiOperation
(
"树形列表(AuthIgnore)"
)
@ApiOperation
(
"树形列表(AuthIgnore)"
)
@PostMapping
(
"treeAuthIgnore"
)
@PostMapping
(
"treeAuthIgnore"
)
public
ApiResponseEntity
<
List
<
SaasMenuDTOVO
>>
treeAuthIgnore
(
@RequestBody
SaasMenuQueryDTO
dto
)
{
public
ApiResponseEntity
<
List
<
SaasMenuDTOVO
>>
treeAuthIgnore
(
@RequestBody
SaasMenuQueryDTO
dto
)
{
return
ApiResponseUtils
.
success
(
plat
MenuService
.
tree
(
dto
));
return
ApiResponseUtils
.
success
(
saas
MenuService
.
tree
(
dto
));
}
}
@Action
(
module
=
"saas端-菜单"
,
name
=
"新增"
,
code
=
"
plat
:menu:add"
)
@Action
(
module
=
"saas端-菜单"
,
name
=
"新增"
,
code
=
"
saas
:menu:add"
)
@ApiOperation
(
"新增"
)
@ApiOperation
(
"新增"
)
@PostMapping
(
"add"
)
@PostMapping
(
"add"
)
public
ApiResponseEntity
<
String
>
add
(
@Validated
@RequestBody
SaasMenuDTOVO
dto
)
{
public
ApiResponseEntity
<
String
>
add
(
@Validated
@RequestBody
SaasMenuDTOVO
dto
)
{
String
id
=
plat
MenuService
.
add
(
dto
);
String
id
=
saas
MenuService
.
add
(
dto
);
return
ApiResponseUtils
.
success
(
id
);
return
ApiResponseUtils
.
success
(
id
);
}
}
@Action
(
module
=
"saas端-菜单"
,
name
=
"编辑"
,
code
=
"
plat
:menu:edit"
)
@Action
(
module
=
"saas端-菜单"
,
name
=
"编辑"
,
code
=
"
saas
:menu:edit"
)
@ApiOperation
(
"编辑"
)
@ApiOperation
(
"编辑"
)
@PostMapping
(
"edit"
)
@PostMapping
(
"edit"
)
public
ApiResponseEntity
<?>
edit
(
@Validated
@RequestBody
SaasMenuDTOVO
dto
)
{
public
ApiResponseEntity
<?>
edit
(
@Validated
@RequestBody
SaasMenuDTOVO
dto
)
{
plat
MenuService
.
edit
(
dto
);
saas
MenuService
.
edit
(
dto
);
return
ApiResponseUtils
.
success
();
return
ApiResponseUtils
.
success
();
}
}
...
@@ -81,21 +82,29 @@ public class SaasMenuController {
...
@@ -81,21 +82,29 @@ public class SaasMenuController {
@ApiOperation
(
"详情"
)
@ApiOperation
(
"详情"
)
@PostMapping
(
"view"
)
@PostMapping
(
"view"
)
public
ApiResponseEntity
<
SaasMenuDTOVO
>
view
(
@RequestBody
BaseIdDTO
dto
)
{
public
ApiResponseEntity
<
SaasMenuDTOVO
>
view
(
@RequestBody
BaseIdDTO
dto
)
{
return
ApiResponseUtils
.
success
(
plat
MenuService
.
view
(
dto
.
getId
()));
return
ApiResponseUtils
.
success
(
saas
MenuService
.
view
(
dto
.
getId
()));
}
}
@Action
(
module
=
"saas端-菜单"
,
name
=
"删除"
,
code
=
"
plat
:menu:del"
)
@Action
(
module
=
"saas端-菜单"
,
name
=
"删除"
,
code
=
"
saas
:menu:del"
)
@ApiOperation
(
"删除"
)
@ApiOperation
(
"删除"
)
@PostMapping
(
"del"
)
@PostMapping
(
"del"
)
public
ApiResponseEntity
<?>
del
(
@RequestBody
BaseIdDTO
dto
)
{
public
ApiResponseEntity
<?>
del
(
@RequestBody
BaseIdDTO
dto
)
{
platMenuService
.
del
(
dto
.
getId
());
saasMenuService
.
del
(
dto
.
getId
());
return
ApiResponseUtils
.
success
();
}
@Action
(
module
=
"saas端-菜单"
,
name
=
"启用禁用"
,
code
=
"saas:menu:changeStatus"
)
@ApiOperation
(
"启用禁用"
)
@PostMapping
(
"changeStatus"
)
public
ApiResponseEntity
<
Void
>
changeStatus
(
@RequestBody
StatusDTO
dto
)
{
saasMenuService
.
changeStatus
(
dto
);
return
ApiResponseUtils
.
success
();
return
ApiResponseUtils
.
success
();
}
}
@ApiOperation
(
"同步"
)
@ApiOperation
(
"同步"
)
@PostMapping
(
"sync"
)
@PostMapping
(
"sync"
)
public
ApiResponseEntity
<?>
sync
()
{
public
ApiResponseEntity
<?>
sync
()
{
plat
MenuService
.
sync
();
saas
MenuService
.
sync
();
return
ApiResponseUtils
.
success
();
return
ApiResponseUtils
.
success
();
}
}
...
...
server-common/src/main/java/com/makeit/common/vo/ExcelErrorVo.java
View file @
aa5d6f78
...
@@ -8,7 +8,7 @@ import org.apache.commons.lang3.StringUtils;
...
@@ -8,7 +8,7 @@ import org.apache.commons.lang3.StringUtils;
import
java.io.Serializable
;
import
java.io.Serializable
;
import
java.util.List
;
import
java.util.List
;
import
java.util.
Objects
;
import
java.util.
Map
;
@Data
@Data
@ApiModel
(
"excel导入错误信息VO"
)
@ApiModel
(
"excel导入错误信息VO"
)
...
@@ -52,9 +52,17 @@ public class ExcelErrorVo implements Serializable {
...
@@ -52,9 +52,17 @@ public class ExcelErrorVo implements Serializable {
}
}
}
}
public
static
void
notExists
(
Object
object
,
List
<
ExcelErrorVo
>
errorVoList
,
int
i
,
String
title
){
public
static
void
notExists
(
String
value
,
List
<
ExcelErrorVo
>
errorVoList
,
int
i
,
String
title
){
if
(
Objects
.
isNull
(
object
)){
if
(
StringUtils
.
isBlank
(
value
)){
errorVoList
.
add
(
new
ExcelErrorVo
(
i
,
title
,
"数据库数据不存在"
));
errorVoList
.
add
(
new
ExcelErrorVo
(
i
,
title
,
"数据库数据不存在"
));
}
}
}
}
public
static
void
exists
(
Map
<
String
,
String
>
emailMap
,
String
value
,
List
<
ExcelErrorVo
>
errorVoList
,
int
i
,
String
title
){
if
(
StringUtils
.
isNotBlank
(
value
)){
errorVoList
.
add
(
new
ExcelErrorVo
(
i
,
title
,
"数据重复"
));
}
else
{
emailMap
.
put
(
value
,
"system"
);
}
}
}
}
server-common/src/main/java/com/makeit/enums/CodeMessageEnum.java
View file @
aa5d6f78
...
@@ -99,6 +99,7 @@ public enum CodeMessageEnum {
...
@@ -99,6 +99,7 @@ public enum CodeMessageEnum {
PLATFORM_ERROR_SPACE_NOT_DEL
(
500
,
"PLATFORM.ERROR.SPACE.NOT.DEL"
),
PLATFORM_ERROR_SPACE_NOT_DEL
(
500
,
"PLATFORM.ERROR.SPACE.NOT.DEL"
),
PLATFORM_ERROR_ROOM_EXIT_BAD
(
500
,
"PLATFORM.ERROR.ROOM.EXIT.BAD"
),
PLATFORM_ERROR_ROOM_EXIT_BAD
(
500
,
"PLATFORM.ERROR.ROOM.EXIT.BAD"
),
PLATFORM_ERROR_ROOM_BAD_NUMBER_NOT_AUTH
(
500
,
"PLATFORM.ERROR.ROOM.BAD.NUMBER.NOT.AUTH"
),
PLATFORM_ERROR_ROOM_BAD_NUMBER_NOT_AUTH
(
500
,
"PLATFORM.ERROR.ROOM.BAD.NUMBER.NOT.AUTH"
),
PLATFORM_ERROR_ROOM_NAME_EXIT
(
500
,
"PLATFORM.ERROR.ROOM.NAME.EXIT"
),
PLATFORM_ERROR_BAD_NAME_EXIT
(
500
,
"PLATFORM.ERROR.BAD.NAME.EXIT"
),
PLATFORM_ERROR_BAD_NAME_EXIT
(
500
,
"PLATFORM.ERROR.BAD.NAME.EXIT"
),
PLATFORM_ERROR_BAD_NOT_DEL
(
500
,
"PLATFORM.ERROR.BAD.NOT.DEL"
),
PLATFORM_ERROR_BAD_NOT_DEL
(
500
,
"PLATFORM.ERROR.BAD.NOT.DEL"
),
PLATFORM_ERROR_ROOM_OTHER_USED_NOT_DEL
(
500
,
"PLATFORM.ERROR.ROOM.OTHER.USED.NOT.DEL"
),
PLATFORM_ERROR_ROOM_OTHER_USED_NOT_DEL
(
500
,
"PLATFORM.ERROR.ROOM.OTHER.USED.NOT.DEL"
),
...
...
server-common/src/main/java/com/makeit/enums/redis/RedisConst.java
View file @
aa5d6f78
...
@@ -94,7 +94,9 @@ public class RedisConst {
...
@@ -94,7 +94,9 @@ public class RedisConst {
public
static
final
String
ALARM_DEVICE_ID
=
"alarm:device:id:"
;
public
static
final
String
ALARM_DEVICE_ID
=
"alarm:device:id:"
;
public
static
final
String
ALARM_CONFIG_ORG_ID
=
"alram:config:org:id"
;
public
static
final
String
ALARM_CONFIG_ORG_ID
=
"alarm:config:org:id"
;
public
static
final
String
PLAT_IOT_DEVICE_PREFIX
=
"plat:iot:device:"
;
...
...
server-common/src/main/java/com/makeit/module/iot/enums/DeviceState.java
View file @
aa5d6f78
...
@@ -7,11 +7,12 @@ import lombok.Getter;
...
@@ -7,11 +7,12 @@ import lombok.Getter;
@AllArgsConstructor
@AllArgsConstructor
@Getter
@Getter
public
enum
DeviceState
{
public
enum
DeviceState
{
notActive
(
"禁用"
),
notActive
(
"
notActive"
,
"
禁用"
),
offline
(
"离线"
),
offline
(
"
offline"
,
"
离线"
),
online
(
"在线"
);
online
(
"
online"
,
"
在线"
);
private
final
String
text
;
private
final
String
value
;
private
final
String
name
;
}
}
server-common/src/main/java/com/makeit/module/iot/enums/DeviceType.java
View file @
aa5d6f78
...
@@ -7,10 +7,11 @@ import lombok.Getter;
...
@@ -7,10 +7,11 @@ import lombok.Getter;
@AllArgsConstructor
@AllArgsConstructor
@Getter
@Getter
public
enum
DeviceType
{
public
enum
DeviceType
{
device
(
"直连设备"
),
device
(
"
device"
,
"
直连设备"
),
childrenDevice
(
"网关子设备"
),
childrenDevice
(
"
device"
,
"
网关子设备"
),
gateway
(
"网关设备"
);
gateway
(
"
gateway"
,
"
网关设备"
);
private
final
String
value
;
private
final
String
text
;
private
final
String
text
;
...
...
server-common/src/main/java/com/makeit/module/iot/service/IotProductDeviceService.java
View file @
aa5d6f78
...
@@ -170,6 +170,48 @@ public class IotProductDeviceService extends IotCommonService {
...
@@ -170,6 +170,48 @@ public class IotProductDeviceService extends IotCommonService {
return
getDeviceLog
(
deviceId
,
10
,
typeValue
);
return
getDeviceLog
(
deviceId
,
10
,
typeValue
);
}
}
public
List
<
DeviceOperationLogEntity
>
getDeviceLogByTimeRange
(
String
deviceId
,
int
pageSize
,
String
startTime
,
String
endTime
)
{
IotQueryParam
iotQueryParam
=
buildQueryParam
(
pageSize
);
List
<
Term
>
terms
=
Lists
.
newArrayList
();
Term
term1
=
Term
.
builder
()
.
column
(
"timestamp"
)
.
termType
(
"gte"
)
.
type
(
Term
.
Type
.
or
)
.
value
(
startTime
)
.
terms
(
Lists
.
newArrayList
())
.
options
(
Lists
.
newArrayList
())
.
build
();
Term
term2
=
Term
.
builder
()
.
column
(
"timestamp"
)
.
termType
(
"lte"
)
.
type
(
Term
.
Type
.
and
)
.
value
(
endTime
)
.
terms
(
Lists
.
newArrayList
())
.
options
(
Lists
.
newArrayList
())
.
build
();
terms
.
add
(
term1
);
terms
.
add
(
term2
);
iotQueryParam
.
setTerms
(
terms
);
String
body
=
JsonUtil
.
toJson
(
iotQueryParam
);
String
url
=
iotUrl
+
DEVICE_PREFIX_URL
+
deviceId
+
"/logs"
;
HttpRequest
request
=
buildRequest
(
url
,
body
);
try
{
ResponseMessage
responseMessage
=
sendPost
(
url
,
request
);
if
(
responseMessage
.
getStatus
()
==
200
)
{
IotPagerResult
pagerResult
=
JSON
.
parseObject
(
responseMessage
.
getResult
().
toString
(),
IotPagerResult
.
class
);
List
<
DeviceOperationLogEntity
>
deviceOperationLogEntities
=
JSONArray
.
parseArray
(
pagerResult
.
getData
().
toString
()).
toJavaList
(
DeviceOperationLogEntity
.
class
);
//Map maps = (Map) JSON.parse(datum.getContent().toString());
return
deviceOperationLogEntities
;
}
log
.
error
(
"获取设备接口失败:{}"
,
responseMessage
.
getMessage
());
}
catch
(
IOException
e
)
{
log
.
error
(
"调用:{}接口异常:{}"
,
url
,
e
.
getMessage
());
}
return
Lists
.
newArrayList
();
}
/**
/**
* 获取设备的日志
* 获取设备的日志
*
*
...
@@ -183,7 +225,7 @@ public class IotProductDeviceService extends IotCommonService {
...
@@ -183,7 +225,7 @@ public class IotProductDeviceService extends IotCommonService {
List
<
Term
>
terms
=
Lists
.
newArrayList
();
List
<
Term
>
terms
=
Lists
.
newArrayList
();
Term
term
=
Term
.
builder
()
Term
term
=
Term
.
builder
()
.
column
(
"type"
)
.
column
(
"type"
)
.
termType
(
"
eq
"
)
.
termType
(
"
btw
"
)
.
type
(
Term
.
Type
.
or
)
.
type
(
Term
.
Type
.
or
)
.
value
(
typeValue
)
.
value
(
typeValue
)
.
terms
(
Lists
.
newArrayList
())
.
terms
(
Lists
.
newArrayList
())
...
...
server-common/src/main/java/com/makeit/module/iot/vo/DeviceInfo.java
View file @
aa5d6f78
package
com
.
makeit
.
module
.
iot
.
vo
;
package
com
.
makeit
.
module
.
iot
.
vo
;
import
com.alibaba.fastjson.JSONObject
;
import
lombok.Data
;
import
lombok.Data
;
/**
/**
...
@@ -17,7 +18,7 @@ public class DeviceInfo {
...
@@ -17,7 +18,7 @@ public class DeviceInfo {
private
HeaderInfo
headers
;
private
HeaderInfo
headers
;
private
String
properties
;
private
JSONObject
properties
;
/**
/**
...
...
server-common/src/main/java/com/makeit/module/iot/vo/DeviceState.java
0 → 100644
View file @
aa5d6f78
package
com
.
makeit
.
module
.
iot
.
vo
;
import
lombok.Data
;
@Data
public
class
DeviceState
{
private
String
text
;
private
String
value
;
}
server-common/src/main/resources/locale/business_messages.properties
View file @
aa5d6f78
...
@@ -94,6 +94,7 @@ PLATFORM.ERROR.ELDER.CERTIFICATENUMBER.DUPLICATE=证件号不能重复
...
@@ -94,6 +94,7 @@ PLATFORM.ERROR.ELDER.CERTIFICATENUMBER.DUPLICATE=证件号不能重复
PLATFORM.ERROR.SPACE.NAME.DUPLICATE
=
同一层级,空间名称不能重复
PLATFORM.ERROR.SPACE.NAME.DUPLICATE
=
同一层级,空间名称不能重复
PLATFORM.ERROR.SPACE.NOT.DEL
=
该空间下存在下级或者房间,不可删除
PLATFORM.ERROR.SPACE.NOT.DEL
=
该空间下存在下级或者房间,不可删除
PLATFORM.ERROR.ROOM.EXIT.BAD
=
房间中存在床位,不可删除
PLATFORM.ERROR.ROOM.EXIT.BAD
=
房间中存在床位,不可删除
PLATFORM.ERROR.ROOM.NAME.EXIT
=
该房间名称已存在
PLATFORM.ERROR.ROOM.BAD.NUMBER.NOT.AUTH
=
床位数量不能改小
PLATFORM.ERROR.ROOM.BAD.NUMBER.NOT.AUTH
=
床位数量不能改小
PLATFORM.ERROR.BAD.NAME.EXIT
=
床位名称已存在
PLATFORM.ERROR.BAD.NAME.EXIT
=
床位名称已存在
PLATFORM.ERROR.BAD.NOT.DEL
=
床位已绑定长者或设备,不可删除
PLATFORM.ERROR.BAD.NOT.DEL
=
床位已绑定长者或设备,不可删除
...
...
server-module/src/main/java/com/makeit/module/controller/dataScreen/DataScreenController.java
0 → 100644
View file @
aa5d6f78
package
com
.
makeit
.
module
.
controller
.
dataScreen
;
import
com.makeit.common.response.ApiResponseEntity
;
import
com.makeit.common.response.ApiResponseUtils
;
import
com.makeit.dto.platform.dataScreen.PlatDataScreenQueryDTO
;
import
com.makeit.service.platform.dataScreen.DataScreenService
;
import
com.makeit.vo.platform.dataScreen.*
;
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
;
/**
* Controller
*
* @author zm
* @version 2023/9/11
*/
@Api
(
tags
=
"平台端-数据大屏"
)
@RestController
@RequestMapping
(
"/plat/data/screen"
)
public
class
DataScreenController
{
@Autowired
private
DataScreenService
dataScreenService
;
@ApiOperation
(
"长者年龄分布"
)
@PostMapping
(
"ageStatistics"
)
public
ApiResponseEntity
<
PlatAgeStatisticsVO
>
ageStatistics
(
@RequestBody
PlatDataScreenQueryDTO
dto
)
{
return
ApiResponseUtils
.
success
(
dataScreenService
.
ageStatistics
(
dto
));
}
@ApiOperation
(
"长者性别比例分布"
)
@PostMapping
(
"sexStatistics"
)
public
ApiResponseEntity
<
PlatSexStatisticsVO
>
sexStatistics
(
@RequestBody
PlatDataScreenQueryDTO
dto
)
{
return
ApiResponseUtils
.
success
(
dataScreenService
.
sexStatistics
(
dto
));
}
@ApiOperation
(
"设备概况"
)
@PostMapping
(
"deviceStatistics"
)
public
ApiResponseEntity
<
PlatDeviceStatisticsVO
>
deviceStatistics
(
@RequestBody
PlatDataScreenQueryDTO
dto
)
{
return
ApiResponseUtils
.
success
(
dataScreenService
.
deviceStatistics
(
dto
));
}
@ApiOperation
(
"实时告警"
)
@PostMapping
(
"alarmStatistics"
)
public
ApiResponseEntity
<
PlatAlarmStatisticsVO
>
alarmStatistics
(
@RequestBody
PlatDataScreenQueryDTO
dto
)
{
return
ApiResponseUtils
.
success
(
dataScreenService
.
alarmStatistics
(
dto
));
}
@ApiOperation
(
"机构养老-基础数据统计"
)
@PostMapping
(
"baseInfoStatistics"
)
public
ApiResponseEntity
<
PlatBaseInfoStatisticsVO
>
baseInfoStatistics
(
@RequestBody
PlatDataScreenQueryDTO
dto
)
{
return
ApiResponseUtils
.
success
(
dataScreenService
.
baseInfoStatistics
(
dto
));
}
@ApiOperation
(
"地图统计"
)
@PostMapping
(
"mapStatistics"
)
public
ApiResponseEntity
<
PlatMapStatisticsVO
>
mapStatistics
(
@RequestBody
PlatDataScreenQueryDTO
dto
)
{
return
ApiResponseUtils
.
success
(
dataScreenService
.
mapStatistics
(
dto
));
}
}
server-module/src/main/java/com/makeit/module/controller/space/PlatBedController.java
View file @
aa5d6f78
...
@@ -18,6 +18,8 @@ import org.springframework.web.bind.annotation.RequestBody;
...
@@ -18,6 +18,8 @@ import org.springframework.web.bind.annotation.RequestBody;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.List
;
/**
/**
* @Author:lzy
* @Author:lzy
* @Date:2023/9/6 11:56
* @Date:2023/9/6 11:56
...
@@ -38,6 +40,13 @@ public class PlatBedController {
...
@@ -38,6 +40,13 @@ public class PlatBedController {
return
ApiResponseUtils
.
success
(
data
);
return
ApiResponseUtils
.
success
(
data
);
}
}
@ApiOperation
(
"列表-无权限(未绑定设备床位)"
)
@PostMapping
(
"listAuthIgnore"
)
public
ApiResponseEntity
<
List
<
PlatBed
>>
listAuthIgnore
(
@RequestBody
PlatBedQueryDTO
dto
)
{
List
<
PlatBed
>
data
=
platBedService
.
list
(
dto
);
return
ApiResponseUtils
.
success
(
data
);
}
@ApiOperation
(
"详情"
)
@ApiOperation
(
"详情"
)
@PostMapping
(
"view"
)
@PostMapping
(
"view"
)
public
ApiResponseEntity
<
PlatBed
>
view
(
@RequestBody
BaseIdDTO
baseIdDTO
)
{
public
ApiResponseEntity
<
PlatBed
>
view
(
@RequestBody
BaseIdDTO
baseIdDTO
)
{
...
...
server-module/src/main/java/com/makeit/module/controller/space/PlatRoomDynamicController.java
View file @
aa5d6f78
...
@@ -2,8 +2,10 @@ package com.makeit.module.controller.space;
...
@@ -2,8 +2,10 @@ package com.makeit.module.controller.space;
import
com.makeit.common.response.ApiResponseEntity
;
import
com.makeit.common.response.ApiResponseEntity
;
import
com.makeit.common.response.ApiResponseUtils
;
import
com.makeit.common.response.ApiResponseUtils
;
import
com.makeit.dto.platform.elder.PlatElderQueryDTO
;
import
com.makeit.dto.platform.space.PlatBedPanoramaDTO
;
import
com.makeit.dto.platform.space.PlatBedPanoramaDTO
;
import
com.makeit.dto.platform.space.PlatRoomPanoramaDTO
;
import
com.makeit.dto.platform.space.PlatRoomPanoramaDTO
;
import
com.makeit.entity.platform.elder.PlatElder
;
import
com.makeit.service.platform.space.PlatRoomDynamicService
;
import
com.makeit.service.platform.space.PlatRoomDynamicService
;
import
com.makeit.vo.platform.space.PlatBedPanoramaVO
;
import
com.makeit.vo.platform.space.PlatBedPanoramaVO
;
import
com.makeit.vo.platform.space.PlatRoomPanoramaVO
;
import
com.makeit.vo.platform.space.PlatRoomPanoramaVO
;
...
@@ -60,4 +62,11 @@ public class PlatRoomDynamicController {
...
@@ -60,4 +62,11 @@ public class PlatRoomDynamicController {
return
ApiResponseUtils
.
success
(
data
);
return
ApiResponseUtils
.
success
(
data
);
}
}
@ApiOperation
(
"房间详细-下拉长者"
)
@PostMapping
(
"elderList"
)
public
ApiResponseEntity
<
List
<
PlatElder
>>
elderList
(
@RequestBody
PlatElderQueryDTO
dto
)
{
List
<
PlatElder
>
data
=
platRoomDynamicService
.
elderList
(
dto
);
return
ApiResponseUtils
.
success
(
data
);
}
}
}
server-module/src/main/java/com/makeit/module/controller/sys/PlatLogoConfigController.java
0 → 100644
View file @
aa5d6f78
package
com
.
makeit
.
module
.
controller
.
sys
;
import
com.makeit.common.page.PageReqDTO
;
import
com.makeit.common.page.PageVO
;
import
com.makeit.common.response.ApiResponseEntity
;
import
com.makeit.common.response.ApiResponseUtils
;
import
com.makeit.dto.platform.device.PlatDeviceDTO
;
import
com.makeit.dto.platform.space.PlatSpaceDeviceQueryDTO
;
import
com.makeit.dto.platform.sys.PlatLogoConfigDTO
;
import
com.makeit.dto.platform.sys.PlatLogoConfigDTOVO
;
import
com.makeit.dto.platform.sys.PlatLogoConfigQueryDTO
;
import
com.makeit.enums.CommonEnum
;
import
com.makeit.service.platform.sys.PlatLogoConfigService
;
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
;
/**
* @Author:lzy
* @Date:2023/9/12 10:41
* @Describe:
*/
@Api
(
tags
=
"LOGO设置"
)
@RestController
@RequestMapping
(
"/plat/sys/logo/config/"
)
public
class
PlatLogoConfigController
{
@Autowired
private
PlatLogoConfigService
platLogoConfigService
;
@ApiOperation
(
"设置LOGO"
)
@PostMapping
(
"add"
)
public
ApiResponseEntity
<?>
add
(
@RequestBody
PlatLogoConfigDTO
dto
)
{
platLogoConfigService
.
add
(
dto
);
return
ApiResponseUtils
.
success
();
}
@ApiOperation
(
"查看"
)
@PostMapping
(
"view"
)
public
ApiResponseEntity
<
PlatLogoConfigDTOVO
>
view
(
@RequestBody
PlatLogoConfigQueryDTO
dto
)
{
PlatLogoConfigDTOVO
data
=
platLogoConfigService
.
view
(
dto
);
return
ApiResponseUtils
.
success
(
data
);
}
}
server-module/src/main/java/com/makeit/module/controller/wechat/alarm/
ChildrenAlarmRecord
Controller.java
→
server-module/src/main/java/com/makeit/module/controller/wechat/alarm/
PlatAlarmRecordChildren
Controller.java
View file @
aa5d6f78
...
@@ -20,7 +20,7 @@ import org.springframework.web.bind.annotation.RestController;
...
@@ -20,7 +20,7 @@ import org.springframework.web.bind.annotation.RestController;
@Api
(
tags
=
"子女端小程序-告警记录"
)
@Api
(
tags
=
"子女端小程序-告警记录"
)
@RestController
@RestController
@RequestMapping
(
"/children/alarm-record"
)
@RequestMapping
(
"/children/alarm-record"
)
public
class
ChildrenAlarmRecord
Controller
{
public
class
PlatAlarmRecordChildren
Controller
{
@Autowired
@Autowired
private
PlatAlarmRecordService
platAlarmRecordService
;
private
PlatAlarmRecordService
platAlarmRecordService
;
...
...
server-module/src/main/java/com/makeit/module/controller/wechat/alarm/
WechatPlatAlarmRecord
Controller.java
→
server-module/src/main/java/com/makeit/module/controller/wechat/alarm/
PlatAlarmRecordWechat
Controller.java
View file @
aa5d6f78
...
@@ -21,7 +21,7 @@ import org.springframework.web.bind.annotation.RestController;
...
@@ -21,7 +21,7 @@ import org.springframework.web.bind.annotation.RestController;
@Api
(
tags
=
"小程序-告警记录"
)
@Api
(
tags
=
"小程序-告警记录"
)
@RestController
@RestController
@RequestMapping
(
"/wechat/plat/alarm-record"
)
@RequestMapping
(
"/wechat/plat/alarm-record"
)
public
class
WechatPlatAlarmRecord
Controller
{
public
class
PlatAlarmRecordWechat
Controller
{
@Autowired
@Autowired
private
PlatAlarmRecordService
platAlarmRecordService
;
private
PlatAlarmRecordService
platAlarmRecordService
;
...
...
server-module/src/main/java/com/makeit/module/controller/wechat/space/PlatRegionSettingWechatController.java
0 → 100644
View file @
aa5d6f78
package
com
.
makeit
.
module
.
controller
.
wechat
.
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
;
/**
* Controller
*
* @author zm
* @version 2023/9/11
*/
@Api
(
tags
=
"平台端小程序-区域设置"
)
@RestController
@RequestMapping
(
"/wechat/plat/region/setting"
)
public
class
PlatRegionSettingWechatController
{
@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/space/PlatRoomBedDeviceWechatController.java
0 → 100644
View file @
aa5d6f78
package
com
.
makeit
.
module
.
controller
.
wechat
.
space
;
import
com.makeit.common.page.PageReqDTO
;
import
com.makeit.common.page.PageVO
;
import
com.makeit.common.response.ApiResponseEntity
;
import
com.makeit.common.response.ApiResponseUtils
;
import
com.makeit.dto.platform.device.PlatDeviceDTO
;
import
com.makeit.dto.platform.space.PlatBedDeviceQueryDTO
;
import
com.makeit.dto.platform.space.PlatRoomBindDeviceDTO
;
import
com.makeit.dto.platform.space.PlatSpaceDeviceQueryDTO
;
import
com.makeit.dto.platform.space.PlatUnbindingDeviceDTO
;
import
com.makeit.enums.CommonEnum
;
import
com.makeit.service.platform.space.PlatRoomBedDeviceService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.List
;
/**
* Controller
*
* @author zm
* @version 2023/9/11
*/
@Api
(
tags
=
"平台端小程序-绑定设备"
)
@RestController
@RequestMapping
(
"/wechat/plat/binding/device/"
)
public
class
PlatRoomBedDeviceWechatController
{
@Autowired
private
PlatRoomBedDeviceService
platRoomBedDeviceService
;
@ApiOperation
(
"设备列表(选择设备)-房间绑定"
)
@PostMapping
(
"pageRoomDevice"
)
public
ApiResponseEntity
<
PageVO
<
PlatDeviceDTO
>>
pageRoomDevice
(
@RequestBody
PageReqDTO
<
PlatSpaceDeviceQueryDTO
>
page
)
{
page
.
getData
().
setIsRoom
(
CommonEnum
.
YES
.
getValue
());
PageVO
<
PlatDeviceDTO
>
data
=
platRoomBedDeviceService
.
pageDevice
(
page
);
return
ApiResponseUtils
.
success
(
data
);
}
@ApiOperation
(
"设备列表(选择设备)-床位绑定"
)
@PostMapping
(
"pageBedDevice"
)
public
ApiResponseEntity
<
PageVO
<
PlatDeviceDTO
>>
pageBedDevice
(
@RequestBody
PageReqDTO
<
PlatSpaceDeviceQueryDTO
>
page
)
{
page
.
getData
().
setIsRoom
(
CommonEnum
.
NO
.
getValue
());
PageVO
<
PlatDeviceDTO
>
data
=
platRoomBedDeviceService
.
pageDevice
(
page
);
return
ApiResponseUtils
.
success
(
data
);
}
@ApiOperation
(
"已绑定设备列表"
)
@PostMapping
(
"listBindDevice"
)
public
ApiResponseEntity
<
List
<
PlatDeviceDTO
>>
listBindDevice
(
@RequestBody
PlatBedDeviceQueryDTO
dto
)
{
List
<
PlatDeviceDTO
>
data
=
platRoomBedDeviceService
.
listBindDevice
(
dto
);
return
ApiResponseUtils
.
success
(
data
);
}
@ApiOperation
(
"绑定设备"
)
@PostMapping
(
"bindingDevice"
)
public
ApiResponseEntity
<?>
bindingDevice
(
@RequestBody
PlatRoomBindDeviceDTO
dto
)
{
platRoomBedDeviceService
.
bindingDevice
(
dto
);
return
ApiResponseUtils
.
success
();
}
@ApiOperation
(
"解绑设备"
)
@PostMapping
(
"unbindingDevice"
)
public
ApiResponseEntity
<?>
unbindingDevice
(
@RequestBody
PlatUnbindingDeviceDTO
dto
)
{
platRoomBedDeviceService
.
unbindingDevice
(
dto
);
return
ApiResponseUtils
.
success
();
}
}
server-service/src/main/java/com/makeit/dto/platform/alarm/PlatAlar
a
mCheckDTO.java
→
server-service/src/main/java/com/makeit/dto/platform/alarm/PlatAlarmCheckDTO.java
View file @
aa5d6f78
package
com
.
makeit
.
dto
.
platform
.
alarm
;
package
com
.
makeit
.
dto
.
platform
.
alarm
;
import
com.alibaba.fastjson.JSONObject
;
import
com.makeit.entity.platform.alarm.PlatAlarmConfig
;
import
com.makeit.entity.platform.device.PlatDevice
;
import
com.makeit.entity.platform.elder.PlatElder
;
import
com.makeit.entity.platform.elder.PlatElder
;
import
com.makeit.entity.platform.space.PlatRoom
;
import
com.makeit.entity.platform.space.PlatRoom
;
import
lombok.Data
;
import
lombok.Data
;
...
@@ -8,9 +11,18 @@ import java.util.ArrayList;
...
@@ -8,9 +11,18 @@ import java.util.ArrayList;
import
java.util.List
;
import
java.util.List
;
@Data
@Data
public
class
PlatAlar
a
mCheckDTO
{
public
class
PlatAlarmCheckDTO
{
private
List
<
PlatElder
>
platElderList
=
new
ArrayList
<>();
private
List
<
PlatElder
>
platElderList
=
new
ArrayList
<>();
private
PlatRoom
platRoom
;
private
PlatRoom
platRoom
;
private
PlatDevice
platDevice
;
private
PlatAlarmConfig
platAlarmConfig
;
private
List
<
String
>
param
=
new
ArrayList
<>();
private
JSONObject
properties
;
}
}
server-service/src/main/java/com/makeit/dto/platform/auth/PlatUserImportDTO.java
View file @
aa5d6f78
...
@@ -23,15 +23,15 @@ public class PlatUserImportDTO {
...
@@ -23,15 +23,15 @@ public class PlatUserImportDTO {
private
String
mobile
;
private
String
mobile
;
@ExcelProperty
(
value
=
"邮箱"
)
@ExcelProperty
(
value
=
"邮箱"
)
private
String
email
;
private
String
email
;
@ExcelProperty
(
value
=
"
所属组织*
"
)
@ExcelProperty
(
value
=
"
*所属组织
"
)
private
String
orgName
;
private
String
orgName
;
@ExcelProperty
(
value
=
"
角色*
"
)
@ExcelProperty
(
value
=
"
*角色
"
)
private
String
roleName
;
private
String
roleName
;
@ExcelProperty
(
value
=
"备注"
)
@ExcelProperty
(
value
=
"备注"
)
private
String
remark
;
private
String
remark
;
@ExcelIgnore
@ExcelIgnore
private
String
password
=
"888888"
;
private
String
password
=
"
abc
888888"
;
}
}
server-service/src/main/java/com/makeit/dto/platform/dataScreen/PlatDataScreenQueryDTO.java
0 → 100644
View file @
aa5d6f78
package
com
.
makeit
.
dto
.
platform
.
dataScreen
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.time.LocalDateTime
;
import
java.util.List
;
/**
* Controller
*
* @author zm
* @version 2023/9/11
*/
@Data
@ApiModel
(
"PlatDataScreenQueryDto参数"
)
public
class
PlatDataScreenQueryDTO
{
@ApiModelProperty
(
"组织ids"
)
private
List
<
String
>
orgIds
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@ApiModelProperty
(
"开始时间"
)
private
LocalDateTime
startTime
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@ApiModelProperty
(
"结束时间"
)
private
LocalDateTime
endTime
;
}
server-service/src/main/java/com/makeit/dto/platform/elder/PlatElderQueryDTO.java
View file @
aa5d6f78
...
@@ -38,5 +38,8 @@ public class PlatElderQueryDTO extends BaseTenantDTO {
...
@@ -38,5 +38,8 @@ public class PlatElderQueryDTO extends BaseTenantDTO {
@ApiModelProperty
(
value
=
"组织id"
)
@ApiModelProperty
(
value
=
"组织id"
)
private
String
orgId
;
private
String
orgId
;
@ApiModelProperty
(
value
=
"房间id"
)
private
String
roomId
;
}
}
server-service/src/main/java/com/makeit/dto/platform/sys/PlatLogoConfigDTO.java
0 → 100644
View file @
aa5d6f78
package
com
.
makeit
.
dto
.
platform
.
sys
;
import
com.makeit.common.dto.BaseIdDTO
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
/**
* @Author:lzy
* @Date:2023/9/12 10:23
* @Describe:
*/
@Data
@ApiModel
(
"LOGO配置"
)
public
class
PlatLogoConfigDTO
extends
BaseIdDTO
{
@ApiModelProperty
(
"系统名称"
)
private
String
name
;
@ApiModelProperty
(
"LOGO文件ID"
)
private
String
logoFileId
;
@ApiModelProperty
(
"浏览器文件ID"
)
private
String
browserFileId
;
@ApiModelProperty
(
"背景图片ID"
)
private
String
backgroundFileId
;
@ApiModelProperty
(
"编码"
)
private
String
code
;
}
server-service/src/main/java/com/makeit/dto/platform/sys/PlatLogoConfigDTOVO.java
0 → 100644
View file @
aa5d6f78
package
com
.
makeit
.
dto
.
platform
.
sys
;
import
com.makeit.common.dto.BaseIdDTO
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
/**
* @Author:lzy
* @Date:2023/9/12 10:25
* @Describe:
*/
@Data
@ApiModel
(
"LOGO配置 PlatLogoConfigDTOVO"
)
public
class
PlatLogoConfigDTOVO
extends
BaseIdDTO
{
@ApiModelProperty
(
"系统名称"
)
private
String
name
;
@ApiModelProperty
(
"LOGO文件ID"
)
private
String
logoFileId
;
@ApiModelProperty
(
"LOGO文件地址"
)
private
String
logoFilePath
;
@ApiModelProperty
(
"浏览器文件ID"
)
private
String
browserFileId
;
@ApiModelProperty
(
"浏览器文件地址"
)
private
String
browserFilePath
;
@ApiModelProperty
(
"背景图片ID"
)
private
String
backgroundFileId
;
@ApiModelProperty
(
"背景图片地址"
)
private
String
backgroundFilePath
;
@ApiModelProperty
(
"编码"
)
private
String
code
;
}
server-service/src/main/java/com/makeit/dto/platform/sys/PlatLogoConfigQueryDTO.java
0 → 100644
View file @
aa5d6f78
package
com
.
makeit
.
dto
.
platform
.
sys
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
/**
* @Author:lzy
* @Date:2023/9/12 11:22
* @Describe:
*/
@Data
@ApiModel
(
"参数"
)
public
class
PlatLogoConfigQueryDTO
{
@ApiModelProperty
(
"code"
)
private
String
code
;
}
server-service/src/main/java/com/makeit/entity/platform/auth/PlatOrg.java
View file @
aa5d6f78
...
@@ -63,4 +63,6 @@ public class PlatOrg extends BaseBusEntity {
...
@@ -63,4 +63,6 @@ public class PlatOrg extends BaseBusEntity {
@TableField
(
exist
=
false
)
@TableField
(
exist
=
false
)
private
PlatOrg
parent
;
private
PlatOrg
parent
;
private
String
remark
;
}
}
\ No newline at end of file
server-service/src/main/java/com/makeit/entity/platform/auth/PlatUserRole.java
View file @
aa5d6f78
...
@@ -12,10 +12,6 @@ import lombok.Data;
...
@@ -12,10 +12,6 @@ import lombok.Data;
@Data
@Data
public
class
PlatUserRole
extends
BaseBusEntity
{
public
class
PlatUserRole
extends
BaseBusEntity
{
/**
* 租户id
*/
private
String
tenantId
;
/**
/**
* 用户id
* 用户id
...
...
server-service/src/main/java/com/makeit/entity/platform/device/PlatDevice.java
View file @
aa5d6f78
package
com
.
makeit
.
entity
.
platform
.
device
;
package
com
.
makeit
.
entity
.
platform
.
device
;
import
com.makeit.common.entity.BaseBusEntity
;
import
com.makeit.common.entity.BaseBusEntity
;
import
com.makeit.module.iot.enums.DeviceState
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.Data
;
...
@@ -47,7 +48,10 @@ public class PlatDevice extends BaseBusEntity {
...
@@ -47,7 +48,10 @@ public class PlatDevice extends BaseBusEntity {
@ApiModelProperty
(
value
=
"说明"
)
@ApiModelProperty
(
value
=
"说明"
)
private
String
description
;
private
String
description
;
@ApiModelProperty
(
value
=
"状态 数据字典 1 在线 0离线"
)
/**
* @see DeviceState
*/
@ApiModelProperty
(
value
=
"状态 数据字典 1 在线 0离线 "
)
private
String
status
;
private
String
status
;
@ApiModelProperty
(
value
=
"组织id"
)
@ApiModelProperty
(
value
=
"组织id"
)
...
...
server-service/src/main/java/com/makeit/entity/platform/space/PlatSpace.java
View file @
aa5d6f78
package
com
.
makeit
.
entity
.
platform
.
space
;
package
com
.
makeit
.
entity
.
platform
.
space
;
import
com.baomidou.mybatisplus.annotation.FieldStrategy
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.makeit.common.entity.BaseBusEntity
;
import
com.makeit.common.entity.BaseBusEntity
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiModelProperty
;
...
@@ -25,12 +27,15 @@ public class PlatSpace extends BaseBusEntity {
...
@@ -25,12 +27,15 @@ public class PlatSpace extends BaseBusEntity {
@ApiModelProperty
(
value
=
"空间类型 1:小区/社区/街道 2:楼栋 3:单元 4 楼层"
)
@ApiModelProperty
(
value
=
"空间类型 1:小区/社区/街道 2:楼栋 3:单元 4 楼层"
)
private
String
type
;
private
String
type
;
@TableField
(
updateStrategy
=
FieldStrategy
.
IGNORED
)
@ApiModelProperty
(
value
=
"完整地址"
)
@ApiModelProperty
(
value
=
"完整地址"
)
private
String
address
;
private
String
address
;
@TableField
(
updateStrategy
=
FieldStrategy
.
IGNORED
)
@ApiModelProperty
(
value
=
"经度"
)
@ApiModelProperty
(
value
=
"经度"
)
private
String
longitude
;
private
String
longitude
;
@TableField
(
updateStrategy
=
FieldStrategy
.
IGNORED
)
@ApiModelProperty
(
value
=
"纬度"
)
@ApiModelProperty
(
value
=
"纬度"
)
private
String
latitude
;
private
String
latitude
;
...
@@ -46,5 +51,9 @@ public class PlatSpace extends BaseBusEntity {
...
@@ -46,5 +51,9 @@ public class PlatSpace extends BaseBusEntity {
@ApiModelProperty
(
value
=
"上级全路径"
)
@ApiModelProperty
(
value
=
"上级全路径"
)
private
String
parentPath
;
private
String
parentPath
;
@ApiModelProperty
(
value
=
"组织id"
)
private
String
orgId
;
@ApiModelProperty
(
value
=
"属性 1-居家 2-机构"
)
private
String
attribute
;
}
}
server-service/src/main/java/com/makeit/entity/platform/sys/PlatLogoConfig.java
View file @
aa5d6f78
...
@@ -27,4 +27,7 @@ public class PlatLogoConfig extends BaseBusEntity {
...
@@ -27,4 +27,7 @@ public class PlatLogoConfig extends BaseBusEntity {
@ApiModelProperty
(
"背景图片ID"
)
@ApiModelProperty
(
"背景图片ID"
)
private
String
backgroundFileId
;
private
String
backgroundFileId
;
@ApiModelProperty
(
"code"
)
private
String
code
;
}
}
server-service/src/main/java/com/makeit/enums/platform/alarm/PlatAlarmRecordEnum.java
0 → 100644
View file @
aa5d6f78
package
com
.
makeit
.
enums
.
platform
.
alarm
;
import
com.makeit.enums.BaseEnum
;
import
com.makeit.utils.sys.SysDictUtil
;
public
class
PlatAlarmRecordEnum
{
public
enum
AlarmRecordStatusEnum
implements
BaseEnum
{
HANDLED
(
"alarm.alarmRecordStatus.handled"
),
UNHANDLED
(
"alarm.alarmRecordStatus.unhandled"
);
private
String
code
;
AlarmRecordStatusEnum
(
String
code
)
{
this
.
code
=
code
;
}
public
String
getValue
()
{
return
SysDictUtil
.
getValue
(
code
);
}
}
}
server-service/src/main/java/com/makeit/enums/platform/auth/PlatOrgEnum.java
0 → 100644
View file @
aa5d6f78
package
com
.
makeit
.
enums
.
platform
.
auth
;
import
com.makeit.enums.BaseEnum
;
import
com.makeit.utils.sys.SysDictUtil
;
/**
* Controller
*
* @author zm
* @version 2023/9/8
*/
public
class
PlatOrgEnum
{
public
enum
OrgTypeEnum
implements
BaseEnum
{
HOME
(
"org.type.home"
),
INSTITUTION
(
"org.type.institution"
);
private
String
code
;
OrgTypeEnum
(
String
code
)
{
this
.
code
=
code
;
}
@Override
public
String
getValue
()
{
return
SysDictUtil
.
getValue
(
code
);
}
}
}
server-service/src/main/java/com/makeit/enums/platform/device/PlatDeviceEnum.java
View file @
aa5d6f78
...
@@ -19,7 +19,7 @@ public class PlatDeviceEnum {
...
@@ -19,7 +19,7 @@ public class PlatDeviceEnum {
}
}
public
enum
CategoryEnum
implements
BaseEnum
{
public
enum
CategoryEnum
implements
BaseEnum
{
HEART
(
"device.category.heart"
),
FALL
(
"device.
status.fall"
),
SPACE
(
"device.status
.space"
);
HEART
(
"device.category.heart"
),
FALL
(
"device.
category.fall"
),
SPACE
(
"device.category
.space"
);
private
String
code
;
private
String
code
;
...
...
server-service/src/main/java/com/makeit/mapper/platform/space/PlatBedMapper.java
View file @
aa5d6f78
...
@@ -17,4 +17,6 @@ public interface PlatBedMapper extends BaseMapper<PlatBed> {
...
@@ -17,4 +17,6 @@ public interface PlatBedMapper extends BaseMapper<PlatBed> {
List
<
PlatBedPanoramaVO
>
selectBySpaceIdAndStatus
(
@Param
(
"dto"
)
PlatBedPanoramaDTO
dto
);
List
<
PlatBedPanoramaVO
>
selectBySpaceIdAndStatus
(
@Param
(
"dto"
)
PlatBedPanoramaDTO
dto
);
List
<
PlatBedPanoramaVO
>
selectByRoomIdAndStatus
(
@Param
(
"dto"
)
PlatBedPanoramaDTO
dto
);
List
<
PlatBedPanoramaVO
>
selectByRoomIdAndStatus
(
@Param
(
"dto"
)
PlatBedPanoramaDTO
dto
);
long
countByOrdIdsAndType
(
@Param
(
"orgIds"
)
List
<
String
>
orgIds
,
@Param
(
"orgType"
)
String
orgType
);
}
}
server-service/src/main/java/com/makeit/mapper/platform/sys/PlatLogoConfigMapper.java
0 → 100644
View file @
aa5d6f78
package
com
.
makeit
.
mapper
.
platform
.
sys
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.makeit.entity.platform.sys.PlatLogoConfig
;
/**
* @Author:lzy
* @Date:2023/9/12 10:21
* @Describe:
*/
public
interface
PlatLogoConfigMapper
extends
BaseMapper
<
PlatLogoConfig
>
{
}
server-service/src/main/java/com/makeit/service/platform/alarm/PlatAlarmRecordService.java
View file @
aa5d6f78
...
@@ -3,6 +3,7 @@ package com.makeit.service.platform.alarm;
...
@@ -3,6 +3,7 @@ package com.makeit.service.platform.alarm;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.makeit.common.page.PageReqDTO
;
import
com.makeit.common.page.PageReqDTO
;
import
com.makeit.common.page.PageVO
;
import
com.makeit.common.page.PageVO
;
import
com.makeit.dto.platform.alarm.PlatAlarmCheckDTO
;
import
com.makeit.dto.platform.alarm.PlatAlarmRecordQueryDTO
;
import
com.makeit.dto.platform.alarm.PlatAlarmRecordQueryDTO
;
import
com.makeit.entity.platform.alarm.PlatAlarmConfig
;
import
com.makeit.entity.platform.alarm.PlatAlarmConfig
;
import
com.makeit.entity.platform.alarm.PlatAlarmRecord
;
import
com.makeit.entity.platform.alarm.PlatAlarmRecord
;
...
@@ -52,4 +53,8 @@ public interface PlatAlarmRecordService extends IService<PlatAlarmRecord> {
...
@@ -52,4 +53,8 @@ public interface PlatAlarmRecordService extends IService<PlatAlarmRecord> {
* 设备告警调用 发送消息
* 设备告警调用 发送消息
*/
*/
void
noticeDeviceAlarm
(
PlatAlarmConfig
alarmConfig
,
PlatAlarmRecord
alarmRecord
);
void
noticeDeviceAlarm
(
PlatAlarmConfig
alarmConfig
,
PlatAlarmRecord
alarmRecord
);
PlatAlarmRecord
createPlatAlarmRecord
(
PlatAlarmCheckDTO
platAlarmCheckDTO
);
PlatAlarmCheckDTO
getElderListByDeviceId
(
PlatAlarmCheckDTO
platAlarmCheckDTO
);
}
}
server-service/src/main/java/com/makeit/service/platform/alarm/alarmStrategy/BehaviorAlarm.java
0 → 100644
View file @
aa5d6f78
package
com
.
makeit
.
service
.
platform
.
alarm
.
alarmStrategy
;
import
com.alibaba.fastjson.JSONObject
;
import
com.makeit.dto.platform.alarm.PlatAlarmCheckDTO
;
import
com.makeit.dto.platform.alarm.PlatAlarmConfigBehaviorDTOVO
;
import
com.makeit.entity.platform.alarm.PlatAlarmConfig
;
import
com.makeit.entity.platform.alarm.PlatAlarmRecord
;
import
com.makeit.entity.platform.device.PlatDevice
;
import
com.makeit.enums.platform.alarm.PlatAlarmConfigEnum
;
import
com.makeit.enums.redis.RedisConst
;
import
com.makeit.service.platform.alarm.PlatAlarmRecordService
;
import
com.makeit.utils.data.convert.JsonUtil
;
import
com.makeit.utils.redis.RedisUtil
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.scheduling.annotation.Async
;
import
org.springframework.stereotype.Component
;
import
java.util.Arrays
;
import
java.util.Date
;
import
java.util.List
;
@Component
public
class
BehaviorAlarm
implements
IAlarm
{
@Autowired
private
PlatAlarmRecordService
platAlarmRecordService
;
private
PlatAlarmConfigEnum
.
AlarmTypeEnum
alarmTypeEnum
=
PlatAlarmConfigEnum
.
AlarmTypeEnum
.
BEHAVIOR
;
@Override
public
boolean
support
(
String
alarmType
)
{
return
StringUtils
.
equals
(
alarmType
,
alarmTypeEnum
.
getValue
());
}
/**
* 3.行为异常:若长者当在某个空间停留的时间高于长者最近7天在每个空间区域停留时间的平均值+区间(区间在行为异常告警处配置)
* @param platAlarmCheckDTO
*/
@Override
public
void
checkConfig
(
PlatAlarmCheckDTO
platAlarmCheckDTO
)
{
PlatAlarmConfig
config
=
platAlarmCheckDTO
.
getPlatAlarmConfig
();
String
ruleConfigStr
=
config
.
getRuleConfig
();
JSONObject
properties
=
platAlarmCheckDTO
.
getProperties
();
PlatDevice
platDevice
=
platAlarmCheckDTO
.
getPlatDevice
();
String
deviceId
=
platDevice
.
getOriDeviceId
();
if
(
StringUtils
.
isBlank
(
ruleConfigStr
))
{
return
;
}
String
personState
=
(
String
)
properties
.
get
(
"personState"
);
PlatAlarmConfigBehaviorDTOVO
ruleConfig
=
JsonUtil
.
toObj
(
ruleConfigStr
,
PlatAlarmConfigBehaviorDTOVO
.
class
);
Integer
duration
=
ruleConfig
.
getDuration
();
duration
=
duration
*
60
;
//todo duration+平均停留时长
List
<
String
>
personStateList
=
Arrays
.
asList
(
"1"
,
"2"
,
"3"
);
//有人
//计数
long
endLong
=
new
Date
().
getTime
();
Long
startLong
=
RedisUtil
.
get
(
RedisConst
.
ALARM_DEVICE_ID
+
deviceId
);
if
(
personStateList
.
contains
(
personState
))
{
long
count
=
endLong
-
startLong
;
if
(
startLong
==
null
){
RedisUtil
.
set
(
RedisConst
.
ALARM_DEVICE_ID
+
deviceId
,
endLong
);
return
;
}
if
(
count
>=
duration
)
{
notice
(
platAlarmCheckDTO
);
RedisUtil
.
set
(
RedisConst
.
ALARM_DEVICE_ID
+
deviceId
,
startLong
);
}
}
else
{
//
RedisUtil
.
set
(
RedisConst
.
ALARM_DEVICE_ID
+
deviceId
,
null
);
}
}
@Override
@Async
public
void
notice
(
PlatAlarmCheckDTO
platAlarmCheckDTO
)
{
platAlarmRecordService
.
getElderListByDeviceId
(
platAlarmCheckDTO
);
platAlarmCheckDTO
.
getParam
().
add
(
"房间名"
);
PlatAlarmRecord
platAlarmRecord
=
platAlarmRecordService
.
createPlatAlarmRecord
(
platAlarmCheckDTO
);
platAlarmRecordService
.
noticeDeviceAlarm
(
platAlarmCheckDTO
.
getPlatAlarmConfig
(),
platAlarmRecord
);
}
}
server-service/src/main/java/com/makeit/service/platform/alarm/alarmStrategy/BreathAlarm.java
0 → 100644
View file @
aa5d6f78
package
com
.
makeit
.
service
.
platform
.
alarm
.
alarmStrategy
;
import
com.alibaba.fastjson.JSONObject
;
import
com.makeit.dto.platform.alarm.PlatAlarmCheckDTO
;
import
com.makeit.dto.platform.alarm.PlatAlarmConfigRespiratoryDTOVO
;
import
com.makeit.entity.platform.alarm.PlatAlarmConfig
;
import
com.makeit.entity.platform.alarm.PlatAlarmRecord
;
import
com.makeit.entity.platform.device.PlatDevice
;
import
com.makeit.enums.platform.alarm.PlatAlarmConfigEnum
;
import
com.makeit.enums.redis.RedisConst
;
import
com.makeit.service.platform.alarm.PlatAlarmRecordService
;
import
com.makeit.utils.data.convert.JsonUtil
;
import
com.makeit.utils.redis.RedisUtil
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.scheduling.annotation.Async
;
import
org.springframework.stereotype.Component
;
import
java.util.Date
;
@Component
public
class
BreathAlarm
implements
IAlarm
{
@Autowired
private
PlatAlarmRecordService
platAlarmRecordService
;
private
PlatAlarmConfigEnum
.
AlarmTypeEnum
alarmTypeEnum
=
PlatAlarmConfigEnum
.
AlarmTypeEnum
.
BREATHE
;
@Override
public
boolean
support
(
String
alarmType
)
{
return
StringUtils
.
equals
(
alarmType
,
alarmTypeEnum
.
getValue
());
}
/**
* 2.呼吸异常/心率异常:长者关联的呼吸心率雷达上报的呼吸和心率不在配置的阈值范围内,且满足持续时间进行告警,
* 若该长者在长者管理处有配置阈值,则以长者个人的阈值为准,若无,则以此处配置的通用规则为准
*
* 心率呼吸率低于阈值且满足持续时间,则对应状态为呼吸过缓/心率过缓,高于阈值且满足持续时间,
* 对应状态为呼吸过速/心率过速,呼吸心率为0且满足持续时间为呼吸暂停
* @param platAlarmCheckDTO
*/
@Override
public
void
checkConfig
(
PlatAlarmCheckDTO
platAlarmCheckDTO
)
{
PlatAlarmConfig
config
=
platAlarmCheckDTO
.
getPlatAlarmConfig
();
String
ruleConfigStr
=
config
.
getRuleConfig
();
JSONObject
properties
=
platAlarmCheckDTO
.
getProperties
();
PlatDevice
platDevice
=
platAlarmCheckDTO
.
getPlatDevice
();
String
deviceId
=
platDevice
.
getOriDeviceId
();
if
(
StringUtils
.
isBlank
(
ruleConfigStr
))
{
return
;
}
String
personState
=
(
String
)
properties
.
get
(
"personState"
);
//呼吸率
int
br
=
(
int
)
properties
.
get
(
"br"
);
PlatAlarmConfigRespiratoryDTOVO
ruleConfig
=
JsonUtil
.
toObj
(
ruleConfigStr
,
PlatAlarmConfigRespiratoryDTOVO
.
class
);
Integer
start
=
ruleConfig
.
getRespiratoryRateStart
();
Integer
end
=
ruleConfig
.
getRespiratoryRateEnd
();
Integer
duration
=
ruleConfig
.
getDuration
();
long
endLong
=
new
Date
().
getTime
();
//计数
Long
startLong
=
RedisUtil
.
get
(
RedisConst
.
ALARM_DEVICE_ID
+
deviceId
);
if
(
StringUtils
.
equals
(
personState
,
"0"
)||
startLong
==
null
)
{
RedisUtil
.
set
(
RedisConst
.
ALARM_DEVICE_ID
+
deviceId
,
endLong
/
1000
);
return
;
}
long
count
=
endLong
-
startLong
;
if
(
br
>
end
||
br
<
start
)
{
if
(
count
>=
duration
)
{
notice
(
platAlarmCheckDTO
);
RedisUtil
.
set
(
RedisConst
.
ALARM_DEVICE_ID
+
deviceId
,
endLong
/
1000
);
}
}
else
{
RedisUtil
.
set
(
RedisConst
.
ALARM_DEVICE_ID
+
deviceId
,
endLong
/
1000
);
}
return
;
}
@Override
@Async
public
void
notice
(
PlatAlarmCheckDTO
platAlarmCheckDTO
)
{
platAlarmRecordService
.
getElderListByDeviceId
(
platAlarmCheckDTO
);
platAlarmCheckDTO
.
getParam
().
add
(
"呼吸状态111"
);
PlatAlarmRecord
platAlarmRecord
=
platAlarmRecordService
.
createPlatAlarmRecord
(
platAlarmCheckDTO
);
platAlarmRecordService
.
noticeDeviceAlarm
(
platAlarmCheckDTO
.
getPlatAlarmConfig
(),
platAlarmRecord
);
}
}
server-service/src/main/java/com/makeit/service/platform/alarm/alarmStrategy/FallAlarm.java
0 → 100644
View file @
aa5d6f78
package
com
.
makeit
.
service
.
platform
.
alarm
.
alarmStrategy
;
import
com.alibaba.fastjson.JSONObject
;
import
com.makeit.dto.platform.alarm.PlatAlarmCheckDTO
;
import
com.makeit.entity.platform.alarm.PlatAlarmRecord
;
import
com.makeit.enums.platform.alarm.PlatAlarmConfigEnum
;
import
com.makeit.service.platform.alarm.PlatAlarmRecordService
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.scheduling.annotation.Async
;
import
org.springframework.stereotype.Component
;
@Component
public
class
FallAlarm
implements
IAlarm
{
@Autowired
private
PlatAlarmRecordService
platAlarmRecordService
;
private
PlatAlarmConfigEnum
.
AlarmTypeEnum
alarmTypeEnum
=
PlatAlarmConfigEnum
.
AlarmTypeEnum
.
FALL
;
@Override
public
boolean
support
(
String
alarmType
)
{
return
StringUtils
.
equals
(
alarmType
,
alarmTypeEnum
.
getValue
());
}
/**
* 1.长者跌倒:长者所在空间的跌倒监测雷达上报跌倒,若一个空间内有多为长者,则同时告警多条
* @param platAlarmCheckDTO
*/
@Override
public
void
checkConfig
(
PlatAlarmCheckDTO
platAlarmCheckDTO
)
{
JSONObject
properties
=
platAlarmCheckDTO
.
getProperties
();
String
personState
=
(
String
)
properties
.
get
(
"personState"
);
if
(
StringUtils
.
equals
(
personState
,
"1"
))
{
notice
(
platAlarmCheckDTO
);
}
}
@Override
@Async
public
void
notice
(
PlatAlarmCheckDTO
platAlarmCheckDTO
)
{
platAlarmRecordService
.
getElderListByDeviceId
(
platAlarmCheckDTO
);
platAlarmCheckDTO
.
getParam
().
add
(
"房间名111"
);
PlatAlarmRecord
platAlarmRecord
=
platAlarmRecordService
.
createPlatAlarmRecord
(
platAlarmCheckDTO
);
platAlarmRecordService
.
noticeDeviceAlarm
(
platAlarmCheckDTO
.
getPlatAlarmConfig
(),
platAlarmRecord
);
}
}
server-service/src/main/java/com/makeit/service/platform/alarm/alarmStrategy/HeartAlarm.java
0 → 100644
View file @
aa5d6f78
package
com
.
makeit
.
service
.
platform
.
alarm
.
alarmStrategy
;
import
com.alibaba.fastjson.JSONObject
;
import
com.makeit.dto.platform.alarm.PlatAlarmCheckDTO
;
import
com.makeit.dto.platform.alarm.PlatAlarmConfigHeartDTOVO
;
import
com.makeit.entity.platform.alarm.PlatAlarmConfig
;
import
com.makeit.entity.platform.alarm.PlatAlarmRecord
;
import
com.makeit.entity.platform.device.PlatDevice
;
import
com.makeit.enums.platform.alarm.PlatAlarmConfigEnum
;
import
com.makeit.enums.redis.RedisConst
;
import
com.makeit.service.platform.alarm.PlatAlarmRecordService
;
import
com.makeit.utils.data.convert.JsonUtil
;
import
com.makeit.utils.redis.RedisUtil
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.scheduling.annotation.Async
;
import
org.springframework.stereotype.Component
;
import
java.util.Date
;
@Component
public
class
HeartAlarm
implements
IAlarm
{
@Autowired
private
PlatAlarmRecordService
platAlarmRecordService
;
private
PlatAlarmConfigEnum
.
AlarmTypeEnum
alarmTypeEnum
=
PlatAlarmConfigEnum
.
AlarmTypeEnum
.
HEART
;
@Override
public
boolean
support
(
String
alarmType
)
{
return
StringUtils
.
equals
(
alarmType
,
alarmTypeEnum
.
getValue
());
}
@Override
public
void
checkConfig
(
PlatAlarmCheckDTO
platAlarmCheckDTO
)
{
PlatAlarmConfig
config
=
platAlarmCheckDTO
.
getPlatAlarmConfig
();
String
ruleConfigStr
=
config
.
getRuleConfig
();
JSONObject
properties
=
platAlarmCheckDTO
.
getProperties
();
PlatDevice
platDevice
=
platAlarmCheckDTO
.
getPlatDevice
();
String
deviceId
=
platDevice
.
getOriDeviceId
();
if
(
StringUtils
.
isBlank
(
ruleConfigStr
))
{
return
;
}
String
personState
=
(
String
)
properties
.
get
(
"personState"
);
//心率
int
hr
=
(
int
)
properties
.
get
(
"hr"
);
PlatAlarmConfigHeartDTOVO
ruleConfig
=
JsonUtil
.
toObj
(
ruleConfigStr
,
PlatAlarmConfigHeartDTOVO
.
class
);
Integer
start
=
ruleConfig
.
getHeartRateStart
();
Integer
end
=
ruleConfig
.
getHeartRateEnd
();
Integer
duration
=
ruleConfig
.
getDuration
();
long
endLong
=
new
Date
().
getTime
();
//计数
Long
startLong
=
RedisUtil
.
get
(
RedisConst
.
ALARM_DEVICE_ID
+
deviceId
);
if
(
StringUtils
.
equals
(
personState
,
"0"
)||
startLong
==
null
)
{
RedisUtil
.
set
(
RedisConst
.
ALARM_DEVICE_ID
+
deviceId
,
endLong
/
1000
);
return
;
}
long
count
=
endLong
-
startLong
;
if
(
hr
>
end
||
hr
<
start
)
{
if
(
count
>=
duration
)
{
notice
(
platAlarmCheckDTO
);
RedisUtil
.
set
(
RedisConst
.
ALARM_DEVICE_ID
+
deviceId
,
endLong
/
1000
);
}
}
else
{
RedisUtil
.
set
(
RedisConst
.
ALARM_DEVICE_ID
+
deviceId
,
endLong
/
1000
);
}
}
@Override
@Async
public
void
notice
(
PlatAlarmCheckDTO
platAlarmCheckDTO
)
{
platAlarmRecordService
.
getElderListByDeviceId
(
platAlarmCheckDTO
);
platAlarmCheckDTO
.
getParam
().
add
(
"呼吸状态111"
);
PlatAlarmRecord
platAlarmRecord
=
platAlarmRecordService
.
createPlatAlarmRecord
(
platAlarmCheckDTO
);
platAlarmRecordService
.
noticeDeviceAlarm
(
platAlarmCheckDTO
.
getPlatAlarmConfig
(),
platAlarmRecord
);
}
}
server-service/src/main/java/com/makeit/service/platform/alarm/alarmStrategy/IAlarm.java
0 → 100644
View file @
aa5d6f78
package
com
.
makeit
.
service
.
platform
.
alarm
.
alarmStrategy
;
import
com.makeit.dto.platform.alarm.PlatAlarmCheckDTO
;
public
interface
IAlarm
{
boolean
support
(
String
alarmType
);
void
checkConfig
(
PlatAlarmCheckDTO
platAlarmCheckDTO
);
void
notice
(
PlatAlarmCheckDTO
platAlarmCheckDTO
);
}
server-service/src/main/java/com/makeit/service/platform/alarm/impl/PlatAlarmConfigServiceImpl.java
View file @
aa5d6f78
...
@@ -14,17 +14,13 @@ import com.makeit.enums.id.IdConst;
...
@@ -14,17 +14,13 @@ import com.makeit.enums.id.IdConst;
import
com.makeit.exception.BusinessException
;
import
com.makeit.exception.BusinessException
;
import
com.makeit.global.aspect.tenant.TenantIdUtil
;
import
com.makeit.global.aspect.tenant.TenantIdUtil
;
import
com.makeit.mapper.platform.alarm.PlatAlarmConfigMapper
;
import
com.makeit.mapper.platform.alarm.PlatAlarmConfigMapper
;
import
com.makeit.module.admin.dto.plat.PlatTenantDTOVO
;
import
com.makeit.module.system.entity.SysConfig
;
import
com.makeit.module.system.entity.SysConfigCategory
;
import
com.makeit.service.platform.alarm.PlatAlarmConfigService
;
import
com.makeit.service.platform.alarm.PlatAlarmConfigService
;
import
com.makeit.service.platform.auth.PlatUserService
;
import
com.makeit.service.platform.auth.PlatUserService
;
import
com.makeit.utils.AlarmConfigCacheUtil
;
import
com.makeit.utils.data.convert.BeanDtoVoUtils
;
import
com.makeit.utils.data.convert.BeanDtoVoUtils
;
import
com.makeit.utils.data.convert.StreamUtil
;
import
com.makeit.utils.data.convert.StreamUtil
;
import
com.makeit.utils.data.validate.MapUtil
;
import
com.makeit.utils.old.StringUtils
;
import
com.makeit.utils.old.StringUtils
;
import
com.makeit.utils.sql.join.JoinUtil
;
import
com.makeit.utils.sql.join.JoinUtil
;
import
com.makeit.utils.user.plat.PlatUserVO
;
import
com.makeit.vo.platform.alarm.PlatAlarmConfigListVO
;
import
com.makeit.vo.platform.alarm.PlatAlarmConfigListVO
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
...
@@ -32,7 +28,6 @@ import org.springframework.transaction.annotation.Transactional;
...
@@ -32,7 +28,6 @@ import org.springframework.transaction.annotation.Transactional;
import
java.util.Arrays
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.function.BiConsumer
;
import
java.util.function.BiConsumer
;
/**
/**
...
@@ -49,6 +44,9 @@ public class PlatAlarmConfigServiceImpl extends ServiceImpl<PlatAlarmConfigMappe
...
@@ -49,6 +44,9 @@ public class PlatAlarmConfigServiceImpl extends ServiceImpl<PlatAlarmConfigMappe
@Autowired
@Autowired
private
PlatUserService
platUserService
;
private
PlatUserService
platUserService
;
@Autowired
private
AlarmConfigCacheUtil
alarmConfigUtil
;
@Override
@Override
public
List
<
PlatAlarmConfigListVO
>
list
(
PlatAlarmConfigQueryDTO
dto
)
{
public
List
<
PlatAlarmConfigListVO
>
list
(
PlatAlarmConfigQueryDTO
dto
)
{
...
@@ -76,6 +74,8 @@ public class PlatAlarmConfigServiceImpl extends ServiceImpl<PlatAlarmConfigMappe
...
@@ -76,6 +74,8 @@ public class PlatAlarmConfigServiceImpl extends ServiceImpl<PlatAlarmConfigMappe
save
(
alarmConfig
);
save
(
alarmConfig
);
alarmConfigUtil
.
put
(
alarmConfig
);
}
}
@Override
@Override
...
@@ -91,12 +91,19 @@ public class PlatAlarmConfigServiceImpl extends ServiceImpl<PlatAlarmConfigMappe
...
@@ -91,12 +91,19 @@ public class PlatAlarmConfigServiceImpl extends ServiceImpl<PlatAlarmConfigMappe
updateById
(
alarmConfig
);
updateById
(
alarmConfig
);
alarmConfigUtil
.
put
(
alarmConfig
);
}
}
@Override
@Override
@Transactional
@Transactional
public
void
edit
(
PlatAlarmConfigDTOVO
dto
)
{
public
void
edit
(
PlatAlarmConfigDTOVO
dto
)
{
updateById
(
BeanDtoVoUtils
.
convert
(
dto
,
PlatAlarmConfig
.
class
));
PlatAlarmConfig
alarmConfig
=
BeanDtoVoUtils
.
convert
(
dto
,
PlatAlarmConfig
.
class
);
updateById
(
alarmConfig
);
alarmConfigUtil
.
put
(
alarmConfig
);
}
}
@Override
@Override
...
@@ -144,6 +151,8 @@ public class PlatAlarmConfigServiceImpl extends ServiceImpl<PlatAlarmConfigMappe
...
@@ -144,6 +151,8 @@ public class PlatAlarmConfigServiceImpl extends ServiceImpl<PlatAlarmConfigMappe
alarmConfig
.
setStatus
(
dto
.
getStatus
());
alarmConfig
.
setStatus
(
dto
.
getStatus
());
updateById
(
alarmConfig
);
updateById
(
alarmConfig
);
alarmConfigUtil
.
put
(
alarmConfig
);
}
}
@Override
@Override
...
@@ -162,6 +171,8 @@ public class PlatAlarmConfigServiceImpl extends ServiceImpl<PlatAlarmConfigMappe
...
@@ -162,6 +171,8 @@ public class PlatAlarmConfigServiceImpl extends ServiceImpl<PlatAlarmConfigMappe
alarmConfig
.
setContentAudit
(
null
);
alarmConfig
.
setContentAudit
(
null
);
updateById
(
alarmConfig
);
updateById
(
alarmConfig
);
alarmConfigUtil
.
put
(
alarmConfig
);
}
}
@Transactional
@Transactional
...
@@ -193,6 +204,8 @@ public class PlatAlarmConfigServiceImpl extends ServiceImpl<PlatAlarmConfigMappe
...
@@ -193,6 +204,8 @@ public class PlatAlarmConfigServiceImpl extends ServiceImpl<PlatAlarmConfigMappe
});
});
saveBatch
(
configList
);
saveBatch
(
configList
);
alarmConfigUtil
.
putAll
(
configList
);
}
}
}
}
server-service/src/main/java/com/makeit/service/platform/alarm/impl/PlatAlarmRecordServiceImpl.java
View file @
aa5d6f78
...
@@ -7,11 +7,16 @@ import com.makeit.common.entity.BaseBusEntity;
...
@@ -7,11 +7,16 @@ import com.makeit.common.entity.BaseBusEntity;
import
com.makeit.common.entity.BaseEntity
;
import
com.makeit.common.entity.BaseEntity
;
import
com.makeit.common.page.PageReqDTO
;
import
com.makeit.common.page.PageReqDTO
;
import
com.makeit.common.page.PageVO
;
import
com.makeit.common.page.PageVO
;
import
com.makeit.dto.platform.alarm.PlatAlarmCheckDTO
;
import
com.makeit.dto.platform.alarm.PlatAlarmRecordQueryDTO
;
import
com.makeit.dto.platform.alarm.PlatAlarmRecordQueryDTO
;
import
com.makeit.entity.platform.alarm.PlatAlarmConfig
;
import
com.makeit.entity.platform.alarm.PlatAlarmConfig
;
import
com.makeit.entity.platform.alarm.PlatAlarmRecord
;
import
com.makeit.entity.platform.alarm.PlatAlarmRecord
;
import
com.makeit.entity.platform.auth.PlatUser
;
import
com.makeit.entity.platform.auth.PlatUser
;
import
com.makeit.entity.platform.device.PlatDevice
;
import
com.makeit.entity.platform.elder.PlatElder
;
import
com.makeit.entity.platform.elder.PlatElderChildrenInfo
;
import
com.makeit.entity.platform.elder.PlatElderChildrenInfo
;
import
com.makeit.entity.platform.space.PlatRoom
;
import
com.makeit.entity.platform.space.PlatRoomBedDevice
;
import
com.makeit.enums.CommonEnum
;
import
com.makeit.enums.CommonEnum
;
import
com.makeit.exception.BusinessException
;
import
com.makeit.exception.BusinessException
;
import
com.makeit.global.aspect.tenant.TenantIdIgnore
;
import
com.makeit.global.aspect.tenant.TenantIdIgnore
;
...
@@ -20,6 +25,9 @@ import com.makeit.service.platform.alarm.PlatAlarmConfigService;
...
@@ -20,6 +25,9 @@ import com.makeit.service.platform.alarm.PlatAlarmConfigService;
import
com.makeit.service.platform.alarm.PlatAlarmRecordService
;
import
com.makeit.service.platform.alarm.PlatAlarmRecordService
;
import
com.makeit.service.platform.auth.PlatUserService
;
import
com.makeit.service.platform.auth.PlatUserService
;
import
com.makeit.service.platform.elder.PlatElderChildrenInfoService
;
import
com.makeit.service.platform.elder.PlatElderChildrenInfoService
;
import
com.makeit.service.platform.elder.PlatElderService
;
import
com.makeit.service.platform.space.PlatRoomBedDeviceService
;
import
com.makeit.service.platform.space.PlatRoomService
;
import
com.makeit.utils.data.convert.BeanDtoVoUtils
;
import
com.makeit.utils.data.convert.BeanDtoVoUtils
;
import
com.makeit.utils.data.convert.PageUtil
;
import
com.makeit.utils.data.convert.PageUtil
;
import
com.makeit.utils.msg.MsgSendUtil
;
import
com.makeit.utils.msg.MsgSendUtil
;
...
@@ -40,9 +48,12 @@ import org.springframework.transaction.annotation.Transactional;
...
@@ -40,9 +48,12 @@ import org.springframework.transaction.annotation.Transactional;
import
java.time.LocalDateTime
;
import
java.time.LocalDateTime
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.Arrays
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Objects
;
import
java.util.Objects
;
import
java.util.Set
;
import
java.util.Set
;
import
java.util.regex.Matcher
;
import
java.util.regex.Pattern
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
/**
/**
...
@@ -65,6 +76,14 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe
...
@@ -65,6 +76,14 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe
@Autowired
@Autowired
private
MsgSendUtil
msgUtil
;
private
MsgSendUtil
msgUtil
;
@Autowired
private
PlatRoomBedDeviceService
platRoomBedDeviceService
;
@Autowired
private
PlatElderService
platElderService
;
@Autowired
private
PlatRoomService
platRoomService
;
@Override
@Override
public
PageVO
<
PlatAlarmRecordVO
>
page
(
PageReqDTO
<
PlatAlarmRecordQueryDTO
>
dto
)
{
public
PageVO
<
PlatAlarmRecordVO
>
page
(
PageReqDTO
<
PlatAlarmRecordQueryDTO
>
dto
)
{
PlatAlarmRecordQueryDTO
param
=
dto
.
getData
();
PlatAlarmRecordQueryDTO
param
=
dto
.
getData
();
...
@@ -276,5 +295,78 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe
...
@@ -276,5 +295,78 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe
}
}
}
}
@Override
public
PlatAlarmRecord
createPlatAlarmRecord
(
PlatAlarmCheckDTO
platAlarmCheckDTO
)
{
PlatAlarmConfig
config
=
platAlarmCheckDTO
.
getPlatAlarmConfig
();
PlatDevice
platDevice
=
platAlarmCheckDTO
.
getPlatDevice
();
List
<
String
>
param
=
platAlarmCheckDTO
.
getParam
();
List
<
PlatElder
>
elderList
=
platAlarmCheckDTO
.
getPlatElderList
();
String
elderNameJoin
=
elderList
.
stream
().
map
(
PlatElder:
:
getName
).
collect
(
Collectors
.
joining
(
" "
));
PlatAlarmRecord
platAlarmRecord
=
new
PlatAlarmRecord
();
platAlarmRecord
.
setAlarmId
(
config
.
getId
());
platAlarmRecord
.
setAlarmType
(
config
.
getAlarmType
());
platAlarmRecord
.
setAlarmDate
(
new
Date
());
platAlarmRecord
.
setStatus
(
"0"
);
//todo
platAlarmRecord
.
setContent
(
replaceParam
(
elderNameJoin
,
param
));
platAlarmRecord
.
setOrgId
(
platDevice
.
getOrgId
());
platAlarmRecord
.
setNotifyUser
(
config
.
getNotifyUser
());
platAlarmRecord
.
setDeviceId
(
platDevice
.
getId
());
platAlarmRecord
.
setElderIds
(
elderList
.
stream
().
map
(
BaseEntity:
:
getId
).
collect
(
Collectors
.
joining
(
","
)));
platAlarmRecord
.
setTenantId
(
config
.
getTenantId
());
return
platAlarmRecord
;
}
@Override
public
PlatAlarmCheckDTO
getElderListByDeviceId
(
PlatAlarmCheckDTO
platAlarmCheckDTO
)
{
PlatDevice
platDevice
=
platAlarmCheckDTO
.
getPlatDevice
();
LambdaQueryWrapper
<
PlatRoomBedDevice
>
roomBedDeviceLambdaQueryWrapper
=
new
LambdaQueryWrapper
<>();
roomBedDeviceLambdaQueryWrapper
.
eq
(
PlatRoomBedDevice:
:
getDeviceId
,
platDevice
.
getId
());
PlatRoomBedDevice
platRoomBedDevice
=
platRoomBedDeviceService
.
getOne
(
roomBedDeviceLambdaQueryWrapper
,
false
);
PlatRoom
platRoom
=
platRoomService
.
getById
(
platRoomBedDevice
.
getRoomId
());
platAlarmCheckDTO
.
setPlatRoom
(
platRoom
);
if
(
platRoomBedDevice
==
null
)
{
return
platAlarmCheckDTO
;
}
String
bedId
=
platRoomBedDevice
.
getBedId
();
if
(
StringUtils
.
isNotBlank
(
bedId
))
{
LambdaQueryWrapper
<
PlatElder
>
elderLambdaQueryWrapper
=
new
LambdaQueryWrapper
<>();
elderLambdaQueryWrapper
.
eq
(
PlatElder:
:
getBedId
,
bedId
);
List
<
PlatElder
>
list
=
platElderService
.
list
(
elderLambdaQueryWrapper
);
platAlarmCheckDTO
.
setPlatElderList
(
list
);
return
platAlarmCheckDTO
;
}
String
roomId
=
platRoomBedDevice
.
getRoomId
();
if
(
StringUtils
.
isNotBlank
(
roomId
))
{
LambdaQueryWrapper
<
PlatElder
>
elderLambdaQueryWrapper
=
new
LambdaQueryWrapper
<>();
elderLambdaQueryWrapper
.
eq
(
PlatElder:
:
getRoomId
,
roomId
);
List
<
PlatElder
>
list
=
platElderService
.
list
(
elderLambdaQueryWrapper
);
platAlarmCheckDTO
.
setPlatElderList
(
list
);
return
platAlarmCheckDTO
;
}
return
platAlarmCheckDTO
;
}
private
String
replaceParam
(
String
oriContent
,
List
<
String
>
param
)
{
Pattern
p
=
Pattern
.
compile
(
"\\[#\\d+\\]|\\[#[\\p{IsHan}]+\\]|\\[#[^\\]]*\\]"
);
Matcher
m
=
p
.
matcher
(
oriContent
);
StringBuffer
sb
=
new
StringBuffer
();
if
(!
m
.
find
())
{
return
oriContent
;
}
m
.
reset
();
int
i
=
0
;
while
(
m
.
find
())
{
m
.
appendReplacement
(
sb
,
param
.
get
(
i
));
i
++;
}
m
.
appendTail
(
sb
);
return
sb
.
toString
();
}
}
}
server-service/src/main/java/com/makeit/service/platform/auth/PlatOrgService.java
View file @
aa5d6f78
...
@@ -94,4 +94,6 @@ public interface PlatOrgService extends IService<PlatOrg> {
...
@@ -94,4 +94,6 @@ public interface PlatOrgService extends IService<PlatOrg> {
* @param platOrg
* @param platOrg
*/
*/
void
saveOrg
(
PlatOrg
platOrg
);
void
saveOrg
(
PlatOrg
platOrg
);
List
<
PlatOrg
>
createOrgTree
(
List
<
PlatOrg
>
orgList
);
}
}
server-service/src/main/java/com/makeit/service/platform/auth/impl/PlatOrgServiceImpl.java
View file @
aa5d6f78
...
@@ -302,9 +302,8 @@ public class PlatOrgServiceImpl extends ServiceImpl<PlatOrgMapper, PlatOrg>
...
@@ -302,9 +302,8 @@ public class PlatOrgServiceImpl extends ServiceImpl<PlatOrgMapper, PlatOrg>
public
void
edit
(
PlatOrg
dto
)
{
public
void
edit
(
PlatOrg
dto
)
{
check
(
dto
);
check
(
dto
);
if
(
StringUtils
.
isBlank
(
dto
.
getParentId
())||
StringUtils
.
equals
(
dto
.
getParentId
(),
"1"
))
{
if
(
StringUtils
.
isBlank
(
dto
.
getParentId
())||
StringUtils
.
equals
(
dto
.
getParentId
(),
"1"
))
{
String
tenantId
=
TenantIdUtil
.
getTenantId
();
dto
.
setParentId
(
"1"
);
dto
.
setParentId
(
tenantId
);
dto
.
setPath
(
"1"
);
dto
.
setPath
(
tenantId
);
}
else
{
}
else
{
PlatOrg
parent
=
getById
(
dto
.
getParentId
());
PlatOrg
parent
=
getById
(
dto
.
getParentId
());
dto
.
setPath
(
parent
.
getPath
()
+
","
+
parent
.
getId
());
dto
.
setPath
(
parent
.
getPath
()
+
","
+
parent
.
getId
());
...
@@ -453,7 +452,11 @@ public class PlatOrgServiceImpl extends ServiceImpl<PlatOrgMapper, PlatOrg>
...
@@ -453,7 +452,11 @@ public class PlatOrgServiceImpl extends ServiceImpl<PlatOrgMapper, PlatOrg>
public
List
<
PlatOrg
>
createOrgTree
(
List
<
PlatOrg
>
orgList
)
{
public
List
<
PlatOrg
>
createOrgTree
(
List
<
PlatOrg
>
orgList
)
{
Map
<
String
,
PlatOrg
>
orgMap
=
orgList
.
stream
().
collect
(
Collectors
.
toMap
(
BaseEntity:
:
getId
,
vo
->
vo
,
(
a
,
b
)
->
a
));
Map
<
String
,
PlatOrg
>
orgMap
=
orgList
.
stream
().
collect
(
Collectors
.
toMap
(
BaseEntity:
:
getId
,
vo
->
vo
,
(
a
,
b
)
->
a
));
for
(
PlatOrg
platOrg
:
orgList
)
{
for
(
PlatOrg
platOrg
:
orgList
)
{
String
[]
split
=
platOrg
.
getPath
().
split
(
","
);
String
path
=
platOrg
.
getPath
();
if
(
StringUtils
.
isBlank
(
path
)){
continue
;
}
String
[]
split
=
path
.
split
(
","
);
findParent
(
orgMap
,
platOrg
,
split
,
split
.
length
-
1
);
findParent
(
orgMap
,
platOrg
,
split
,
split
.
length
-
1
);
}
}
return
orgList
.
stream
().
filter
(
vo
->
StringUtils
.
isBlank
(
vo
.
getParentNodeId
())).
collect
(
Collectors
.
toList
());
return
orgList
.
stream
().
filter
(
vo
->
StringUtils
.
isBlank
(
vo
.
getParentNodeId
())).
collect
(
Collectors
.
toList
());
...
@@ -514,7 +517,9 @@ public class PlatOrgServiceImpl extends ServiceImpl<PlatOrgMapper, PlatOrg>
...
@@ -514,7 +517,9 @@ public class PlatOrgServiceImpl extends ServiceImpl<PlatOrgMapper, PlatOrg>
private
LambdaQueryWrapper
<
PlatOrg
>
getLambdaQueryWrapper
(
PlatOrgQueryDTO
dto
)
{
private
LambdaQueryWrapper
<
PlatOrg
>
getLambdaQueryWrapper
(
PlatOrgQueryDTO
dto
)
{
LambdaQueryWrapper
<
PlatOrg
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
LambdaQueryWrapper
<
PlatOrg
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
queryWrapper
.
eq
(
PlatOrg:
:
getParentId
,
dto
.
getParentId
())
queryWrapper
.
eq
(
StringUtils
.
isNotBlank
(
dto
.
getParentId
()),
PlatOrg:
:
getParentId
,
dto
.
getParentId
())
.
like
(
StringUtils
.
isNotBlank
(
dto
.
getName
()),
PlatOrg:
:
getName
,
dto
.
getName
())
.
eq
(
StringUtils
.
isNotBlank
(
dto
.
getType
()),
PlatOrg:
:
getType
,
dto
.
getType
())
.
orderByDesc
(
BaseEntity:
:
getUpdateDate
);
.
orderByDesc
(
BaseEntity:
:
getUpdateDate
);
return
queryWrapper
;
return
queryWrapper
;
}
}
...
@@ -524,8 +529,32 @@ public class PlatOrgServiceImpl extends ServiceImpl<PlatOrgMapper, PlatOrg>
...
@@ -524,8 +529,32 @@ public class PlatOrgServiceImpl extends ServiceImpl<PlatOrgMapper, PlatOrg>
public
List
<
PlatOrg
>
subOrgList
(
PlatOrgQueryDTO
platOrgQueryDTO
)
{
public
List
<
PlatOrg
>
subOrgList
(
PlatOrgQueryDTO
platOrgQueryDTO
)
{
LambdaQueryWrapper
<
PlatOrg
>
queryWrapper
=
getLambdaQueryWrapper
(
platOrgQueryDTO
);
LambdaQueryWrapper
<
PlatOrg
>
queryWrapper
=
getLambdaQueryWrapper
(
platOrgQueryDTO
);
List
<
PlatOrg
>
list
=
list
(
queryWrapper
);
if
(
CollectionUtils
.
isEmpty
(
list
)){
return
new
ArrayList
<>();
}
Set
<
String
>
filterSet
=
list
.
stream
().
flatMap
(
vo
->
{
String
path
=
vo
.
getPath
()+
","
+
vo
.
getId
();
String
[]
split
=
path
.
split
(
","
);
return
Stream
.
of
(
split
);
}).
collect
(
Collectors
.
toSet
());
List
<
PlatOrg
>
total
=
list
();
List
<
PlatOrg
>
orgTree
=
createOrgTree2
(
total
,
filterSet
);
return
orgTree
;
}
private
List
<
PlatOrg
>
createOrgTree2
(
List
<
PlatOrg
>
orgList
,
Set
<
String
>
filterSet
){
if
(
CollectionUtils
.
isEmpty
(
orgList
)){
return
new
ArrayList
<>();
}
Map
<
String
,
List
<
PlatOrg
>>
parentMap
=
orgList
.
stream
()
.
filter
(
vo
->
filterSet
.
contains
(
vo
.
getId
()))
.
collect
(
Collectors
.
groupingBy
(
PlatOrg:
:
getParentId
));
orgList
.
forEach
(
vo
->{
vo
.
setChildren
(
parentMap
.
get
(
vo
.
getId
()));
});
return
list
(
queryWrapper
);
return
orgList
.
stream
().
filter
(
vo
->
StringUtils
.
equals
(
vo
.
getParentId
(),
"1"
)).
collect
(
Collectors
.
toList
()
);
}
}
/**
/**
...
...
server-service/src/main/java/com/makeit/service/platform/auth/impl/PlatUserServiceImpl.java
View file @
aa5d6f78
...
@@ -756,7 +756,7 @@ public class PlatUserServiceImpl extends ServiceImpl<PlatUserMapper, PlatUser>
...
@@ -756,7 +756,7 @@ public class PlatUserServiceImpl extends ServiceImpl<PlatUserMapper, PlatUser>
private
void
setRoleList
(
PlatPersonDTOVO
dto
)
{
private
void
setRoleList
(
PlatPersonDTOVO
dto
)
{
platUserRoleService
.
remove
(
new
QueryWrapper
<
PlatUserRole
>().
lambda
()
platUserRoleService
.
remove
(
new
QueryWrapper
<
PlatUserRole
>().
lambda
()
.
eq
(
PlatUserRole:
:
getUserId
,
dto
.
getId
()));
.
eq
(
PlatUserRole:
:
getUserId
,
dto
.
getId
()));
if
(
dto
.
getRoleList
()
!=
null
)
{
if
(
dto
.
getRole
Id
List
()
!=
null
)
{
List
<
PlatUserRole
>
userRoleList
=
StreamUtil
.
map
(
dto
.
getRoleIdList
(),
e
->
{
List
<
PlatUserRole
>
userRoleList
=
StreamUtil
.
map
(
dto
.
getRoleIdList
(),
e
->
{
PlatUserRole
tntUserRole
=
new
PlatUserRole
();
PlatUserRole
tntUserRole
=
new
PlatUserRole
();
tntUserRole
.
setUserId
(
dto
.
getId
());
tntUserRole
.
setUserId
(
dto
.
getId
());
...
@@ -1045,33 +1045,37 @@ public class PlatUserServiceImpl extends ServiceImpl<PlatUserMapper, PlatUser>
...
@@ -1045,33 +1045,37 @@ public class PlatUserServiceImpl extends ServiceImpl<PlatUserMapper, PlatUser>
Map
<
String
,
String
>
mobileMap
=
userList
.
stream
().
collect
(
Collectors
.
toMap
(
PlatUser:
:
getMobile
,
BaseEntity:
:
getId
,
(
a
,
b
)
->
a
));
Map
<
String
,
String
>
mobileMap
=
userList
.
stream
().
collect
(
Collectors
.
toMap
(
PlatUser:
:
getMobile
,
BaseEntity:
:
getId
,
(
a
,
b
)
->
a
));
Map
<
String
,
String
>
emailMap
=
userList
.
stream
().
collect
(
Collectors
.
toMap
(
PlatUser:
:
getEmail
,
BaseEntity:
:
getId
,
(
a
,
b
)
->
a
));
Map
<
String
,
String
>
emailMap
=
userList
.
stream
().
collect
(
Collectors
.
toMap
(
PlatUser:
:
getEmail
,
BaseEntity:
:
getId
,
(
a
,
b
)
->
a
));
return
ExcelValidatorUtil
.
validate
(
platUserImportDTOS
,
list
->
{
return
ExcelValidatorUtil
.
validate
Main
(
3
,
platUserImportDTOS
,
list
->
{
List
<
ExcelErrorVo
>
errorVoList
=
new
ArrayList
<>();
List
<
ExcelErrorVo
>
errorVoList
=
new
ArrayList
<>();
int
start
=
3
;
int
start
=
3
;
for
(
int
i
=
0
;
i
<
list
.
size
();
i
++)
{
for
(
int
i
=
0
;
i
<
platUserImportDTOS
.
size
();
i
++)
{
PlatUserImportDTO
dto
=
list
.
get
(
i
);
PlatUserImportDTO
dto
=
platUserImportDTOS
.
get
(
i
);
ExcelErrorVo
.
isNotNull
(
dto
.
getUsername
(),
errorVoList
,
start
+
i
,
"姓名*"
);
ExcelErrorVo
.
isNotNull
(
dto
.
getUsername
(),
errorVoList
,
start
+
i
,
"姓名*"
);
ExcelErrorVo
.
isNotNull
(
dto
.
getMobile
(),
errorVoList
,
start
+
i
,
"手机号*"
);
ExcelErrorVo
.
isNotNull
(
dto
.
getMobile
(),
errorVoList
,
start
+
i
,
"手机号*"
);
ExcelErrorVo
.
isNotNull
(
dto
.
getRoleName
(),
errorVoList
,
start
+
i
,
"
角色*
"
);
ExcelErrorVo
.
isNotNull
(
dto
.
getRoleName
(),
errorVoList
,
start
+
i
,
"
*角色
"
);
ExcelErrorVo
.
isNotNull
(
dto
.
get
RoleName
(),
errorVoList
,
start
+
i
,
"所属组织*
"
);
ExcelErrorVo
.
isNotNull
(
dto
.
get
OrgName
(),
errorVoList
,
start
+
i
,
"*所属组织
"
);
ExcelErrorVo
.
notExists
(
orgNameMap
.
get
(
dto
.
getOrgName
()),
errorVoList
,
start
+
i
,
"
所属组织*
"
);
ExcelErrorVo
.
notExists
(
orgNameMap
.
get
(
dto
.
getOrgName
()),
errorVoList
,
start
+
i
,
"
*所属组织
"
);
ExcelErrorVo
.
notExists
(
roleNameMap
.
get
(
dto
.
getRoleName
()),
errorVoList
,
start
+
i
,
"
角色*
"
);
ExcelErrorVo
.
notExists
(
roleNameMap
.
get
(
dto
.
getRoleName
()),
errorVoList
,
start
+
i
,
"
*角色
"
);
ExcelErrorVo
.
notExists
(
mobileMap
.
get
(
dto
.
getMobile
()),
errorVoList
,
start
+
i
,
"手机号*"
);
ExcelErrorVo
.
exists
(
mobileMap
,
mobileMap
.
get
(
dto
.
getMobile
()),
errorVoList
,
start
+
i
,
"手机号*"
);
ExcelErrorVo
.
notExists
(
emailMap
.
get
(
dto
.
getEmail
()),
errorVoList
,
start
+
i
,
"邮箱"
);
ExcelErrorVo
.
exists
(
emailMap
,
emailMap
.
get
(
dto
.
getEmail
()),
errorVoList
,
start
+
i
,
"邮箱"
);
}
}
if
(
errorVoList
.
isEmpty
()){
if
(
errorVoList
.
isEmpty
()){
List
<
PlatUser
>
platUsers
=
new
ArrayList
<>();
List
<
PlatUser
>
platUsers
=
new
ArrayList
<>();
list
.
forEach
(
vo
->{
platUserImportDTOS
.
forEach
(
vo
->{
PlatUser
platUser
=
BeanDtoVoUtils
.
convert
(
vo
,
PlatUser
.
class
);
PlatUser
platUser
=
BeanDtoVoUtils
.
convert
(
vo
,
PlatUser
.
class
);
setPassword
(
platUser
);
vo
.
setPassword
(
PasswordUtils
.
encryptPassword
(
vo
.
getPassword
()));
platUser
.
setStatus
(
CommonEnum
.
YES
.
getValue
());
platUser
.
setTenantId
(
TenantIdUtil
.
getTenantId
());
platUser
.
setAccount
(
platUser
.
getMobile
());
platUser
.
setIsTenant
(
CommonEnum
.
NO
.
getValue
());
platUsers
.
add
(
platUser
);
platUsers
.
add
(
platUser
);
});
});
saveBatch
(
platUsers
);
saveBatch
(
platUsers
);
}
}
return
errorVoList
;
return
errorVoList
;
}
,
null
);
});
}
}
...
...
server-service/src/main/java/com/makeit/service/platform/dataScreen/DataScreenService.java
0 → 100644
View file @
aa5d6f78
package
com
.
makeit
.
service
.
platform
.
dataScreen
;
import
com.makeit.dto.platform.dataScreen.PlatDataScreenQueryDTO
;
import
com.makeit.vo.platform.dataScreen.*
;
import
java.util.List
;
/**
* Controller
*
* @author zm
* @version 2023/9/11
*/
public
interface
DataScreenService
{
PlatAgeStatisticsVO
ageStatistics
(
PlatDataScreenQueryDTO
dto
);
PlatSexStatisticsVO
sexStatistics
(
PlatDataScreenQueryDTO
dto
);
PlatDeviceStatisticsVO
deviceStatistics
(
PlatDataScreenQueryDTO
dto
);
PlatAlarmStatisticsVO
alarmStatistics
(
PlatDataScreenQueryDTO
dto
);
PlatBaseInfoStatisticsVO
baseInfoStatistics
(
PlatDataScreenQueryDTO
dto
);
PlatMapStatisticsVO
mapStatistics
(
PlatDataScreenQueryDTO
dto
);
}
server-service/src/main/java/com/makeit/service/platform/dataScreen/impl/DataScreenServiceImpl.java
0 → 100644
View file @
aa5d6f78
package
com
.
makeit
.
service
.
platform
.
dataScreen
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.makeit.dto.platform.dataScreen.PlatDataScreenQueryDTO
;
import
com.makeit.entity.platform.alarm.PlatAlarmConfig
;
import
com.makeit.entity.platform.alarm.PlatAlarmRecord
;
import
com.makeit.entity.platform.auth.PlatOrg
;
import
com.makeit.entity.platform.auth.PlatUser
;
import
com.makeit.entity.platform.device.PlatDevice
;
import
com.makeit.entity.platform.elder.PlatElder
;
import
com.makeit.entity.platform.space.PlatSpace
;
import
com.makeit.enums.CommonEnum
;
import
com.makeit.enums.platform.alarm.PlatAlarmConfigEnum
;
import
com.makeit.enums.platform.alarm.PlatAlarmRecordEnum
;
import
com.makeit.enums.platform.device.PlatDeviceEnum
;
import
com.makeit.enums.platform.elder.PlatElderEnum
;
import
com.makeit.module.iot.enums.DeviceState
;
import
com.makeit.module.system.entity.ChinaArea
;
import
com.makeit.module.system.service.ChinaAreaService
;
import
com.makeit.service.platform.alarm.PlatAlarmRecordService
;
import
com.makeit.service.platform.auth.PlatOrgService
;
import
com.makeit.service.platform.auth.PlatUserService
;
import
com.makeit.service.platform.dataScreen.DataScreenService
;
import
com.makeit.service.platform.device.PlatDeviceService
;
import
com.makeit.service.platform.elder.PlatElderService
;
import
com.makeit.service.platform.space.PlatBedService
;
import
com.makeit.service.platform.space.PlatSpaceService
;
import
com.makeit.utils.area.AreaUtil
;
import
com.makeit.utils.area.ChinaAreaVO
;
import
com.makeit.utils.data.convert.BeanDtoVoUtils
;
import
com.makeit.utils.sql.CustomQueryWrapper
;
import
com.makeit.vo.platform.dataScreen.*
;
import
jodd.util.StringUtil
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.math.BigDecimal
;
import
java.util.*
;
import
java.util.stream.Collectors
;
/**
* Controller
*
* @author zm
* @version 2023/9/11
*/
@Service
public
class
DataScreenServiceImpl
implements
DataScreenService
{
@Autowired
private
PlatElderService
platElderService
;
@Autowired
private
PlatDeviceService
platDeviceService
;
@Autowired
private
PlatBedService
platBedService
;
@Autowired
private
PlatUserService
platUserService
;
@Autowired
private
PlatAlarmRecordService
platAlarmRecordService
;
@Autowired
private
PlatSpaceService
platSpaceService
;
@Autowired
private
PlatOrgService
platOrgService
;
@Override
public
PlatAgeStatisticsVO
ageStatistics
(
PlatDataScreenQueryDTO
dto
)
{
List
<
PlatElder
>
elders
=
platElderService
.
list
(
new
QueryWrapper
<
PlatElder
>().
lambda
()
.
in
(
PlatElder:
:
getOrgId
,
dto
.
getOrgIds
()));
long
belowSixtyNumber
=
elders
.
stream
().
filter
(
t
->
t
.
getAge
()!=
null
&&
t
.
getAge
()<
60
).
count
();
long
sixtyToSeventyNumber
=
elders
.
stream
().
filter
(
t
->
t
.
getAge
()!=
null
&&
t
.
getAge
()>=
60
&&
t
.
getAge
()<=
70
).
count
();
long
seventyOneToEightyNumber
=
elders
.
stream
().
filter
(
t
->
t
.
getAge
()!=
null
&&
t
.
getAge
()>
70
&&
t
.
getAge
()<=
80
).
count
();
long
EightyOneToNinetyNumber
=
elders
.
stream
().
filter
(
t
->
t
.
getAge
()!=
null
&&
t
.
getAge
()>
80
&&
t
.
getAge
()<=
90
).
count
();
long
aboveNinetyNumber
=
elders
.
stream
().
filter
(
t
->
t
.
getAge
()!=
null
&&
t
.
getAge
()>
90
).
count
();
PlatAgeStatisticsVO
vo
=
new
PlatAgeStatisticsVO
();
vo
.
setBelowSixtyNumber
(
belowSixtyNumber
);
vo
.
setSixtyToSeventyNumber
(
sixtyToSeventyNumber
);
vo
.
setSeventyOneToEightyNumber
(
seventyOneToEightyNumber
);
vo
.
setEightyOneToNinetyNumber
(
EightyOneToNinetyNumber
);
vo
.
setAboveNinetyNumber
(
aboveNinetyNumber
);
return
vo
;
}
@Override
public
PlatSexStatisticsVO
sexStatistics
(
PlatDataScreenQueryDTO
dto
)
{
long
manElderNumber
=
platElderService
.
count
(
new
QueryWrapper
<
PlatElder
>().
lambda
()
.
in
(
PlatElder:
:
getOrgId
,
dto
.
getOrgIds
())
.
eq
(
PlatElder:
:
getSex
,
PlatElderEnum
.
SexEnum
.
MAN
.
getValue
()));
long
womanElderNumber
=
platElderService
.
count
(
new
QueryWrapper
<
PlatElder
>().
lambda
()
.
in
(
PlatElder:
:
getOrgId
,
dto
.
getOrgIds
())
.
eq
(
PlatElder:
:
getSex
,
PlatElderEnum
.
SexEnum
.
WOMAN
.
getValue
()));
long
total
=
womanElderNumber
+
manElderNumber
;
BigDecimal
manRate
=
new
BigDecimal
(
manElderNumber
).
divide
(
new
BigDecimal
(
total
),
4
,
BigDecimal
.
ROUND_HALF_UP
)
.
multiply
(
new
BigDecimal
(
100
));
BigDecimal
womanRate
=
new
BigDecimal
(
100
).
subtract
(
manRate
);
PlatSexStatisticsVO
vo
=
new
PlatSexStatisticsVO
();
vo
.
setManNumber
(
manElderNumber
);
vo
.
setManRate
(
manRate
);
vo
.
setWomanNumber
(
womanElderNumber
);
vo
.
setWomanRate
(
womanRate
);
return
vo
;
}
@Override
public
PlatDeviceStatisticsVO
deviceStatistics
(
PlatDataScreenQueryDTO
dto
)
{
List
<
PlatDevice
>
devices
=
platDeviceService
.
list
(
new
QueryWrapper
<
PlatDevice
>().
lambda
()
.
in
(
PlatDevice:
:
getOrgId
,
dto
.
getOrgIds
()));
long
total
=
devices
.
size
();
long
onlineNumber
=
devices
.
stream
().
filter
(
t
->
DeviceState
.
online
.
getValue
().
equals
(
t
.
getStatus
())).
count
();
long
offlineNumber
=
devices
.
stream
().
filter
(
t
->
DeviceState
.
offline
.
getValue
().
equals
(
t
.
getStatus
())).
count
();
long
disableNumber
=
devices
.
stream
().
filter
(
t
->
DeviceState
.
notActive
.
getValue
().
equals
(
t
.
getStatus
())).
count
();
long
heartNumber
=
devices
.
stream
().
filter
(
t
->
PlatDeviceEnum
.
CategoryEnum
.
HEART
.
getValue
().
equals
(
t
.
getCategory
())).
count
();
long
fallNumber
=
devices
.
stream
().
filter
(
t
->
PlatDeviceEnum
.
CategoryEnum
.
FALL
.
getValue
().
equals
(
t
.
getCategory
())).
count
();
long
spaceNumber
=
devices
.
stream
().
filter
(
t
->
PlatDeviceEnum
.
CategoryEnum
.
SPACE
.
getValue
().
equals
(
t
.
getCategory
())).
count
();
PlatDeviceStatisticsVO
vo
=
new
PlatDeviceStatisticsVO
();
vo
.
setTotla
(
total
);
vo
.
setOnlineNumber
(
onlineNumber
);
vo
.
setOfflineNumber
(
offlineNumber
);
vo
.
setDisableNumber
(
disableNumber
);
vo
.
setHeartNumber
(
heartNumber
);
vo
.
setFallNumber
(
fallNumber
);
vo
.
setSpaceNumber
(
spaceNumber
);
return
vo
;
}
@Override
public
PlatAlarmStatisticsVO
alarmStatistics
(
PlatDataScreenQueryDTO
dto
)
{
List
<
PlatAlarmRecord
>
alarmRecords
=
platAlarmRecordService
.
list
(
new
QueryWrapper
<
PlatAlarmRecord
>().
lambda
()
.
between
(
PlatAlarmRecord:
:
getAlarmDate
,
dto
.
getStartTime
(),
dto
.
getEndTime
())
.
in
(
PlatAlarmRecord:
:
getOrgId
,
dto
.
getOrgIds
()));
List
<
PlatElder
>
platElders
=
platElderService
.
list
();
Map
<
String
,
String
>
elderNameMap
=
platElders
.
stream
().
collect
(
Collectors
.
toMap
(
PlatElder:
:
getId
,
PlatElder:
:
getName
));
List
<
PlatAlarmStatisticsListVo
>
list
=
new
ArrayList
<>();
long
totla
=
0
;
long
handledNumber
=
0
;
long
unhandledNumber
=
0
;
for
(
PlatAlarmRecord
record
:
alarmRecords
){
if
(
StringUtil
.
isNotEmpty
(
record
.
getElderIds
())){
List
<
String
>
elderIds
=
Arrays
.
asList
(
record
.
getElderIds
().
split
(
","
));
PlatAlarmStatisticsListVo
listVo
=
new
PlatAlarmStatisticsListVo
();
for
(
String
elderId
:
elderIds
){
if
(
elderNameMap
.
get
(
elderId
)!=
null
){
listVo
.
setElderName
(
elderNameMap
.
get
(
elderId
));
}
listVo
.
setType
(
record
.
getAlarmType
());
if
(
PlatAlarmConfigEnum
.
AlarmTypeEnum
.
HEART
.
getValue
().
equals
(
record
.
getAlarmType
())
||
PlatAlarmConfigEnum
.
AlarmTypeEnum
.
BREATHE
.
getValue
().
equals
(
record
.
getAlarmType
())
){
}
totla
++;
if
(
PlatAlarmRecordEnum
.
AlarmRecordStatusEnum
.
HANDLED
.
getValue
().
equals
(
record
.
getStatus
())){
handledNumber
++;
}
else
{
unhandledNumber
++;
}
list
.
add
(
listVo
);
}
}
}
PlatAlarmStatisticsVO
vo
=
new
PlatAlarmStatisticsVO
();
vo
.
setTotla
(
totla
);
vo
.
setHandledNumber
(
handledNumber
);
vo
.
setUnhandledNumber
(
unhandledNumber
);
vo
.
setList
(
list
);
return
vo
;
}
@Override
public
PlatBaseInfoStatisticsVO
baseInfoStatistics
(
PlatDataScreenQueryDTO
dto
)
{
List
<
PlatElder
>
elders
=
platElderService
.
list
(
new
QueryWrapper
<
PlatElder
>().
lambda
()
.
in
(
PlatElder:
:
getOrgId
,
dto
.
getOrgIds
()));
long
elderNumber
=
elders
.
size
();
long
currentElderNumber
=
elders
.
stream
().
filter
(
t
->
StringUtil
.
isNotEmpty
(
t
.
getBedId
())).
count
();
long
bedNumber
=
platBedService
.
countByOrdIds
(
dto
.
getOrgIds
());
long
userNumber
=
platUserService
.
count
(
new
QueryWrapper
<
PlatUser
>().
lambda
()
.
in
(
PlatUser:
:
getOrgId
,
dto
.
getOrgIds
())
.
eq
(
PlatUser:
:
getStatus
,
CommonEnum
.
YES
.
getValue
()));
PlatBaseInfoStatisticsVO
vo
=
new
PlatBaseInfoStatisticsVO
();
vo
.
setElderNumber
(
elderNumber
);
vo
.
setCurrentElderNumber
(
currentElderNumber
);
vo
.
setBedNumber
(
bedNumber
);
vo
.
setUserNumber
(
userNumber
);
return
vo
;
}
@Override
public
PlatMapStatisticsVO
mapStatistics
(
PlatDataScreenQueryDTO
dto
)
{
PlatMapStatisticsVO
vo
=
new
PlatMapStatisticsVO
();
List
<
PlatOrg
>
orgs
=
platOrgService
.
list
(
new
QueryWrapper
<
PlatOrg
>().
lambda
()
.
in
(
PlatOrg:
:
getId
,
dto
.
getOrgIds
()));
//取范围最大的管辖区域
List
<
PlatOrg
>
tree
=
platOrgService
.
createOrgTree
(
orgs
);
List
<
String
>
region
=
tree
.
stream
().
filter
(
t
->
StringUtil
.
isNotEmpty
(
t
.
getRegion
())).
map
(
PlatOrg:
:
getRegion
).
collect
(
Collectors
.
toList
());
List
<
ChinaAreaVO
>
areas
=
AreaUtil
.
getByCodeList
(
region
);
List
<
PlatSpace
>
spaces
=
platSpaceService
.
list
(
new
QueryWrapper
<
PlatSpace
>().
lambda
()
.
isNull
(
PlatSpace:
:
getParentId
)
.
in
(
PlatSpace:
:
getOrgId
,
dto
.
getOrgIds
()));
List
<
PlatElder
>
elders
=
platElderService
.
list
(
new
QueryWrapper
<
PlatElder
>().
lambda
()
.
isNotNull
(
PlatElder:
:
getBedId
)
.
in
(
PlatElder:
:
getOrgId
,
dto
.
getOrgIds
()));
Map
<
String
,
List
<
PlatElder
>>
elderMap
=
elders
.
stream
().
collect
(
Collectors
.
groupingBy
(
PlatElder:
:
getSpaceId
));
List
<
PlatMapStatisticsSpaceVO
>
list
=
new
ArrayList
<>();
for
(
PlatSpace
space
:
spaces
){
PlatMapStatisticsSpaceVO
spaceVo
=
new
PlatMapStatisticsSpaceVO
();
spaceVo
.
setSpaceId
(
space
.
getId
());
spaceVo
.
setSpaceName
(
space
.
getName
());
spaceVo
.
setLatitude
(
space
.
getLatitude
());
spaceVo
.
setLongitude
(
space
.
getLongitude
());
if
(
elderMap
.
get
(
space
.
getId
())!=
null
){
spaceVo
.
setElderNumber
(
Long
.
valueOf
(
elderMap
.
get
(
space
.
getId
()).
size
()));
}
}
vo
.
setAreas
(
areas
);
return
vo
;
}
}
server-service/src/main/java/com/makeit/service/platform/device/PlatDeviceService.java
View file @
aa5d6f78
...
@@ -49,11 +49,4 @@ public interface PlatDeviceService extends IService<PlatDevice> {
...
@@ -49,11 +49,4 @@ public interface PlatDeviceService extends IService<PlatDevice> {
* @return
* @return
*/
*/
PlatDeviceDetailDTO
getDetailDTO
(
String
deviceId
);
PlatDeviceDetailDTO
getDetailDTO
(
String
deviceId
);
/**
* 编辑
*
* @param platDevice
*/
void
edit
(
PlatDevice
platDevice
);
}
}
server-service/src/main/java/com/makeit/service/platform/device/impl/PlatDeviceServiceImpl.java
View file @
aa5d6f78
...
@@ -2,8 +2,6 @@ package com.makeit.service.platform.device.impl;
...
@@ -2,8 +2,6 @@ package com.makeit.service.platform.device.impl;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.makeit.common.entity.BaseBusEntity
;
import
com.makeit.common.entity.BaseBusEntity
;
...
@@ -25,6 +23,7 @@ import com.makeit.mapper.platform.device.PlatDeviceMapper;
...
@@ -25,6 +23,7 @@ import com.makeit.mapper.platform.device.PlatDeviceMapper;
import
com.makeit.service.platform.auth.PlatOrgService
;
import
com.makeit.service.platform.auth.PlatOrgService
;
import
com.makeit.service.platform.device.PlatDeviceOtherService
;
import
com.makeit.service.platform.device.PlatDeviceOtherService
;
import
com.makeit.service.platform.device.PlatDeviceService
;
import
com.makeit.service.platform.device.PlatDeviceService
;
import
com.makeit.utils.DeviceCacheUtil
;
import
com.makeit.utils.data.convert.BeanDtoVoUtils
;
import
com.makeit.utils.data.convert.BeanDtoVoUtils
;
import
com.makeit.utils.data.convert.PageUtil
;
import
com.makeit.utils.data.convert.PageUtil
;
import
com.makeit.utils.data.convert.StreamUtil
;
import
com.makeit.utils.data.convert.StreamUtil
;
...
@@ -55,6 +54,8 @@ public class PlatDeviceServiceImpl extends ServiceImpl<PlatDeviceMapper, PlatDev
...
@@ -55,6 +54,8 @@ public class PlatDeviceServiceImpl extends ServiceImpl<PlatDeviceMapper, PlatDev
@Autowired
@Autowired
private
PlatOrgService
platOrgService
;
private
PlatOrgService
platOrgService
;
@Autowired
private
DeviceCacheUtil
deviceCacheUtil
;
@Override
@Override
public
PageVO
<
PlatDeviceListVO
>
page
(
PageReqDTO
<
PlatDeviceQueryDTO
>
pageReqDTO
)
{
public
PageVO
<
PlatDeviceListVO
>
page
(
PageReqDTO
<
PlatDeviceQueryDTO
>
pageReqDTO
)
{
...
@@ -105,6 +106,8 @@ public class PlatDeviceServiceImpl extends ServiceImpl<PlatDeviceMapper, PlatDev
...
@@ -105,6 +106,8 @@ public class PlatDeviceServiceImpl extends ServiceImpl<PlatDeviceMapper, PlatDev
updateById
(
db
);
updateById
(
db
);
deviceCacheUtil
.
put
(
db
);
}
}
@Override
@Override
...
@@ -144,6 +147,8 @@ public class PlatDeviceServiceImpl extends ServiceImpl<PlatDeviceMapper, PlatDev
...
@@ -144,6 +147,8 @@ public class PlatDeviceServiceImpl extends ServiceImpl<PlatDeviceMapper, PlatDev
updateById
(
db
);
updateById
(
db
);
deviceCacheUtil
.
put
(
db
);
platDeviceOtherService
.
saveOrUpdate
(
other
);
platDeviceOtherService
.
saveOrUpdate
(
other
);
...
@@ -169,6 +174,8 @@ public class PlatDeviceServiceImpl extends ServiceImpl<PlatDeviceMapper, PlatDev
...
@@ -169,6 +174,8 @@ public class PlatDeviceServiceImpl extends ServiceImpl<PlatDeviceMapper, PlatDev
updateById
(
db
);
updateById
(
db
);
deviceCacheUtil
.
put
(
db
);
platDeviceOtherService
.
saveOrUpdate
(
other
);
platDeviceOtherService
.
saveOrUpdate
(
other
);
}
}
...
@@ -214,20 +221,4 @@ public class PlatDeviceServiceImpl extends ServiceImpl<PlatDeviceMapper, PlatDev
...
@@ -214,20 +221,4 @@ public class PlatDeviceServiceImpl extends ServiceImpl<PlatDeviceMapper, PlatDev
.
orderByDesc
(
BaseEntity:
:
getUpdateDate
);
.
orderByDesc
(
BaseEntity:
:
getUpdateDate
);
}
}
/**
* 编辑
*
* @param platDevice
*/
@Override
@Transactional
public
void
edit
(
PlatDevice
platDevice
)
{
LambdaUpdateWrapper
<
PlatDevice
>
updateWrapper
=
Wrappers
.
lambdaUpdate
(
PlatDevice
.
class
)
.
eq
(
BaseEntity:
:
getId
,
platDevice
.
getId
())
.
set
(
PlatDevice:
:
getOriDeviceId
,
platDevice
.
getOriDeviceId
())
.
set
(
PlatDevice:
:
getName
,
platDevice
.
getName
())
.
set
(
PlatDevice:
:
getProductName
,
platDevice
.
getProductName
())
.
set
(
PlatDevice:
:
getDescription
,
platDevice
.
getDescription
());
this
.
update
(
updateWrapper
);
}
}
}
server-service/src/main/java/com/makeit/service/platform/space/PlatBedService.java
View file @
aa5d6f78
...
@@ -57,4 +57,6 @@ public interface PlatBedService extends IService<PlatBed> {
...
@@ -57,4 +57,6 @@ public interface PlatBedService extends IService<PlatBed> {
List
<
PlatBedPanoramaVO
>
selectBySpaceIdAndStatus
(
PlatBedPanoramaDTO
dto
);
List
<
PlatBedPanoramaVO
>
selectBySpaceIdAndStatus
(
PlatBedPanoramaDTO
dto
);
List
<
PlatBedPanoramaVO
>
selectByRoomIdAndStatus
(
PlatBedPanoramaDTO
dto
);
List
<
PlatBedPanoramaVO
>
selectByRoomIdAndStatus
(
PlatBedPanoramaDTO
dto
);
}
List
<
PlatBed
>
list
(
PlatBedQueryDTO
dto
);
long
countByOrdIds
(
List
<
String
>
orgIds
);}
server-service/src/main/java/com/makeit/service/platform/space/PlatRoomDynamicService.java
View file @
aa5d6f78
package
com
.
makeit
.
service
.
platform
.
space
;
package
com
.
makeit
.
service
.
platform
.
space
;
import
com.makeit.dto.platform.elder.PlatElderQueryDTO
;
import
com.makeit.dto.platform.space.PlatBedPanoramaDTO
;
import
com.makeit.dto.platform.space.PlatBedPanoramaDTO
;
import
com.makeit.dto.platform.space.PlatRoomPanoramaDTO
;
import
com.makeit.dto.platform.space.PlatRoomPanoramaDTO
;
import
com.makeit.entity.platform.elder.PlatElder
;
import
com.makeit.vo.platform.space.PlatBedPanoramaVO
;
import
com.makeit.vo.platform.space.PlatBedPanoramaVO
;
import
com.makeit.vo.platform.space.PlatRoomPanoramaVO
;
import
com.makeit.vo.platform.space.PlatRoomPanoramaVO
;
import
com.makeit.vo.platform.space.PlatSpaceAndRoomVO
;
import
com.makeit.vo.platform.space.PlatSpaceAndRoomVO
;
...
@@ -23,4 +25,5 @@ public interface PlatRoomDynamicService {
...
@@ -23,4 +25,5 @@ public interface PlatRoomDynamicService {
List
<
PlatSpaceAndRoomVO
>
bedPanoramaTree
();
List
<
PlatSpaceAndRoomVO
>
bedPanoramaTree
();
List
<
PlatElder
>
elderList
(
PlatElderQueryDTO
dto
);
}
}
server-service/src/main/java/com/makeit/service/platform/space/impl/PlatBedServiceImpl.java
View file @
aa5d6f78
...
@@ -6,22 +6,20 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
...
@@ -6,22 +6,20 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import
com.makeit.common.dto.StatusDTO
;
import
com.makeit.common.dto.StatusDTO
;
import
com.makeit.common.page.PageReqDTO
;
import
com.makeit.common.page.PageReqDTO
;
import
com.makeit.common.page.PageVO
;
import
com.makeit.common.page.PageVO
;
import
com.makeit.dto.platform.device.PlatDeviceDTO
;
import
com.makeit.dto.platform.space.*
;
import
com.makeit.dto.platform.space.*
;
import
com.makeit.entity.platform.device.PlatDevice
;
import
com.makeit.entity.platform.space.PlatBed
;
import
com.makeit.entity.platform.space.PlatBed
;
import
com.makeit.entity.platform.space.PlatRoom
;
import
com.makeit.entity.platform.space.PlatRoom
;
import
com.makeit.entity.platform.space.PlatRoomBedDevice
;
import
com.makeit.entity.platform.space.PlatRoomBedDevice
;
import
com.makeit.enums.CodeMessageEnum
;
import
com.makeit.enums.CodeMessageEnum
;
import
com.makeit.enums.CommonEnum
;
import
com.makeit.enums.CommonEnum
;
import
com.makeit.enums.platform.
device.PlatDevice
Enum
;
import
com.makeit.enums.platform.
auth.PlatOrg
Enum
;
import
com.makeit.exception.BusinessException
;
import
com.makeit.exception.BusinessException
;
import
com.makeit.mapper.platform.space.PlatBedMapper
;
import
com.makeit.mapper.platform.space.PlatBedMapper
;
import
com.makeit.service.platform.device.PlatDeviceService
;
import
com.makeit.service.platform.device.PlatDeviceService
;
import
com.makeit.service.platform.space.PlatBedService
;
import
com.makeit.service.platform.space.PlatBedService
;
import
com.makeit.service.platform.space.PlatRoomBedDeviceService
;
import
com.makeit.service.platform.space.PlatRoomBedDeviceService
;
import
com.makeit.
utils.data.convert.BeanDtoVoUtils
;
import
com.makeit.
service.platform.space.PlatRoomService
;
import
com.makeit.utils.data.convert.PageUtil
;
import
com.makeit.utils.data.convert.
BeanDtoVoUtils
;
import
com.makeit.utils.data.convert.
PageUtil
;
import
com.makeit.vo.platform.space.PlatBedPanoramaVO
;
import
com.makeit.vo.platform.space.PlatBedPanoramaVO
;
import
jodd.util.StringUtil
;
import
jodd.util.StringUtil
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
@@ -40,7 +38,7 @@ import java.util.stream.Collectors;
...
@@ -40,7 +38,7 @@ import java.util.stream.Collectors;
public
class
PlatBedServiceImpl
extends
ServiceImpl
<
PlatBedMapper
,
PlatBed
>
implements
PlatBedService
{
public
class
PlatBedServiceImpl
extends
ServiceImpl
<
PlatBedMapper
,
PlatBed
>
implements
PlatBedService
{
@Autowired
@Autowired
private
Plat
DeviceService
platDevice
Service
;
private
Plat
RoomService
platRoom
Service
;
@Autowired
@Autowired
private
PlatRoomBedDeviceService
platRoomBedDeviceService
;
private
PlatRoomBedDeviceService
platRoomBedDeviceService
;
...
@@ -106,6 +104,9 @@ public class PlatBedServiceImpl extends ServiceImpl<PlatBedMapper, PlatBed> impl
...
@@ -106,6 +104,9 @@ public class PlatBedServiceImpl extends ServiceImpl<PlatBedMapper, PlatBed> impl
throw
new
BusinessException
(
CodeMessageEnum
.
PLATFORM_ERROR_BAD_NAME_EXIT
);
throw
new
BusinessException
(
CodeMessageEnum
.
PLATFORM_ERROR_BAD_NAME_EXIT
);
}
}
platBed
.
setName
(
dto
.
getName
());
updateById
(
platBed
);
}
}
@Override
@Override
...
@@ -127,9 +128,10 @@ public class PlatBedServiceImpl extends ServiceImpl<PlatBedMapper, PlatBed> impl
...
@@ -127,9 +128,10 @@ public class PlatBedServiceImpl extends ServiceImpl<PlatBedMapper, PlatBed> impl
if
(
platRoomBedDeviceService
.
count
(
queryWrapper
)
>
0
){
if
(
platRoomBedDeviceService
.
count
(
queryWrapper
)
>
0
){
throw
new
BusinessException
(
CodeMessageEnum
.
PLATFORM_ERROR_BAD_NOT_DEL
);
throw
new
BusinessException
(
CodeMessageEnum
.
PLATFORM_ERROR_BAD_NOT_DEL
);
}
}
removeById
(
id
);
removeById
(
id
);
}
PlatRoom
platRoom
=
platRoomService
.
getById
(
platBed
.
getRoomId
());
platRoom
.
setBedNumber
(
platRoom
.
getBedNumber
()-
1
);
platRoomService
.
updateById
(
platRoom
);
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
@Override
...
@@ -157,5 +159,24 @@ public class PlatBedServiceImpl extends ServiceImpl<PlatBedMapper, PlatBed> impl
...
@@ -157,5 +159,24 @@ public class PlatBedServiceImpl extends ServiceImpl<PlatBedMapper, PlatBed> impl
return
baseMapper
.
selectByRoomIdAndStatus
(
dto
);
return
baseMapper
.
selectByRoomIdAndStatus
(
dto
);
}
}
@Override
public
List
<
PlatBed
>
list
(
PlatBedQueryDTO
dto
)
{
LambdaQueryWrapper
<
PlatRoomBedDevice
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
queryWrapper
.
eq
(
PlatRoomBedDevice:
:
getRoomId
,
dto
.
getRoomId
());
queryWrapper
.
select
(
PlatRoomBedDevice:
:
getBedId
);
List
<
PlatRoomBedDevice
>
listDevices
=
platRoomBedDeviceService
.
list
(
queryWrapper
);
List
<
String
>
listBedIds
=
listDevices
.
stream
().
map
(
item
->
item
.
getBedId
()).
collect
(
Collectors
.
toList
());
LambdaQueryWrapper
<
PlatBed
>
queryWrapper1
=
new
LambdaQueryWrapper
<>();
queryWrapper1
.
eq
(
StringUtil
.
isNotEmpty
(
dto
.
getRoomId
()),
PlatBed:
:
getRoomId
,
dto
.
getRoomId
());
queryWrapper1
.
notIn
(!
listBedIds
.
isEmpty
(),
PlatBed:
:
getId
,
listBedIds
);
List
<
PlatBed
>
list
=
list
(
queryWrapper1
);
return
list
;
}
}
@Override
public
long
countByOrdIds
(
List
<
String
>
orgIds
)
{
return
baseMapper
.
countByOrdIdsAndType
(
orgIds
,
PlatOrgEnum
.
OrgTypeEnum
.
INSTITUTION
.
getValue
());
}}
server-service/src/main/java/com/makeit/service/platform/space/impl/PlatRoomDynamicServiceImpl.java
View file @
aa5d6f78
package
com
.
makeit
.
service
.
platform
.
space
.
impl
;
package
com
.
makeit
.
service
.
platform
.
space
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.makeit.dto.platform.elder.PlatElderQueryDTO
;
import
com.makeit.dto.platform.space.PlatBedPanoramaDTO
;
import
com.makeit.dto.platform.space.PlatBedPanoramaDTO
;
import
com.makeit.dto.platform.space.PlatRoomPanoramaDTO
;
import
com.makeit.dto.platform.space.PlatRoomPanoramaDTO
;
import
com.makeit.entity.platform.elder.PlatElder
;
import
com.makeit.entity.platform.space.PlatBed
;
import
com.makeit.entity.platform.space.PlatBed
;
import
com.makeit.entity.platform.space.PlatRoom
;
import
com.makeit.entity.platform.space.PlatRoom
;
import
com.makeit.entity.platform.space.PlatSpace
;
import
com.makeit.entity.platform.space.PlatSpace
;
import
com.makeit.enums.platform.space.PlatBedPanoramaSpaceType
;
import
com.makeit.enums.platform.space.PlatBedPanoramaSpaceType
;
import
com.makeit.enums.platform.space.PlatRoomStatusEnum
;
import
com.makeit.enums.platform.space.PlatRoomStatusEnum
;
import
com.makeit.mapper.platform.space.PlatBedMapper
;
import
com.makeit.service.platform.elder.PlatElderService
;
import
com.makeit.mapper.platform.space.PlatRoomMapper
;
import
com.makeit.mapper.platform.space.PlatSpaceMapper
;
import
com.makeit.service.platform.space.PlatBedService
;
import
com.makeit.service.platform.space.PlatBedService
;
import
com.makeit.service.platform.space.PlatRoomDynamicService
;
import
com.makeit.service.platform.space.PlatRoomDynamicService
;
import
com.makeit.service.platform.space.PlatRoomService
;
import
com.makeit.service.platform.space.PlatRoomService
;
...
@@ -43,6 +43,8 @@ public class PlatRoomDynamicServiceImpl implements PlatRoomDynamicService {
...
@@ -43,6 +43,8 @@ public class PlatRoomDynamicServiceImpl implements PlatRoomDynamicService {
private
PlatRoomService
platRoomService
;
private
PlatRoomService
platRoomService
;
@Autowired
@Autowired
private
PlatBedService
platBedService
;
private
PlatBedService
platBedService
;
@Autowired
private
PlatElderService
platElderService
;
@Override
@Override
...
@@ -168,6 +170,13 @@ public class PlatRoomDynamicServiceImpl implements PlatRoomDynamicService {
...
@@ -168,6 +170,13 @@ public class PlatRoomDynamicServiceImpl implements PlatRoomDynamicService {
return
data
;
return
data
;
}
}
@Override
public
List
<
PlatElder
>
elderList
(
PlatElderQueryDTO
dto
)
{
List
<
PlatElder
>
list
=
platElderService
.
list
(
new
QueryWrapper
<
PlatElder
>().
lambda
()
.
eq
(
PlatElder:
:
getRoomId
,
dto
.
getRoomId
()));
return
list
;
}
private
PlatSpaceAndRoomVO
child
(
PlatSpaceAndRoomVO
vo
,
Map
<
String
,
List
<
PlatSpaceAndRoomVO
>>
map
){
private
PlatSpaceAndRoomVO
child
(
PlatSpaceAndRoomVO
vo
,
Map
<
String
,
List
<
PlatSpaceAndRoomVO
>>
map
){
if
(!
map
.
containsKey
(
vo
.
getId
())){
if
(!
map
.
containsKey
(
vo
.
getId
())){
...
...
server-service/src/main/java/com/makeit/service/platform/space/impl/PlatRoomServiceImpl.java
View file @
aa5d6f78
...
@@ -36,10 +36,27 @@ public class PlatRoomServiceImpl extends ServiceImpl<PlatRoomMapper, PlatRoom> i
...
@@ -36,10 +36,27 @@ public class PlatRoomServiceImpl extends ServiceImpl<PlatRoomMapper, PlatRoom> i
@Autowired
@Autowired
private
PlatBedService
platBedService
;
private
PlatBedService
platBedService
;
private
void
checkName
(
PlatRoom
platRoom
){
LambdaQueryWrapper
<
PlatRoom
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
queryWrapper
.
eq
(
PlatRoom:
:
getSpaceId
,
platRoom
.
getSpaceId
());
queryWrapper
.
eq
(
PlatRoom:
:
getName
,
platRoom
.
getName
());
if
(
platRoom
.
getId
()
!=
null
){
queryWrapper
.
ne
(
PlatRoom:
:
getId
,
platRoom
.
getId
());
}
if
(
count
(
queryWrapper
)
>
0
){
throw
new
BusinessException
(
CodeMessageEnum
.
PLATFORM_ERROR_ROOM_NAME_EXIT
);
}
}
@Override
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
add
(
PlatRoomDTO
dto
)
{
public
void
add
(
PlatRoomDTO
dto
)
{
PlatRoom
platRoom
=
BeanDtoVoUtils
.
convert
(
dto
,
PlatRoom
.
class
);
PlatRoom
platRoom
=
BeanDtoVoUtils
.
convert
(
dto
,
PlatRoom
.
class
);
checkName
(
platRoom
);
save
(
platRoom
);
save
(
platRoom
);
platBedService
.
add
(
platRoom
);
platBedService
.
add
(
platRoom
);
...
@@ -59,8 +76,9 @@ public class PlatRoomServiceImpl extends ServiceImpl<PlatRoomMapper, PlatRoom> i
...
@@ -59,8 +76,9 @@ public class PlatRoomServiceImpl extends ServiceImpl<PlatRoomMapper, PlatRoom> i
platRoom
.
setDescription
(
dto
.
getDescription
());
platRoom
.
setDescription
(
dto
.
getDescription
());
platRoom
.
setSpaceId
(
dto
.
getSpaceId
());
platRoom
.
setSpaceId
(
dto
.
getSpaceId
());
platRoom
.
setSpacePath
(
dto
.
getSpacePath
());
platRoom
.
setSpacePath
(
dto
.
getSpacePath
());
updateById
(
platRoom
);
checkName
(
platRoom
);
updateById
(
platRoom
);
platBedService
.
add
(
platRoom
);
platBedService
.
add
(
platRoom
);
}
}
...
...
server-service/src/main/java/com/makeit/service/platform/sys/PlatLogoConfigService.java
0 → 100644
View file @
aa5d6f78
package
com
.
makeit
.
service
.
platform
.
sys
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.makeit.dto.platform.sys.PlatLogoConfigDTO
;
import
com.makeit.dto.platform.sys.PlatLogoConfigDTOVO
;
import
com.makeit.dto.platform.sys.PlatLogoConfigQueryDTO
;
import
com.makeit.entity.platform.sys.PlatLogoConfig
;
/**
* @Author:lzy
* @Date:2023/9/12 10:19
* @Describe:
*/
public
interface
PlatLogoConfigService
extends
IService
<
PlatLogoConfig
>
{
/**
* 添加
* @param dto
*/
void
add
(
PlatLogoConfigDTO
dto
);
/**
* 详情
* @return
*/
PlatLogoConfigDTOVO
view
(
PlatLogoConfigQueryDTO
dto
);
}
server-service/src/main/java/com/makeit/service/platform/sys/impl/PlatLogoConfigServiceImpl.java
0 → 100644
View file @
aa5d6f78
package
com
.
makeit
.
service
.
platform
.
sys
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.makeit.dto.platform.sys.PlatLogoConfigDTO
;
import
com.makeit.dto.platform.sys.PlatLogoConfigDTOVO
;
import
com.makeit.dto.platform.sys.PlatLogoConfigQueryDTO
;
import
com.makeit.entity.platform.sys.PlatLogoConfig
;
import
com.makeit.mapper.platform.sys.PlatLogoConfigMapper
;
import
com.makeit.module.system.dto.SysFileDTOVO
;
import
com.makeit.service.platform.sys.PlatLogoConfigService
;
import
com.makeit.utils.data.convert.BeanDtoVoUtils
;
import
com.makeit.utils.sys.FileUtil
;
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
* @Date:2023/9/12 10:19
* @Describe:
*/
@Service
public
class
PlatLogoConfigServiceImpl
extends
ServiceImpl
<
PlatLogoConfigMapper
,
PlatLogoConfig
>
implements
PlatLogoConfigService
{
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
add
(
PlatLogoConfigDTO
dto
)
{
PlatLogoConfig
platLogoConfig
=
BeanDtoVoUtils
.
convert
(
dto
,
PlatLogoConfig
.
class
);
if
(
dto
.
getId
()
!=
null
){
updateById
(
platLogoConfig
);
}
else
{
save
(
platLogoConfig
);
}
}
@Override
public
PlatLogoConfigDTOVO
view
(
PlatLogoConfigQueryDTO
dto
)
{
LambdaQueryWrapper
<
PlatLogoConfig
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
queryWrapper
.
eq
(
PlatLogoConfig:
:
getCode
,
dto
.
getCode
());
List
<
PlatLogoConfig
>
list
=
list
(
queryWrapper
);
PlatLogoConfigDTOVO
data
=
new
PlatLogoConfigDTOVO
();
if
(!
list
.
isEmpty
()){
data
=
BeanDtoVoUtils
.
convert
(
list
.
get
(
0
),
PlatLogoConfigDTOVO
.
class
);
List
<
String
>
fileIds
=
new
ArrayList
<>();
fileIds
.
add
(
data
.
getLogoFileId
());
fileIds
.
add
(
data
.
getBrowserFileId
());
fileIds
.
add
(
data
.
getBackgroundFileId
());
List
<
SysFileDTOVO
>
listFile
=
FileUtil
.
convert
(
fileIds
);
Map
<
String
,
String
>
map
=
listFile
.
stream
().
collect
(
Collectors
.
toMap
(
SysFileDTOVO:
:
getId
,
SysFileDTOVO:
:
getFullUrl
,(
k1
,
k2
)->
k1
));
data
.
setLogoFilePath
(
map
.
get
(
data
.
getLogoFileId
()));
data
.
setBrowserFilePath
(
map
.
get
(
data
.
getBrowserFileId
()));
data
.
setBackgroundFilePath
(
map
.
get
(
data
.
getBackgroundFileId
()));
}
return
data
;
}
}
server-service/src/main/java/com/makeit/service/saas/SaasMenuService.java
View file @
aa5d6f78
package
com
.
makeit
.
service
.
saas
;
package
com
.
makeit
.
service
.
saas
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.makeit.common.dto.StatusDTO
;
import
com.makeit.entity.saas.SaasMenu
;
import
com.makeit.entity.saas.SaasMenu
;
import
com.makeit.module.admin.dto.saas.SaasMenuDTOVO
;
import
com.makeit.module.admin.dto.saas.SaasMenuDTOVO
;
import
com.makeit.module.admin.dto.saas.SaasMenuQueryDTO
;
import
com.makeit.module.admin.dto.saas.SaasMenuQueryDTO
;
...
@@ -30,4 +31,6 @@ public interface SaasMenuService extends IService<SaasMenu> {
...
@@ -30,4 +31,6 @@ public interface SaasMenuService extends IService<SaasMenu> {
void
sync
();
void
sync
();
void
changeStatus
(
StatusDTO
dto
);
}
}
server-service/src/main/java/com/makeit/service/saas/impl/SaasMenuServiceImpl.java
View file @
aa5d6f78
...
@@ -2,6 +2,7 @@ package com.makeit.service.saas.impl;
...
@@ -2,6 +2,7 @@ package com.makeit.service.saas.impl;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.makeit.common.dto.StatusDTO
;
import
com.makeit.entity.saas.SaasMenu
;
import
com.makeit.entity.saas.SaasMenu
;
import
com.makeit.entity.saas.SaasRoleMenu
;
import
com.makeit.entity.saas.SaasRoleMenu
;
import
com.makeit.enums.CodeMessageEnum
;
import
com.makeit.enums.CodeMessageEnum
;
...
@@ -332,5 +333,20 @@ public class SaasMenuServiceImpl extends ServiceImpl<SaasMenuMapper, SaasMenu> i
...
@@ -332,5 +333,20 @@ public class SaasMenuServiceImpl extends ServiceImpl<SaasMenuMapper, SaasMenu> i
return
button
;
return
button
;
}
}
@Transactional
@Override
public
void
changeStatus
(
StatusDTO
dto
)
{
if
(
Arrays
.
stream
(
CommonEnum
.
values
()).
noneMatch
(
e
->
e
.
getValue
().
equals
(
dto
.
getStatus
())))
{
throw
new
BusinessException
(
CodeMessageEnum
.
SYSTEM_ERROR
);
}
SaasMenu
saasMenu
=
getById
(
dto
.
getId
());
if
(
saasMenu
.
getStatus
().
equals
(
dto
.
getStatus
()))
{
throw
new
BusinessException
(
CodeMessageEnum
.
SYSTEM_ERROR
);
}
saasMenu
.
setStatus
(
dto
.
getStatus
());
updateById
(
saasMenu
);
}
}
}
server-service/src/main/java/com/makeit/task/IotSyncTask.java
View file @
aa5d6f78
package
com
.
makeit
.
task
;
package
com
.
makeit
.
task
;
import
com.alibaba.fastjson.JSON
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.makeit.common.entity.BaseBusEntity
;
import
com.makeit.common.entity.BaseBusEntity
;
import
com.makeit.entity.platform.device.PlatDevice
;
import
com.makeit.entity.platform.device.PlatDevice
;
...
@@ -8,10 +9,12 @@ import com.makeit.enums.CommonEnum;
...
@@ -8,10 +9,12 @@ import com.makeit.enums.CommonEnum;
import
com.makeit.global.aspect.tenant.TenantIdIgnore
;
import
com.makeit.global.aspect.tenant.TenantIdIgnore
;
import
com.makeit.module.iot.service.IotOrgService
;
import
com.makeit.module.iot.service.IotOrgService
;
import
com.makeit.module.iot.vo.DeviceInstanceEntity
;
import
com.makeit.module.iot.vo.DeviceInstanceEntity
;
import
com.makeit.module.iot.vo.DeviceState
;
import
com.makeit.module.system.service.SysDictionaryCategoryService
;
import
com.makeit.module.system.service.SysDictionaryCategoryService
;
import
com.makeit.module.system.vo.DictionaryVo
;
import
com.makeit.module.system.vo.DictionaryVo
;
import
com.makeit.service.platform.device.PlatDeviceService
;
import
com.makeit.service.platform.device.PlatDeviceService
;
import
com.makeit.service.saas.PlatTenantService
;
import
com.makeit.service.saas.PlatTenantService
;
import
com.makeit.utils.DeviceCacheUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
...
@@ -39,13 +42,15 @@ public class IotSyncTask {
...
@@ -39,13 +42,15 @@ public class IotSyncTask {
private
PlatDeviceService
platDeviceService
;
private
PlatDeviceService
platDeviceService
;
@Autowired
@Autowired
private
SysDictionaryCategoryService
sysDictionaryCategoryService
;
private
SysDictionaryCategoryService
sysDictionaryCategoryService
;
@Autowired
private
DeviceCacheUtil
deviceCacheUtil
;
/**
/**
* 一小时同步一次
* 一小时同步一次
* 启用状态的租户才同步
* 启用状态的租户才同步
* 新增和更新平台端设备表
* 新增和更新平台端设备表
*/
*/
@Scheduled
(
cron
=
"0 0 */1 * * ?"
)
//
@Scheduled(cron = "0 0 */1 * * ?")
@TenantIdIgnore
@TenantIdIgnore
public
void
syncEquipmentInfo
()
{
public
void
syncEquipmentInfo
()
{
log
.
info
(
"开始执行同步设备信息接口"
);
log
.
info
(
"开始执行同步设备信息接口"
);
...
@@ -73,6 +78,8 @@ public class IotSyncTask {
...
@@ -73,6 +78,8 @@ public class IotSyncTask {
//更新平台设备
//更新平台设备
Collection
<
PlatDevice
>
platDevices
=
convertToPlatDevice
(
iotDeviceList
,
deviceList
,
platTenant
.
getId
(),
dicNameIdMap
);
Collection
<
PlatDevice
>
platDevices
=
convertToPlatDevice
(
iotDeviceList
,
deviceList
,
platTenant
.
getId
(),
dicNameIdMap
);
platDeviceService
.
saveOrUpdateBatch
(
platDevices
);
platDeviceService
.
saveOrUpdateBatch
(
platDevices
);
deviceCacheUtil
.
putAll
(
platDevices
);
}
}
log
.
info
(
"结束执行同步设备信息接口"
);
log
.
info
(
"结束执行同步设备信息接口"
);
...
@@ -106,7 +113,8 @@ public class IotSyncTask {
...
@@ -106,7 +113,8 @@ public class IotSyncTask {
platDevice
.
setRegistrationDate
(
registryTime
);
platDevice
.
setRegistrationDate
(
registryTime
);
platDevice
.
setDescription
(
iotDevice
.
getDescribe
());
platDevice
.
setDescription
(
iotDevice
.
getDescribe
());
String
state
=
iotDevice
.
getState
();
String
state
=
iotDevice
.
getState
();
platDevice
.
setStatus
(
StringUtils
.
equals
(
"online"
,
state
)
?
CommonEnum
.
YES
.
getValue
()
:
CommonEnum
.
NO
.
getValue
());
DeviceState
deviceState
=
JSON
.
parseObject
(
state
,
DeviceState
.
class
);
platDevice
.
setStatus
(
deviceState
.
getValue
());
//todo 根据类型名称来匹配
//todo 根据类型名称来匹配
platDevice
.
setCategory
(
dicNameIdMap
.
get
(
iotDevice
.
getProductName
()));
platDevice
.
setCategory
(
dicNameIdMap
.
get
(
iotDevice
.
getProductName
()));
...
@@ -128,5 +136,10 @@ public class IotSyncTask {
...
@@ -128,5 +136,10 @@ public class IotSyncTask {
});
});
return
deviceMap
.
values
();
return
deviceMap
.
values
();
}
}
/**
* 床位id 绑定的所有设备
* 房间id 绑定的所有设备
*
*/
}
}
server-service/src/main/java/com/makeit/utils/AlarmConfigCacheUtil.java
0 → 100644
View file @
aa5d6f78
package
com
.
makeit
.
utils
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.makeit.entity.platform.alarm.PlatAlarmConfig
;
import
com.makeit.entity.platform.device.PlatDevice
;
import
com.makeit.enums.CommonEnum
;
import
com.makeit.enums.platform.alarm.PlatAlarmConfigEnum
;
import
com.makeit.enums.platform.device.PlatDeviceEnum
;
import
com.makeit.enums.redis.RedisConst
;
import
com.makeit.global.aspect.tenant.TenantIdIgnore
;
import
com.makeit.service.platform.alarm.PlatAlarmConfigService
;
import
com.makeit.utils.redis.RedisUtil
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.ApplicationArguments
;
import
org.springframework.boot.ApplicationRunner
;
import
org.springframework.stereotype.Component
;
import
java.util.ArrayList
;
import
java.util.List
;
@Component
public
class
AlarmConfigCacheUtil
implements
ApplicationRunner
{
/**
* key orgId:type
*/
@Autowired
private
PlatAlarmConfigService
platAlarmConfigService
;
public
List
<
PlatAlarmConfig
>
getAll
()
{
List
<
PlatAlarmConfig
>
list
=
platAlarmConfigService
.
list
(
new
LambdaQueryWrapper
<
PlatAlarmConfig
>().
eq
(
PlatAlarmConfig:
:
getStatus
,
CommonEnum
.
YES
.
getValue
()));
list
.
stream
().
forEach
(
vo
->
{
put
(
vo
);
});
return
list
;
}
public
void
put
(
PlatAlarmConfig
alarmConfig
)
{
if
(
StringUtils
.
equals
(
CommonEnum
.
YES
.
getValue
(),
alarmConfig
.
getStatus
()))
{
RedisUtil
.
set
(
RedisConst
.
ALARM_CONFIG_ORG_ID
+
alarmConfig
.
getOrgId
()
+
":"
+
alarmConfig
.
getAlarmType
(),
alarmConfig
);
}
else
{
RedisUtil
.
delete
(
RedisConst
.
ALARM_CONFIG_ORG_ID
+
alarmConfig
.
getOrgId
()
+
":"
+
alarmConfig
.
getAlarmType
());
}
}
public
void
putAll
(
List
<
PlatAlarmConfig
>
alarmConfigs
)
{
alarmConfigs
.
forEach
(
vo
->
{
put
(
vo
);
});
}
public
PlatAlarmConfig
get
(
String
orgIdType
)
{
return
RedisUtil
.
get
(
RedisConst
.
ALARM_CONFIG_ORG_ID
+
orgIdType
);
}
/**
* Callback used to run the bean.
*
* @param args incoming application arguments
* @throws Exception on error
*/
@Override
@TenantIdIgnore
public
void
run
(
ApplicationArguments
args
)
throws
Exception
{
getAll
();
}
public
List
<
PlatAlarmConfig
>
getDeviceAlarmConfigMap
(
PlatDevice
platDevice
)
{
if
(
StringUtils
.
equals
(
platDevice
.
getCategory
(),
PlatDeviceEnum
.
CategoryEnum
.
HEART
.
getValue
()))
{
List
<
PlatAlarmConfig
>
set
=
new
ArrayList
<>();
set
.
add
(
this
.
get
(
platDevice
.
getOrgId
()
+
PlatAlarmConfigEnum
.
AlarmTypeEnum
.
BREATHE
.
getValue
()));
set
.
add
(
this
.
get
(
platDevice
.
getOrgId
()
+
PlatAlarmConfigEnum
.
AlarmTypeEnum
.
HEART
.
getValue
()));
}
if
(
StringUtils
.
equals
(
platDevice
.
getCategory
(),
PlatDeviceEnum
.
CategoryEnum
.
FALL
.
getValue
()))
{
List
<
PlatAlarmConfig
>
set
=
new
ArrayList
<>();
set
.
add
(
this
.
get
(
platDevice
.
getOrgId
()
+
PlatAlarmConfigEnum
.
AlarmTypeEnum
.
FALL
.
getValue
()));
}
if
(
StringUtils
.
equals
(
platDevice
.
getCategory
(),
PlatDeviceEnum
.
CategoryEnum
.
SPACE
.
getValue
()))
{
List
<
PlatAlarmConfig
>
set
=
new
ArrayList
<>();
set
.
add
(
this
.
get
(
platDevice
.
getOrgId
()
+
PlatAlarmConfigEnum
.
AlarmTypeEnum
.
BEHAVIOR
.
getValue
()));
}
return
new
ArrayList
<>();
}
}
server-service/src/main/java/com/makeit/utils/DeviceCacheUtil.java
0 → 100644
View file @
aa5d6f78
package
com
.
makeit
.
utils
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.makeit.entity.platform.device.PlatDevice
;
import
com.makeit.enums.redis.RedisConst
;
import
com.makeit.global.aspect.tenant.TenantIdIgnore
;
import
com.makeit.service.platform.device.PlatDeviceService
;
import
com.makeit.utils.redis.RedisUtil
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.ApplicationArguments
;
import
org.springframework.boot.ApplicationRunner
;
import
org.springframework.stereotype.Component
;
import
java.util.Collection
;
import
java.util.List
;
@Component
public
class
DeviceCacheUtil
implements
ApplicationRunner
{
@Autowired
private
PlatDeviceService
platDeviceService
;
public
List
<
PlatDevice
>
getAll
()
{
List
<
PlatDevice
>
list
=
platDeviceService
.
list
(
new
LambdaQueryWrapper
<
PlatDevice
>());
list
.
stream
().
forEach
(
vo
->
{
put
(
vo
);
});
return
list
;
}
public
void
put
(
PlatDevice
platDevice
)
{
RedisUtil
.
set
(
RedisConst
.
PLAT_IOT_DEVICE_PREFIX
+
platDevice
.
getOriDeviceId
(),
platDevice
);
}
public
PlatDevice
get
(
String
oriDeviceId
)
{
PlatDevice
platDevice
=
RedisUtil
.
get
(
RedisConst
.
PLAT_IOT_DEVICE_PREFIX
+
oriDeviceId
);
if
(
platDevice
==
null
){
getAll
();
}
return
RedisUtil
.
get
(
RedisConst
.
PLAT_IOT_DEVICE_PREFIX
+
oriDeviceId
);
}
public
void
putAll
(
Collection
<
PlatDevice
>
platDeviceList
)
{
platDeviceList
.
forEach
(
vo
->
{
put
(
vo
);
});
}
/**
* Callback used to run the bean.
*
* @param args incoming application arguments
* @throws Exception on error
*/
@Override
@TenantIdIgnore
public
void
run
(
ApplicationArguments
args
)
throws
Exception
{
getAll
();
}
}
server-service/src/main/java/com/makeit/vo/platform/dataScreen/PlatAgeStatisticsVO.java
0 → 100644
View file @
aa5d6f78
package
com
.
makeit
.
vo
.
platform
.
dataScreen
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
/**
* Controller
*
* @author zm
* @version 2023/9/11
*/
@Data
@ApiModel
(
"PlatAgeStatisticsVO对象"
)
public
class
PlatAgeStatisticsVO
{
@ApiModelProperty
(
value
=
"60以下"
)
private
Long
belowSixtyNumber
;
@ApiModelProperty
(
value
=
"60-70"
)
private
Long
sixtyToSeventyNumber
;
@ApiModelProperty
(
value
=
"71-80"
)
private
Long
seventyOneToEightyNumber
;
@ApiModelProperty
(
value
=
"81-90"
)
private
Long
EightyOneToNinetyNumber
;
@ApiModelProperty
(
value
=
"90以上"
)
private
Long
aboveNinetyNumber
;
}
server-service/src/main/java/com/makeit/vo/platform/dataScreen/PlatAlarmStatisticsListVo.java
0 → 100644
View file @
aa5d6f78
package
com
.
makeit
.
vo
.
platform
.
dataScreen
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
/**
* Controller
*
* @author zm
* @version 2023/9/12
*/
@Data
@ApiModel
(
"PlatAlarmStatisticsListVo对象"
)
public
class
PlatAlarmStatisticsListVo
{
@ApiModelProperty
(
value
=
"长者姓名"
)
private
String
elderName
;
@ApiModelProperty
(
value
=
"告警类型"
)
private
String
type
;
@ApiModelProperty
(
value
=
"状态"
)
private
String
status
;
}
server-service/src/main/java/com/makeit/vo/platform/dataScreen/PlatAlarmStatisticsVO.java
0 → 100644
View file @
aa5d6f78
package
com
.
makeit
.
vo
.
platform
.
dataScreen
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.List
;
/**
* Controller
*
* @author zm
* @version 2023/9/11
*/
@Data
@ApiModel
(
"PlatAlarmStatisticsVO对象"
)
public
class
PlatAlarmStatisticsVO
{
@ApiModelProperty
(
value
=
"累计告警"
)
private
Long
totla
;
@ApiModelProperty
(
value
=
"已处理数"
)
private
Long
handledNumber
;
@ApiModelProperty
(
value
=
"待处理数"
)
private
Long
unhandledNumber
;
private
List
<
PlatAlarmStatisticsListVo
>
list
;
}
server-service/src/main/java/com/makeit/vo/platform/dataScreen/PlatBaseInfoStatisticsVO.java
0 → 100644
View file @
aa5d6f78
package
com
.
makeit
.
vo
.
platform
.
dataScreen
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.List
;
/**
* Controller
*
* @author zm
* @version 2023/9/11
*/
@Data
@ApiModel
(
"PlatAlarmStatisticsVO对象"
)
public
class
PlatBaseInfoStatisticsVO
{
@ApiModelProperty
(
value
=
"累计服务长者"
)
private
Long
elderNumber
;
@ApiModelProperty
(
value
=
"当前在住长者"
)
private
Long
currentElderNumber
;
@ApiModelProperty
(
value
=
"床位总数"
)
private
Long
bedNumber
;
@ApiModelProperty
(
value
=
"服务人员"
)
private
Long
userNumber
;
}
server-service/src/main/java/com/makeit/vo/platform/dataScreen/PlatDeviceStatisticsVO.java
0 → 100644
View file @
aa5d6f78
package
com
.
makeit
.
vo
.
platform
.
dataScreen
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.List
;
/**
* Controller
*
* @author zm
* @version 2023/9/11
*/
@Data
@ApiModel
(
"PlatDeviceStatisticsVO对象"
)
public
class
PlatDeviceStatisticsVO
{
@ApiModelProperty
(
value
=
"总数"
)
private
Long
totla
;
@ApiModelProperty
(
value
=
"在线数"
)
private
Long
onlineNumber
;
@ApiModelProperty
(
value
=
"故障数"
)
private
Long
faultNumber
;
@ApiModelProperty
(
value
=
"离线数"
)
private
Long
offlineNumber
;
@ApiModelProperty
(
value
=
"禁用数"
)
private
Long
disableNumber
;
@ApiModelProperty
(
value
=
"呼吸心率雷达数"
)
private
Long
heartNumber
;
@ApiModelProperty
(
value
=
"跌倒检测雷达数"
)
private
Long
fallNumber
;
@ApiModelProperty
(
value
=
"空间人体雷达数"
)
private
Long
spaceNumber
;
}
server-service/src/main/java/com/makeit/vo/platform/dataScreen/PlatMapStatisticsSpaceVO.java
0 → 100644
View file @
aa5d6f78
package
com
.
makeit
.
vo
.
platform
.
dataScreen
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
/**
* Controller
*
* @author zm
* @version 2023/9/11
*/
@Data
@ApiModel
(
"PlatMapStatisticsSpaceVO对象"
)
public
class
PlatMapStatisticsSpaceVO
{
@ApiModelProperty
(
value
=
"空间id"
)
private
String
spaceId
;
@ApiModelProperty
(
value
=
"空间名称"
)
private
String
spaceName
;
@ApiModelProperty
(
value
=
"空间地址"
)
private
String
address
;
@ApiModelProperty
(
value
=
"经度"
)
private
String
longitude
;
@ApiModelProperty
(
value
=
"纬度"
)
private
String
latitude
;
@ApiModelProperty
(
value
=
"长者数量"
)
private
Long
elderNumber
;
@ApiModelProperty
(
value
=
"今日告警数"
)
private
Long
alarmNumber
;
@ApiModelProperty
(
value
=
"待处理告警"
)
private
Long
unHandledNumber
;
}
server-service/src/main/java/com/makeit/vo/platform/dataScreen/PlatMapStatisticsVO.java
0 → 100644
View file @
aa5d6f78
package
com
.
makeit
.
vo
.
platform
.
dataScreen
;
import
com.makeit.utils.area.ChinaAreaVO
;
import
io.swagger.annotations.ApiModel
;
import
lombok.Data
;
import
java.util.List
;
/**
* Controller
*
* @author zm
* @version 2023/9/11
*/
@Data
@ApiModel
(
"PlatMapStatisticsVO对象"
)
public
class
PlatMapStatisticsVO
{
private
List
<
ChinaAreaVO
>
areas
;
private
List
<
PlatMapStatisticsSpaceVO
>
spaceList
;
}
server-service/src/main/java/com/makeit/vo/platform/dataScreen/PlatSexStatisticsVO.java
0 → 100644
View file @
aa5d6f78
package
com
.
makeit
.
vo
.
platform
.
dataScreen
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.math.BigDecimal
;
/**
* Controller
*
* @author zm
* @version 2023/9/11
*/
@Data
@ApiModel
(
"PlatSexStatisticsVO对象"
)
public
class
PlatSexStatisticsVO
{
@ApiModelProperty
(
value
=
"男性人数"
)
private
Long
manNumber
;
@ApiModelProperty
(
value
=
"女性人数"
)
private
Long
womanNumber
;
@ApiModelProperty
(
value
=
"男性比例"
)
private
BigDecimal
manRate
;
@ApiModelProperty
(
value
=
"女性比例"
)
private
BigDecimal
womanRate
;
}
server-service/src/main/resources/mappers/PlatBedMapper.xml
View file @
aa5d6f78
...
@@ -33,5 +33,21 @@
...
@@ -33,5 +33,21 @@
</where>
</where>
</select>
</select>
<select
id=
"countByOrdIdsAndType"
resultType=
"java.lang.Long"
>
SELECT count(*) from plat_bed pb LEFT JOIN plat_space ps ON pb.space_id = ps.id
<where>
ps.del_flag = 0
<if
test=
"orgIds != null and orgIds != '' "
>
AND ps.org_id IN
<foreach
collection=
"orgIds"
item=
"item"
separator=
","
open=
"("
close=
")"
index=
""
>
#{item}
</foreach>
</if>
<if
test=
"orgType != null and orgType != ''"
>
AND ps.type = #{orgType}
</if>
</where>
</select>
</mapper>
</mapper>
server-web/src/main/java/com/makeit/mqtt/MqttConfig.java
View file @
aa5d6f78
...
@@ -44,9 +44,7 @@ public class MqttConfig {
...
@@ -44,9 +44,7 @@ public class MqttConfig {
@Bean
@Bean
public
MqttPushClient
getMqttPushClient
()
{
public
MqttPushClient
getMqttPushClient
()
{
clientId
=
StringUtils
.
isNotEmpty
(
clientId
)
?
clientId
:
iotTokenService
.
getIotToken
();
String
iotToken
=
iotTokenService
.
getIotToken
();
clientId
=
StringUtils
.
isNotEmpty
(
iotToken
)
?
iotToken
:
clientId
;
mqttPushClient
.
connect
(
hostUrl
,
clientId
,
username
,
password
,
timeout
,
keepalive
);
mqttPushClient
.
connect
(
hostUrl
,
clientId
,
username
,
password
,
timeout
,
keepalive
);
// 订阅主题
// 订阅主题
mqttPushClient
.
subscribe
(
defaultTopic
,
0
);
mqttPushClient
.
subscribe
(
defaultTopic
,
0
);
...
...
server-web/src/main/java/com/makeit/mqtt/PushCallback.java
View file @
aa5d6f78
...
@@ -2,48 +2,25 @@ package com.makeit.mqtt;
...
@@ -2,48 +2,25 @@ package com.makeit.mqtt;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.makeit.dto.platform.alarm.PlatAlarmCheckDTO
;
import
com.makeit.common.entity.BaseEntity
;
import
com.makeit.dto.platform.alarm.PlatAlaramCheckDTO
;
import
com.makeit.dto.platform.alarm.PlatAlarmConfigBehaviorDTOVO
;
import
com.makeit.dto.platform.alarm.PlatAlarmConfigHeartDTOVO
;
import
com.makeit.dto.platform.alarm.PlatAlarmConfigRespiratoryDTOVO
;
import
com.makeit.entity.platform.alarm.PlatAlarmConfig
;
import
com.makeit.entity.platform.alarm.PlatAlarmConfig
;
import
com.makeit.entity.platform.alarm.PlatAlarmRecord
;
import
com.makeit.entity.platform.device.PlatDevice
;
import
com.makeit.entity.platform.device.PlatDevice
;
import
com.makeit.entity.platform.elder.PlatElder
;
import
com.makeit.global.aspect.tenant.TenantIdIgnore
;
import
com.makeit.entity.platform.space.PlatRoom
;
import
com.makeit.entity.platform.space.PlatRoomBedDevice
;
import
com.makeit.enums.redis.RedisConst
;
import
com.makeit.module.iot.vo.DeviceInfo
;
import
com.makeit.module.iot.vo.DeviceInfo
;
import
com.makeit.service.platform.alarm.PlatAlarmConfigService
;
import
com.makeit.service.platform.alarm.alarmStrategy.IAlarm
;
import
com.makeit.service.platform.alarm.PlatAlarmRecordService
;
import
com.makeit.utils.AlarmConfigCacheUtil
;
import
com.makeit.service.platform.device.PlatDeviceService
;
import
com.makeit.utils.DeviceCacheUtil
;
import
com.makeit.service.platform.elder.PlatElderService
;
import
com.makeit.service.platform.space.PlatRoomBedDeviceService
;
import
com.makeit.service.platform.space.PlatRoomService
;
import
com.makeit.utils.data.convert.JsonUtil
;
import
com.makeit.utils.redis.RedisUtil
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.eclipse.paho.client.mqttv3.IMqttDeliveryToken
;
import
org.eclipse.paho.client.mqttv3.IMqttDeliveryToken
;
import
org.eclipse.paho.client.mqttv3.MqttCallback
;
import
org.eclipse.paho.client.mqttv3.MqttCallback
;
import
org.eclipse.paho.client.mqttv3.MqttClient
;
import
org.eclipse.paho.client.mqttv3.MqttClient
;
import
org.eclipse.paho.client.mqttv3.MqttMessage
;
import
org.eclipse.paho.client.mqttv3.MqttMessage
;
import
org.redisson.api.RAtomicLong
;
import
org.redisson.api.RedissonClient
;
import
org.slf4j.Logger
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
java.util.Arrays
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.regex.Matcher
;
import
java.util.regex.Pattern
;
import
java.util.stream.Collectors
;
@Component
@Component
...
@@ -55,13 +32,12 @@ public class PushCallback implements MqttCallback {
...
@@ -55,13 +32,12 @@ public class PushCallback implements MqttCallback {
private
static
MqttClient
client
;
private
static
MqttClient
client
;
//todo 放到缓存
@Autowired
@Autowired
private
PlatAlarmRecordService
platAlarmRecordService
;
private
AlarmConfigCacheUtil
alarmConfigCacheUtil
;
@Autowired
@Autowired
private
PlatDeviceService
platDeviceService
;
private
DeviceCacheUtil
deviceCacheUtil
;
@Autowired
@Autowired
private
PlatAlarmConfigService
platAlarmConfigService
;
private
List
<
IAlarm
>
alarmList
;
@Override
@Override
...
@@ -84,7 +60,7 @@ public class PushCallback implements MqttCallback {
...
@@ -84,7 +60,7 @@ public class PushCallback implements MqttCallback {
DeviceInfo
device
=
JSON
.
parseObject
(
payload
,
DeviceInfo
.
class
);
DeviceInfo
device
=
JSON
.
parseObject
(
payload
,
DeviceInfo
.
class
);
// todo
// todo
checkAlarm
(
device
);
//
checkAlarm(device);
}
}
@Override
@Override
...
@@ -92,199 +68,39 @@ public class PushCallback implements MqttCallback {
...
@@ -92,199 +68,39 @@ public class PushCallback implements MqttCallback {
logger
.
info
(
"deliveryComplete--------------"
+
token
.
isComplete
());
logger
.
info
(
"deliveryComplete--------------"
+
token
.
isComplete
());
}
}
@TenantIdIgnore
public
void
checkAlarm
(
DeviceInfo
device
)
{
public
void
checkAlarm
(
DeviceInfo
device
)
{
getDeviceAlarmConfigMap
();
String
deviceId
=
device
.
getDeviceId
();
String
deviceId
=
device
.
getDeviceId
();
String
propertiesStr
=
device
.
getProperties
();
//String propertiesStr = device.getProperties();
JSONObject
properties
=
JSON
.
parseObject
(
propertiesStr
);
// if (StringUtils.isBlank(propertiesStr)) {
//呼吸率
// return;
int
br
=
(
int
)
properties
.
get
(
"br"
);
// }
//心率
// JSONObject properties = JSON.parseObject(propertiesStr);
int
hr
=
(
int
)
properties
.
get
(
"hr"
);
JSONObject
properties
=
device
.
getProperties
();
PlatDevice
platDevice
=
platDeviceService
.
getById
(
deviceId
);
String
category
=
platDevice
.
getCategory
();
//iot设备id
LambdaQueryWrapper
<
PlatAlarmConfig
>
platAlarmConfigLambdaQueryWrapper
=
new
LambdaQueryWrapper
<>();
PlatDevice
platDevice
=
deviceCacheUtil
.
get
(
deviceId
);
platAlarmConfigLambdaQueryWrapper
.
eq
(
PlatAlarmConfig:
:
getOrgId
,
platDevice
.
getOrgId
())
List
<
PlatAlarmConfig
>
deviceAlarmConfigList
=
alarmConfigCacheUtil
.
getDeviceAlarmConfigMap
(
platDevice
);
.
in
(
PlatAlarmConfig:
:
getAlarmType
,
deviceAlarmConfigMap
.
get
(
category
))
if
(
CollectionUtils
.
isEmpty
(
deviceAlarmConfigList
))
{
;
List
<
PlatAlarmConfig
>
configList
=
platAlarmConfigService
.
list
(
platAlarmConfigLambdaQueryWrapper
);
if
(
CollectionUtils
.
isEmpty
(
configList
))
{
return
;
return
;
}
}
RedissonClient
redissonClient
=
RedisUtil
.
getClient
();
for
(
PlatAlarmConfig
config
:
deviceAlarmConfigList
)
{
for
(
PlatAlarmConfig
config
:
configList
)
{
String
alarmType
=
config
.
getAlarmType
();
String
alarmType
=
config
.
getAlarmType
();
String
ruleConfigStr
=
config
.
getRuleConfig
();
PlatAlarmCheckDTO
platAlarmCheckDTO
=
new
PlatAlarmCheckDTO
();
//跌倒
platAlarmCheckDTO
.
setPlatAlarmConfig
(
config
);
if
(
StringUtils
.
equals
(
alarmType
,
"1"
))
{
platAlarmCheckDTO
.
setPlatDevice
(
platDevice
);
PlatAlarmRecord
platAlarmRecord
=
createFallPlatAlarmRecord
(
platDevice
,
config
);
platAlarmCheckDTO
.
setProperties
(
properties
);
platAlarmRecordService
.
noticeDeviceAlarm
(
config
,
platAlarmRecord
);
}
for
(
IAlarm
alarm
:
alarmList
)
{
if
(
StringUtils
.
isBlank
(
ruleConfigStr
))
{
if
(
alarm
.
support
(
alarmType
))
{
continue
;
alarm
.
checkConfig
(
platAlarmCheckDTO
);
}
//呼吸
if
(
StringUtils
.
equals
(
alarmType
,
"2"
))
{
PlatAlarmConfigRespiratoryDTOVO
ruleConfig
=
JsonUtil
.
toObj
(
ruleConfigStr
,
PlatAlarmConfigRespiratoryDTOVO
.
class
);
Integer
start
=
ruleConfig
.
getRespiratoryRateStart
();
Integer
end
=
ruleConfig
.
getRespiratoryRateEnd
();
Integer
duration
=
ruleConfig
.
getDuration
();
//计数
RAtomicLong
atomicLong
=
redissonClient
.
getAtomicLong
(
RedisConst
.
ALARM_DEVICE_ID
+
deviceId
);
if
(!
atomicLong
.
isExists
())
{
atomicLong
.
set
(
0
);
}
if
(
br
>
end
||
br
<
start
)
{
long
count
=
atomicLong
.
incrementAndGet
();
if
(
count
>=
duration
)
{
PlatAlarmRecord
platAlarmRecord
=
createRespiratoryPlatAlarmRecord
(
platDevice
,
config
);
platAlarmRecordService
.
noticeDeviceAlarm
(
config
,
platAlarmRecord
);
atomicLong
.
set
(
0
);
}
}
else
{
atomicLong
.
set
(
0
);
}
}
}
}
//心率
if
(
StringUtils
.
equals
(
alarmType
,
"3"
))
{
PlatAlarmConfigHeartDTOVO
ruleConfig
=
JsonUtil
.
toObj
(
ruleConfigStr
,
PlatAlarmConfigHeartDTOVO
.
class
);
Integer
start
=
ruleConfig
.
getHeartRateStart
();
Integer
end
=
ruleConfig
.
getHeartRateEnd
();
Integer
duration
=
ruleConfig
.
getDuration
();
RAtomicLong
atomicLong
=
redissonClient
.
getAtomicLong
(
RedisConst
.
ALARM_DEVICE_ID
+
deviceId
);
if
(!
atomicLong
.
isExists
())
{
atomicLong
.
set
(
0
);
}
if
(
hr
>
end
||
hr
<
start
)
{
long
count
=
atomicLong
.
incrementAndGet
();
if
(
count
>=
duration
)
{
PlatAlarmRecord
platAlarmRecord
=
createHeartPlatAlarmRecord
(
platDevice
,
config
);
platAlarmRecordService
.
noticeDeviceAlarm
(
config
,
platAlarmRecord
);
atomicLong
.
set
(
0
);
}
}
else
{
atomicLong
.
set
(
0
);
}
}
//行为
if
(
StringUtils
.
equals
(
alarmType
,
"4"
))
{
PlatAlarmConfigBehaviorDTOVO
ruleConfig
=
JsonUtil
.
toObj
(
ruleConfigStr
,
PlatAlarmConfigBehaviorDTOVO
.
class
);
Integer
duration
=
ruleConfig
.
getDuration
();
//todo
}
}
}
}
}
private
PlatAlarmRecord
createFallPlatAlarmRecord
(
PlatDevice
platDevice
,
PlatAlarmConfig
config
)
{
return
createPlatAlarmRecord
(
platDevice
,
config
,
"房间名111"
);
}
private
PlatAlarmRecord
createRespiratoryPlatAlarmRecord
(
PlatDevice
platDevice
,
PlatAlarmConfig
config
)
{
return
createPlatAlarmRecord
(
platDevice
,
config
,
"呼吸状态111"
);
}
private
PlatAlarmRecord
createHeartPlatAlarmRecord
(
PlatDevice
platDevice
,
PlatAlarmConfig
config
)
{
return
createPlatAlarmRecord
(
platDevice
,
config
,
"心率状态111"
);
}
private
PlatAlarmRecord
createBehaviorPlatAlarmRecord
(
PlatDevice
platDevice
,
PlatAlarmConfig
config
)
{
return
createPlatAlarmRecord
(
platDevice
,
config
,
"房间名"
);
}
private
PlatAlarmRecord
createPlatAlarmRecord
(
PlatDevice
platDevice
,
PlatAlarmConfig
config
,
String
...
param
)
{
PlatAlaramCheckDTO
platAlaramCheckDTO
=
getElderListByDeviceId
(
platDevice
.
getId
());
List
<
PlatElder
>
elderList
=
platAlaramCheckDTO
.
getPlatElderList
();
String
elderNameJoin
=
elderList
.
stream
().
map
(
PlatElder:
:
getName
).
collect
(
Collectors
.
joining
(
" "
));
PlatAlarmRecord
platAlarmRecord
=
new
PlatAlarmRecord
();
platAlarmRecord
.
setAlarmId
(
config
.
getId
());
platAlarmRecord
.
setAlarmType
(
config
.
getAlarmType
());
platAlarmRecord
.
setAlarmDate
(
new
Date
());
platAlarmRecord
.
setStatus
(
"0"
);
//todo
platAlarmRecord
.
setContent
(
replaceParam
(
elderNameJoin
,
param
));
platAlarmRecord
.
setOrgId
(
platDevice
.
getOrgId
());
platAlarmRecord
.
setNotifyUser
(
config
.
getNotifyUser
());
platAlarmRecord
.
setDeviceId
(
platDevice
.
getId
());
platAlarmRecord
.
setElderIds
(
elderList
.
stream
().
map
(
BaseEntity:
:
getId
).
collect
(
Collectors
.
joining
(
","
)));
platAlarmRecord
.
setTenantId
(
config
.
getTenantId
());
return
platAlarmRecord
;
}
private
static
HashMap
<
String
,
Object
>
deviceAlarmConfigMap
;
public
static
HashMap
<
String
,
Object
>
getDeviceAlarmConfigMap
()
{
if
(
deviceAlarmConfigMap
!=
null
)
{
return
deviceAlarmConfigMap
;
}
HashMap
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"0"
,
Arrays
.
asList
(
"2"
,
"3"
));
map
.
put
(
"1"
,
Arrays
.
asList
(
"4"
));
map
.
put
(
"2"
,
Arrays
.
asList
(
"1"
));
deviceAlarmConfigMap
=
map
;
return
deviceAlarmConfigMap
;
}
private
String
replaceParam
(
String
oriContent
,
String
...
param
)
{
Pattern
p
=
Pattern
.
compile
(
"\\[#\\d+\\]|\\[#[\\p{IsHan}]+\\]|\\[#[^\\]]*\\]"
);
Matcher
m
=
p
.
matcher
(
oriContent
);
StringBuffer
sb
=
new
StringBuffer
();
if
(!
m
.
find
())
{
return
oriContent
;
}
m
.
reset
();
int
i
=
0
;
while
(
m
.
find
())
{
m
.
appendReplacement
(
sb
,
param
[
i
]);
i
++;
}
m
.
appendTail
(
sb
);
return
sb
.
toString
();
}
@Autowired
private
PlatRoomBedDeviceService
platRoomBedDeviceService
;
@Autowired
private
PlatElderService
platElderService
;
@Autowired
private
PlatRoomService
platRoomService
;
private
PlatAlaramCheckDTO
getElderListByDeviceId
(
String
deviceId
)
{
PlatAlaramCheckDTO
result
=
new
PlatAlaramCheckDTO
();
LambdaQueryWrapper
<
PlatRoomBedDevice
>
roomBedDeviceLambdaQueryWrapper
=
new
LambdaQueryWrapper
<>();
roomBedDeviceLambdaQueryWrapper
.
eq
(
PlatRoomBedDevice:
:
getDeviceId
,
deviceId
);
PlatRoomBedDevice
platRoomBedDevice
=
platRoomBedDeviceService
.
getOne
(
roomBedDeviceLambdaQueryWrapper
,
false
);
PlatRoom
platRoom
=
platRoomService
.
getById
(
platRoomBedDevice
.
getRoomId
());
result
.
setPlatRoom
(
platRoom
);
if
(
platRoomBedDevice
==
null
)
{
return
result
;
}
String
bedId
=
platRoomBedDevice
.
getBedId
();
if
(
StringUtils
.
isNotBlank
(
bedId
))
{
LambdaQueryWrapper
<
PlatElder
>
elderLambdaQueryWrapper
=
new
LambdaQueryWrapper
<>();
elderLambdaQueryWrapper
.
eq
(
PlatElder:
:
getBedId
,
bedId
);
List
<
PlatElder
>
list
=
platElderService
.
list
(
elderLambdaQueryWrapper
);
result
.
setPlatElderList
(
list
);
return
result
;
}
String
roomId
=
platRoomBedDevice
.
getRoomId
();
if
(
StringUtils
.
isNotBlank
(
roomId
))
{
LambdaQueryWrapper
<
PlatElder
>
elderLambdaQueryWrapper
=
new
LambdaQueryWrapper
<>();
elderLambdaQueryWrapper
.
eq
(
PlatElder:
:
getRoomId
,
roomId
);
List
<
PlatElder
>
list
=
platElderService
.
list
(
elderLambdaQueryWrapper
);
result
.
setPlatElderList
(
list
);
return
result
;
}
return
result
;
}
}
}
server-web/src/main/resources/application-dev.yml
View file @
aa5d6f78
...
@@ -115,7 +115,7 @@ mqtt:
...
@@ -115,7 +115,7 @@ mqtt:
username
:
admin|1693982115969
username
:
admin|1693982115969
password
:
8e3795ef7b5e95869fa8c323b865b3a9
password
:
8e3795ef7b5e95869fa8c323b865b3a9
hostUrl
:
tcp://124.71.33.17:11883
hostUrl
:
tcp://124.71.33.17:11883
clientId
:
ab3a2fd694c8c838aba2686df3a80e7b
clientId
:
defaultTopic
:
/device/*/*/**
defaultTopic
:
/device/*/*/**
timeout
:
10
timeout
:
10
keepalive
:
60
keepalive
:
60
...
...
server-web/src/main/resources/application-test.yml
View file @
aa5d6f78
...
@@ -112,7 +112,7 @@ mqtt:
...
@@ -112,7 +112,7 @@ mqtt:
username
:
admin|1693982115969
username
:
admin|1693982115969
password
:
8e3795ef7b5e95869fa8c323b865b3a9
password
:
8e3795ef7b5e95869fa8c323b865b3a9
hostUrl
:
tcp://124.71.33.17:11883
hostUrl
:
tcp://124.71.33.17:11883
clientId
:
ab3a2fd694c8c838aba2686df3a80e7b
clientId
:
defaultTopic
:
/device/*/*/**
defaultTopic
:
/device/*/*/**
timeout
:
10
timeout
:
10
keepalive
:
60
keepalive
:
60
...
...
server-web/src/test/java/com/makeit/iotapi/IotTest.java
View file @
aa5d6f78
...
@@ -63,6 +63,11 @@ public class IotTest {
...
@@ -63,6 +63,11 @@ public class IotTest {
}
}
@Test
@Test
void
getDeviceLogByTimeRange
()
{
iotProductDeviceService
.
getDeviceLogByTimeRange
(
"1701127702523473920"
,
100
,
"2023-09-12 00:00:00"
,
"2023-09-12 23:59:00"
);
}
@Test
void
getIotOrgInfo
()
{
void
getIotOrgInfo
()
{
iotOrgService
.
getIotOrgInfo
(
"1698964909267415040"
);
iotOrgService
.
getIotOrgInfo
(
"1698964909267415040"
);
}
}
...
...
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