Browse Source

增加健康数据统计分析接口和调度功能

suntianwu 3 năm trước cách đây
mục cha
commit
aa2226843d
54 tập tin đã thay đổi với 817 bổ sung85 xóa
  1. 6 2
      src/main/java/com/care/bigscreen/schedule/BigScreenSchedule.java
  2. 72 5
      src/main/java/com/care/client/controller/HouseApiController.java
  3. 87 0
      src/main/java/com/care/client/schedule/HealthDataStaSchedule.java
  4. 19 0
      src/main/java/com/care/client/service/HealthDataStaService.java
  5. 81 6
      src/main/java/com/care/client/service/PinanbaoService.java
  6. 23 0
      src/main/java/com/care/client/vo/DeviceMonitorVO.java
  7. 65 0
      src/main/java/com/care/common/entity/CareBedroomInbedHourSta.java
  8. 3 0
      src/main/java/com/care/common/entity/CareDevEventDaySta.java
  9. 65 0
      src/main/java/com/care/common/entity/CareHeartBreathDetail.java
  10. 3 0
      src/main/java/com/care/common/entity/CareHeartBreathHourSta.java
  11. 68 0
      src/main/java/com/care/common/entity/CareToiletInoutHourSta.java
  12. 3 0
      src/main/java/com/care/common/entity/CareWalkingDistanceDetail.java
  13. 6 3
      src/main/java/com/care/common/entity/CareWalkingDistanceDaySta.java
  14. 3 1
      src/main/java/com/care/common/mapper/CareBedroomInbedDetailMapper.java
  15. 15 0
      src/main/java/com/care/common/mapper/CareBedroomInbedHourStaMapper.java
  16. 1 1
      src/main/java/com/care/common/mapper/CareDevEventDayStaMapper.java
  17. 15 0
      src/main/java/com/care/common/mapper/CareHeartBreathDetailMapper.java
  18. 1 1
      src/main/java/com/care/common/mapper/CareHeartBreathHourStaMapper.java
  19. 3 1
      src/main/java/com/care/common/mapper/CareToiletInoutDetailMapper.java
  20. 15 0
      src/main/java/com/care/common/mapper/CareToiletInoutHourStaMapper.java
  21. 0 15
      src/main/java/com/care/common/mapper/CareWalkingDistanceDayStaMapper.java
  22. 3 1
      src/main/java/com/care/common/mapper/CareWalkingDistanceDetailMapper.java
  23. 15 0
      src/main/java/com/care/common/mapper/CareWalkingDistanceHourStaMapper.java
  24. 2 1
      src/main/java/com/care/common/service/CareBedroomInbedDetailService.java
  25. 14 0
      src/main/java/com/care/common/service/CareBedroomInbedHourStaService.java
  26. 1 1
      src/main/java/com/care/common/service/CareDevEventDayStaService.java
  27. 14 0
      src/main/java/com/care/common/service/CareHeartBreathDetailService.java
  28. 1 1
      src/main/java/com/care/common/service/CareHeartBreathHourStaService.java
  29. 2 1
      src/main/java/com/care/common/service/CareToiletInoutDetailService.java
  30. 14 0
      src/main/java/com/care/common/service/CareToiletInoutHourStaService.java
  31. 0 14
      src/main/java/com/care/common/service/CareWalkingDistanceDayStaService.java
  32. 2 1
      src/main/java/com/care/common/service/CareWalkingDistanceDetailService.java
  33. 14 0
      src/main/java/com/care/common/service/CareWalkingDistanceHourStaService.java
  34. 5 1
      src/main/java/com/care/common/service/impl/CareBedroomInbedDetailServiceImpl.java
  35. 21 0
      src/main/java/com/care/common/service/impl/CareBedroomInbedHourStaServiceImpl.java
  36. 4 1
      src/main/java/com/care/common/service/impl/CareDevEventDayStaServiceImpl.java
  37. 21 0
      src/main/java/com/care/common/service/impl/CareHeartBreathDetailServiceImpl.java
  38. 4 1
      src/main/java/com/care/common/service/impl/CareHeartBreathHourStaServiceImpl.java
  39. 4 1
      src/main/java/com/care/common/service/impl/CareToiletInoutDetailServiceImpl.java
  40. 18 0
      src/main/java/com/care/common/service/impl/CareToiletInoutHourStaServiceImpl.java
  41. 0 18
      src/main/java/com/care/common/service/impl/CareWalkingDistanceDayStaServiceImpl.java
  42. 4 1
      src/main/java/com/care/common/service/impl/CareWalkingDistanceDetailServiceImpl.java
  43. 21 0
      src/main/java/com/care/common/service/impl/CareWalkingDistanceHourStaServiceImpl.java
  44. 6 4
      src/main/java/com/care/mqtt/service/MqttMsgService.java
  45. 1 1
      src/main/java/com/care/outcall/schedule/KoalaOutCallBillSchedule.java
  46. 9 0
      src/main/resources/mybatis/CareBedroomInbedDetailMapper.xml
  47. 11 0
      src/main/resources/mybatis/CareBedroomInbedHourStaMapper.xml
  48. 6 1
      src/main/resources/mybatis/CareDevEventDayStaMapper.xml
  49. 11 0
      src/main/resources/mybatis/CareHeartBreathDetailMapper.xml
  50. 6 0
      src/main/resources/mybatis/CareHeartBreathHourStaMapper.xml
  51. 9 0
      src/main/resources/mybatis/CareToiletInoutDetailMapper.xml
  52. 1 1
      src/main/resources/mybatis/CareWalkingDistanceDayStaMapper.xml
  53. 8 0
      src/main/resources/mybatis/CareWalkingDistanceDetailMapper.xml
  54. 11 0
      src/main/resources/mybatis/CareWalkingDistanceHourStaMapper.xml

+ 6 - 2
src/main/java/com/care/bigscreen/schedule/BigScreenSchedule.java

@@ -8,17 +8,20 @@ import com.care.bigscreen.service.BigScreenService;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.scheduling.annotation.Async;
+import org.springframework.scheduling.annotation.EnableAsync;
 import org.springframework.scheduling.annotation.EnableScheduling;
 import org.springframework.scheduling.annotation.Scheduled;
 
 
 
 /** 大屏统计调度
- * @author 许明
- * @version 2.7.0.0 创建于 2018/7/16
+ * @author stw
+ * @version 2.7.0.0 创建于 2021/7/16
  **/
 @Configuration
 @EnableScheduling
