Commit f8b8c167 by 朱淼

Merge branch 'dev' of http://git.xmmakeit.com/huangjiay/iot-platform-server into dev

# Conflicts:
#	server-service/src/main/java/com/makeit/service/platform/space/PlatBedService.java
#	server-service/src/main/java/com/makeit/service/platform/space/impl/PlatBedServiceImpl.java
parents 03ca3555 19c765c5
Showing with 673 additions and 81 deletions
...@@ -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',
......
...@@ -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 PlatDeviceEditDTO dto) {
platDeviceService.edit(platDevice); platDeviceService.edit(dto);
return ApiResponseUtils.success(); return ApiResponseUtils.success();
} }
......
...@@ -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 platMenuService; private SaasMenuService saasMenuService;
@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(platMenuService.list(dto)); return ApiResponseUtils.success(saasMenuService.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(platMenuService.tree(dto)); return ApiResponseUtils.success(saasMenuService.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(platMenuService.list(dto)); return ApiResponseUtils.success(saasMenuService.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(platMenuService.tree(dto)); return ApiResponseUtils.success(saasMenuService.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 = platMenuService.add(dto); String id = saasMenuService.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) {
platMenuService.edit(dto); saasMenuService.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(platMenuService.view(dto.getId())); return ApiResponseUtils.success(saasMenuService.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() {
platMenuService.sync(); saasMenuService.sync();
return ApiResponseUtils.success(); return ApiResponseUtils.success();
} }
......
...@@ -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"),
......
...@@ -95,6 +95,8 @@ public class RedisConst { ...@@ -95,6 +95,8 @@ 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 = "alarm: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:";
......
package com.makeit.module.iot.vo;
import lombok.Data;
@Data
public class DeviceState {
private String text;
private String value;
}
...@@ -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=床位已绑定长者或设备,不可删除
......
...@@ -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) {
......
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 PlatAlaramCheckDTO { 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;
} }
...@@ -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
......
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;
......
...@@ -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,6 @@ public interface PlatAlarmRecordService extends IService<PlatAlarmRecord> { ...@@ -52,4 +53,6 @@ public interface PlatAlarmRecordService extends IService<PlatAlarmRecord> {
* 设备告警调用 发送消息 * 设备告警调用 发送消息
*/ */
void noticeDeviceAlarm(PlatAlarmConfig alarmConfig, PlatAlarmRecord alarmRecord); void noticeDeviceAlarm(PlatAlarmConfig alarmConfig, PlatAlarmRecord alarmRecord);
PlatAlarmRecord createPlatAlarmRecord(PlatAlarmCheckDTO platAlarmCheckDTO);
} }
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.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());
}
@Override
public void createPlatAlarmRecord(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) {
platAlarmCheckDTO.getParam().add("房间名");
PlatAlarmRecord platAlarmRecord =platAlarmRecordService.createPlatAlarmRecord(platAlarmCheckDTO);
platAlarmRecordService.noticeDeviceAlarm(platAlarmCheckDTO.getPlatAlarmConfig(),platAlarmRecord);
RedisUtil.set(RedisConst.ALARM_DEVICE_ID + deviceId,startLong);
}
}else {
//
RedisUtil.set(RedisConst.ALARM_DEVICE_ID + deviceId,null);
}
}
}
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.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());
}
@Override
public void createPlatAlarmRecord(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) {
platAlarmCheckDTO.getParam().add("呼吸状态111");
PlatAlarmRecord platAlarmRecord = platAlarmRecordService.createPlatAlarmRecord(platAlarmCheckDTO);
platAlarmRecordService.noticeDeviceAlarm(platAlarmCheckDTO.getPlatAlarmConfig(),platAlarmRecord);
RedisUtil.set(RedisConst.ALARM_DEVICE_ID + deviceId,endLong/1000);
}
} else {
RedisUtil.set(RedisConst.ALARM_DEVICE_ID + deviceId,endLong/1000);
}
return;
}
}
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.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());
}
@Override
public void createPlatAlarmRecord(PlatAlarmCheckDTO platAlarmCheckDTO) {
JSONObject properties = platAlarmCheckDTO.getProperties();
String personState = (String) properties.get("personState");
if (StringUtils.equals(personState, "1")) {
platAlarmCheckDTO.getParam().add("房间名111");
PlatAlarmRecord platAlarmRecord = platAlarmRecordService.createPlatAlarmRecord(platAlarmCheckDTO);
platAlarmRecordService.noticeDeviceAlarm(platAlarmCheckDTO.getPlatAlarmConfig(),platAlarmRecord);
}
}
}
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.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 createPlatAlarmRecord(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) {
platAlarmCheckDTO.getParam().add("呼吸状态111");
PlatAlarmRecord platAlarmRecord =platAlarmRecordService. createPlatAlarmRecord(platAlarmCheckDTO);
platAlarmRecordService.noticeDeviceAlarm(platAlarmCheckDTO.getPlatAlarmConfig(),platAlarmRecord);
RedisUtil.set(RedisConst.ALARM_DEVICE_ID + deviceId,endLong/1000);
}
} else {
RedisUtil.set(RedisConst.ALARM_DEVICE_ID + deviceId,endLong/1000);
}
}
}
package com.makeit.service.platform.alarm.alarmStrategy;
import com.makeit.dto.platform.alarm.PlatAlarmCheckDTO;
public interface IAlarm {
boolean support(String alarmType);
void createPlatAlarmRecord(PlatAlarmCheckDTO platAlarmCheckDTO);
}
...@@ -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);
} }
} }
...@@ -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) {
getElderListByDeviceId(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;
}
private 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();
}
} }
...@@ -519,6 +519,8 @@ public class PlatOrgServiceImpl extends ServiceImpl<PlatOrgMapper, PlatOrg> ...@@ -519,6 +519,8 @@ 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(StringUtils.isNotBlank(dto.getParentId()), 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;
} }
...@@ -529,15 +531,26 @@ public class PlatOrgServiceImpl extends ServiceImpl<PlatOrgMapper, PlatOrg> ...@@ -529,15 +531,26 @@ public class PlatOrgServiceImpl extends ServiceImpl<PlatOrgMapper, PlatOrg>
LambdaQueryWrapper<PlatOrg> queryWrapper = getLambdaQueryWrapper(platOrgQueryDTO); LambdaQueryWrapper<PlatOrg> queryWrapper = getLambdaQueryWrapper(platOrgQueryDTO);
List<PlatOrg> list = list(queryWrapper); List<PlatOrg> list = list(queryWrapper);
List<PlatOrg> orgTree = createOrgTree2(list); 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; return orgTree;
} }
private List<PlatOrg> createOrgTree2(List<PlatOrg> orgList){ private List<PlatOrg> createOrgTree2(List<PlatOrg> orgList,Set<String> filterSet){
if(CollectionUtils.isEmpty(orgList)){ if(CollectionUtils.isEmpty(orgList)){
return new ArrayList<>(); return new ArrayList<>();
} }
Map<String, List<PlatOrg>> parentMap = orgList.stream().collect(Collectors.groupingBy(PlatOrg::getParentId)); Map<String, List<PlatOrg>> parentMap = orgList.stream()
.filter(vo->filterSet.contains(vo.getId()))
.collect(Collectors.groupingBy(PlatOrg::getParentId));
orgList.forEach(vo->{ orgList.forEach(vo->{
vo.setChildren(parentMap.get(vo.getId())); vo.setChildren(parentMap.get(vo.getId()));
}); });
......
...@@ -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.getRoleIdList() != 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());
......
...@@ -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);
} }
...@@ -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);
}
} }
...@@ -57,6 +57,6 @@ public interface PlatBedService extends IService<PlatBed> { ...@@ -57,6 +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); long countByOrdIds(List<String> orgIds);}
}
...@@ -19,7 +19,7 @@ import com.makeit.service.platform.device.PlatDeviceService; ...@@ -19,7 +19,7 @@ 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.service.platform.space.PlatRoomService; 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;
...@@ -27,6 +27,7 @@ import org.springframework.stereotype.Service; ...@@ -27,6 +27,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
/** /**
* @Author:lzy * @Author:lzy
...@@ -37,12 +38,10 @@ import java.util.*; ...@@ -37,12 +38,10 @@ import java.util.*;
public class PlatBedServiceImpl extends ServiceImpl<PlatBedMapper, PlatBed> implements PlatBedService { public class PlatBedServiceImpl extends ServiceImpl<PlatBedMapper, PlatBed> implements PlatBedService {
@Autowired @Autowired
private PlatDeviceService platDeviceService; private PlatRoomService platRoomService;
@Autowired @Autowired
private PlatRoomBedDeviceService platRoomBedDeviceService; private PlatRoomBedDeviceService platRoomBedDeviceService;
@Autowired
private PlatRoomService platRoomService;
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
...@@ -105,6 +104,9 @@ public class PlatBedServiceImpl extends ServiceImpl<PlatBedMapper, PlatBed> impl ...@@ -105,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,14 +129,9 @@ public class PlatBedServiceImpl extends ServiceImpl<PlatBedMapper, PlatBed> impl ...@@ -127,14 +129,9 @@ public class PlatBedServiceImpl extends ServiceImpl<PlatBedMapper, PlatBed> impl
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 room = platRoomService.getById(platBed.getRoomId()); platRoom.setBedNumber(platRoom.getBedNumber()-1);
if(room != null){ platRoomService.updateById(platRoom); }
Integer bedNumber = room.getBedNumber()-1;
room.setBedNumber(bedNumber);
platRoomService.updateById(room);
}
}
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
...@@ -162,10 +159,24 @@ public class PlatBedServiceImpl extends ServiceImpl<PlatBedMapper, PlatBed> impl ...@@ -162,10 +159,24 @@ public class PlatBedServiceImpl extends ServiceImpl<PlatBedMapper, PlatBed> impl
return baseMapper.selectByRoomIdAndStatus(dto); return baseMapper.selectByRoomIdAndStatus(dto);
} }
@Override @Override
public long countByOrdIds(List<String> orgIds) { public List<PlatBed> list(PlatBedQueryDTO dto) {
return baseMapper.countByOrdIdsAndType(orgIds, PlatOrgEnum.OrgTypeEnum.INSTITUTION.getValue());
} 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());
}}
...@@ -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);
} }
......
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);
} }
...@@ -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);
}
} }
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(state); 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 绑定的所有设备
*
*/
} }
package com.makeit.utils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.makeit.entity.platform.alarm.PlatAlarmConfig;
import com.makeit.enums.CommonEnum;
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.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();
}
}
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();
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment