Commit a20399eb by 朱淼
parents 906e8fab 96d48efc
Showing with 199 additions and 104 deletions
......@@ -5,13 +5,56 @@ import java.math.RoundingMode;
public class MathUtil {
public static BigDecimal divideZero(BigDecimal a, BigDecimal b, int scale, RoundingMode roundingMode) {
public static int divideZero(int a, int b) {
if (b == 0) {
return 0;
}
return a / b;
}
public static long divideZero(long a, long b) {
if (b == 0) {
return 0;
}
return a / b;
}
public static Integer divideNull(int a, int b) {
if (b == 0) {
return null;
}
return a / b;
}
public static Long divideNull(long a, long b) {
if (b == 0) {
return null;
}
return a / b;
}
public static BigDecimal divideNull(BigDecimal a, BigDecimal b, int scale, RoundingMode roundingMode) {
if (b.compareTo(BigDecimal.ZERO) == 0) {
return null;
}
return a.divide(b, scale, roundingMode);
}
public static BigDecimal decimalDivideZero(BigDecimal a, BigDecimal b, int scale, RoundingMode roundingMode) {
if (b.compareTo(BigDecimal.ZERO) == 0) {
return BigDecimal.ZERO;
}
return a.divide(b, scale, roundingMode);
}
public static BigDecimal decimalDivideNull(BigDecimal a, BigDecimal b, int scale, RoundingMode roundingMode) {
if (b.compareTo(BigDecimal.ZERO) == 0) {
return null;
}
return a.divide(b, scale, roundingMode);
}
public static BigDecimal min(BigDecimal a, BigDecimal b) {
BigDecimal min = a;
......@@ -41,11 +84,12 @@ public class MathUtil {
return Math.min(Math.min(a, b), c);
}
public static Long orZero(Long a){
return a==null?0L:a;
public static Long orZero(Long a) {
return a == null ? 0L : a;
}
public static Integer orZero(Integer a){
return a==null?0:a;
public static Integer orZero(Integer a) {
return a == null ? 0 : a;
}
}
......@@ -7,6 +7,7 @@ import com.makeit.common.response.ApiResponseEntity;
import com.makeit.common.response.ApiResponseUtils;
import com.makeit.dto.platform.alarm.PlatAlarmConfigDTOVO;
import com.makeit.dto.platform.alarm.PlatAlarmConfigQueryDTO;
import com.makeit.entity.platform.alarm.PlatAlarmConfig;
import com.makeit.global.annotation.AuthIgnore;
import com.makeit.global.aspect.tenant.TenantIdIgnore;
import com.makeit.service.platform.alarm.PlatAlarmConfigService;
......@@ -90,9 +91,9 @@ public class PlatAlarmConfigController {
@PostMapping("test")
@TenantIdIgnore
@AuthIgnore
public ApiResponseEntity<?> test(@Validated @RequestBody PlatAlarmConfigDTOVO dto) {
alarmConfigCacheUtil.get(dto.getOrgId(),dto.getAlarmType());
return ApiResponseUtils.success();
public ApiResponseEntity<PlatAlarmConfig> test(@Validated @RequestBody PlatAlarmConfigDTOVO dto) {
PlatAlarmConfig config = alarmConfigCacheUtil.get(dto.getOrgId(), dto.getAlarmType());
return ApiResponseUtils.success(config);
}
......
......@@ -4,6 +4,7 @@ package com.makeit.module.controller.children.elder;
import com.makeit.common.response.ApiResponseEntity;
import com.makeit.common.response.ApiResponseUtils;
import com.makeit.dto.platform.elder.PlatElderReportDTO;
import com.makeit.global.annotation.AuthIgnore;
import com.makeit.service.platform.elder.PlatElderDayReportWeekService;
import com.makeit.vo.platform.elder.realtime.PlatElderCoordinateVO;
import com.makeit.vo.platform.elder.report.day.*;
......@@ -102,5 +103,14 @@ public class PlatElderReportWeekChildrenController {
return ApiResponseUtils.success(platElderDayReportWeekService.behaviorDistribution(platElderIdDTO));
}
@ApiOperation("定时任务")
@PostMapping("heartRespiratoryJob")
@AuthIgnore
public ApiResponseEntity<String> heartRespiratoryJob() {
platElderDayReportWeekService.heartRespiratoryJob();
return ApiResponseUtils.success();
}
}
......@@ -4,7 +4,6 @@ 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.space.PlatRegionSetting;
import com.makeit.entity.platform.space.PlatRoom;
import lombok.Data;
......@@ -32,7 +31,5 @@ public class PlatAlarmCheckDTO {
//异常值
private String abnormalValue;
private PlatRegionSetting platRegionSetting;
}
......@@ -20,7 +20,7 @@ public class PlatAlarmConfigBehaviorDTOVO {
@ApiModelProperty("平均停留时长允许范围")
private Integer duration;
private Integer averageDuration;
}
......@@ -194,5 +194,8 @@ public class PlatElder extends BaseBusEntity {
@ApiModelProperty(value = "退住时间")
private LocalDateTime checkOutTime;
@TableField(exist = false)
private String regionName;
}
package com.makeit.entity.platform.elder;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.makeit.common.entity.BaseBusEntity;
import com.makeit.typehandler.ElderListStringJsonTypeHandler;
import com.makeit.vo.platform.elder.report.day.PlatSleepRangeVO;
......@@ -20,6 +21,7 @@ import java.util.List;
* @author eugene young
* @since 2023-09-13
*/
@TableName(autoResultMap = true)
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value="PlatElderSleep对象", description="长者每天睡觉记录")
......
......@@ -8,6 +8,7 @@ import com.makeit.dto.platform.alarm.PlatAlarmCheckDTO;
import com.makeit.dto.platform.alarm.PlatAlarmRecordQueryDTO;
import com.makeit.entity.platform.alarm.PlatAlarmConfig;
import com.makeit.entity.platform.alarm.PlatAlarmRecord;
import com.makeit.entity.platform.elder.PlatElder;
import com.makeit.vo.platform.alarm.PlatAlarmRecordVO;
/**
......@@ -55,7 +56,7 @@ public interface PlatAlarmRecordService extends IService<PlatAlarmRecord> {
*/
void noticeDeviceAlarm(PlatAlarmConfig alarmConfig, PlatAlarmRecord alarmRecord);
PlatAlarmRecord convertToPlatAlarmRecord(PlatAlarmCheckDTO platAlarmCheckDTO);
PlatAlarmRecord convertToPlatAlarmRecord(PlatAlarmCheckDTO platAlarmCheckDTO, PlatElder platElder);
void getElderListByDeviceId(PlatAlarmCheckDTO platAlarmCheckDTO);
......
......@@ -2,7 +2,6 @@ package com.makeit.service.platform.alarm.alarmStrategy;
import cn.hutool.core.convert.Convert;
import com.alibaba.fastjson.JSONObject;
import com.makeit.common.entity.BaseEntity;
import com.makeit.dto.platform.alarm.PlatAlarmCheckDTO;
import com.makeit.dto.platform.alarm.PlatAlarmConfigBehaviorDTOVO;
import com.makeit.entity.platform.alarm.PlatAlarmConfig;
......@@ -10,7 +9,6 @@ import com.makeit.entity.platform.alarm.PlatAlarmRecord;
import com.makeit.entity.platform.alarm.PlatDayDurationRecord;
import com.makeit.entity.platform.device.PlatDevice;
import com.makeit.entity.platform.elder.PlatElder;
import com.makeit.entity.platform.space.PlatRegionSetting;
import com.makeit.entity.platform.space.PlatRoom;
import com.makeit.enums.CommonEnum;
import com.makeit.enums.platform.alarm.PlatAlarmConfigEnum;
......@@ -33,7 +31,6 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
@Component
@Slf4j
......@@ -73,7 +70,7 @@ public class BehaviorAlarm implements IAlarm {
}
String personState = Convert.toStr(properties.get("personState"));
PlatAlarmConfigBehaviorDTOVO ruleConfig = JsonUtil.toObj(ruleConfigStr, PlatAlarmConfigBehaviorDTOVO.class);
Integer duration = ruleConfig.getDuration();//分钟
Integer duration = ruleConfig.getAverageDuration();//分钟
PlatDayDurationRecord platDayDurationRecord = dayDurationUtil.get(platDevice.getOriDeviceId());
// if (platDayDurationRecord == null) {
// log.error("行为告警未找到行为异常平均时长,设备plat_id:" + platDevice.getId());
......@@ -116,6 +113,8 @@ public class BehaviorAlarm implements IAlarm {
log.error("空间雷达发出告警,设备plat_id:" + platDevice.getId());
if(duration1 != 0) {
notice(platAlarmCheckDTO);
}else {
return;
}
alarmRedisDTO.setAlarm(CommonEnum.YES.getValue());
RedisUtil.set(RedisConst.ALARM_DEVICE_BEHAVIOR_ID + deviceId, alarmRedisDTO);
......@@ -146,7 +145,7 @@ public class BehaviorAlarm implements IAlarm {
PlatAlarmConfig config = platAlarmCheckDTO.getPlatAlarmConfig();
PlatDevice platDevice = platAlarmCheckDTO.getPlatDevice();
PlatRegionSetting platRegionSetting = platAlarmCheckDTO.getPlatRegionSetting();
Date now = new Date();
long endLong = now.getTime();
long count = endLong - alarmRedisDTO.getStartLong();
......@@ -159,20 +158,23 @@ public class BehaviorAlarm implements IAlarm {
PlatRoom platRoom = platAlarmCheckDTO.getPlatRoom();
List<PlatElder> platElderList = platAlarmCheckDTO.getPlatElderList();
PlatDayDurationRecord durationRecord = new PlatDayDurationRecord();
durationRecord.setElderIds(platElderList.stream().map(BaseEntity::getId).collect(Collectors.joining(",")));
durationRecord.setDuration(count);
durationRecord.setOriDeviceId(platDevice.getOriDeviceId());
durationRecord.setDay(alarmRedisDTO.getStart());
durationRecord.setStartDate(alarmRedisDTO.getStart());
durationRecord.setEndDate(now);
durationRecord.setTenantId(config.getTenantId());
durationRecord.setRoomId(platRoom.getId());
durationRecord.setDeviceId(platDevice.getId());
if (platRegionSetting != null) {
durationRecord.setRegionName(platRegionSetting.getRegionName());
if(CollectionUtils.isNotEmpty(platElderList)){
platAlarmRecordService.getElderListByDeviceId(platAlarmCheckDTO);
}
for (PlatElder platElder : platElderList) {
PlatDayDurationRecord durationRecord = new PlatDayDurationRecord();
durationRecord.setElderIds(platElder.getId());
durationRecord.setRegionName(platElder.getRegionName());
durationRecord.setDuration(count);
durationRecord.setOriDeviceId(platDevice.getOriDeviceId());
durationRecord.setDay(alarmRedisDTO.getStart());
durationRecord.setStartDate(alarmRedisDTO.getStart());
durationRecord.setEndDate(now);
durationRecord.setTenantId(config.getTenantId());
durationRecord.setRoomId(platElder.getRoomId());
durationRecord.setDeviceId(platDevice.getId());
platDayDurationRecordService.saveOrUpdate(durationRecord);
}
platDayDurationRecordService.saveOrUpdate(durationRecord);
}
@Override
......@@ -200,7 +202,7 @@ public class BehaviorAlarm implements IAlarm {
param.add(platElder.getName());
param.add(platRoom.getName());
platAlarmCheckDTO.setParam(param);
PlatAlarmRecord platAlarmRecord = platAlarmRecordService.convertToPlatAlarmRecord(platAlarmCheckDTO);
PlatAlarmRecord platAlarmRecord = platAlarmRecordService.convertToPlatAlarmRecord(platAlarmCheckDTO,platElder);
platAlarmRecord.setElderIds(platElder.getId());
platAlarmRecord.setElderName(platElder.getName());
platAlarmRecordService.noticeDeviceAlarm(platAlarmCheckDTO.getPlatAlarmConfig(), platAlarmRecord);
......
......@@ -163,7 +163,7 @@ public class BreathAlarm implements IAlarm {
param.add(platElder.getName());
param.add(platAlarmCheckDTO.getRemark());
platAlarmCheckDTO.setParam(param);
PlatAlarmRecord platAlarmRecord = platAlarmRecordService.convertToPlatAlarmRecord(platAlarmCheckDTO);
PlatAlarmRecord platAlarmRecord = platAlarmRecordService.convertToPlatAlarmRecord(platAlarmCheckDTO,platElder);
platAlarmRecord.setElderIds(platElder.getId());
platAlarmRecord.setElderName(platElder.getName());
platAlarmRecordService.noticeDeviceAlarm(platAlarmCheckDTO.getPlatAlarmConfig(), platAlarmRecord);
......
......@@ -83,7 +83,7 @@ public class FallAlarm implements IAlarm {
param.add(platElder.getName());
param.add(platRoom.getName());
platAlarmCheckDTO.setParam(param);
PlatAlarmRecord platAlarmRecord = platAlarmRecordService.convertToPlatAlarmRecord(platAlarmCheckDTO);
PlatAlarmRecord platAlarmRecord = platAlarmRecordService.convertToPlatAlarmRecord(platAlarmCheckDTO,platElder);
platAlarmRecord.setElderIds(platElder.getId());
platAlarmRecord.setElderName(platElder.getName());
platAlarmRecordService.noticeDeviceAlarm(platAlarmCheckDTO.getPlatAlarmConfig(), platAlarmRecord);
......
......@@ -144,7 +144,7 @@ public class HeartAlarm implements IAlarm {
param.add(platElder.getName());
param.add(platAlarmCheckDTO.getRemark());
platAlarmCheckDTO.setParam(param);
PlatAlarmRecord platAlarmRecord = platAlarmRecordService.convertToPlatAlarmRecord(platAlarmCheckDTO);
PlatAlarmRecord platAlarmRecord = platAlarmRecordService.convertToPlatAlarmRecord(platAlarmCheckDTO,platElder);
platAlarmRecord.setElderIds(platElder.getId());
platAlarmRecord.setElderName(platElder.getName());
platAlarmRecordService.noticeDeviceAlarm(platAlarmCheckDTO.getPlatAlarmConfig(), platAlarmRecord);
......
......@@ -39,7 +39,6 @@ import com.makeit.utils.msg.dto.MsgSendDTO;
import com.makeit.utils.sql.join.JoinUtil;
import com.makeit.utils.user.common.CommonUserUtil;
import com.makeit.utils.user.common.CommonUserVO;
import com.makeit.utils.user.wechat.WechatUserInfo;
import com.makeit.utils.user.wechat.WechatUserUtil;
import com.makeit.vo.platform.alarm.PlatAlarmRecordVO;
import lombok.extern.slf4j.Slf4j;
......@@ -112,11 +111,12 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe
*/
@Override
public PageVO<PlatAlarmRecordVO> childrenPage(PageReqDTO<PlatAlarmRecordQueryDTO> dto) {
WechatUserInfo userVO = WechatUserUtil.getUserVO();
String elderId = userVO.getElderId();
if (StringUtils.isBlank(elderId)) {
PlatElderChildrenInfo platElderChildrenInfo = platElderChildrenInfoService.getById(WechatUserUtil.getUserId());
log.info("子女端账号:"+platElderChildrenInfo.toString());
if (platElderChildrenInfo == null) {
return new PageVO<>();
}
String elderId = platElderChildrenInfo.getElderId();
String[] split = elderId.split(",");
PlatAlarmRecordQueryDTO data = dto.getData();
data.setElderIdList(Arrays.asList(split));
......@@ -321,13 +321,12 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe
}
@Override
public PlatAlarmRecord convertToPlatAlarmRecord(PlatAlarmCheckDTO platAlarmCheckDTO) {
public PlatAlarmRecord convertToPlatAlarmRecord(PlatAlarmCheckDTO platAlarmCheckDTO,PlatElder platElder) {
PlatAlarmConfig config = platAlarmCheckDTO.getPlatAlarmConfig();
PlatDevice platDevice = platAlarmCheckDTO.getPlatDevice();
List<String> param = platAlarmCheckDTO.getParam();
List<PlatElder> elderList = platAlarmCheckDTO.getPlatElderList();
PlatRegionSetting platRegionSetting = platAlarmCheckDTO.getPlatRegionSetting();
PlatAlarmRecord platAlarmRecord = new PlatAlarmRecord();
platAlarmRecord.setAlarmId(config.getId());
......@@ -341,13 +340,11 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe
platAlarmRecord.setNotifyUser(config.getNotifyUser());
platAlarmRecord.setDeviceId(platDevice.getId());
platAlarmRecord.setElderIds(elderList.stream().map(BaseEntity::getId).collect(Collectors.joining(",")));
platAlarmRecord.setElderIds(platElder.getId());
platAlarmRecord.setTenantId(config.getTenantId());
platAlarmRecord.setRemark(platAlarmCheckDTO.getRemark());
platAlarmRecord.setAbnormalValue(platAlarmCheckDTO.getAbnormalValue());
if(platRegionSetting!=null) {
platAlarmRecord.setRegionName(platRegionSetting.getRegionName());
}
platAlarmRecord.setRegionName(platElder.getRegionName());
return platAlarmRecord;
}
......@@ -364,47 +361,63 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe
roomBedDeviceLambdaQueryWrapper.eq(PlatRoomBedDevice::getDeviceId, platDevice.getId())
.eq(BaseBusEntity::getTenantId,tenantId)
;
PlatRoomBedDevice platRoomBedDevice = platRoomBedDeviceService.getOne(roomBedDeviceLambdaQueryWrapper, false);
if(platRoomBedDevice==null){
//todo 要支持 设备绑定多个空间
List<PlatRoomBedDevice> platRoomBedDeviceList = platRoomBedDeviceService.list(roomBedDeviceLambdaQueryWrapper);
if(CollectionUtils.isNotEmpty(platRoomBedDeviceList)){
throw new BusinessException("设备没绑定房间:"+platDevice.getId());
}
if(StringUtils.isNotBlank(platRoomBedDevice.getRoomId())) {
PlatRoom platRoom = platRoomService.getById(platRoomBedDevice.getRoomId());
platAlarmCheckDTO.setPlatRoom(platRoom);
LambdaQueryWrapper<PlatRegionSetting> platRegionSettingLambdaQueryWrapper = new LambdaQueryWrapper<>();
platRegionSettingLambdaQueryWrapper.eq(PlatRegionSetting::getRoomId, platRoom.getId())
.eq(PlatRegionSetting::getDeviceId, platDevice.getId())
.eq(BaseBusEntity::getTenantId,tenantId)
;
//区域设置
PlatRegionSetting platRegionSetting = platRegionSettingService.getOne(platRegionSettingLambdaQueryWrapper, false);
platAlarmCheckDTO.setPlatRegionSetting(platRegionSetting);
}
String bedId = platRoomBedDevice.getBedId();
if (StringUtils.isNotBlank(bedId)) {
LambdaQueryWrapper<PlatElder> elderLambdaQueryWrapper = new LambdaQueryWrapper<>();
elderLambdaQueryWrapper.eq(PlatElder::getBedId, bedId)
.eq(BaseBusEntity::getTenantId,tenantId)
;
List<PlatElder> list = platElderService.list(elderLambdaQueryWrapper);
if(CollectionUtils.isNotEmpty(list)) {
platAlarmCheckDTO.setPlatElderList(list);
return;
platRoomBedDeviceList.forEach(platRoomBedDevice -> {
//获取区域
String regionName = null;
if(StringUtils.isNotBlank(platRoomBedDevice.getRoomId())) {
PlatRoom platRoom = platRoomService.getById(platRoomBedDevice.getRoomId());
platAlarmCheckDTO.setPlatRoom(platRoom);
LambdaQueryWrapper<PlatRegionSetting> platRegionSettingLambdaQueryWrapper = new LambdaQueryWrapper<>();
platRegionSettingLambdaQueryWrapper.eq(PlatRegionSetting::getRoomId, platRoom.getId())
.eq(PlatRegionSetting::getDeviceId, platDevice.getId())
.eq(BaseBusEntity::getTenantId,tenantId)
;
//区域设置
PlatRegionSetting platRegionSetting = platRegionSettingService.getOne(platRegionSettingLambdaQueryWrapper, false);
if(platRegionSetting != null){
regionName = platRegionSetting.getRegionName();
}
}
//获取床位长者
String bedId = platRoomBedDevice.getBedId();
if (StringUtils.isNotBlank(bedId)) {
LambdaQueryWrapper<PlatElder> elderLambdaQueryWrapper = new LambdaQueryWrapper<>();
elderLambdaQueryWrapper.eq(PlatElder::getBedId, bedId)
.eq(BaseBusEntity::getTenantId,tenantId)
;
List<PlatElder> list = platElderService.list(elderLambdaQueryWrapper);
if(CollectionUtils.isNotEmpty(list)) {
for (PlatElder platElder : list) {
platElder.setRegionName(regionName);
}
platAlarmCheckDTO.setPlatElderList(list);
return;
}
}
}
//获取房间长者
String roomId = platRoomBedDevice.getRoomId();
if (StringUtils.isNotBlank(roomId)) {
LambdaQueryWrapper<PlatElder> elderLambdaQueryWrapper = new LambdaQueryWrapper<>();
elderLambdaQueryWrapper.eq(PlatElder::getRoomId, roomId)
.eq(BaseBusEntity::getTenantId,tenantId)
;
List<PlatElder> list = platElderService.list(elderLambdaQueryWrapper);
for (PlatElder platElder : list) {
platElder.setRegionName(regionName);
}
platAlarmCheckDTO.setPlatElderList(list);
}
}
);
String roomId = platRoomBedDevice.getRoomId();
if (StringUtils.isNotBlank(roomId)) {
LambdaQueryWrapper<PlatElder> elderLambdaQueryWrapper = new LambdaQueryWrapper<>();
elderLambdaQueryWrapper.eq(PlatElder::getRoomId, roomId)
.eq(BaseBusEntity::getTenantId,tenantId)
;
List<PlatElder> list = platElderService.list(elderLambdaQueryWrapper);
platAlarmCheckDTO.setPlatElderList(list);
}
}
private String replaceParam(String oriContent,List<String> param) {
......
......@@ -319,7 +319,6 @@ public class PlatOrgServiceImpl extends ServiceImpl<PlatOrgMapper, PlatOrg>
LambdaUpdateWrapper<PlatSpace> platSpaceLambdaUpdateWrapper = Wrappers.lambdaUpdate(PlatSpace.class)
.set(PlatSpace::getAttribute, dto.getType())
.eq(PlatSpace::getOrgId, dto.getId())
.set(PlatSpace::getParentId,dto.getParentId())
;
platSpaceService.update(platSpaceLambdaUpdateWrapper);
}
......@@ -405,7 +404,7 @@ public class PlatOrgServiceImpl extends ServiceImpl<PlatOrgMapper, PlatOrg>
public List<PlatOrg> belongToOrgTree(PlatOrg param) {
PlatUserVO userVOCanNull = PlatUserUtil.getUserVOCanNull();
String isTenant = userVOCanNull.getIsTenant();
//如果是租户账号 则有所有权限
//如果是租户账号 则有所有权限 返回最顶级
if (StringUtils.equals(isTenant, CommonEnum.YES.getValue())) {
List<PlatOrg> orgList = this.list(new LambdaQueryWrapper<PlatOrg>()
.eq(StringUtils.isNotEmpty(param.getType()), PlatOrg::getType, param.getType())
......@@ -414,7 +413,7 @@ public class PlatOrgServiceImpl extends ServiceImpl<PlatOrgMapper, PlatOrg>
return getOrgTree(orgList, Collections.singletonList(TenantIdUtil.getTenantId()));
}
//平台账号
//平台账号 查询权限范围 生成不一定连续的树结构
Set<String> orgIdList = getOrgIdListByUserId(userVOCanNull.getId());
List<PlatOrg> orgList = this.list(new LambdaQueryWrapper<PlatOrg>()
.eq(StringUtils.isNotEmpty(param.getType()), PlatOrg::getType, param.getType())
......
......@@ -99,6 +99,11 @@ public class PlatElderChildrenInfoServiceImpl extends ServiceImpl<PlatElderChild
}
private void check(PlatElderChildrenInfoEditVO dto) {
if (true) {
return;
}
PlatElderChildrenInfo old = getOne(new QueryWrapper<PlatElderChildrenInfo>().lambda()
.eq(PlatElderChildrenInfo::getPhone, dto.getPhone()));
......
......@@ -252,7 +252,7 @@ public class PlatElderDayReportWeekServiceImpl implements PlatElderDayReportWeek
List<LocalDate> dateList = LocalDateTimeUtils.getDateSeries(weekStartDate, weekEndDate);
DateTimeFormatter timeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
DateTimeFormatter timeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
List<PlatElderSleepDiagramWeekContentVO> sleep = StreamUtil.map(dateList, e -> {
PlatElderSleepDiagramWeekContentVO vo = new PlatElderSleepDiagramWeekContentVO();
......@@ -480,31 +480,40 @@ public class PlatElderDayReportWeekServiceImpl implements PlatElderDayReportWeek
elderList.forEach(e -> {
PlatDevice platDevice = platElderRealTimeService.getBreathDevice(e.getId(), null);
if (platDevice != null) {
PlatElderBreatheDayStat platElderBreatheDayStat = new PlatElderBreatheDayStat();
platElderBreatheDayStat.setElderId(e.getId());
platElderBreatheDayStat.setDeviceId(platDevice.getId());
platElderBreatheDayStat.setOriDeviceId(platDevice.getOriDeviceId());
platElderBreatheDayStat.setDay(yesDate);
PlatElderBreatheDayStat platElderBreatheDayStat = new PlatElderBreatheDayStat();
platElderBreatheDayStat.setElderId(e.getId());
platElderBreatheDayStat.setDeviceId(platDevice.getId());
platElderBreatheDayStat.setOriDeviceId(platDevice.getOriDeviceId());
platElderBreatheDayStat.setDay(yesDate);
List<DeviceInfoContentBreathe> breatheList = iotProductDeviceService.getDeviceLogByTimeRangeBreathe(platDevice.getOriDeviceId(), 2 * 24 * 3600, yesStart, yesEnd);
List<DeviceInfoContentBreathe> breatheList = iotProductDeviceService.getDeviceLogByTimeRangeBreathe(platDevice.getOriDeviceId(), 2 * 24 * 3600, yesStart, yesEnd);
platElderBreatheDayStat.setHeartRateMax(breatheList.stream().map(i -> i.getProperties().getHr()).max(Integer::compareTo).orElse(null));
platElderBreatheDayStat.setHeartRateMin(breatheList.stream().map(i -> i.getProperties().getHr()).min(Integer::compareTo).orElse(null));
platElderBreatheDayStat.setHeartRateMax(breatheList.stream().map(i -> i.getProperties().getHr()).max(Integer::compareTo).orElse(null));
platElderBreatheDayStat.setHeartRateMin(breatheList.stream().map(i -> i.getProperties().getHr()).min(Integer::compareTo).orElse(null));
platElderBreatheDayStat.setHeartRateAvg((int) (StreamUtil.reduce(breatheList, i -> (long) i.getProperties().getHr(), 0L, Long::sum) / breatheList.size()));
platElderBreatheDayStat.setRespiratoryRateMax(breatheList.stream().map(i -> i.getProperties().getBr()).max(Integer::compareTo).orElse(null));
platElderBreatheDayStat.setRespiratoryRateMin(breatheList.stream().map(i -> i.getProperties().getBr()).min(Integer::compareTo).orElse(null));
platElderBreatheDayStat.setRespiratoryRateAvg((int) (StreamUtil.reduce(breatheList, i -> (long) i.getProperties().getBr(), 0L, Long::sum) / breatheList.size()));
if (CollectionUtils.isNotEmpty(breatheList)) {
platElderBreatheDayStat.setHeartRateAvg((int) (StreamUtil.reduce(breatheList, i -> (long) i.getProperties().getHr(), 0L, Long::sum) / breatheList.size()));
}
breatheDayStatList.add(platElderBreatheDayStat);
platElderBreatheDayStat.setRespiratoryRateMax(breatheList.stream().map(i -> i.getProperties().getBr()).max(Integer::compareTo).orElse(null));
platElderBreatheDayStat.setRespiratoryRateMin(breatheList.stream().map(i -> i.getProperties().getBr()).min(Integer::compareTo).orElse(null));
});
if (CollectionUtils.isNotEmpty(breatheList)) {
platElderBreatheDayStat.setRespiratoryRateAvg((int) (StreamUtil.reduce(breatheList, i -> (long) i.getProperties().getBr(), 0L, Long::sum) / breatheList.size()));
}
breatheDayStatList.add(platElderBreatheDayStat);
}
platElderBreatheDayStatService.saveBatch(breatheDayStatList);
});
});
platElderBreatheDayStatService.saveBatch(breatheDayStatList);
}
}
......@@ -18,6 +18,8 @@ import com.makeit.utils.third.wechat.WxUserInfo;
import com.makeit.utils.third.wechat.WechatUtil;
import com.makeit.utils.user.TokenUtil;
import com.makeit.utils.user.wechat.WechatUserInfo;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
......@@ -33,14 +35,20 @@ public class PlatElderChildrenInfoUserLoginWechatServiceImpl implements PlatElde
@Autowired
private PlatOrgService platOrgService;
private static final Logger logger = LoggerFactory.getLogger(PlatElderChildrenInfoUserLoginWechatServiceImpl.class);
@Override
@Transactional
public WechatUserInfo login(WechatLoginPhoneDTO dto) {
WxUserInfo userInfo = WechatUtil.login(dto);
logger.info("userinfo:{}", userInfo);
PlatElderChildrenInfo childrenInfo = platElderChildrenInfoService.getOne(new QueryWrapper<PlatElderChildrenInfo>().lambda()
.eq(PlatElderChildrenInfo::getOpenid, userInfo.getOpenId()));
//.eq(PlatElderChildrenInfo::getPhone, userInfo.getPhoneNumber()));
if (childrenInfo == null) {
childrenInfo = new PlatElderChildrenInfo();
......@@ -49,8 +57,6 @@ public class PlatElderChildrenInfoUserLoginWechatServiceImpl implements PlatElde
PlatOrgSplitDTO vo = platOrgService.getOrgSplitVO(dto.getOrgId());
childrenInfo = new PlatElderChildrenInfo();
childrenInfo.setCityOrgId(vo.getCityOrgId());
childrenInfo.setDistrictOrgId(vo.getDistrictOrgId());
childrenInfo.setStreetOrgId(vo.getStreetOrgId());
......@@ -58,8 +64,11 @@ public class PlatElderChildrenInfoUserLoginWechatServiceImpl implements PlatElde
childrenInfo.setCreateBy(userInfo.getNickName());
logger.info("children:{}", childrenInfo);
}
//childrenInfo.setOpenid(userInfo.getOpenId());
childrenInfo.setPhone(userInfo.getPhoneNumber());
childrenInfo.setAvatar(userInfo.getAvatarUrl());
......@@ -69,8 +78,8 @@ public class PlatElderChildrenInfoUserLoginWechatServiceImpl implements PlatElde
childrenInfo.setUpdateBy(userInfo.getNickName());
PlatElderChildrenInfo finalChildrenInfo = childrenInfo;
NoFillUtil.executeCreate(()->{
NoFillUtil.executeUpdate(()->{
NoFillUtil.executeCreate(() -> {
NoFillUtil.executeUpdate(() -> {
platElderChildrenInfoService.saveOrUpdate(finalChildrenInfo);
});
});
......
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