+@EnableAsync
 public class BigScreenSchedule {
 
     @Autowired
@@ -28,6 +31,7 @@ public class BigScreenSchedule {
     /**
      * 10 分钟调用一次
      */
+    @Async
     @Scheduled(cron = "* 0/10 * * * ?")
     public void exeStatistics() {
         bigScreenService.exeStatistics();

+ 72 - 5
src/main/java/com/care/client/controller/HouseApiController.java

@@ -5,6 +5,9 @@ import com.care.client.service.PassportService;
 import com.care.client.service.PinanbaoService;
 import com.care.client.vo.DeviceMonitorVO;
 import com.care.client.vo.MemberInfoVO;
+import com.care.common.entity.CareBedroomInbedHourSta;
+import com.care.common.entity.CareToiletInoutHourSta;
+import com.care.common.entity.CareWalkingDistanceHourSta;
 import com.care.common.exception.BDException;
 import com.care.common.util.PageResult;
 import com.care.common.util.Result;
@@ -58,19 +61,21 @@ public class HouseApiController {
     }
 
     @GetMapping("/device/monitor")
-    @ApiOperation(tags = {"首页"},value = "设备的监测信息")
-    public Result<DeviceMonitorVO> listNotHandle(@RequestHeader(value = "token") String token, @RequestParam("devId") Long devId){
+    @ApiOperation(tags = {"首页"},value = "设备的监测信息 --三期修改")
+    public Result<DeviceMonitorVO> getMonitor(@RequestHeader(value = "token") String token, @RequestParam("devId") Long devId){
         try {
             return Result.success(this.pinanbaoService.devMonitorData(devId));
         }catch (BDException e) {
-            log.error("未处理事件查询-分页列表出现异常",e);
+            log.error("首页设备的监测信息-查询监测信息出现异常",e);
             return  PageResult.error(e.getMessage());
         } catch (Exception e) {
-            log.error("事件处理: 未处理事件查询出现异常",e);
-            return PageResult.error( "获取列表失败");
+            log.error("首页设备的监测信息: 查询监测信息出现异常",e);
+            return PageResult.error( "获取信息失败");
         }
     }
 
+    
+
     @PostMapping(value = "/sos" ,consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
     @ApiOperation(tags = {"首页"},value = "SOS呼叫",httpMethod ="POST" ,response = Result.class)
     public Result<Object> sos(@RequestHeader("token") String token, @RequestParam(value = "file") MultipartFile file){
@@ -114,4 +119,66 @@ public class HouseApiController {
             return  Result.error("查询失败!");
         }
     }
+
+
+    /**
+     *卧室在床时间图表
+     * @param token
+     * @return
+     */
+    @GetMapping("/device/getInbedTimeChartList")
+    @ApiOperation(tags = {"首页"},value = "卧室在床时间统计图表  --三期新增")
+    public Result<List<CareBedroomInbedHourSta>> getInbedTimeChartList(@RequestHeader(value = "token") String token, @RequestParam("devId") Long devId){
+        try {
+            List<CareBedroomInbedHourSta> datas = pinanbaoService.getInbedTimeChartList(devId);
+            return Result.success(datas);
+        }catch (BDException e) {
+            log.error("首页-在床时间图表查询出现异常",e);
+            return  PageResult.error(e.getMessage());
+        } catch (Exception e) {
+            log.error("首页: 在床时间图表查询出现异常",e);
+            return PageResult.error( "获取在床时间图表失败");
+        }
+    }
+
+    /**
+     *卫生间进出统计图表
+     * @param token
+     * @return
+     */
+    @GetMapping("/device/getToiletInoutChartList")
+    @ApiOperation(tags = {"首页"},value = "卫生间进出统计图表  --三期新增")
+    public Result<List<CareToiletInoutHourSta>> getToiletInoutChartList(@RequestHeader(value = "token") String token, @RequestParam("devId") Long devId){
+        try {
+            List<CareToiletInoutHourSta> datas = pinanbaoService.getToiletInoutChartList(devId);
+            return Result.success(datas);
+        }catch (BDException e) {
+            log.error("首页-卫生间进出图表查询出现异常",e);
+            return  PageResult.error(e.getMessage());
+        } catch (Exception e) {
+            log.error("首页: 卫生间进出图表查询出现异常",e);
+            return PageResult.error( "获取卫生间进出图表失败");
+        }
+    }
+
+    /**
+     *活动统计图表
+     * @param token
+     * @return
+     */
+    @GetMapping("/device/getActivityChartList")
+    @ApiOperation(tags = {"首页"},value = "活动统计图表  --三期新增")
+    public Result<List<CareWalkingDistanceHourSta>> getActivityChartList(@RequestHeader(value = "token") String token, @RequestParam("devId") Long devId){
+        try {
+            List<CareWalkingDistanceHourSta> datas = pinanbaoService.getActivityChartList(devId);
+            return Result.success(datas);
+        }catch (BDException e) {
+            log.error("首页-卫生间进出图表查询出现异常",e);
+            return  PageResult.error(e.getMessage());
+        } catch (Exception e) {
+            log.error("首页: 卫生间进出图表查询出现异常",e);
+            return PageResult.error( "获取卫生间进出图表失败");
+        }
+    }
+
 }

+ 87 - 0
src/main/java/com/care/client/schedule/HealthDataStaSchedule.java

@@ -0,0 +1,87 @@
+package com.care.client.schedule;
+
+
+
+import com.care.common.service.*;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.scheduling.annotation.Async;
+import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.scheduling.annotation.EnableScheduling;
+import org.springframework.scheduling.annotation.Scheduled;
+
+
+/** 健康数据统计调度
+ * @author stw
+ * @version 2.7.0.0 创建于 2021/11/16
+ **/
+@Configuration
+@EnableScheduling
+@EnableAsync
+public class HealthDataStaSchedule {
+
+    @Autowired
+    private CareBedroomInbedHourStaService careBedroomInbedHourStaService;
+
+    @Autowired
+    private CareWalkingDistanceHourStaService careWalkingDistanceHourStaService;
+
+    @Autowired
+    private CareDevEventDayStaService careDevEventDayStaService;
+
+
+    @Autowired
+    private CareHeartBreathHourStaService careHeartBreathHourStaService;
+
+    @Autowired
+    private CareHeartBreathDetailService careHeartBreathDetailService;
+    /**
+     * 每小时卧室在床统计
+     * 1小时调用一次
+     */
+    @Async
+    @Scheduled(cron = "0 0 0/1 * * ?")
+    public void exeBedroomInbedHourSta() {
+        careBedroomInbedHourStaService.exeBedroomInbedHourSta();
+    }
+
+    /**
+     * 每小时行走距离统计
+     * 1小时调用一次
+     */
+    @Async
+    @Scheduled(cron = "0 0 0/1 * * ?")
+    public void exeWalkingDistanceHourSta() {
+        careWalkingDistanceHourStaService.exeWalkingDistanceHourSta();
+    }
+
+    /**
+     * 每日安全事件统计
+     * 1天调用一次
+     */
+    @Async
+    @Scheduled(cron = "0 1 0 * * ?")
+    public void exeDevEventDaySta() {
+        careDevEventDayStaService.exeDevEventDaySta();
+    }
+
+    /**
+     * 每小时心率呼吸统计
+     * 1小时调用一次
+     */
+    @Async
+    @Scheduled(cron = "0 0 0/1 * * ?")
+    public void exeHeartBreathHourSta() {
+        careHeartBreathHourStaService.exeHeartBreathHourSta();
+    }
+
+    /**
+     * 心率呼吸详细采样
+     * 1 分钟调用一次
+     */
+    @Async
+    @Scheduled(cron = "0 0/1 * * * ?")
+    public void exeHeartBreathDetail() {
+        careHeartBreathDetailService.exeHeartBreathDetail();
+    }
+}

+ 19 - 0
src/main/java/com/care/client/service/HealthDataStaService.java

@@ -0,0 +1,19 @@
+package com.care.client.service;
+
+
+import lombok.extern.slf4j.Slf4j;
+
+import org.springframework.stereotype.Service;
+
+
+/**
+ * @Author: lilt
+ * @Date: 2021/6/7
+ * @Desc:
+ */
+@Slf4j
+@Service
+public class HealthDataStaService {
+
+
+}

+ 81 - 6
src/main/java/com/care/client/service/PinanbaoService.java

@@ -2,6 +2,7 @@ package com.care.client.service;
 
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.date.DateUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.care.client.vo.*;
 import com.care.common.entity.*;
@@ -16,6 +17,7 @@ import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
@@ -43,7 +45,18 @@ public class PinanbaoService {
     private CareEventOrderContactStatusService careEventOrderContactStatusService;
     @Resource
     private CareEventOrderOlderService careEventOrderOlderService;
-
+    @Resource
+    private CareBedroomInbedDetailService careBedroomInbedDetailService;
+    @Resource
+    private CareToiletInoutDetailService careToiletInoutDetailService;
+    @Resource
+    private CareWalkingDistanceDetailService careWalkingDistanceDetailService;
+    @Resource
+    private CareBedroomInbedHourStaService careBedroomInbedHourStaService;
+    @Resource
+    private CareToiletInoutHourStaService careToiletInoutHourStaService;
+    @Resource
+    private CareWalkingDistanceHourStaService careWalkingDistanceHourStaService;
     /**
      * 查询我的的设备列表
      * @param memberId
@@ -63,17 +76,79 @@ public class PinanbaoService {
         DeviceMonitorVO vo = new DeviceMonitorVO();
         if (device!=null){
             vo.setId(devId);
+            //场景
+            vo.setDevScene(device.getDevScene());
+            vo.setDevSceneName(DeviceSceneEnum.getCodeToName(device.getDevScene()));
+
+            //心率和呼吸
             vo.setBreathRate(device.getBreathRate());
             vo.setHeartRate(device.getHeartRate());
-            vo.setActivityDistance(600);
-            vo.setActivityTimeHour(1);
-            vo.setActivityTimeMinute(20);
-            vo.setSleepTimeHour(8);
-            vo.setSleepTimeMinute(7);
+
+            //活动状态
+            vo.setMoveStatu(device.getMoveStatus());
+            vo.setMoveStatuName(DeviceMoveStateEnum.getCodeToName(device.getMoveStatus()));
+
+            //在床状态
+            vo.setInbedStatus(device.getInbedStatus());
+            vo.setInbedStatusName(DeviceInbedStateEnum.getCodeToName(device.getInbedStatus()));
+
+            //睡眠时间
+            DeviceMonitorVO vo1 = careBedroomInbedDetailService.selectSleepTime(devId);
+            vo.setSleepTimeHour(vo1.getSleepTimeHour());
+            vo.setSleepTimeMinute(vo1.getSleepTimeMinute());
+
+            //卫生间进出次数
+            DeviceMonitorVO vo2 = careToiletInoutDetailService.selectToiletInoutFrequency(devId);
+            vo.setToiletInoutFrequency(vo2.getToiletInoutFrequency());
+
+            //活动距离和时长
+            DeviceMonitorVO vo3 = careWalkingDistanceDetailService.selectWalking(devId);
+            vo.setActivityDistance(vo3.getActivityDistance());
+            vo.setActivityTimeHour(vo3.getActivityTimeHour());
+            vo.setActivityTimeMinute(vo3.getActivityTimeMinute());
         }
         return vo;
     }
 
+    /**
+     * 在床时间chart
+     * @param devId
+     * @return
+     */
+    public List<CareBedroomInbedHourSta> getInbedTimeChartList(Long devId){
+        String beginHour = DateUtil.format(new Date(),"yyyyMMddHH");
+        QueryWrapper<CareBedroomInbedHourSta> queryWrapper = new QueryWrapper<>();
+        queryWrapper.lambda().eq(CareBedroomInbedHourSta::getDevId,devId).gt(CareBedroomInbedHourSta::getDataHour,beginHour).orderByAsc(CareBedroomInbedHourSta::getDataHour);
+        List<CareBedroomInbedHourSta> list = this.careBedroomInbedHourStaService.list(queryWrapper);
+        return list;
+    }
+
+    /**
+     * 卫生间进出统计chart
+     * @param devId
+     * @return
+     */
+    public List<CareToiletInoutHourSta> getToiletInoutChartList(Long devId){
+        String beginHour = DateUtil.format(new Date(),"yyyyMMddHH");
+        QueryWrapper<CareToiletInoutHourSta> queryWrapper = new QueryWrapper<>();
+        queryWrapper.lambda().eq(CareToiletInoutHourSta::getDevId,devId).gt(CareToiletInoutHourSta::getDataHour,beginHour).orderByAsc(CareToiletInoutHourSta::getDataHour);
+        List<CareToiletInoutHourSta> list = this.careToiletInoutHourStaService.list(queryWrapper);
+        return list;
+    }
+
+    /**
+     * 活动统计chart
+     * @param devId
+     * @return
+     */
+    public List<CareWalkingDistanceHourSta> getActivityChartList(Long devId){
+        String beginHour = DateUtil.format(new Date(),"yyyyMMddHH");
+        QueryWrapper<CareWalkingDistanceHourSta> queryWrapper = new QueryWrapper<>();
+        queryWrapper.lambda().eq(CareWalkingDistanceHourSta::getDevId,devId).gt(CareWalkingDistanceHourSta::getDataHour,beginHour).orderByAsc(CareWalkingDistanceHourSta::getDataHour);
+        List<CareWalkingDistanceHourSta> list = this.careWalkingDistanceHourStaService.list(queryWrapper);
+        return list;
+    }
+
     /**
      * 查询正在进行中的事件
      * @param memberId

+ 23 - 0
src/main/java/com/care/client/vo/DeviceMonitorVO.java

@@ -13,6 +13,12 @@ import lombok.Data;
 @ApiModel(description = "设备监测数据")
 public class DeviceMonitorVO {
     private Long id;
+
+    @ApiModelProperty("设备场景:1客厅,2卫浴,3卧室,4其他")
+    private String devScene;
+    @ApiModelProperty("设备场景:1客厅,2卫浴,3卧室,4其他")
+    private String devSceneName;
+
     @ApiModelProperty("呼吸频率")
     private Integer breathRate;
     @ApiModelProperty("呼吸频率单位")
@@ -23,6 +29,23 @@ public class DeviceMonitorVO {
     @ApiModelProperty("心跳频率单位")
     private String heartRateUnit="次/分";
 
+    @ApiModelProperty("移动状态:0无人, 1活动, 2静止")
+    private String moveStatu;
+    @ApiModelProperty("移动状态:0无人, 1活动, 2静止")
+    private String moveStatuName;
+
+    @ApiModelProperty("在床状态:1在床, 2离床(卧室)")
+    private String inbedStatus;
+    @ApiModelProperty("在床状态:1在床, 2离床(卧室)")
+    private String inbedStatusName;
+
+    @ApiModelProperty("卫生间进出次数")
+    private Integer toiletInoutFrequency;
+    @ApiModelProperty("卫生间平均停留时长(分钟)")
+    private Integer toiletStayDurationAvg;
+    @ApiModelProperty("卫生间最大停留时长(分钟)")
+    private Integer toiletStayDurationMax;
+
     @ApiModelProperty("活动距离")
     private Integer activityDistance;
     @ApiModelProperty("活动距离单位")

+ 65 - 0
src/main/java/com/care/common/entity/CareBedroomInbedHourSta.java

@@ -0,0 +1,65 @@
+package com.care.common.entity;
+
+import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+
+import java.time.LocalDateTime;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+
+import java.io.Serializable;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * 每小时卧室在床统计表(CareBedroomInbedHourSta)实体类
+ *
+ * @author makejava
+ * @since 2021-11-23 19:33:46
+ */
+
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("care_bedroom_inbed_hour_sta")
+@ApiModel(value = "每小时卧室在床统计表", description = "")
+public class CareBedroomInbedHourSta implements Serializable {
+    private static final long serialVersionUID = 319805412358752736L;
+
+    @TableId(value = "ID", type = IdType.AUTO)
+    private Long id;
+
+
+    @ApiModelProperty("数据小时")
+    @TableField("DATA_HOUR")
+    private String dataHour;
+
+
+    @ApiModelProperty("设备ID")
+    @TableField("DEV_ID")
+    private Long devId;
+
+
+    @ApiModelProperty("时长(分钟)")
+    @TableField("DURATION")
+    private Long duration;
+
+
+    @ApiModelProperty("createTime")
+    @TableField("CREATE_TIME")
+    private Date createTime;
+
+
+    @ApiModelProperty("modifyTime")
+    @TableField("MODIFY_TIME")
+    private Date modifyTime;
+
+
+}

+ 3 - 0
src/main/java/com/care/common/entity/CareDevEventDaySta.java

@@ -36,6 +36,9 @@ public class CareDevEventDaySta implements Serializable {
     @TableId(value = "ID", type = IdType.AUTO)
     private Long id;
 
+    @ApiModelProperty("数据日期")
+    @TableField("DATA_DATE")
+    private String dataDate;
 
     @ApiModelProperty("设备ID")
     @TableField("DEV_ID")

+ 65 - 0
src/main/java/com/care/common/entity/CareHeartBreathDetail.java

@@ -0,0 +1,65 @@
+package com.care.common.entity;
+
+import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+
+import java.time.LocalDateTime;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+
+import java.io.Serializable;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * 心率呼吸详细表(CareHeartBreathDetail)实体类
+ *
+ * @author makejava
+ * @since 2021-11-24 00:02:00
+ */
+
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("care_heart_breath_detail")
+@ApiModel(value = "心率呼吸详细表", description = "")
+public class CareHeartBreathDetail implements Serializable {
+    private static final long serialVersionUID = -66960807410325953L;
+
+    @TableId(value = "ID", type = IdType.AUTO)
+    private Long id;
+
+
+    @ApiModelProperty("设备ID")
+    @TableField("DEV_ID")
+    private Long devId;
+
+
+    @ApiModelProperty("心跳频率")
+    @TableField("HEART_RATE")
+    private Integer heartRate;
+
+
+    @ApiModelProperty("呼吸频率")
+    @TableField("BREATH_RATE")
+    private Integer breathRate;
+
+
+    @ApiModelProperty("createTime")
+    @TableField("CREATE_TIME")
+    private Date createTime;
+
+
+    @ApiModelProperty("modifyTime")
+    @TableField("MODIFY_TIME")
+    private Date modifyTime;
+
+
+}

+ 3 - 0
src/main/java/com/care/common/entity/CareHeartBreathHourSta.java

@@ -36,6 +36,9 @@ public class CareHeartBreathHourSta implements Serializable {
     @TableId(value = "ID", type = IdType.AUTO)
     private Long id;
 
+    @ApiModelProperty("数据小时")
+    @TableField("DATA_HOUR")
+    private String dataHour;
 
     @ApiModelProperty("设备ID")
     @TableField("DEV_ID")

+ 68 - 0
src/main/java/com/care/common/entity/CareToiletInoutHourSta.java

@@ -0,0 +1,68 @@
+package com.care.common.entity;
+
+import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+
+import java.time.LocalDateTime;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+
+import java.io.Serializable;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * 每小时卫生间进出统计表(CareToiletInoutHourSta)实体类
+ *
+ * @author makejava
+ * @since 2021-11-24 17:54:23
+ */
+
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("care_toilet_inout_hour_sta")
+@ApiModel(value = "每小时卫生间进出统计表", description = "")
+public class CareToiletInoutHourSta implements Serializable {
+    private static final long serialVersionUID = -63844015772109363L;
+
+    @TableId(value = "ID", type = IdType.AUTO)
+    private Long id;
+
+    @ApiModelProperty("数据小时")
+    @TableField("DATA_HOUR")
+    private String dataHour;
+
+    @ApiModelProperty("设备ID")
+    @TableField("DEV_ID")
+    private Long devId;
+
+
+    @ApiModelProperty("次数")
+    @TableField("FREQUENCY")
+    private Integer frequency;
+
+
+    @ApiModelProperty("时长(分钟)")
+    @TableField("DURATION")
+    private Long duration;
+
+
+    @ApiModelProperty("createTime")
+    @TableField("CREATE_TIME")
+    private Date createTime;
+
+
+    @ApiModelProperty("modifyTime")
+    @TableField("MODIFY_TIME")
+    private Date modifyTime;
+
+
+}

+ 3 - 0
src/main/java/com/care/common/entity/CareWalkingDistanceDetail.java

@@ -56,6 +56,9 @@ public class CareWalkingDistanceDetail implements Serializable {
     @TableField("WALKING_DISTANCE")
     private Double walkingDistance;
 
+    @ApiModelProperty("行走时长(秒)")
+    @TableField("WALKING_DURATION")
+    private Long walkingDuration;
 
     @ApiModelProperty("createTime")
     @TableField("CREATE_TIME")

+ 6 - 3
src/main/java/com/care/common/entity/CareWalkingDistanceDaySta.java

@@ -19,7 +19,7 @@ import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
 
 /**
- * 每日行走距离统计表(CareWalkingDistanceDaySta)实体类
+ * 每日行走距离统计表(CareWalkingDistanceHourSta)实体类
  *
  * @author makejava
  * @since 2021-11-16 19:33:25
@@ -28,14 +28,17 @@ import lombok.experimental.Accessors;
 @Data
 @EqualsAndHashCode(callSuper = false)
 @Accessors(chain = true)
-@TableName("care_walking_distance_day_sta")
+@TableName("care_walking_distance_hour_sta")
 @ApiModel(value = "每日行走距离统计表", description = "")
-public class CareWalkingDistanceDaySta implements Serializable {
+public class CareWalkingDistanceHourSta implements Serializable {
     private static final long serialVersionUID = -47269238100661474L;
 
     @TableId(value = "ID", type = IdType.AUTO)
     private Long id;
 
+    @ApiModelProperty("数据小时")
+    @TableField("DATA_HOUR")
+    private String dataHour;
 
     @ApiModelProperty("设备ID")
     @TableField("DEV_ID")

+ 3 - 1
src/main/java/com/care/common/mapper/CareBedroomInbedDetailMapper.java

@@ -1,7 +1,9 @@
 package com.care.common.mapper;
 
+import com.care.client.vo.DeviceMonitorVO;
 import com.care.common.entity.CareBedroomInbedDetail;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
 
 
 /**
@@ -11,5 +13,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  * @since 2021-11-16 19:30:42
  */
 public interface CareBedroomInbedDetailMapper extends BaseMapper<CareBedroomInbedDetail> {
-
+    DeviceMonitorVO selectSleepTime(@Param("devId") Long devId);
 }

+ 15 - 0
src/main/java/com/care/common/mapper/CareBedroomInbedHourStaMapper.java

@@ -0,0 +1,15 @@
+package com.care.common.mapper;
+
+import com.care.common.entity.CareBedroomInbedHourSta;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+
+/**
+ * 每小时卧室在床统计表(CareBedroomInbedHourSta)表数据库访问层
+ *
+ * @author makejava
+ * @since 2021-11-23 19:33:47
+ */
+public interface CareBedroomInbedHourStaMapper extends BaseMapper<CareBedroomInbedHourSta> {
+    void exeBedroomInbedHourSta();
+}

+ 1 - 1
src/main/java/com/care/common/mapper/CareDevEventDayStaMapper.java

@@ -11,5 +11,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  * @since 2021-11-16 19:31:49
  */
 public interface CareDevEventDayStaMapper extends BaseMapper<CareDevEventDaySta> {
-
+    void exeDevEventDaySta();
 }

+ 15 - 0
src/main/java/com/care/common/mapper/CareHeartBreathDetailMapper.java

@@ -0,0 +1,15 @@
+package com.care.common.mapper;
+
+import com.care.common.entity.CareHeartBreathDetail;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+
+/**
+ * 心率呼吸详细表(CareHeartBreathDetail)表数据库访问层
+ *
+ * @author makejava
+ * @since 2021-11-24 00:02:00
+ */
+public interface CareHeartBreathDetailMapper extends BaseMapper<CareHeartBreathDetail> {
+    void exeHeartBreathDetail();
+}

+ 1 - 1
src/main/java/com/care/common/mapper/CareHeartBreathHourStaMapper.java

@@ -11,5 +11,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  * @since 2021-11-16 19:32:22
  */
 public interface CareHeartBreathHourStaMapper extends BaseMapper<CareHeartBreathHourSta> {
-
+    void exeHeartBreathHourSta();
 }

+ 3 - 1
src/main/java/com/care/common/mapper/CareToiletInoutDetailMapper.java

@@ -1,7 +1,9 @@
 package com.care.common.mapper;
 
+import com.care.client.vo.DeviceMonitorVO;
 import com.care.common.entity.CareToiletInoutDetail;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
 
 
 /**
@@ -11,5 +13,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  * @since 2021-11-16 19:32:49
  */
 public interface CareToiletInoutDetailMapper extends BaseMapper<CareToiletInoutDetail> {
-
+    DeviceMonitorVO selectToiletInoutFrequency(@Param("devId") Long devId);
 }

+ 15 - 0
src/main/java/com/care/common/mapper/CareToiletInoutHourStaMapper.java

@@ -0,0 +1,15 @@
+package com.care.common.mapper;
+
+import com.care.common.entity.CareToiletInoutHourSta;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+
+/**
+ * 每小时卫生间进出统计表(CareToiletInoutHourSta)表数据库访问层
+ *
+ * @author makejava
+ * @since 2021-11-24 17:54:24
+ */
+public interface CareToiletInoutHourStaMapper extends BaseMapper<CareToiletInoutHourSta> {
+
+}

+ 0 - 15
src/main/java/com/care/common/mapper/CareWalkingDistanceDayStaMapper.java

@@ -1,15 +0,0 @@
-package com.care.common.mapper;
-
-import com.care.common.entity.CareWalkingDistanceDaySta;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-
-
-/**
- * 每日行走距离统计表(CareWalkingDistanceDaySta)表数据库访问层
- *
- * @author makejava
- * @since 2021-11-16 19:33:25
- */
-public interface CareWalkingDistanceDayStaMapper extends BaseMapper<CareWalkingDistanceDaySta> {
-
-}

+ 3 - 1
src/main/java/com/care/common/mapper/CareWalkingDistanceDetailMapper.java

@@ -1,7 +1,9 @@
 package com.care.common.mapper;
 
+import com.care.client.vo.DeviceMonitorVO;
 import com.care.common.entity.CareWalkingDistanceDetail;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
 
 
 /**
@@ -11,5 +13,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  * @since 2021-11-17 16:07:54
  */
 public interface CareWalkingDistanceDetailMapper extends BaseMapper<CareWalkingDistanceDetail> {
-
+    DeviceMonitorVO selectWalking(@Param("devId") Long devId);
 }

+ 15 - 0
src/main/java/com/care/common/mapper/CareWalkingDistanceHourStaMapper.java

@@ -0,0 +1,15 @@
+package com.care.common.mapper;
+
+import com.care.common.entity.CareWalkingDistanceHourSta;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+
+/**
+ * 每日行走距离统计表(CareWalkingDistanceHourSta)表数据库访问层
+ *
+ * @author makejava
+ * @since 2021-11-16 19:33:25
+ */
+public interface CareWalkingDistanceHourStaMapper extends BaseMapper<CareWalkingDistanceHourSta> {
+    void exeWalkingDistanceHourSta();
+}

+ 2 - 1
src/main/java/com/care/common/service/CareBedroomInbedDetailService.java

@@ -1,6 +1,7 @@
 package com.care.common.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.care.client.vo.DeviceMonitorVO;
 import com.care.common.entity.CareBedroomInbedDetail;
 
 /**
@@ -10,5 +11,5 @@ import com.care.common.entity.CareBedroomInbedDetail;
  * @since 2021-11-16 19:30:42
  */
 public interface CareBedroomInbedDetailService extends IService<CareBedroomInbedDetail> {
-
+    DeviceMonitorVO selectSleepTime(Long devId);
 }

+ 14 - 0
src/main/java/com/care/common/service/CareBedroomInbedHourStaService.java

@@ -0,0 +1,14 @@
+package com.care.common.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.care.common.entity.CareBedroomInbedHourSta;
+
+/**
+ * 每小时卧室在床统计表(CareBedroomInbedHourSta)表服务接口
+ *
+ * @author makejava
+ * @since 2021-11-23 19:33:47
+ */
+public interface CareBedroomInbedHourStaService extends IService<CareBedroomInbedHourSta> {
+    void exeBedroomInbedHourSta();
+}

+ 1 - 1
src/main/java/com/care/common/service/CareDevEventDayStaService.java

@@ -10,5 +10,5 @@ import com.care.common.entity.CareDevEventDaySta;
  * @since 2021-11-16 19:31:50
  */
 public interface CareDevEventDayStaService extends IService<CareDevEventDaySta> {
-
+    void exeDevEventDaySta();
 }

+ 14 - 0
src/main/java/com/care/common/service/CareHeartBreathDetailService.java

@@ -0,0 +1,14 @@
+package com.care.common.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.care.common.entity.CareHeartBreathDetail;
+
+/**
+ * 心率呼吸详细表(CareHeartBreathDetail)表服务接口
+ *
+ * @author makejava
+ * @since 2021-11-24 00:02:00
+ */
+public interface CareHeartBreathDetailService extends IService<CareHeartBreathDetail> {
+  void exeHeartBreathDetail();
+}

+ 1 - 1
src/main/java/com/care/common/service/CareHeartBreathHourStaService.java

@@ -10,5 +10,5 @@ import com.care.common.entity.CareHeartBreathHourSta;
  * @since 2021-11-16 19:32:22
  */
 public interface CareHeartBreathHourStaService extends IService<CareHeartBreathHourSta> {
-
+    void exeHeartBreathHourSta();
 }

+ 2 - 1
src/main/java/com/care/common/service/CareToiletInoutDetailService.java

@@ -1,6 +1,7 @@
 package com.care.common.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.care.client.vo.DeviceMonitorVO;
 import com.care.common.entity.CareToiletInoutDetail;
 
 /**
@@ -10,5 +11,5 @@ import com.care.common.entity.CareToiletInoutDetail;
  * @since 2021-11-16 19:32:49
  */
 public interface CareToiletInoutDetailService extends IService<CareToiletInoutDetail> {
-
+    DeviceMonitorVO selectToiletInoutFrequency(Long devId);
 }

+ 14 - 0
src/main/java/com/care/common/service/CareToiletInoutHourStaService.java

@@ -0,0 +1,14 @@
+package com.care.common.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.care.common.entity.CareToiletInoutHourSta;
+
+/**
+ * 每小时卫生间进出统计表(CareToiletInoutHourSta)表服务接口
+ *
+ * @author makejava
+ * @since 2021-11-24 17:54:24
+ */
+public interface CareToiletInoutHourStaService extends IService<CareToiletInoutHourSta> {
+
+}

+ 0 - 14
src/main/java/com/care/common/service/CareWalkingDistanceDayStaService.java

@@ -1,14 +0,0 @@
-package com.care.common.service;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.care.common.entity.CareWalkingDistanceDaySta;
-
-/**
- * 每日行走距离统计表(CareWalkingDistanceDaySta)表服务接口
- *
- * @author makejava
- * @since 2021-11-16 19:33:25
- */
-public interface CareWalkingDistanceDayStaService extends IService<CareWalkingDistanceDaySta> {
-
-}

+ 2 - 1
src/main/java/com/care/common/service/CareWalkingDistanceDetailService.java

@@ -1,6 +1,7 @@
 package com.care.common.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.care.client.vo.DeviceMonitorVO;
 import com.care.common.entity.CareWalkingDistanceDetail;
 
 /**
@@ -10,5 +11,5 @@ import com.care.common.entity.CareWalkingDistanceDetail;
  * @since 2021-11-17 16:07:54
  */
 public interface CareWalkingDistanceDetailService extends IService<CareWalkingDistanceDetail> {
-
+    DeviceMonitorVO selectWalking(Long devId);
 }

+ 14 - 0
src/main/java/com/care/common/service/CareWalkingDistanceHourStaService.java

@@ -0,0 +1,14 @@
+package com.care.common.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.care.common.entity.CareWalkingDistanceHourSta;
+
+/**
+ * 每日行走距离统计表(CareWalkingDistanceHourSta)表服务接口
+ *
+ * @author makejava
+ * @since 2021-11-16 19:33:25
+ */
+public interface CareWalkingDistanceHourStaService extends IService<CareWalkingDistanceHourSta> {
+    void exeWalkingDistanceHourSta();
+}

+ 5 - 1
src/main/java/com/care/common/service/impl/CareBedroomInbedDetailServiceImpl.java

@@ -1,6 +1,7 @@
 package com.care.common.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.care.client.vo.DeviceMonitorVO;
 import com.care.common.mapper.CareBedroomInbedDetailMapper;
 import com.care.common.entity.CareBedroomInbedDetail;
 import com.care.common.service.CareBedroomInbedDetailService;
@@ -14,5 +15,8 @@ import org.springframework.stereotype.Service;
  */
 @Service
 public class CareBedroomInbedDetailServiceImpl extends ServiceImpl<CareBedroomInbedDetailMapper, CareBedroomInbedDetail> implements CareBedroomInbedDetailService {
-
+    @Override
+    public DeviceMonitorVO selectSleepTime(Long devId){
+        return this.baseMapper.selectSleepTime(devId);
+    }
 }

+ 21 - 0
src/main/java/com/care/common/service/impl/CareBedroomInbedHourStaServiceImpl.java

@@ -0,0 +1,21 @@
+package com.care.common.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.care.common.mapper.CareBedroomInbedHourStaMapper;
+import com.care.common.entity.CareBedroomInbedHourSta;
+import com.care.common.service.CareBedroomInbedHourStaService;
+import org.springframework.stereotype.Service;
+
+/**
+ * 每小时卧室在床统计表(CareBedroomInbedHourSta)表服务实现类
+ *
+ * @author makejava
+ * @since 2021-11-23 19:33:47
+ */
+@Service
+public class CareBedroomInbedHourStaServiceImpl extends ServiceImpl<CareBedroomInbedHourStaMapper, CareBedroomInbedHourSta> implements CareBedroomInbedHourStaService {
+    @Override
+    public void exeBedroomInbedHourSta(){
+        this.baseMapper.exeBedroomInbedHourSta();
+    }
+}

+ 4 - 1
src/main/java/com/care/common/service/impl/CareDevEventDayStaServiceImpl.java

@@ -14,5 +14,8 @@ import org.springframework.stereotype.Service;
  */
 @Service
 public class CareDevEventDayStaServiceImpl extends ServiceImpl<CareDevEventDayStaMapper, CareDevEventDaySta> implements CareDevEventDayStaService {
-
+    @Override
+    public void exeDevEventDaySta() {
+        this.baseMapper.exeDevEventDaySta();
+    }
 }

+ 21 - 0
src/main/java/com/care/common/service/impl/CareHeartBreathDetailServiceImpl.java

@@ -0,0 +1,21 @@
+package com.care.common.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.care.common.mapper.CareHeartBreathDetailMapper;
+import com.care.common.entity.CareHeartBreathDetail;
+import com.care.common.service.CareHeartBreathDetailService;
+import org.springframework.stereotype.Service;
+
+/**
+ * 心率呼吸详细表(CareHeartBreathDetail)表服务实现类
+ *
+ * @author makejava
+ * @since 2021-11-24 00:02:00
+ */
+@Service
+public class CareHeartBreathDetailServiceImpl extends ServiceImpl<CareHeartBreathDetailMapper, CareHeartBreathDetail> implements CareHeartBreathDetailService {
+    @Override
+    public void exeHeartBreathDetail() {
+        this.baseMapper.exeHeartBreathDetail();
+    }
+}

+ 4 - 1
src/main/java/com/care/common/service/impl/CareHeartBreathHourStaServiceImpl.java

@@ -14,5 +14,8 @@ import org.springframework.stereotype.Service;
  */
 @Service
 public class CareHeartBreathHourStaServiceImpl extends ServiceImpl<CareHeartBreathHourStaMapper, CareHeartBreathHourSta> implements CareHeartBreathHourStaService {
-
+    @Override
+    public void exeHeartBreathHourSta() {
+        this.baseMapper.exeHeartBreathHourSta();
+    }
 }

+ 4 - 1
src/main/java/com/care/common/service/impl/CareToiletInoutDetailServiceImpl.java

@@ -1,6 +1,7 @@
 package com.care.common.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.care.client.vo.DeviceMonitorVO;
 import com.care.common.mapper.CareToiletInoutDetailMapper;
 import com.care.common.entity.CareToiletInoutDetail;
 import com.care.common.service.CareToiletInoutDetailService;
@@ -14,5 +15,7 @@ import org.springframework.stereotype.Service;
  */
 @Service
 public class CareToiletInoutDetailServiceImpl extends ServiceImpl<CareToiletInoutDetailMapper, CareToiletInoutDetail> implements CareToiletInoutDetailService {
-
+    public DeviceMonitorVO selectToiletInoutFrequency(Long devId){
+        return this.baseMapper.selectToiletInoutFrequency(devId);
+    }
 }

+ 18 - 0
src/main/java/com/care/common/service/impl/CareToiletInoutHourStaServiceImpl.java

@@ -0,0 +1,18 @@
+package com.care.common.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.care.common.mapper.CareToiletInoutHourStaMapper;
+import com.care.common.entity.CareToiletInoutHourSta;
+import com.care.common.service.CareToiletInoutHourStaService;
+import org.springframework.stereotype.Service;
+
+/**
+ * 每小时卫生间进出统计表(CareToiletInoutHourSta)表服务实现类
+ *
+ * @author makejava
+ * @since 2021-11-24 17:54:24
+ */
+@Service
+public class CareToiletInoutHourStaServiceImpl extends ServiceImpl<CareToiletInoutHourStaMapper, CareToiletInoutHourSta> implements CareToiletInoutHourStaService {
+
+}

+ 0 - 18
src/main/java/com/care/common/service/impl/CareWalkingDistanceDayStaServiceImpl.java

@@ -1,18 +0,0 @@
-package com.care.common.service.impl;
-
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.care.common.mapper.CareWalkingDistanceDayStaMapper;
-import com.care.common.entity.CareWalkingDistanceDaySta;
-import com.care.common.service.CareWalkingDistanceDayStaService;
-import org.springframework.stereotype.Service;
-
-/**
- * 每日行走距离统计表(CareWalkingDistanceDaySta)表服务实现类
- *
- * @author makejava
- * @since 2021-11-16 19:33:25
- */
-@Service
-public class CareWalkingDistanceDayStaServiceImpl extends ServiceImpl<CareWalkingDistanceDayStaMapper, CareWalkingDistanceDaySta> implements CareWalkingDistanceDayStaService {
-
-}

+ 4 - 1
src/main/java/com/care/common/service/impl/CareWalkingDistanceDetailServiceImpl.java

@@ -1,6 +1,7 @@
 package com.care.common.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.care.client.vo.DeviceMonitorVO;
 import com.care.common.mapper.CareWalkingDistanceDetailMapper;
 import com.care.common.entity.CareWalkingDistanceDetail;
 import com.care.common.service.CareWalkingDistanceDetailService;
@@ -14,5 +15,7 @@ import org.springframework.stereotype.Service;
  */
 @Service
 public class CareWalkingDistanceDetailServiceImpl extends ServiceImpl<CareWalkingDistanceDetailMapper, CareWalkingDistanceDetail> implements CareWalkingDistanceDetailService {
-
+    public DeviceMonitorVO selectWalking(Long devId){
+        return this.baseMapper.selectWalking(devId);
+    }
 }

+ 21 - 0
src/main/java/com/care/common/service/impl/CareWalkingDistanceHourStaServiceImpl.java

@@ -0,0 +1,21 @@
+package com.care.common.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.care.common.mapper.CareWalkingDistanceHourStaMapper;
+import com.care.common.entity.CareWalkingDistanceHourSta;
+import com.care.common.service.CareWalkingDistanceHourStaService;
+import org.springframework.stereotype.Service;
+
+/**
+ * 每日行走距离统计表(CareWalkingDistanceHourSta)表服务实现类
+ *
+ * @author makejava
+ * @since 2021-11-16 19:33:25
+ */
+@Service
+public class CareWalkingDistanceHourStaServiceImpl extends ServiceImpl<CareWalkingDistanceHourStaMapper, CareWalkingDistanceHourSta> implements CareWalkingDistanceHourStaService {
+    @Override
+    public void exeWalkingDistanceHourSta(){
+        this.baseMapper.exeWalkingDistanceHourSta();
+    }
+}

+ 6 - 4
src/main/java/com/care/mqtt/service/MqttMsgService.java

@@ -174,10 +174,9 @@ public class MqttMsgService {
                     //先查是否存在
                     String content = (String)redisUtil.hget(RedisKeyConstant.PEOPLEEVENT_ACTIVE_INFO,careDevice.getDevCode()+ "_" + tid);
                     if (content != null) {//之前有存储redis
-                        //计算当前的和存储的之间距离
+                        //计算当前的和存储的之间距离和时长
                         double distance = getDistance(Double.parseDouble(content.split("_")[1]),x,Double.parseDouble(content.split("_")[2]),y);
-                        //加上之前累积的距离
-                        double distanceTotal = distance + Double.parseDouble(content.split("_")[3]);
+                        long duration = (date.getTime() - Long.parseLong(content.split("_")[0]));
 
                         //存储行走距离明细表
                         CareWalkingDistanceDetail careWalkingDistanceDetail = new CareWalkingDistanceDetail();
@@ -185,11 +184,14 @@ public class MqttMsgService {
                         careWalkingDistanceDetail.setTid(tid);
                         careWalkingDistanceDetail.setDevScene(careDevice.getDevScene());
                         careWalkingDistanceDetail.setWalkingDistance(distance);
+                        careWalkingDistanceDetail.setWalkingDuration(duration);
                         careWalkingDistanceDetail.setCreateTime(date);
                         careWalkingDistanceDetail.setModifyTime(date);
                         careWalkingDistanceDetailService.save(careWalkingDistanceDetail);
 
-                        long timeTotal = (date.getTime() - Long.parseLong(content.split("_")[0])) +  Long.parseLong(content.split("_")[4]);
+                        //加上之前累积的距离和时长
+                        double distanceTotal = distance + Double.parseDouble(content.split("_")[3]);
+                        long timeTotal = duration +  Long.parseLong(content.split("_")[4]);
 
                         if ( timeTotal < 1000) { //累计时间不够一秒
                             //更新redis

+ 1 - 1
src/main/java/com/care/outcall/schedule/KoalaOutCallBillSchedule.java

@@ -48,7 +48,7 @@ public class KoalaOutCallBillSchedule {
         }
     }
 
-
+    //@Async
     //@Scheduled(cron = "0 0 0 * * ?")
     public void updateComputeTrafficToFinish() {
         try {

+ 9 - 0
src/main/resources/mybatis/CareBedroomInbedDetailMapper.xml

@@ -3,4 +3,13 @@
 <mapper namespace="com.care.common.mapper.CareBedroomInbedDetailMapper">
 
 
+    <select id="selectSleepTime" resultType="com.care.client.vo.DeviceMonitorVO">
+        SELECT
+        DATE_FORMAT (sec_to_time(sum(duration)),'%H') sleepTimeHour,
+         DATE_FORMAT (sec_to_time(sum(duration)),'%i') sleepTimeMinute
+        FROM care_bedroom_inbed_detail t
+        where t.dev_id = #{devId} and DATE_FORMAT(t.create_time,'%Y%m%d') = DATE_FORMAT(now(),'%Y%m%d')
+
+    </select>
+
 </mapper>

+ 11 - 0
src/main/resources/mybatis/CareBedroomInbedHourStaMapper.xml

@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.care.common.mapper.CareBedroomInbedHourStaMapper">
+
+    <insert id="exeBedroomInbedHourSta">
+      insert into care_bedroom_inbed_hour_sta(data_hour,dev_id,duration)
+       select DATE_FORMAT(t.create_time,'%Y%m%d%H') data_hour,t.dev_id,convert(sum(t.duration)/60,decimal(20,0)) duration from care_bedroom_inbed_detail t
+        where DATE_FORMAT(t.create_time,'%Y%m%d%H') = DATE_FORMAT(DATE_SUB(now(), INTERVAL 1 HOUR), '%Y%m%d%H')
+         group by data_hour,dev_id
+    </insert>
+</mapper>

+ 6 - 1
src/main/resources/mybatis/CareDevEventDayStaMapper.xml

@@ -1,6 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.care.common.mapper.CareDevEventDayStaMapper">
-
+<insert id="exeDevEventDaySta">
+     insert into care_dev_event_day_sta(data_date,dev_id,event_type,frequency)
+      select DATE_FORMAT(t.create_time,'%Y%m%d') data_date,t.dev_id,t.order_type, count(1) frequency from care_event_order t
+      where DATE_FORMAT(t.create_time,'%Y%m%d') = DATE_FORMAT(DATE_SUB(now(), INTERVAL 1 DAY), '%Y%m%d')
+      group by data_date,t.dev_id,t.order_type
+</insert>
 
 </mapper>

+ 11 - 0
src/main/resources/mybatis/CareHeartBreathDetailMapper.xml

@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.care.common.mapper.CareHeartBreathDetailMapper">
+ <insert id = "exeHeartBreathDetail">
+     insert into care_heart_breath_detail(dev_id,heart_rate,breath_rate)
+     select t.id,t.heart_rate,t.breath_rate from care_device t
+     where t.active_status='1' and status = '1' and t.heart_rate is not null and t.breath_rate is not null
+      and t.heart_rate != 0 and t.breath_rate != 0
+ </insert>
+
+</mapper>

+ 6 - 0
src/main/resources/mybatis/CareHeartBreathHourStaMapper.xml

@@ -2,5 +2,11 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.care.common.mapper.CareHeartBreathHourStaMapper">
 
+    <insert id = "exeHeartBreathHourSta">
+        insert into care_heart_breath_hour_sta(data_hour,dev_id,heart_rate,breath_rate)
+       select DATE_FORMAT(t.create_time,'%Y%m%d%H') data_hour,t.dev_id,convert(sum(t.heart_rate)/count(1),decimal(20,0)) heart_rate,convert(sum(t.breath_rate)/count(1) ,decimal(20,0)) breath_rate from care_heart_breath_detail t
+        where DATE_FORMAT(t.create_time,'%Y%m%d%H') = DATE_FORMAT(DATE_SUB(now(), INTERVAL 1 HOUR), '%Y%m%d%H')
+         group by data_hour,dev_id
+    </insert>
 
 </mapper>

+ 9 - 0
src/main/resources/mybatis/CareToiletInoutDetailMapper.xml

@@ -3,4 +3,13 @@
 <mapper namespace="com.care.common.mapper.CareToiletInoutDetailMapper">
 
 
+    <select id="selectToiletInoutFrequency" resultType="com.care.client.vo.DeviceMonitorVO">
+        SELECT
+        count(1) toiletInoutFrequency,
+        convert(sum(t.duration)/count(1)/60,decimal(20,0)) toiletStayDurationAvg,
+        convert(max(t.duration)/60,decimal(20,0)) toiletStayDurationMax
+        FROM care_toilet_inout_detail t
+        where t.dev_id = #{devId} and DATE_FORMAT(t.create_time,'%Y%m%d') = DATE_FORMAT(now(),'%Y%m%d')
+
+    </select>
 </mapper>

+ 1 - 1
src/main/resources/mybatis/CareWalkingDistanceDayStaMapper.xml

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.care.common.mapper.CareWalkingDistanceDayStaMapper">
+<mapper namespace="com.care.common.mapper.CareToiletInoutHourStaMapper">
 
 
 </mapper>

+ 8 - 0
src/main/resources/mybatis/CareWalkingDistanceDetailMapper.xml

@@ -1,6 +1,14 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.care.common.mapper.CareWalkingDistanceDetailMapper">
+    <select id="selectWalking" resultType="com.care.client.vo.DeviceMonitorVO">
+        SELECT
+        sum(t.walking_distance) activityDistance,
+        DATE_FORMAT (sec_to_time(sum(walking_duration)),'%H') activityTimeHour,
+        DATE_FORMAT (sec_to_time(sum(walking_duration)),'%i') activityTimeMinute
+        FROM care_bedroom_inbed_detail t
+        where t.dev_id = #{devId} and DATE_FORMAT(t.create_time,'%Y%m%d') = DATE_FORMAT(now(),'%Y%m%d')
 
+    </select>
 
 </mapper>

+ 11 - 0
src/main/resources/mybatis/CareWalkingDistanceHourStaMapper.xml

@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.care.common.mapper.CareWalkingDistanceHourStaMapper">
+
+  <insert id="exeWalkingDistanceHourSta">
+          insert into care_walking_distance_hour_sta(data_hour,dev_id,dev_scene,walking_distance)
+      select DATE_FORMAT(t.create_time,'%Y%m%d%H') data_date,t.dev_id,t.dev_scene, sum(walking_distance) walking_distance from care_walking_distance_detail t
+      where DATE_FORMAT(t.create_time,'%Y%m%d%H') = DATE_FORMAT(DATE_SUB(now(), INTERVAL 1 DAY), '%Y%m%d%H')
+      group by data_date,t.dev_id,t.dev_scene
+  </insert>
+</mapper>