Browse Source

95:红德堂APP调试 腕表代码同步、购物车返回图片

Long 1 day ago
parent
commit
82ab68de5b
100 changed files with 1860 additions and 337 deletions
  1. 2 0
      fs-service/src/main/java/com/fs/company/mapper/CompanyUserMapper.java
  2. 2 0
      fs-service/src/main/java/com/fs/company/service/ICompanyUserService.java
  3. 5 0
      fs-service/src/main/java/com/fs/company/service/impl/CompanyUserServiceImpl.java
  4. 2 0
      fs-service/src/main/java/com/fs/his/mapper/FsDoctorMapper.java
  5. 2 0
      fs-service/src/main/java/com/fs/his/mapper/FsHealthTongueMapper.java
  6. 5 0
      fs-service/src/main/java/com/fs/his/mapper/FsUserMapper.java
  7. 2 0
      fs-service/src/main/java/com/fs/his/service/IFsDoctorService.java
  8. 5 0
      fs-service/src/main/java/com/fs/his/service/IFsUserService.java
  9. 5 0
      fs-service/src/main/java/com/fs/his/service/impl/FsDoctorServiceImpl.java
  10. 11 0
      fs-service/src/main/java/com/fs/his/service/impl/FsUserServiceImpl.java
  11. 3 0
      fs-service/src/main/java/com/fs/his/vo/FsIntegralCartVO.java
  12. 0 4
      fs-service/src/main/java/com/fs/watch/domain/WatchAccelerometerData.java
  13. 0 3
      fs-service/src/main/java/com/fs/watch/domain/WatchAlarmData.java
  14. 0 3
      fs-service/src/main/java/com/fs/watch/domain/WatchBasicInfo.java
  15. 87 0
      fs-service/src/main/java/com/fs/watch/domain/WatchBeginnerGuide.java
  16. 0 3
      fs-service/src/main/java/com/fs/watch/domain/WatchBloodGlucoseData.java
  17. 0 3
      fs-service/src/main/java/com/fs/watch/domain/WatchBloodPressureData.java
  18. 29 0
      fs-service/src/main/java/com/fs/watch/domain/WatchCompany.java
  19. 28 0
      fs-service/src/main/java/com/fs/watch/domain/WatchCompanyUser.java
  20. 0 3
      fs-service/src/main/java/com/fs/watch/domain/WatchContinuousSpo2Data.java
  21. 34 0
      fs-service/src/main/java/com/fs/watch/domain/WatchDeviceAccount.java
  22. 0 3
      fs-service/src/main/java/com/fs/watch/domain/WatchDeviceData.java
  23. 48 0
      fs-service/src/main/java/com/fs/watch/domain/WatchDeviceDay.java
  24. 64 9
      fs-service/src/main/java/com/fs/watch/domain/WatchDeviceInfo.java
  25. 28 0
      fs-service/src/main/java/com/fs/watch/domain/WatchDoctor.java
  26. 0 3
      fs-service/src/main/java/com/fs/watch/domain/WatchEcgData.java
  27. 28 0
      fs-service/src/main/java/com/fs/watch/domain/WatchFamily.java
  28. 8 7
      fs-service/src/main/java/com/fs/watch/domain/WatchFamilyUser.java
  29. 10 3
      fs-service/src/main/java/com/fs/watch/domain/WatchFatigueData.java
  30. 0 2
      fs-service/src/main/java/com/fs/watch/domain/WatchHeartRateData.java
  31. 95 0
      fs-service/src/main/java/com/fs/watch/domain/WatchMonitorDataType.java
  32. 0 3
      fs-service/src/main/java/com/fs/watch/domain/WatchMultiLeadsEcgData.java
  33. 0 3
      fs-service/src/main/java/com/fs/watch/domain/WatchPpgData.java
  34. 0 3
      fs-service/src/main/java/com/fs/watch/domain/WatchRriData.java
  35. 2 1
      fs-service/src/main/java/com/fs/watch/domain/WatchSendMsgLog.java
  36. 0 3
      fs-service/src/main/java/com/fs/watch/domain/WatchSleepData.java
  37. 0 3
      fs-service/src/main/java/com/fs/watch/domain/WatchSpo2Data.java
  38. 0 2
      fs-service/src/main/java/com/fs/watch/domain/WatchSportData.java
  39. 18 191
      fs-service/src/main/java/com/fs/watch/domain/WatchTemperatureData.java
  40. 0 3
      fs-service/src/main/java/com/fs/watch/domain/WatchThirdBkData.java
  41. 0 3
      fs-service/src/main/java/com/fs/watch/domain/WatchThirdBpData.java
  42. 0 3
      fs-service/src/main/java/com/fs/watch/domain/WatchThirdUaData.java
  43. 13 0
      fs-service/src/main/java/com/fs/watch/domain/vo/AppFsUserHealthReportVo.java
  44. 24 0
      fs-service/src/main/java/com/fs/watch/domain/vo/AppFsUserHealthVo.java
  45. 15 0
      fs-service/src/main/java/com/fs/watch/domain/vo/AppHealthReportVo.java
  46. 2 2
      fs-service/src/main/java/com/fs/watch/domain/vo/FsMonitorDataVo.java
  47. 11 0
      fs-service/src/main/java/com/fs/watch/domain/vo/FsUserAndCompanyAndDoctorVo.java
  48. 17 2
      fs-service/src/main/java/com/fs/watch/domain/vo/WatchDeviceInfoVo.java
  49. 24 0
      fs-service/src/main/java/com/fs/watch/domain/vo/WatchFatigueDataVo.java
  50. 0 1
      fs-service/src/main/java/com/fs/watch/domain/vo/WatchSportDataVo.java
  51. 0 2
      fs-service/src/main/java/com/fs/watch/domain/vo/WatchSportListVo.java
  52. 0 2
      fs-service/src/main/java/com/fs/watch/domain/vo/WatchSportRecordVo.java
  53. 0 1
      fs-service/src/main/java/com/fs/watch/domain/vo/WatchUserAndHealthVo.java
  54. 9 0
      fs-service/src/main/java/com/fs/watch/enums/HealthStatusEnum.java
  55. 50 0
      fs-service/src/main/java/com/fs/watch/enums/WatchBgStatusEnum.java
  56. 39 0
      fs-service/src/main/java/com/fs/watch/enums/WatchBkStatusEnum.java
  57. 56 0
      fs-service/src/main/java/com/fs/watch/enums/WatchBpStatusEnum.java
  58. 41 0
      fs-service/src/main/java/com/fs/watch/enums/WatchDeviceStatusEnum.java
  59. 29 0
      fs-service/src/main/java/com/fs/watch/enums/WatchFatigueStatusEnum.java
  60. 29 0
      fs-service/src/main/java/com/fs/watch/enums/WatchHealthEnum.java
  61. 45 0
      fs-service/src/main/java/com/fs/watch/enums/WatchHrStatusEnum.java
  62. 47 0
      fs-service/src/main/java/com/fs/watch/enums/WatchSleepStatusEnum.java
  63. 44 0
      fs-service/src/main/java/com/fs/watch/enums/WatchSpo2StatusEnum.java
  64. 48 0
      fs-service/src/main/java/com/fs/watch/enums/WatchStepStatusEnum.java
  65. 44 0
      fs-service/src/main/java/com/fs/watch/enums/WatchTemperatureStatusEnum.java
  66. 39 0
      fs-service/src/main/java/com/fs/watch/enums/WatchUaStatusEnum.java
  67. 4 9
      fs-service/src/main/java/com/fs/watch/mapper/WatchAlarmDataMapper.java
  68. 63 0
      fs-service/src/main/java/com/fs/watch/mapper/WatchBeginnerGuideMapper.java
  69. 45 0
      fs-service/src/main/java/com/fs/watch/mapper/WatchCompanyMapper.java
  70. 68 0
      fs-service/src/main/java/com/fs/watch/mapper/WatchCompanyUserMapper.java
  71. 0 1
      fs-service/src/main/java/com/fs/watch/mapper/WatchContinuousSpo2DataMapper.java
  72. 65 0
      fs-service/src/main/java/com/fs/watch/mapper/WatchDeviceAccountMapper.java
  73. 77 0
      fs-service/src/main/java/com/fs/watch/mapper/WatchDeviceDayMapper.java
  74. 3 2
      fs-service/src/main/java/com/fs/watch/mapper/WatchDeviceInfoMapper.java
  75. 0 1
      fs-service/src/main/java/com/fs/watch/mapper/WatchDeviceStatusMapper.java
  76. 68 0
      fs-service/src/main/java/com/fs/watch/mapper/WatchDoctorMapper.java
  77. 45 0
      fs-service/src/main/java/com/fs/watch/mapper/WatchFamilyMapper.java
  78. 2 1
      fs-service/src/main/java/com/fs/watch/mapper/WatchFamilyUserMapper.java
  79. 17 0
      fs-service/src/main/java/com/fs/watch/mapper/WatchFatigueDataMapper.java
  80. 5 3
      fs-service/src/main/java/com/fs/watch/mapper/WatchMedicationTaskMapper.java
  81. 64 0
      fs-service/src/main/java/com/fs/watch/mapper/WatchMonitorDataTypeMapper.java
  82. 2 1
      fs-service/src/main/java/com/fs/watch/mapper/WatchMsgSetMapper.java
  83. 0 1
      fs-service/src/main/java/com/fs/watch/mapper/WatchRriDataMapper.java
  84. 2 1
      fs-service/src/main/java/com/fs/watch/mapper/WatchSendMsgLogMapper.java
  85. 2 1
      fs-service/src/main/java/com/fs/watch/mapper/WatchSendMsgSetMapper.java
  86. 4 11
      fs-service/src/main/java/com/fs/watch/mapper/WatchSpo2DataMapper.java
  87. 0 7
      fs-service/src/main/java/com/fs/watch/mapper/WatchSportDataMapper.java
  88. 4 6
      fs-service/src/main/java/com/fs/watch/mapper/WatchTemperatureDataMapper.java
  89. 3 1
      fs-service/src/main/java/com/fs/watch/mapper/WatchUserMapper.java
  90. 1 3
      fs-service/src/main/java/com/fs/watch/service/DeviceSetUpService.java
  91. 4 0
      fs-service/src/main/java/com/fs/watch/service/WatchAlarmDataService.java
  92. 4 0
      fs-service/src/main/java/com/fs/watch/service/WatchBasicInfoService.java
  93. 31 0
      fs-service/src/main/java/com/fs/watch/service/WatchBeginnerGuideService.java
  94. 0 3
      fs-service/src/main/java/com/fs/watch/service/WatchBloodGlucoseDataService.java
  95. 0 1
      fs-service/src/main/java/com/fs/watch/service/WatchBloodPressureDataService.java
  96. 0 3
      fs-service/src/main/java/com/fs/watch/service/WatchContinuousSpo2DataService.java
  97. 4 4
      fs-service/src/main/java/com/fs/watch/service/WatchDataService.java
  98. 62 0
      fs-service/src/main/java/com/fs/watch/service/WatchDeviceAccountService.java
  99. 62 0
      fs-service/src/main/java/com/fs/watch/service/WatchDeviceDayService.java
  100. 0 3
      fs-service/src/main/java/com/fs/watch/service/WatchDeviceInfoClicService.java

+ 2 - 0
fs-service/src/main/java/com/fs/company/mapper/CompanyUserMapper.java

@@ -301,4 +301,6 @@ public interface CompanyUserMapper
      * @param companyUserList 用户信息
      * **/
     void batchUpdateUserDept(@Param("companyUserList") List<CompanyUser> companyUserList);
+
+    String selectCompanyUserNameByIds(@Param("companyUserIds")String companyUserIds);
 }

+ 2 - 0
fs-service/src/main/java/com/fs/company/service/ICompanyUserService.java

@@ -210,4 +210,6 @@ public interface ICompanyUserService {
     List<CompanyUser> getCompanyUserList(CompanyUser companyUser);
 
     List<QwOptionsVO> selectQwUserListLikeName(Map<String, Object> params);
+
+    String selectCompanyUserByStrIds(String companyUserIds);
 }

+ 5 - 0
fs-service/src/main/java/com/fs/company/service/impl/CompanyUserServiceImpl.java

@@ -608,4 +608,9 @@ public class CompanyUserServiceImpl implements ICompanyUserService
     public List<QwOptionsVO> selectQwUserListLikeName(Map<String, Object> params) {
         return companyUserMapper.selectQwUserListLikeName(params);
     }
+
+    @Override
+    public String selectCompanyUserByStrIds(String companyUserIds) {
+        return companyUserMapper.selectCompanyUserNameByIds(companyUserIds);
+    }
 }

+ 2 - 0
fs-service/src/main/java/com/fs/his/mapper/FsDoctorMapper.java

@@ -200,4 +200,6 @@ public interface FsDoctorMapper
 
     @Select("SELECT doctor_id id,doctor_name name  FROM fs_doctor WHERE FIND_IN_SET(doctor_id, (select doctor_ids from company where company_id=#{companyId})); ")
     List<UserVo> selectUserDocVoListByCompany(Long companyId);
+
+    String selectDoctorNameByIds(List<Long> doctorIds);
 }

+ 2 - 0
fs-service/src/main/java/com/fs/his/mapper/FsHealthTongueMapper.java

@@ -10,6 +10,7 @@ import com.fs.his.param.FsHealthTongueUParam;
 import com.fs.his.vo.FsHealthTongueListUVO;
 import com.fs.his.vo.FsHealthTongueListVO;
 import com.fs.his.vo.FsHealthTongueUVO;
+import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
 
 /**
@@ -93,4 +94,5 @@ public interface FsHealthTongueMapper
     @Select("select  t.*,u.avatar from fs_health_tongue t LEFT JOIN fs_user u on u.user_id=t.user_id where t.id=#{id} ")
     FsHealthTongueUVO selectFsHealthTongueUVOById(Long id);
 
+    List<String> selectListByDateAndUserId(@Param("startDate") String startDate, @Param("endDate") String endDate, @Param("userId") Long userId);
 }

+ 5 - 0
fs-service/src/main/java/com/fs/his/mapper/FsUserMapper.java

@@ -16,6 +16,7 @@ import com.fs.qw.vo.QwFsUserVO;
 import com.fs.store.param.h5.FsUserPageListParam;
 import com.fs.store.param.h5.UserStatisticsCommonParam;
 import com.fs.store.vo.h5.*;
+import com.fs.watch.domain.vo.FsUserAndCompanyAndDoctorVo;
 import org.apache.ibatis.annotations.*;
 
 /**
@@ -352,4 +353,8 @@ public interface FsUserMapper
     Map<String, Long> countCourseDetailsNew(UserStatisticsCommonParam param);
 
     List<FsUserVO> selectFsUserVOListByProject(@Param("maps") FsUser fsUser);
+
+    FsUserAndCompanyAndDoctorVo selectCompanyAndDoctor(@Param("userId")Long userId);
+
+    List<FsUser> selectUserNameByIds(@Param("userIds") String userIds);
 }

+ 2 - 0
fs-service/src/main/java/com/fs/his/service/IFsDoctorService.java

@@ -105,4 +105,6 @@ public interface IFsDoctorService
     List<UserVo> selectAllDocVoList();
 
     List<UserVo> selectUserDocVoListByCompany(Long companyId);
+
+    String selectDoctorByIds(String doctorId);
 }

+ 5 - 0
fs-service/src/main/java/com/fs/his/service/IFsUserService.java

@@ -23,6 +23,7 @@ import com.fs.qw.vo.QwFsUserVO;
 import com.fs.store.param.h5.FsUserPageListParam;
 import com.fs.store.param.h5.UserStatisticsCommonParam;
 import com.fs.store.vo.h5.*;
+import com.fs.watch.domain.vo.FsUserAndCompanyAndDoctorVo;
 import com.github.pagehelper.PageInfo;
 
 import javax.validation.Valid;
@@ -180,4 +181,8 @@ public interface IFsUserService
      * @return
      */
     List<FsUserVO> selectFsUserVOListByProject(FsUser fsUser);
+
+    FsUserAndCompanyAndDoctorVo selectCompanyAndDoctor(Long userId);
+
+    List<FsUser> selectUserByIds(String userIds);
 }

+ 5 - 0
fs-service/src/main/java/com/fs/his/service/impl/FsDoctorServiceImpl.java

@@ -457,6 +457,11 @@ public class FsDoctorServiceImpl implements IFsDoctorService
         return fsDoctorMapper.selectUserDocVoListByCompany(companyId);
     }
 
+    @Override
+    public String selectDoctorByIds(String doctorId) {
+        return fsDoctorMapper.selectDoctorNameByIds(doctorIds);
+    }
+
     public static BufferedImage convertCircular(BufferedImage bi1) throws IOException {
         // 透明底的图片
         BufferedImage bi2 = new BufferedImage(bi1.getWidth(), bi1.getHeight(), BufferedImage.TYPE_4BYTE_ABGR);

+ 11 - 0
fs-service/src/main/java/com/fs/his/service/impl/FsUserServiceImpl.java

@@ -61,6 +61,7 @@ import com.fs.store.vo.h5.*;
 import com.fs.system.mapper.SysDictDataMapper;
 import com.fs.system.service.ISysConfigService;
 import com.fs.watch.domain.WatchUser;
+import com.fs.watch.domain.vo.FsUserAndCompanyAndDoctorVo;
 import com.fs.watch.service.WatchUserService;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
@@ -1011,6 +1012,16 @@ public class FsUserServiceImpl implements IFsUserService
         return fsUserMapper.selectFsUserVOListByProject(fsUser);
     }
 
+    @Override
+    public FsUserAndCompanyAndDoctorVo selectCompanyAndDoctor(Long userId) {
+        return fsUserMapper.selectCompanyAndDoctor(userId);
+    }
+
+    @Override
+    public List<FsUser> selectUserByIds(String userIds) {
+        return fsUserMapper.selectUserNameByIds(userIds);
+    }
+
 
     private FsUserStatisticsVO getUserStatistics(UserStatisticsCommonParam param) {
         FsUserStatisticsVO fsUserStatisticsVO = new FsUserStatisticsVO();

+ 3 - 0
fs-service/src/main/java/com/fs/his/vo/FsIntegralCartVO.java

@@ -19,6 +19,9 @@ public class FsIntegralCartVO {
     @ApiModelProperty("积分商品名称")
     private String goodsName;
 
+    @ApiModelProperty("积分商品主图")
+    private String imgUrl;
+
     @ApiModelProperty("添加购物车时所需积分")
     private Long integral;
 

+ 0 - 4
fs-service/src/main/java/com/fs/watch/domain/WatchAccelerometerData.java

@@ -1,10 +1,6 @@
 package com.fs.watch.domain;
 
-import com.fasterxml.jackson.annotation.JsonFormat;
-import com.fs.common.core.domain.BaseEntity;
-
 import java.io.Serializable;
-import java.util.Date;
 import java.util.List;
 import java.util.UUID;
 

+ 0 - 3
fs-service/src/main/java/com/fs/watch/domain/WatchAlarmData.java

@@ -1,10 +1,7 @@
 package com.fs.watch.domain;
 
-import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fs.common.core.domain.BaseEntity;
 
-import java.io.Serializable;
-import java.util.Date;
 import java.util.UUID;
 
 /**

+ 0 - 3
fs-service/src/main/java/com/fs/watch/domain/WatchBasicInfo.java

@@ -1,9 +1,6 @@
 package com.fs.watch.domain;
 
-import com.fasterxml.jackson.annotation.JsonFormat;
-
 import java.io.Serializable;
-import java.util.Date;
 import java.util.List;
 import java.util.UUID;
 

+ 87 - 0
fs-service/src/main/java/com/fs/watch/domain/WatchBeginnerGuide.java

@@ -0,0 +1,87 @@
+package com.fs.watch.domain;
+
+import com.fs.common.annotation.Excel;
+import com.fs.common.core.domain.BaseEntity;
+import lombok.Getter;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+/**
+ * 新手引导对象 device_beginner_uide
+ *
+ * @author fs
+ * @date 2024-09-06
+ */
+@Getter
+public class WatchBeginnerGuide extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 主键id */
+    private Long id;
+
+    /** 标题 */
+    @Excel(name = "标题")
+    private String title;
+
+    /** 链接 */
+    @Excel(name = "链接")
+    private String url;
+
+    /** 资料类型 1:文章 2:视频 */
+    @Excel(name = "资料类型 1:文章 2:视频")
+    private Long type;
+
+    /** 是否已删除 */
+    @Excel(name = "是否已删除")
+    private Long isDel;
+
+    public void setBelong(String belong) {
+        this.belong = belong;
+    }
+
+    /** 归属公司 */
+    @Excel(name = "归属公司")
+    private String belong;
+
+    public void setId(Long id)
+    {
+        this.id = id;
+    }
+
+    public void setTitle(String title)
+    {
+        this.title = title;
+    }
+
+    public void setUrl(String url)
+    {
+        this.url = url;
+    }
+
+    public void setType(Long type)
+    {
+        this.type = type;
+    }
+
+    public void setIsDel(Long isDel)
+    {
+        this.isDel = isDel;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("title", getTitle())
+            .append("url", getUrl())
+            .append("type", getType())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .append("isDel", getIsDel())
+            .append("belong", getBelong())
+            .toString();
+    }
+}

+ 0 - 3
fs-service/src/main/java/com/fs/watch/domain/WatchBloodGlucoseData.java

@@ -1,9 +1,6 @@
 package com.fs.watch.domain;
 
-import com.fasterxml.jackson.annotation.JsonFormat;
-
 import java.io.Serializable;
-import java.util.Date;
 import java.util.UUID;
 
 /**

+ 0 - 3
fs-service/src/main/java/com/fs/watch/domain/WatchBloodPressureData.java

@@ -1,9 +1,6 @@
 package com.fs.watch.domain;
 
-import com.fasterxml.jackson.annotation.JsonFormat;
-
 import java.io.Serializable;
-import java.util.Date;
 import java.util.UUID;
 
 /**

+ 29 - 0
fs-service/src/main/java/com/fs/watch/domain/WatchCompany.java

@@ -0,0 +1,29 @@
+package com.fs.watch.domain;
+
+import com.fs.common.annotation.Excel;
+import com.fs.common.core.domain.BaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 用户绑定公司对象 watch_company
+ *
+ * @author fs
+ * @date 2025-05-14
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class WatchCompany extends BaseEntity{
+
+
+
+    /** 设备id */
+    @Excel(name = "设备id")
+    private Long deviceId;
+
+    /** 公司id */
+    @Excel(name = "公司id")
+    private Long companyId;
+
+
+}

+ 28 - 0
fs-service/src/main/java/com/fs/watch/domain/WatchCompanyUser.java

@@ -0,0 +1,28 @@
+package com.fs.watch.domain;
+
+import com.fs.common.annotation.Excel;
+import com.fs.common.core.domain.BaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 用户绑定销售对象 watch_company_user
+ *
+ * @author fs
+ * @date 2025-05-14
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class WatchCompanyUser extends BaseEntity{
+
+
+    /** 设备id */
+    @Excel(name = "设备id")
+    private Long deviceId;
+
+    /** 公司用户id */
+    @Excel(name = "公司用户id")
+    private Long companyUserId;
+
+
+}

+ 0 - 3
fs-service/src/main/java/com/fs/watch/domain/WatchContinuousSpo2Data.java

@@ -1,9 +1,6 @@
 package com.fs.watch.domain;
 
-import com.fasterxml.jackson.annotation.JsonFormat;
-
 import java.io.Serializable;
-import java.util.Date;
 import java.util.List;
 import java.util.UUID;
 

+ 34 - 0
fs-service/src/main/java/com/fs/watch/domain/WatchDeviceAccount.java

@@ -0,0 +1,34 @@
+package com.fs.watch.domain;
+
+import com.fs.common.annotation.Excel;
+import com.fs.common.core.domain.BaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 设备(睡眠,房颤查询账户记录)对象 watch_device_account
+ *
+ * @author fs
+ * @date 2025-05-09
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class WatchDeviceAccount extends BaseEntity{
+
+    /** $column.columnComment */
+    private Long id;
+
+    /** 设备id */
+    @Excel(name = "设备id")
+    private String deviceId;
+
+    /** 账户 */
+    @Excel(name = "账户")
+    private String account;
+
+    /** 密码 */
+    @Excel(name = "密码")
+    private String password;
+
+
+}

+ 0 - 3
fs-service/src/main/java/com/fs/watch/domain/WatchDeviceData.java

@@ -1,9 +1,6 @@
 package com.fs.watch.domain;
 
-import com.fasterxml.jackson.annotation.JsonFormat;
-
 import java.io.Serializable;
-import java.util.Date;
 import java.util.UUID;
 
 /**

+ 48 - 0
fs-service/src/main/java/com/fs/watch/domain/WatchDeviceDay.java

@@ -0,0 +1,48 @@
+package com.fs.watch.domain;
+
+import com.fs.common.annotation.Excel;
+import com.fs.common.core.domain.BaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 每天设备信息汇总对象 watch_device_day
+ *
+ * @author fs
+ * @date 2025-04-23
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class WatchDeviceDay extends BaseEntity{
+
+    /** $column.columnComment */
+    private Long id;
+
+    /** 设备编号 */
+    @Excel(name = "设备编号")
+    private String deviceId;
+
+    /** 睡眠状态 */
+    @Excel(name = "睡眠状态")
+    private Integer sleepStatus;
+
+    @Excel(name = "睡眠评分")
+    private Integer sleepScore;
+
+    /** 睡眠状态 */
+    private String sleepDetail;
+
+    /** 房颤状态 */
+    @Excel(name = "房颤状态")
+    private String rriStatus;
+
+    /** 步数总和 */
+    @Excel(name = "步数总和")
+    private Long stepTotal;
+
+    /** 卡路里总和 */
+    @Excel(name = "卡路里总和")
+    private Long calorieTotal;
+
+
+}

+ 64 - 9
fs-service/src/main/java/com/fs/watch/domain/WatchDeviceInfo.java

@@ -1,6 +1,7 @@
 package com.fs.watch.domain;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fs.common.annotation.Excel;
 
 import java.io.Serializable;
 import java.util.Date;
@@ -18,32 +19,46 @@ public class WatchDeviceInfo implements Serializable {
     /**
      * 公司id
      */
-    private Long companyId;
+    private String companyId;
 
 
     /**
      * 所属员工id
      */
-    private Long companyUserId;
+    private String companyUserId;
 
     /**
      * 所属医生id
      */
-    private Long doctorId;
+    private String doctorId;
+
+
+    /**
+     * 绑定用户id
+     */
+    private Long userId;
+
+    /**
+     * 绑定家人用户id
+     */
+    private String familyUserId;
 
     /**
      * 设备编号
      */
+    @Excel(name = "设备编号")
     private String deviceNumber;
 
     /**
      * 电量
      */
+    @Excel(name = "电量")
     private Integer battery;
 
     /**
      * 信号
      */
+    @Excel(name = "信号")
     private Integer rssi;
 
     /**
@@ -84,6 +99,11 @@ public class WatchDeviceInfo implements Serializable {
      */
     private Integer isDel;
 
+
+
+
+    private Integer isNormal;
+
     private static final long serialVersionUID = 1L;
 
 
@@ -111,31 +131,31 @@ public class WatchDeviceInfo implements Serializable {
     /**
      * 公司id
      */
-    public Long getCompanyId() {
+    public String getCompanyId() {
         return companyId;
     }
 
     /**
      * 公司id
      */
-    public void setCompanyId(Long companyId) {
+    public void setCompanyId(String companyId) {
         this.companyId = companyId;
     }
 
 
-    public Long getCompanyUserId() {
+    public String getCompanyUserId() {
         return companyUserId;
     }
 
-    public void setCompanyUserId(Long companyUserId) {
+    public void setCompanyUserId(String companyUserId) {
         this.companyUserId = companyUserId;
     }
 
-    public Long getDoctorId() {
+    public String getDoctorId() {
         return doctorId;
     }
 
-    public void setDoctorId(Long doctorId) {
+    public void setDoctorId(String doctorId) {
         this.doctorId = doctorId;
     }
 
@@ -264,6 +284,29 @@ public class WatchDeviceInfo implements Serializable {
     public void setIsDel(Integer isDel) {
         this.isDel = isDel;
     }
+    public Long getUserId() {
+        return userId;
+    }
+
+    public void setUserId(Long userId) {
+        this.userId = userId;
+    }
+
+    public String getFamilyUserId() {
+        return familyUserId;
+    }
+
+    public void setFamilyUserId(String familyUserId) {
+        this.familyUserId = familyUserId;
+    }
+
+    public Integer getIsNormal() {
+        return isNormal;
+    }
+
+    public void setIsNormal(Integer isNormal) {
+        this.isNormal = isNormal;
+    }
 
     @Override
     public boolean equals(Object that) {
@@ -279,6 +322,10 @@ public class WatchDeviceInfo implements Serializable {
         WatchDeviceInfo other = (WatchDeviceInfo) that;
         return (this.getDeviceId() == null ? other.getDeviceId() == null : this.getDeviceId().equals(other.getDeviceId()))
             && (this.getCompanyId() == null ? other.getCompanyId() == null : this.getCompanyId().equals(other.getCompanyId()))
+            && (this.getCompanyUserId() == null ? other.getCompanyUserId() == null : this.getCompanyUserId().equals(other.getCompanyUserId()))
+            && (this.getDoctorId() == null ? other.getDoctorId() == null : this.getDoctorId().equals(other.getDoctorId()))
+            && (this.getUserId() == null ? other.getUserId() == null : this.getUserId().equals(other.getUserId()))
+            && (this.getFamilyUserId() == null ? other.getFamilyUserId() == null : this.getFamilyUserId().equals(other.getFamilyUserId()))
             && (this.getDeviceNumber() == null ? other.getDeviceNumber() == null : this.getDeviceNumber().equals(other.getDeviceNumber()))
             && (this.getBattery() == null ? other.getBattery() == null : this.getBattery().equals(other.getBattery()))
             && (this.getRssi() == null ? other.getRssi() == null : this.getRssi().equals(other.getRssi()))
@@ -296,6 +343,10 @@ public class WatchDeviceInfo implements Serializable {
         int result = 1;
         result = prime * result + ((getDeviceId() == null) ? 0 : getDeviceId().hashCode());
         result = prime * result + ((getCompanyId() == null) ? 0 : getCompanyId().hashCode());
+        result = prime * result + ((getCompanyUserId() == null) ? 0 : getCompanyUserId().hashCode());
+        result = prime * result + ((getDoctorId() == null) ? 0 : getDoctorId().hashCode());
+        result = prime * result + ((getUserId() == null) ? 0 : getUserId().hashCode());
+        result = prime * result + ((getFamilyUserId() == null) ? 0 : getFamilyUserId().hashCode());
         result = prime * result + ((getDeviceNumber() == null) ? 0 : getDeviceNumber().hashCode());
         result = prime * result + ((getBattery() == null) ? 0 : getBattery().hashCode());
         result = prime * result + ((getRssi() == null) ? 0 : getRssi().hashCode());
@@ -316,6 +367,10 @@ public class WatchDeviceInfo implements Serializable {
         sb.append("Hash = ").append(hashCode());
         sb.append(", deviceId=").append(deviceId);
         sb.append(", companyId=").append(companyId);
+        sb.append(", companyUserId=").append(companyUserId);
+        sb.append(", doctorId=").append(doctorId);
+        sb.append(", userId=").append(userId);
+        sb.append(", familyUserId=").append(familyUserId);
         sb.append(", deviceNumber=").append(deviceNumber);
         sb.append(", battery=").append(battery);
         sb.append(", rssi=").append(rssi);

+ 28 - 0
fs-service/src/main/java/com/fs/watch/domain/WatchDoctor.java

@@ -0,0 +1,28 @@
+package com.fs.watch.domain;
+
+import com.fs.common.annotation.Excel;
+import com.fs.common.core.domain.BaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 用户绑定医生对象 watch_doctor
+ *
+ * @author fs
+ * @date 2025-05-14
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class WatchDoctor extends BaseEntity{
+
+
+    /** 设备id */
+    @Excel(name = "设备id")
+    private Long deviceId;
+
+    /** 医生id */
+    @Excel(name = "医生id")
+    private Long doctorId;
+
+
+}

+ 0 - 3
fs-service/src/main/java/com/fs/watch/domain/WatchEcgData.java

@@ -1,9 +1,6 @@
 package com.fs.watch.domain;
 
-import com.fasterxml.jackson.annotation.JsonFormat;
-
 import java.io.Serializable;
-import java.util.Date;
 import java.util.List;
 import java.util.UUID;
 

+ 28 - 0
fs-service/src/main/java/com/fs/watch/domain/WatchFamily.java

@@ -0,0 +1,28 @@
+package com.fs.watch.domain;
+
+import com.fs.common.annotation.Excel;
+import com.fs.common.core.domain.BaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 用户绑定为家人对象 watch_family
+ *
+ * @author fs
+ * @date 2025-05-14
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class WatchFamily extends BaseEntity{
+
+
+    /** 设备id */
+    @Excel(name = "设备id")
+    private Long deviceId;
+
+    /** 家人用户id */
+    @Excel(name = "家人用户id")
+    private Long familyUserId;
+
+
+}

+ 8 - 7
fs-service/src/main/java/com/fs/watch/domain/WatchFamilyUser.java

@@ -1,12 +1,13 @@
 package com.fs.watch.domain;
 
-import java.util.Date;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fs.common.annotation.Excel;
 import com.fs.common.core.domain.BaseEntity;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
 
+import java.util.Date;
+
 /**
  * 家人腕表配置对象 watch_family_user
  *
@@ -39,11 +40,11 @@ public class WatchFamilyUser extends BaseEntity
 
     /** 身高(单位:厘米) */
     @Excel(name = "身高(单位:厘米)")
-    private Long height;
+    private Integer height;
 
     /** 体重(单位:千克) */
     @Excel(name = "体重(单位:千克)")
-    private Long weight;
+    private Integer weight;
 
     /** 目标步数 */
     @Excel(name = "目标步数")
@@ -109,21 +110,21 @@ public class WatchFamilyUser extends BaseEntity
     {
         return birthday;
     }
-    public void setHeight(Long height)
+    public void setHeight(Integer height)
     {
         this.height = height;
     }
 
-    public Long getHeight()
+    public Integer getHeight()
     {
         return height;
     }
-    public void setWeight(Long weight)
+    public void setWeight(Integer weight)
     {
         this.weight = weight;
     }
 
-    public Long getWeight()
+    public Integer getWeight()
     {
         return weight;
     }

+ 10 - 3
fs-service/src/main/java/com/fs/watch/domain/WatchFatigueData.java

@@ -1,9 +1,6 @@
 package com.fs.watch.domain;
 
-import com.fasterxml.jackson.annotation.JsonFormat;
-
 import java.io.Serializable;
-import java.util.Date;
 import java.util.UUID;
 
 /**
@@ -31,6 +28,8 @@ public class WatchFatigueData implements Serializable {
      */
     private String createTime;
 
+    private Integer status;
+
     private static final long serialVersionUID = 1L;
 
     /**
@@ -89,6 +88,14 @@ public class WatchFatigueData implements Serializable {
         this.createTime = createTime;
     }
 
+    public Integer getStatus() {
+        return status;
+    }
+
+    public void setStatus(Integer status) {
+        this.status = status;
+    }
+
     @Override
     public boolean equals(Object that) {
         if (this == that) {

+ 0 - 2
fs-service/src/main/java/com/fs/watch/domain/WatchHeartRateData.java

@@ -1,11 +1,9 @@
 package com.fs.watch.domain;
 
-import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fs.common.annotation.Excel;
 import lombok.Data;
 
 import java.io.Serializable;
-import java.util.Date;
 import java.util.UUID;
 
 /**

+ 95 - 0
fs-service/src/main/java/com/fs/watch/domain/WatchMonitorDataType.java

@@ -0,0 +1,95 @@
+package com.fs.watch.domain;
+
+import com.fs.common.annotation.Excel;
+import com.fs.common.core.domain.BaseEntity;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+/**
+ * app-健康监测数据类型对象 fs_monitor_data_type
+ *
+ * @author fs
+ * @date 2024-08-26
+ */
+public class WatchMonitorDataType extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** id */
+    private String id;
+
+    /** 数据类型 */
+    @Excel(name = "数据类型")
+    private String type;
+
+    /** 小标题 */
+    @Excel(name = "小标题")
+    private String title;
+
+    /** 图标 */
+    @Excel(name = "图标")
+    private String icon;
+
+    public Integer getIsDel() {
+        return isDel;
+    }
+
+    public void setIsDel(Integer isDel) {
+        this.isDel = isDel;
+    }
+
+    /** 是否删除 0否 1是 */
+    private Integer isDel;
+
+    public void setId(String id)
+    {
+        this.id = id;
+    }
+
+    public String getId()
+    {
+        return id;
+    }
+    public void setType(String type)
+    {
+        this.type = type;
+    }
+
+    public String getType()
+    {
+        return type;
+    }
+    public void setTitle(String title)
+    {
+        this.title = title;
+    }
+
+    public String getTitle()
+    {
+        return title;
+    }
+    public void setIcon(String icon)
+    {
+        this.icon = icon;
+    }
+
+    public String getIcon()
+    {
+        return icon;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("type", getType())
+            .append("title", getTitle())
+            .append("icon", getIcon())
+            .append("createTime", getCreateTime())
+            .append("createBy", getCreateBy())
+            .append("updateTime", getUpdateTime())
+            .append("updateBy", getUpdateBy())
+            .append("isDel", getIsDel())
+            .toString();
+    }
+}

+ 0 - 3
fs-service/src/main/java/com/fs/watch/domain/WatchMultiLeadsEcgData.java

@@ -1,9 +1,6 @@
 package com.fs.watch.domain;
 
-import com.fasterxml.jackson.annotation.JsonFormat;
-
 import java.io.Serializable;
-import java.util.Date;
 import java.util.List;
 import java.util.UUID;
 

+ 0 - 3
fs-service/src/main/java/com/fs/watch/domain/WatchPpgData.java

@@ -1,9 +1,6 @@
 package com.fs.watch.domain;
 
-import com.fasterxml.jackson.annotation.JsonFormat;
-
 import java.io.Serializable;
-import java.util.Date;
 import java.util.List;
 import java.util.UUID;
 

+ 0 - 3
fs-service/src/main/java/com/fs/watch/domain/WatchRriData.java

@@ -1,9 +1,6 @@
 package com.fs.watch.domain;
 
-import com.fasterxml.jackson.annotation.JsonFormat;
-
 import java.io.Serializable;
-import java.util.Date;
 import java.util.List;
 import java.util.UUID;
 

+ 2 - 1
fs-service/src/main/java/com/fs/watch/domain/WatchSendMsgLog.java

@@ -1,12 +1,13 @@
 package com.fs.watch.domain;
 
-import java.util.Date;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fs.common.annotation.Excel;
 import com.fs.common.core.domain.BaseEntity;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
 
+import java.util.Date;
+
 /**
  * 发送消息日志记录对象 watch_send_msg_log
  *

+ 0 - 3
fs-service/src/main/java/com/fs/watch/domain/WatchSleepData.java

@@ -1,9 +1,6 @@
 package com.fs.watch.domain;
 
-import com.fasterxml.jackson.annotation.JsonFormat;
-
 import java.io.Serializable;
-import java.util.Date;
 import java.util.UUID;
 
 /**

+ 0 - 3
fs-service/src/main/java/com/fs/watch/domain/WatchSpo2Data.java

@@ -1,9 +1,6 @@
 package com.fs.watch.domain;
 
-import com.fasterxml.jackson.annotation.JsonFormat;
-
 import java.io.Serializable;
-import java.util.Date;
 import java.util.UUID;
 
 /**

+ 0 - 2
fs-service/src/main/java/com/fs/watch/domain/WatchSportData.java

@@ -1,10 +1,8 @@
 package com.fs.watch.domain;
 
-import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fs.common.annotation.Excel;
 
 import java.io.Serializable;
-import java.util.Date;
 import java.util.UUID;
 
 /**

+ 18 - 191
fs-service/src/main/java/com/fs/watch/domain/WatchTemperatureData.java

@@ -1,9 +1,6 @@
 package com.fs.watch.domain;
 
-import com.fasterxml.jackson.annotation.JsonFormat;
-
 import java.io.Serializable;
-import java.util.Date;
 import java.util.UUID;
 
 /**
@@ -41,6 +38,13 @@ public class WatchTemperatureData implements Serializable {
      */
     private Double shellTemp;
 
+
+
+    /**
+     * 状态 0:正常 1:过高 2:过低
+     */
+    private Integer status;
+
     /**
      *
      */
@@ -146,6 +150,14 @@ public class WatchTemperatureData implements Serializable {
         this.createTime = createTime;
     }
 
+    public Integer getStatus() {
+        return status;
+    }
+
+    public void setStatus(Integer status) {
+        this.status = status;
+    }
+
     @Override
     public boolean equals(Object that) {
         if (this == that) {
@@ -164,6 +176,7 @@ public class WatchTemperatureData implements Serializable {
                 && (this.getEstTemp() == null ? other.getEstTemp() == null : this.getEstTemp().equals(other.getEstTemp()))
                 && (this.getAxillaryTemp() == null ? other.getAxillaryTemp() == null : this.getAxillaryTemp().equals(other.getAxillaryTemp()))
                 && (this.getShellTemp() == null ? other.getShellTemp() == null : this.getShellTemp().equals(other.getShellTemp()))
+                && (this.getStatus() == null ? other.getStatus() == null : this.getStatus().equals(other.getStatus()))
                 && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()));
     }
 
@@ -177,6 +190,7 @@ public class WatchTemperatureData implements Serializable {
         result = prime * result + ((getEstTemp() == null) ? 0 : getEstTemp().hashCode());
         result = prime * result + ((getAxillaryTemp() == null) ? 0 : getAxillaryTemp().hashCode());
         result = prime * result + ((getShellTemp() == null) ? 0 : getShellTemp().hashCode());
+        result = prime * result + ((getStatus() == null) ? 0 : getStatus().hashCode());
         result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
         return result;
     }
@@ -193,197 +207,10 @@ public class WatchTemperatureData implements Serializable {
         sb.append(", estTemp=").append(estTemp);
         sb.append(", axillaryTemp=").append(axillaryTemp);
         sb.append(", shellTemp=").append(shellTemp);
+        sb.append(", status=").append(status);
         sb.append(", createTime=").append(createTime);
         sb.append(", serialVersionUID=").append(serialVersionUID);
         sb.append("]");
         return sb.toString();
     }
-//    /**
-//     * 主键id
-//     */
-//    private String id;
-//
-//    /**
-//     * 设备编号
-//     */
-//    private String deviceId;
-//
-//    /**
-//     * 环境温度(弃用)
-//     */
-//    private Double envTemp;
-//
-//    /**
-//     * 体温
-//     */
-//    private Double estTemp;
-//
-//    /**
-//     * 腋下温度(弃用)
-//     */
-//    private Double axillaryTemp;
-//
-//    /**
-//     * 体表温度
-//     */
-//    private Double shellTemp;
-//
-//    /**
-//     * 创建时间
-//     */
-//    @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss")
-//    private Date createTime;
-//
-//    private static final long serialVersionUID = 1L;
-//
-//    /**
-//     * 主键id
-//     */
-//    public String getId() {
-//        return id;
-//    }
-//
-//    /**
-//     * 主键id
-//     */
-//    public void setId(String id) {
-//        this.id = id;
-//    }
-//
-//    /**
-//     * 设备编号
-//     */
-//    public String getDeviceId() {
-//        return deviceId;
-//    }
-//
-//    /**
-//     * 设备编号
-//     */
-//    public void setDeviceId(String deviceId) {
-//        this.deviceId = deviceId;
-//    }
-//
-//    /**
-//     * 环境温度(弃用)
-//     */
-//    public Double getEnvTemp() {
-//        return envTemp;
-//    }
-//
-//    /**
-//     * 环境温度(弃用)
-//     */
-//    public void setEnvTemp(Double envTemp) {
-//        this.envTemp = envTemp;
-//    }
-//
-//    /**
-//     * 体温
-//     */
-//    public Double getEstTemp() {
-//        return estTemp;
-//    }
-//
-//    /**
-//     * 体温
-//     */
-//    public void setEstTemp(Double estTemp) {
-//        this.estTemp = estTemp;
-//    }
-//
-//    /**
-//     * 腋下温度(弃用)
-//     */
-//    public Double getAxillaryTemp() {
-//        return axillaryTemp;
-//    }
-//
-//    /**
-//     * 腋下温度(弃用)
-//     */
-//    public void setAxillaryTemp(Double axillaryTemp) {
-//        this.axillaryTemp = axillaryTemp;
-//    }
-//
-//    /**
-//     * 体表温度
-//     */
-//    public Double getShellTemp() {
-//        return shellTemp;
-//    }
-//
-//    /**
-//     * 体表温度
-//     */
-//    public void setShellTemp(Double shellTemp) {
-//        this.shellTemp = shellTemp;
-//    }
-//
-//    /**
-//     * 创建时间
-//     */
-//    public Date getCreateTime() {
-//        return createTime;
-//    }
-//
-//    /**
-//     * 创建时间
-//     */
-//    public void setCreateTime(Date createTime) {
-//        this.createTime = createTime;
-//    }
-//
-//    @Override
-//    public boolean equals(Object that) {
-//        if (this == that) {
-//            return true;
-//        }
-//        if (that == null) {
-//            return false;
-//        }
-//        if (getClass() != that.getClass()) {
-//            return false;
-//        }
-//        WatchTemperatureData other = (WatchTemperatureData) that;
-//        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
-//            && (this.getDeviceId() == null ? other.getDeviceId() == null : this.getDeviceId().equals(other.getDeviceId()))
-//            && (this.getEnvTemp() == null ? other.getEnvTemp() == null : this.getEnvTemp().equals(other.getEnvTemp()))
-//            && (this.getEstTemp() == null ? other.getEstTemp() == null : this.getEstTemp().equals(other.getEstTemp()))
-//            && (this.getAxillaryTemp() == null ? other.getAxillaryTemp() == null : this.getAxillaryTemp().equals(other.getAxillaryTemp()))
-//            && (this.getShellTemp() == null ? other.getShellTemp() == null : this.getShellTemp().equals(other.getShellTemp()))
-//            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()));
-//    }
-//
-//    @Override
-//    public int hashCode() {
-//        final int prime = 31;
-//        int result = 1;
-//        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
-//        result = prime * result + ((getDeviceId() == null) ? 0 : getDeviceId().hashCode());
-//        result = prime * result + ((getEnvTemp() == null) ? 0 : getEnvTemp().hashCode());
-//        result = prime * result + ((getEstTemp() == null) ? 0 : getEstTemp().hashCode());
-//        result = prime * result + ((getAxillaryTemp() == null) ? 0 : getAxillaryTemp().hashCode());
-//        result = prime * result + ((getShellTemp() == null) ? 0 : getShellTemp().hashCode());
-//        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
-//        return result;
-//    }
-//
-//    @Override
-//    public String toString() {
-//        StringBuilder sb = new StringBuilder();
-//        sb.append(getClass().getSimpleName());
-//        sb.append(" [");
-//        sb.append("Hash = ").append(hashCode());
-//        sb.append(", id=").append(id);
-//        sb.append(", deviceId=").append(deviceId);
-//        sb.append(", envTemp=").append(envTemp);
-//        sb.append(", estTemp=").append(estTemp);
-//        sb.append(", axillaryTemp=").append(axillaryTemp);
-//        sb.append(", shellTemp=").append(shellTemp);
-//        sb.append(", createTime=").append(createTime);
-//        sb.append(", serialVersionUID=").append(serialVersionUID);
-//        sb.append("]");
-//        return sb.toString();
-//    }
 }

+ 0 - 3
fs-service/src/main/java/com/fs/watch/domain/WatchThirdBkData.java

@@ -1,9 +1,6 @@
 package com.fs.watch.domain;
 
-import com.fasterxml.jackson.annotation.JsonFormat;
-
 import java.io.Serializable;
-import java.util.Date;
 import java.util.UUID;
 
 /**

+ 0 - 3
fs-service/src/main/java/com/fs/watch/domain/WatchThirdBpData.java

@@ -1,9 +1,6 @@
 package com.fs.watch.domain;
 
-import com.fasterxml.jackson.annotation.JsonFormat;
-
 import java.io.Serializable;
-import java.util.Date;
 import java.util.UUID;
 
 /**

+ 0 - 3
fs-service/src/main/java/com/fs/watch/domain/WatchThirdUaData.java

@@ -1,9 +1,6 @@
 package com.fs.watch.domain;
 
-import com.fasterxml.jackson.annotation.JsonFormat;
-
 import java.io.Serializable;
-import java.util.Date;
 import java.util.UUID;
 
 /**

+ 13 - 0
fs-service/src/main/java/com/fs/watch/domain/vo/AppFsUserHealthReportVo.java

@@ -0,0 +1,13 @@
+package com.fs.watch.domain.vo;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class AppFsUserHealthReportVo {
+    private List<AppHealthReportVo> list; //异常数据
+    private String title; //标题
+    private String desc; //详细描述
+    private Integer score;//评分
+}

+ 24 - 0
fs-service/src/main/java/com/fs/watch/domain/vo/AppFsUserHealthVo.java

@@ -0,0 +1,24 @@
+package com.fs.watch.domain.vo;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class AppFsUserHealthVo{
+//    //bmi
+//    private String bmi;
+
+    //卡路里
+    private Integer calorie;
+
+    //步数
+    private Integer step;
+
+    //睡眠情况
+    private String sleepStatus;
+
+    //舌诊日期
+    private List<String> tongueDateList;
+
+}

+ 15 - 0
fs-service/src/main/java/com/fs/watch/domain/vo/AppHealthReportVo.java

@@ -0,0 +1,15 @@
+package com.fs.watch.domain.vo;
+
+import lombok.Data;
+
+@Data
+public class AppHealthReportVo {
+    //疾病预测
+    private String prediction;
+    //解析
+    private String analysis;
+    //治疗建议
+    private String suggestion;
+    //注意事项
+    private String precautions;
+}

+ 2 - 2
fs-service/src/main/java/com/fs/watch/domain/vo/FsMonitorDataVo.java

@@ -1,6 +1,6 @@
 package com.fs.watch.domain.vo;
 
-import com.fs.watch.domain.FsMonitorDataType;
+import com.fs.watch.domain.WatchMonitorDataType;
 import lombok.Data;
 
 @Data
@@ -10,5 +10,5 @@ public class FsMonitorDataVo {
     //数据
     private String data;
     //数据类型
-    private FsMonitorDataType type;
+    private WatchMonitorDataType type;
 }

+ 11 - 0
fs-service/src/main/java/com/fs/watch/domain/vo/FsUserAndCompanyAndDoctorVo.java

@@ -0,0 +1,11 @@
+package com.fs.watch.domain.vo;
+
+import lombok.Data;
+
+@Data
+public class FsUserAndCompanyAndDoctorVo {
+    private Long userId;
+    private String companyId;
+    private String companyUserId;
+    private String doctorId;
+}

+ 17 - 2
fs-service/src/main/java/com/fs/watch/domain/vo/WatchDeviceInfoVo.java

@@ -1,5 +1,7 @@
 package com.fs.watch.domain.vo;
 
+import com.fs.common.annotation.Excel;
+import com.fs.his.domain.FsUser;
 import com.fs.watch.domain.WatchDeviceInfo;
 import lombok.Data;
 
@@ -8,23 +10,36 @@ import java.util.List;
 @Data
 public class WatchDeviceInfoVo extends WatchDeviceInfo {
     /** 所属公司名字 */
+    @Excel(name = "所属技术主体")
     private String  companyName;
     /** 所属员工名字 */
+    @Excel(name = "所属导医")
     private String  companyUserName;
     /** 所属医生名字 */
+    @Excel(name = "所属医生")
     private String  doctorName;
+    /** 绑定用户名字 */
+    @Excel(name = "绑定用户")
+    private String  userName;
+    /** 所属家人名字 */
+    @Excel(name = "所属家人用户")
+    private String  familyUserName;
     /** 设备状态输出   */
+    @Excel(name = "设备状态")
     private String statusOut;
     /** 生命状态输出   */
+    @Excel(name = "生命状态")
     private String lifeStatusOut;
     private String  location;
 
     private List<WatchLastHealthDataVo> lastHealthData;
 
-    private String isNormal;
-
     /**
      * 腕表用户名字
      */
+    @Excel(name = "用户")
     private String watchUserName;
+
+    private FsUser users;
+    private List<FsUser> familyUsers;
 }

+ 24 - 0
fs-service/src/main/java/com/fs/watch/domain/vo/WatchFatigueDataVo.java

@@ -0,0 +1,24 @@
+package com.fs.watch.domain.vo;
+
+import lombok.Data;
+
+@Data
+public class WatchFatigueDataVo {
+    private String id;
+    /**
+     * 设备编号
+     */
+    private String deviceId;
+
+    /**
+     * 压力值
+     */
+    private Integer pressure;
+
+    private Integer status;
+
+    /**
+     * 创建时间
+     */
+    private String createTime;
+}

+ 0 - 1
fs-service/src/main/java/com/fs/watch/domain/vo/WatchSportDataVo.java

@@ -1,6 +1,5 @@
 package com.fs.watch.domain.vo;
 
-import com.fs.common.core.page.TableDataInfo;
 import lombok.Data;
 
 import java.util.List;

+ 0 - 2
fs-service/src/main/java/com/fs/watch/domain/vo/WatchSportListVo.java

@@ -2,8 +2,6 @@ package com.fs.watch.domain.vo;
 
 import lombok.Data;
 
-import java.util.List;
-
 @Data
 public class WatchSportListVo {
 

+ 0 - 2
fs-service/src/main/java/com/fs/watch/domain/vo/WatchSportRecordVo.java

@@ -2,8 +2,6 @@ package com.fs.watch.domain.vo;
 
 import lombok.Data;
 
-import java.util.List;
-
 @Data
 public class WatchSportRecordVo {
     /**

+ 0 - 1
fs-service/src/main/java/com/fs/watch/domain/vo/WatchUserAndHealthVo.java

@@ -1,6 +1,5 @@
 package com.fs.watch.domain.vo;
 
-import com.fs.watch.domain.WatchUser;
 import lombok.Data;
 
 @Data

+ 9 - 0
fs-service/src/main/java/com/fs/watch/enums/HealthStatusEnum.java

@@ -0,0 +1,9 @@
+package com.fs.watch.enums;
+
+public interface HealthStatusEnum {
+    Integer getValue();
+    String getPrediction();
+    String getAnalysis();
+    String getSuggestion();
+    String getPrecautions();
+}

+ 50 - 0
fs-service/src/main/java/com/fs/watch/enums/WatchBgStatusEnum.java

@@ -0,0 +1,50 @@
+package com.fs.watch.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+
+import java.util.Objects;
+import java.util.stream.Stream;
+
+@Getter
+@NoArgsConstructor
+@AllArgsConstructor
+public enum WatchBgStatusEnum implements HealthStatusEnum{
+
+    HYPERGLYCEMIA(1,"高风险(糖尿病)",
+            "您本周出现了%d次高血糖异常,提示糖尿病、肾病、视网膜病变、周围神经病变等风险较高。",
+            "糖尿病是一种以高血糖为特征的代谢性疾病,长期高血糖会导致多器官损害。",
+            "严格记录血糖,遵医嘱用药;警惕高血糖症状(口渴、多尿)。需内分泌科制定长期管理方案,定期筛查并发症。",
+            "学习碳水化合物计数法;每日检查足部有无破损;每年进行眼底和肾功能检查。"),
+    HYPOGLYCEMIA(2,"低血糖",
+            "您本周出现了%d次低血糖异常,提示低血糖症、肾上腺功能减退等疾病风险较高。",
+            "低血糖是指血液中葡萄糖浓度低于正常水平,可能引发头晕、冷汗等症状,严重时可导致意识障碍。",
+            "立即进食15g快速升糖食物(如葡萄糖片、果汁);10-15分钟后复测血糖。如频繁发生低血糖,需排查胰岛素瘤或药物过量。",
+            "随身携带糖果/饼干;避免空腹运动;糖尿病患者需记录低血糖发生时间与用药关系。"
+            ),
+    HIGHER(3,"糖尿病前期",
+            "您本周出现了%d次血糖偏高异常,提示糖尿病、代谢综合征、心血管疾病等风险较高。",
+            "糖尿病前期是血糖水平高于正常但未达糖尿病诊断标准的状态,属于糖尿病发展的预警阶段。",
+            "减少精制糖和饱和脂肪摄入,每周≥150分钟中等强度运动。3-6个月复查血糖,必要时进行糖耐量试验。",
+            "主食替换为全谷物如燕麦、糙米;每周3次抗阻训练如深蹲;控制腰围(男<90cm,女<85cm)。"),
+    GENERAL(4,"良好",null,null,null,null),
+    NORMAL(5,"正常",null,null,null,null);
+
+    private Integer value;
+    private String desc;
+    private String prediction;
+    //解析
+    private String analysis;
+    //治疗建议
+    private String suggestion;
+    //注意事项
+    private String precautions;
+
+    public static WatchBgStatusEnum toType(Integer value) {
+        return Stream.of(WatchBgStatusEnum.values())
+                .filter(p -> Objects.equals(p.value, value))
+                .findAny()
+                .orElse(null);
+    }
+}

+ 39 - 0
fs-service/src/main/java/com/fs/watch/enums/WatchBkStatusEnum.java

@@ -0,0 +1,39 @@
+package com.fs.watch.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+
+import java.util.Objects;
+import java.util.stream.Stream;
+
+@Getter
+@NoArgsConstructor
+@AllArgsConstructor
+public enum WatchBkStatusEnum implements HealthStatusEnum{
+
+    /**
+     * //血酮正常值是0.05-0.34mmol/L。酮体是机体脂肪氧化代谢产生的中间代谢产物,正常值一般在0.05-0.34mmol/L,当糖代谢发生障碍,酮体血浓度超过肾阈值,可产生酮尿。
+     *         //当血酮升高,>1.0mmol/L为高血酮,>3.0mmoL提示可有酸中毒,常见的有糖尿病酮症酸中毒。糖尿病酮症酸中毒时,纠正酮症常比纠正高血糖缓慢
+     */
+    NORMAL(0,"正常",null,null,null,null),
+    LOWER(1,"异常",null,null,null,null);
+
+
+    private Integer value;
+    private String desc;
+    private String prediction;
+    //解析
+    private String analysis;
+    //治疗建议
+    private String suggestion;
+    //注意事项
+    private String precautions;
+
+    public static WatchBkStatusEnum toType(Integer value) {
+        return Stream.of(WatchBkStatusEnum.values())
+                .filter(p -> Objects.equals(p.value, value))
+                .findAny()
+                .orElse(null);
+    }
+}

+ 56 - 0
fs-service/src/main/java/com/fs/watch/enums/WatchBpStatusEnum.java

@@ -0,0 +1,56 @@
+package com.fs.watch.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+
+import java.util.Objects;
+import java.util.stream.Stream;
+
+@Getter
+@NoArgsConstructor
+@AllArgsConstructor
+/**
+ *      * 重度: 收缩压 > 180 mmHg 或 舒张压 > 110 mmHg 1
+ *      * 中度: 收缩压在 160-179 mmHg 之间 或 舒张压在 100-109 mmHg 之间 2
+ *      * 轻度: 收缩压在 140-159 mmHg 之间 或 舒张压在 90-99 mmHg 之间 3
+ *      * 正常高值: 收缩压在 130-139 mmHg 之间 或 舒张压在 85-89 mmHg 之间 4
+ *      * 偏低: 收缩压 < 90 mmHg 或 舒张压 < 60 mmHg 5
+ *      * 正常: 收缩压在 90-139 mmHg 之间 且 舒张压在 60-89 mmHg 之间 6
+ */
+public enum WatchBpStatusEnum implements HealthStatusEnum{
+
+    HYPERTENSION(1,"高血压",
+            "您本周出现了%d次高血压异常,提示高血压病、冠心病、脑卒中、肾功能不全等疾病风险较高",
+            "高血压是指动脉血压持续升高,是心脑血管疾病最重要的危险因素。",
+            "限盐(每日<5g),避免熬夜和情绪激动;居家监测血压。若2周内血压持续偏高,需调整降压方案。",
+            "使用低钠盐替代普通盐;练习深呼吸减压每天2次;购买上臂式电子血压计。"),
+    NORMAL1(2,"中度",null,null,null,null),
+    NORMAL2(3,"轻度",null,null,null,null),
+    NORMAL3(4,"正常高值",null,null,null,null),
+    HYPOTENSION(5,"低血压",
+            "您本周出现了%d次低血压异常,提示贫血、甲状腺功能减退、心律失常等疾病风险较高。",
+            "低血压指血压低于正常值,可能导致组织灌注不足,引发头晕乏力等症状。",
+            "增加水分摄入,缓慢改变体位;可穿弹力袜改善循环。伴随头晕或晕厥需排查贫血、心脏病。",
+            "晨起先坐位活动下肢再站立;增加咸味汤品摄入;避免长时间热水浴。"
+    ),
+    NORMAL(6,"正常",null,null,null,null),;
+
+    private Integer value;
+    private String desc;
+    private String prediction;
+
+    //解析
+    private String analysis;
+    //治疗建议
+    private String suggestion;
+    //注意事项
+    private String precautions;
+
+    public static WatchBpStatusEnum toType(Integer value) {
+        return Stream.of(WatchBpStatusEnum.values())
+                .filter(p -> Objects.equals(p.value, value))
+                .findAny()
+                .orElse(null);
+    }
+}

+ 41 - 0
fs-service/src/main/java/com/fs/watch/enums/WatchDeviceStatusEnum.java

@@ -0,0 +1,41 @@
+package com.fs.watch.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+
+import java.util.Objects;
+import java.util.stream.Stream;
+
+@Getter
+@NoArgsConstructor
+@AllArgsConstructor
+public enum WatchDeviceStatusEnum{
+
+    OFFLINE(0,"offline"),
+    ONLINE(1,"online"),
+    UNACTIVE(2,"unactive"),
+    DISABLE(3,"disable"),
+    NOT_EXIST(4,"not exist");
+
+
+    private Integer value;
+
+    //解析
+    private String desc;
+
+
+    public static WatchDeviceStatusEnum toType(Integer value) {
+        return Stream.of(WatchDeviceStatusEnum.values())
+                .filter(p -> Objects.equals(p.value, value))
+                .findAny()
+                .orElse(null);
+    }
+
+    public static WatchDeviceStatusEnum toType(String desc) {
+        return Stream.of(WatchDeviceStatusEnum.values())
+                .filter(p -> Objects.equals(p.desc, desc))
+                .findAny()
+                .orElse(null);
+    }
+}

+ 29 - 0
fs-service/src/main/java/com/fs/watch/enums/WatchFatigueStatusEnum.java

@@ -0,0 +1,29 @@
+package com.fs.watch.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+
+import java.util.Objects;
+import java.util.stream.Stream;
+
+@Getter
+@NoArgsConstructor
+@AllArgsConstructor
+public enum WatchFatigueStatusEnum {
+
+    RELAX(1,"放松"),
+    NORMAL(2,"正常"),
+    ACCEPTABLE(3,"尚可"),
+    HIGH(4,"高");
+
+    private Integer value;
+    private String desc;
+
+    public static WatchFatigueStatusEnum toType(Integer value) {
+        return Stream.of(WatchFatigueStatusEnum.values())
+                .filter(p -> Objects.equals(p.value, value))
+                .findAny()
+                .orElse(null);
+    }
+}

+ 29 - 0
fs-service/src/main/java/com/fs/watch/enums/WatchHealthEnum.java

@@ -0,0 +1,29 @@
+package com.fs.watch.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+
+import java.util.Objects;
+import java.util.stream.Stream;
+
+@Getter
+@NoArgsConstructor
+@AllArgsConstructor
+public enum WatchHealthEnum {
+    EXCELLENT(1,"优秀", "您本周健康指数优秀,请继续保持,坚持测指标,坚持学习!"),
+    GOOD(2,"良好","您本周健康指数良好,建议您持续关注各项健康指标,不断学习健康知识。"),
+    GENERAL(3,"一般","您本周健康指数一般,部分指标出现异常,请联系您的家庭医生,加强管理。"),
+    POOR(4,"需要重视","您本周健康指数显示需要重视,多个指标出现异常,请立即联系您的家庭医生进行调理。");
+
+    private Integer value;
+    private String title;
+    private String desc;
+
+    public static WatchHealthEnum toType(Integer value) {
+        return Stream.of(WatchHealthEnum.values())
+                .filter(p -> Objects.equals(p.value, value))
+                .findAny()
+                .orElse(null);
+    }
+}

+ 45 - 0
fs-service/src/main/java/com/fs/watch/enums/WatchHrStatusEnum.java

@@ -0,0 +1,45 @@
+package com.fs.watch.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+
+import java.util.Objects;
+import java.util.stream.Stream;
+
+@Getter
+@NoArgsConstructor
+@AllArgsConstructor
+public enum WatchHrStatusEnum implements HealthStatusEnum{
+
+    NORMAL(0,"正常",null,null,null,null),
+    LOW(1,"房室传导阻滞",
+            "您本周出现了%d次心率过缓异常,提示窦房结功能障碍、甲状腺功能减退、心肌炎等疾病风险较高。",
+            "心动过缓指心率低于正常范围,可能影响心脏泵血功能。",
+            "避免剧烈运动,监测是否伴头晕/乏力。心率持续<50次或晕厥需查动态心电图。",
+            "避免突然体位改变;限制咖啡因在上午饮用;冬季注意颈部保暖。"
+            ),
+    FAST(2,"心动过速",
+            "您本周出现了%d次心动过速异常,提示甲状腺功能亢进、贫血、心力衰竭等疾病风险较高。",
+            "心动过速指心率异常增快,可能增加心脏负荷和耗氧量。",
+            "休息并深呼吸,减少咖啡因和酒精摄入。持续>120次/分或伴胸痛需急诊。",
+            "练习冥想或正念呼吸;避免能量饮料和浓茶;运动时使用心率带监测。"
+    );
+
+    private Integer value;
+    private String desc;
+    private String prediction;
+    //解析
+    private String analysis;
+    //治疗建议
+    private String suggestion;
+    //注意事项
+    private String precautions;
+
+    public static WatchHrStatusEnum toType(Integer value) {
+        return Stream.of(WatchHrStatusEnum.values())
+                .filter(p -> Objects.equals(p.value, value))
+                .findAny()
+                .orElse(null);
+    }
+}

+ 47 - 0
fs-service/src/main/java/com/fs/watch/enums/WatchSleepStatusEnum.java

@@ -0,0 +1,47 @@
+package com.fs.watch.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+
+import java.util.Objects;
+import java.util.stream.Stream;
+
+@Getter
+@NoArgsConstructor
+@AllArgsConstructor
+public enum WatchSleepStatusEnum implements HealthStatusEnum{
+
+    NORMAL(1,"正常",
+            null,null,
+            null,
+            null),
+    OSA(2,"OSA高风险",
+            "您本周出现了%d次睡眠呼吸异常,提示阻塞性睡眠呼吸暂停、高血压、心律失常等疾病风险较高。",
+            "阻塞性睡眠呼吸暂停(OSA)是睡眠中反复出现呼吸暂停的疾病,与多种慢性病相关。",
+            "侧卧睡眠,减重,避免睡前饮酒。建议多导睡眠监测确诊。",
+            "使用侧睡枕;晚餐不超过19点;白天避免仰头午睡。"
+            ),
+    DEPRIVATION(3,"睡眠剥夺",
+            "您本周出现了%d次睡眠不足异常,提示焦虑症、抑郁症、免疫功能下降等风险较高。",
+            "睡眠剥夺是指睡眠时间长期不足,会严重影响认知功能和免疫力。",
+            "固定作息时间,睡前1小时避免灯光刺激。长期失眠需就医排除焦虑/抑郁症。",
+            "固定起床时间;早晨接触阳光30分钟。");
+
+    private Integer value;
+    private String desc;
+    private String prediction;
+    //解析
+    private String analysis;
+    //治疗建议
+    private String suggestion;
+    //注意事项
+    private String precautions;
+
+    public static WatchSleepStatusEnum toType(Integer value) {
+        return Stream.of(WatchSleepStatusEnum.values())
+                .filter(p -> Objects.equals(p.value, value))
+                .findAny()
+                .orElse(null);
+    }
+}

+ 44 - 0
fs-service/src/main/java/com/fs/watch/enums/WatchSpo2StatusEnum.java

@@ -0,0 +1,44 @@
+package com.fs.watch.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+
+import java.util.Objects;
+import java.util.stream.Stream;
+
+@Getter
+@NoArgsConstructor
+@AllArgsConstructor
+public enum WatchSpo2StatusEnum implements HealthStatusEnum{
+
+    NORMAL(0,"正常",null,null,null,null),
+    LOW(1,"低氧血症",
+            "您本周出现了%d次血氧偏低异常,提示慢性阻塞性肺病、肺炎、心力衰竭等疾病风险较高。",
+            "低氧血症是指血液中氧分压降低,可能导致组织缺氧,常见于呼吸系统疾病。",
+            "保持半卧位呼吸,避免剧烈活动;使用家庭氧疗(如有)。持续低于92%或伴随气促需急诊。",
+            "居家配备指夹式血氧仪;睡眠时抬高床头15度;戒烟并避免二手烟环境。"),
+    EXHAUSTION(2,"呼吸衰竭",
+            "您本周出现了%d次血氧严重异常,提示呼吸衰竭、肺栓塞、急性呼吸窘迫综合征等疾病风险较高。",
+            "呼吸衰竭是严重的病理状态,指呼吸功能不能维持正常气体交换,需紧急医疗干预。",
+            "立即吸氧并呼叫急救,避免平卧。需住院评估肺功能及病因。",
+            "准备家庭制氧机;避免前往高原地区;可在以上指导下接种肺炎和流感疫苗。"
+    );
+
+    private Integer value;
+    private String desc;
+    private String prediction;
+    //解析
+    private String analysis;
+    //治疗建议
+    private String suggestion;
+    //注意事项
+    private String precautions;
+
+    public static WatchSpo2StatusEnum toType(Integer value) {
+        return Stream.of(WatchSpo2StatusEnum.values())
+                .filter(p -> Objects.equals(p.value, value))
+                .findAny()
+                .orElse(null);
+    }
+}

+ 48 - 0
fs-service/src/main/java/com/fs/watch/enums/WatchStepStatusEnum.java

@@ -0,0 +1,48 @@
+package com.fs.watch.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+
+import java.util.Objects;
+import java.util.stream.Stream;
+
+@Getter
+@NoArgsConstructor
+@AllArgsConstructor
+public enum WatchStepStatusEnum implements HealthStatusEnum{
+
+    NORMAL(1,"正常",
+            null,
+            null,
+            null,
+            null),
+    LOW(2,"活动量过低",
+            "您本周活动量持续偏低,提示肥胖、骨质疏松、心血管疾病等风险较高。",
+            "活动不足是指体力活动低于推荐量,是多种慢性病的独立危险因素。",
+            "从短距离步行开始,逐步增加至每日6000步。长期久坐者需评估心血管风险。",
+            "设置每小时站立活动提醒;看电视时做踮脚运动"
+            ),
+    HIGH(3,"活动量过度",
+            "您本周活动量持续过高,提示关节损伤、过度疲劳等风险较高。",
+            "过度运动可能超过身体承受能力,导致运动损伤和免疫功能抑制。",
+            "增加休息时间,补充蛋白质和电解质。关节疼痛或尿色加深需排查横纹肌溶解",
+            "运动后补水、补电解质;交替进行高低强度运动;运动前后要拉伸。");
+
+    private Integer value;
+    private String desc;
+    private String prediction;
+    //解析
+    private String analysis;
+    //治疗建议
+    private String suggestion;
+    //注意事项
+    private String precautions;
+
+    public static WatchStepStatusEnum toType(Integer value) {
+        return Stream.of(WatchStepStatusEnum.values())
+                .filter(p -> Objects.equals(p.value, value))
+                .findAny()
+                .orElse(null);
+    }
+}

+ 44 - 0
fs-service/src/main/java/com/fs/watch/enums/WatchTemperatureStatusEnum.java

@@ -0,0 +1,44 @@
+package com.fs.watch.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+
+import java.util.Objects;
+import java.util.stream.Stream;
+
+@Getter
+@NoArgsConstructor
+@AllArgsConstructor
+public enum WatchTemperatureStatusEnum implements HealthStatusEnum{
+
+    NORMAL(0,"正常",null,null,null,null),
+    LOW(1,"体温过低",
+            "您本周出现了%d次体温偏低异常,提示败血症、甲状腺功能减退等疾病风险较高。",
+            "体温过低指核心体温低于正常,可能是严重疾病的信号。",
+            "保暖(饮用温水、增加衣物),避免酒精擦拭。体温<35℃或意识模糊需急诊。",
+            "卧室温度保持18-22℃;食用温热的流质食物;避免使用电热毯入睡。"
+            ),
+    HIGH(2,"发热",
+            "您本周出现了%d次体温偏高异常,提示感染性疾病、炎症、肿瘤等疾病风险较高。",
+            "发热是机体对致热原的反应,多为感染或炎症的表现。",
+            "多饮水,物理降温;38.5℃以上可服退烧药。发热>3天或超39℃需就医排查感染源。",
+            "准备电子体温计;发热期间多喝水,饮食要清淡。");
+
+    private Integer value;
+    private String desc;
+    private String prediction;
+    //解析
+    private String analysis;
+    //治疗建议
+    private String suggestion;
+    //注意事项
+    private String precautions;
+
+    public static WatchTemperatureStatusEnum toType(Integer value) {
+        return Stream.of(WatchTemperatureStatusEnum.values())
+                .filter(p -> Objects.equals(p.value, value))
+                .findAny()
+                .orElse(null);
+    }
+}

+ 39 - 0
fs-service/src/main/java/com/fs/watch/enums/WatchUaStatusEnum.java

@@ -0,0 +1,39 @@
+package com.fs.watch.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+
+import java.util.Objects;
+import java.util.stream.Stream;
+
+@Getter
+@NoArgsConstructor
+@AllArgsConstructor
+public enum WatchUaStatusEnum implements HealthStatusEnum{
+
+    NORMAL(0,"正常",null,null,null,null),
+    LOWER(1,"过低",null,null,null,null),
+    HIGHER(2,"高尿酸血症",
+            "您本周出现了%d次尿酸偏高异常,提示痛风、肾病、代谢综合征等疾病风险较高。",
+            "高尿酸血症是嘌呤代谢紊乱导致的尿酸水平升高,可能引发痛风。",
+            "每日饮水>2L,限制海鲜/内脏/酒精摄入。关节红肿热痛需就医排查痛风。",
+            "每日多饮水;优先选择低嘌呤食物如鸡蛋、蔬菜、牛肉等;避免剧烈运动。");
+
+    private Integer value;
+    private String desc;
+    private String prediction;
+    //解析
+    private String analysis;
+    //治疗建议
+    private String suggestion;
+    //注意事项
+    private String precautions;
+
+    public static WatchUaStatusEnum toType(Integer value) {
+        return Stream.of(WatchUaStatusEnum.values())
+                .filter(p -> Objects.equals(p.value, value))
+                .findAny()
+                .orElse(null);
+    }
+}

+ 4 - 9
fs-service/src/main/java/com/fs/watch/mapper/WatchAlarmDataMapper.java

@@ -13,32 +13,27 @@ import java.util.List;
 * @createDate 2024-10-15 11:06:50
 * @Entity watch.domain.WatchAlarmData
 */
+@DataSource(DataSourceType.CLICKHOUSE)
 public interface WatchAlarmDataMapper{
-    @DataSource(DataSourceType.CLICKHOUSE)
     void insert(@Param("data") WatchAlarmData data);
 
-    @DataSource(DataSourceType.CLICKHOUSE)
     void batchInsertData(@Param("list") List<WatchAlarmData> list);
 
-    @DataSource(DataSourceType.CLICKHOUSE)
     List<WatchAlarmData> queryByStatus(@Param("status") Integer status);
 
-    @DataSource(DataSourceType.CLICKHOUSE)
     List<WatchAlarmData> queryPageByStatus(WatchAlarmData data);
 
-    @DataSource(DataSourceType.CLICKHOUSE)
     List<WatchAlarmData> queryByStatusAndDeviceid(@Param("status")Integer status, @Param("appStatus")Integer appStatus,@Param("deviceId")String deviceId);
 
-    @DataSource(DataSourceType.CLICKHOUSE)
     Integer getUnreadNum(@Param("deviceId")String deviceId);
 
-    @DataSource(DataSourceType.CLICKHOUSE)
     Integer setAppStatusById(@Param("ids")List<String> ids);
 
-    @DataSource(DataSourceType.CLICKHOUSE)
     Boolean setIsDel(@Param("ids")List<String> ids);
 
-    @DataSource(DataSourceType.CLICKHOUSE)
     Integer setStatusById(@Param("ids") List<String> ids);
 
+    Integer setAppStatusByDeviceId(@Param("deviceId")String deviceId);
+
+    Boolean deleteByDeviceId(@Param("deviceId")String deviceId);
 }

+ 63 - 0
fs-service/src/main/java/com/fs/watch/mapper/WatchBeginnerGuideMapper.java

@@ -0,0 +1,63 @@
+package com.fs.watch.mapper;
+
+
+import com.fs.watch.domain.WatchBeginnerGuide;
+
+import java.util.List;
+
+/**
+ * 新手引导Mapper接口
+ *
+ * @author fs
+ * @date 2024-09-06
+ */
+public interface WatchBeginnerGuideMapper
+{
+    /**
+     * 查询新手引导
+     *
+     * @param id 新手引导主键
+     * @return 新手引导
+     */
+    public WatchBeginnerGuide selectWatchBeginnerGuideById(Long id);
+
+    /**
+     * 查询新手引导列表
+     *
+     * @param WatchBeginnerGuide 新手引导
+     * @return 新手引导集合
+     */
+    public List<WatchBeginnerGuide> selectWatchBeginnerGuideList(WatchBeginnerGuide WatchBeginnerGuide);
+
+    /**
+     * 新增新手引导
+     *
+     * @param WatchBeginnerGuide 新手引导
+     * @return 结果
+     */
+    public int insertWatchBeginnerGuide(WatchBeginnerGuide WatchBeginnerGuide);
+
+    /**
+     * 修改新手引导
+     *
+     * @param WatchBeginnerGuide 新手引导
+     * @return 结果
+     */
+    public int updateWatchBeginnerGuide(WatchBeginnerGuide WatchBeginnerGuide);
+
+    /**
+     * 删除新手引导
+     *
+     * @param id 新手引导主键
+     * @return 结果
+     */
+    public int deleteWatchBeginnerGuideById(Long id);
+
+    /**
+     * 批量删除新手引导
+     *
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteWatchBeginnerGuideByIds(Long[] ids);
+}

+ 45 - 0
fs-service/src/main/java/com/fs/watch/mapper/WatchCompanyMapper.java

@@ -0,0 +1,45 @@
+package com.fs.watch.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fs.watch.domain.WatchCompany;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 用户绑定公司Mapper接口
+ *
+ * @author fs
+ * @date 2025-05-14
+ */
+public interface WatchCompanyMapper extends BaseMapper<WatchCompany>{
+    /**
+     * 查询用户绑定公司
+     *
+     * @param id 用户绑定公司主键
+     * @return 用户绑定公司
+     */
+    WatchCompany selectWatchCompanyById(Long id);
+
+    /**
+     * 查询用户绑定公司列表
+     *
+     * @param watchCompany 用户绑定公司
+     * @return 用户绑定公司集合
+     */
+    List<WatchCompany> selectWatchCompanyList(WatchCompany watchCompany);
+
+    /**
+     * 新增用户绑定公司
+     *
+     * @param watchCompany 用户绑定公司
+     * @return 结果
+     */
+    int insertWatchCompany(WatchCompany watchCompany);
+
+
+    void insertBatchWatchCompany(@Param("list") ArrayList<WatchCompany> cList);
+
+    void deleteBatch(@Param("deviceId")Long deviceId,@Param("list") List<String> subList);
+}

+ 68 - 0
fs-service/src/main/java/com/fs/watch/mapper/WatchCompanyUserMapper.java

@@ -0,0 +1,68 @@
+package com.fs.watch.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fs.watch.domain.WatchCompanyUser;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 用户绑定销售Mapper接口
+ *
+ * @author fs
+ * @date 2025-05-14
+ */
+public interface WatchCompanyUserMapper extends BaseMapper<WatchCompanyUser>{
+    /**
+     * 查询用户绑定销售
+     *
+     * @param id 用户绑定销售主键
+     * @return 用户绑定销售
+     */
+    WatchCompanyUser selectWatchCompanyUserById(Long id);
+
+    /**
+     * 查询用户绑定销售列表
+     *
+     * @param watchCompanyUser 用户绑定销售
+     * @return 用户绑定销售集合
+     */
+    List<WatchCompanyUser> selectWatchCompanyUserList(WatchCompanyUser watchCompanyUser);
+
+    /**
+     * 新增用户绑定销售
+     *
+     * @param watchCompanyUser 用户绑定销售
+     * @return 结果
+     */
+    int insertWatchCompanyUser(WatchCompanyUser watchCompanyUser);
+
+    /**
+     * 修改用户绑定销售
+     *
+     * @param watchCompanyUser 用户绑定销售
+     * @return 结果
+     */
+    int updateWatchCompanyUser(WatchCompanyUser watchCompanyUser);
+
+    /**
+     * 删除用户绑定销售
+     *
+     * @param id 用户绑定销售主键
+     * @return 结果
+     */
+    int deleteWatchCompanyUserById(Long id);
+
+    /**
+     * 批量删除用户绑定销售
+     *
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    int deleteWatchCompanyUserByIds(Long[] ids);
+
+    void insertBatchWatchUserCompany(@Param("list") ArrayList<WatchCompanyUser> cuList);
+
+    void deleteBatch(@Param("deviceId")Long deviceId, @Param("list")List<String> subCompanyUserList);
+}

+ 0 - 1
fs-service/src/main/java/com/fs/watch/mapper/WatchContinuousSpo2DataMapper.java

@@ -3,7 +3,6 @@ package com.fs.watch.mapper;
 import com.fs.common.annotation.DataSource;
 import com.fs.common.enums.DataSourceType;
 import com.fs.watch.domain.WatchContinuousSpo2Data;
-import com.fs.watch.domain.vo.WatchContinuousSpo2DataVo;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;

+ 65 - 0
fs-service/src/main/java/com/fs/watch/mapper/WatchDeviceAccountMapper.java

@@ -0,0 +1,65 @@
+package com.fs.watch.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fs.watch.domain.WatchDeviceAccount;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 设备(睡眠,房颤查询账户记录)Mapper接口
+ *
+ * @author fs
+ * @date 2025-05-09
+ */
+public interface WatchDeviceAccountMapper extends BaseMapper<WatchDeviceAccount>{
+    /**
+     * 查询设备(睡眠,房颤查询账户记录)
+     *
+     * @param id 设备(睡眠,房颤查询账户记录)主键
+     * @return 设备(睡眠,房颤查询账户记录)
+     */
+    WatchDeviceAccount selectWatchDeviceAccountById(Long id);
+
+    WatchDeviceAccount selectWatchDeviceAccountByDeviceId(@Param("deviceId") String deviceId);
+
+    /**
+     * 查询设备(睡眠,房颤查询账户记录)列表
+     *
+     * @param watchDeviceAccount 设备(睡眠,房颤查询账户记录)
+     * @return 设备(睡眠,房颤查询账户记录)集合
+     */
+    List<WatchDeviceAccount> selectWatchDeviceAccountList(WatchDeviceAccount watchDeviceAccount);
+
+    /**
+     * 新增设备(睡眠,房颤查询账户记录)
+     *
+     * @param watchDeviceAccount 设备(睡眠,房颤查询账户记录)
+     * @return 结果
+     */
+    int insertWatchDeviceAccount(WatchDeviceAccount watchDeviceAccount);
+
+    /**
+     * 修改设备(睡眠,房颤查询账户记录)
+     *
+     * @param watchDeviceAccount 设备(睡眠,房颤查询账户记录)
+     * @return 结果
+     */
+    int updateWatchDeviceAccount(WatchDeviceAccount watchDeviceAccount);
+
+    /**
+     * 删除设备(睡眠,房颤查询账户记录)
+     *
+     * @param id 设备(睡眠,房颤查询账户记录)主键
+     * @return 结果
+     */
+    int deleteWatchDeviceAccountById(Long id);
+
+    /**
+     * 批量删除设备(睡眠,房颤查询账户记录)
+     *
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    int deleteWatchDeviceAccountByIds(Long[] ids);
+}

+ 77 - 0
fs-service/src/main/java/com/fs/watch/mapper/WatchDeviceDayMapper.java

@@ -0,0 +1,77 @@
+package com.fs.watch.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fs.watch.domain.WatchDeviceDay;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 每天设备信息汇总Mapper接口
+ *
+ * @author fs
+ * @date 2025-04-23
+ */
+public interface WatchDeviceDayMapper extends BaseMapper<WatchDeviceDay>{
+    /**
+     * 查询每天设备信息汇总
+     *
+     * @param id 每天设备信息汇总主键
+     * @return 每天设备信息汇总
+     */
+    WatchDeviceDay selectWatchDeviceDayById(Long id);
+
+    /**
+     * 查询每天设备信息汇总列表
+     *
+     * @param watchDeviceDay 每天设备信息汇总
+     * @return 每天设备信息汇总集合
+     */
+    List<WatchDeviceDay> selectWatchDeviceDayList(WatchDeviceDay watchDeviceDay);
+
+    /**
+     * 新增每天设备信息汇总
+     *
+     * @param watchDeviceDay 每天设备信息汇总
+     * @return 结果
+     */
+    int insertWatchDeviceDay(WatchDeviceDay watchDeviceDay);
+
+    /**
+     * 修改每天设备信息汇总
+     *
+     * @param watchDeviceDay 每天设备信息汇总
+     * @return 结果
+     */
+    int updateWatchDeviceDay(WatchDeviceDay watchDeviceDay);
+
+    /**
+     * 修改每天设备信息汇总
+     *
+     * @param watchDeviceDay 每天设备信息汇总
+     * @return 结果
+     */
+    int updateByDeviceIdAndTime(WatchDeviceDay watchDeviceDay);
+
+    /**
+     * 删除每天设备信息汇总
+     *
+     * @param id 每天设备信息汇总主键
+     * @return 结果
+     */
+    int deleteWatchDeviceDayById(Long id);
+
+    /**
+     * 批量删除每天设备信息汇总
+     *
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    int deleteWatchDeviceDayByIds(Long[] ids);
+
+    WatchDeviceDay selectWatchDeviceDayByDeviceIdAndTime(@Param("deviceId") String deviceId,@Param("createTime") Date createTime);
+
+    List<Map<String, Object>> countSlByDate(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("deviceId") String deviceId);
+}

+ 3 - 2
fs-service/src/main/java/com/fs/watch/mapper/WatchDeviceInfoMapper.java

@@ -1,7 +1,6 @@
 package com.fs.watch.mapper;
 
 import com.fs.watch.domain.WatchDeviceInfo;
-import com.fs.watch.domain.vo.WatchDeviceInfoAndUserIdVo;
 import com.fs.watch.domain.vo.WatchDeviceInfoVo;
 import com.fs.watch.param.WatchDeviceInfoQueryParam;
 import org.apache.ibatis.annotations.Param;
@@ -47,7 +46,7 @@ public interface WatchDeviceInfoMapper{
      */
     public List<WatchDeviceInfoVo> selectDeviceInfoList(WatchDeviceInfoQueryParam param);
 
-    List<WatchDeviceInfoAndUserIdVo> selectByUserExist();
+    List<WatchDeviceInfo> selectByUserExist();
 
     /**
      * 查询设备信息
@@ -67,5 +66,7 @@ public interface WatchDeviceInfoMapper{
      */
     public int deleteDeviceInfoByDeviceIds(Long[] deviceIds);
 
+    List<WatchDeviceInfo> selectListByUserOrFamilyUser(@Param("userId") Long userId);
 
+    void removeUserId(WatchDeviceInfo data);
 }

+ 0 - 1
fs-service/src/main/java/com/fs/watch/mapper/WatchDeviceStatusMapper.java

@@ -3,7 +3,6 @@ package com.fs.watch.mapper;
 import com.fs.common.annotation.DataSource;
 import com.fs.common.enums.DataSourceType;
 import com.fs.watch.domain.WatchDeviceStatus;
-import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
 

+ 68 - 0
fs-service/src/main/java/com/fs/watch/mapper/WatchDoctorMapper.java

@@ -0,0 +1,68 @@
+package com.fs.watch.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fs.watch.domain.WatchDoctor;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 用户绑定医生Mapper接口
+ *
+ * @author fs
+ * @date 2025-05-14
+ */
+public interface WatchDoctorMapper extends BaseMapper<WatchDoctor>{
+    /**
+     * 查询用户绑定医生
+     *
+     * @param id 用户绑定医生主键
+     * @return 用户绑定医生
+     */
+    WatchDoctor selectWatchDoctorById(Long id);
+
+    /**
+     * 查询用户绑定医生列表
+     *
+     * @param watchDoctor 用户绑定医生
+     * @return 用户绑定医生集合
+     */
+    List<WatchDoctor> selectWatchDoctorList(WatchDoctor watchDoctor);
+
+    /**
+     * 新增用户绑定医生
+     *
+     * @param watchDoctor 用户绑定医生
+     * @return 结果
+     */
+    int insertWatchDoctor(WatchDoctor watchDoctor);
+
+    /**
+     * 修改用户绑定医生
+     *
+     * @param watchDoctor 用户绑定医生
+     * @return 结果
+     */
+    int updateWatchDoctor(WatchDoctor watchDoctor);
+
+    /**
+     * 删除用户绑定医生
+     *
+     * @param id 用户绑定医生主键
+     * @return 结果
+     */
+    int deleteWatchDoctorById(Long id);
+
+    /**
+     * 批量删除用户绑定医生
+     *
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    int deleteWatchDoctorByIds(Long[] ids);
+
+    void insertBatchWatchUserCompany(@Param("list") ArrayList<WatchDoctor> dList);
+
+    void deleteBatch(@Param("deviceId")Long deviceId,@Param("list") List<String> subDoctorList);
+}

+ 45 - 0
fs-service/src/main/java/com/fs/watch/mapper/WatchFamilyMapper.java

@@ -0,0 +1,45 @@
+package com.fs.watch.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fs.watch.domain.WatchFamily;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 用户绑定为家人Mapper接口
+ *
+ * @author fs
+ * @date 2025-05-14
+ */
+public interface WatchFamilyMapper extends BaseMapper<WatchFamily>{
+    /**
+     * 查询用户绑定为家人
+     *
+     * @param id 用户绑定为家人主键
+     * @return 用户绑定为家人
+     */
+    WatchFamily selectWatchFamilyById(Long id);
+
+    /**
+     * 查询用户绑定为家人列表
+     *
+     * @param watchFamily 用户绑定为家人
+     * @return 用户绑定为家人集合
+     */
+    List<WatchFamily> selectWatchFamilyList(WatchFamily watchFamily);
+
+    /**
+     * 新增用户绑定为家人
+     *
+     * @param watchFamily 用户绑定为家人
+     * @return 结果
+     */
+    int insertWatchFamily(WatchFamily watchFamily);
+
+
+    void insertBatchWatchUserCompany(@Param("list") ArrayList<WatchFamily> fList);
+
+    void deleteBatch(@Param("deviceId")Long deviceId, @Param("list")List<String> subFamilyList);
+}

+ 2 - 1
fs-service/src/main/java/com/fs/watch/mapper/WatchFamilyUserMapper.java

@@ -1,8 +1,9 @@
 package com.fs.watch.mapper;
 
-import java.util.List;
 import com.fs.watch.domain.WatchFamilyUser;
 
+import java.util.List;
+
 /**
  * 家人腕表配置Mapper接口
  *

+ 17 - 0
fs-service/src/main/java/com/fs/watch/mapper/WatchFatigueDataMapper.java

@@ -3,8 +3,13 @@ package com.fs.watch.mapper;
 import com.fs.common.annotation.DataSource;
 import com.fs.common.enums.DataSourceType;
 import com.fs.watch.domain.WatchFatigueData;
+import com.fs.watch.domain.vo.WatchFatigueDataVo;
+import com.fs.watch.param.WatchDataQueryParam;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+import java.util.Map;
+
 /**
 * @author Administrator
 * @description 针对表【watch_fatigue_data(设备疲劳度)】的数据库操作Mapper
@@ -20,4 +25,16 @@ public interface WatchFatigueDataMapper{
 
     @DataSource(DataSourceType.CLICKHOUSE)
     WatchFatigueData getLastByDeviceId(String deviceId);
+
+    @DataSource(DataSourceType.CLICKHOUSE)
+    List<WatchFatigueDataVo> page(WatchDataQueryParam param);
+
+    @DataSource(DataSourceType.CLICKHOUSE)
+    List<WatchFatigueDataVo> queryByDateAndDeviceId(@Param("date")String date, @Param("deviceId")String deviceId);
+
+    @DataSource(DataSourceType.CLICKHOUSE)
+    List<Map<String, Object>> countByDate(@Param("startTime")String startTime, @Param("endTime") String endTime, @Param("deviceId")String deviceId);
+
+    @DataSource(DataSourceType.CLICKHOUSE)
+    List<WatchFatigueDataVo> list(@Param("startTime")String startTime,@Param("endTime") String endTime, @Param("deviceId")String deviceId);
 }

+ 5 - 3
fs-service/src/main/java/com/fs/watch/mapper/WatchMedicationTaskMapper.java

@@ -1,9 +1,11 @@
 package com.fs.watch.mapper;
 
-import java.util.ArrayList;
-import java.util.List;
 import com.fs.watch.domain.WatchMedicationTask;
 import com.fs.watch.domain.vo.WatchUserAndMedicationVo;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * 腕用药提醒Mapper接口
@@ -61,7 +63,7 @@ public interface WatchMedicationTaskMapper
      */
     public int deleteWatchMedicationTaskByIds(Long[] ids);
 
-    int insertList(ArrayList<WatchMedicationTask> tasks);
+    int insertList(@Param("tasks") ArrayList<WatchMedicationTask> tasks);
 
     List<WatchUserAndMedicationVo> medicationTaskList(Integer medicationTime);
 

+ 64 - 0
fs-service/src/main/java/com/fs/watch/mapper/WatchMonitorDataTypeMapper.java

@@ -0,0 +1,64 @@
+package com.fs.watch.mapper;
+
+import com.fs.watch.domain.WatchMonitorDataType;
+
+import java.util.List;
+
+/**
+ * app-健康监测数据类型Mapper接口
+ *
+ * @author fs
+ * @date 2024-08-26
+ */
+public interface WatchMonitorDataTypeMapper
+{
+    /**
+     * 查询app-健康监测数据类型
+     *
+     * @param id app-健康监测数据类型主键
+     * @return app-健康监测数据类型
+     */
+    public WatchMonitorDataType selectWatchMonitorDataTypeById(String id);
+
+    /**
+     * 查询app-健康监测数据类型列表
+     *
+     * @param WatchFsMonitorDataType app-健康监测数据类型
+     * @return app-健康监测数据类型集合
+     */
+    public List<WatchMonitorDataType> selectWatchMonitorDataTypeList(WatchMonitorDataType WatchFsMonitorDataType);
+
+    /**
+     * 新增app-健康监测数据类型
+     *
+     * @param WatchFsMonitorDataType app-健康监测数据类型
+     * @return 结果
+     */
+    public int insertWatchMonitorDataType(WatchMonitorDataType WatchFsMonitorDataType);
+
+    /**
+     * 修改app-健康监测数据类型
+     *
+     * @param WatchFsMonitorDataType app-健康监测数据类型
+     * @return 结果
+     */
+    public int updateWatchMonitorDataType(WatchMonitorDataType WatchFsMonitorDataType);
+
+    /**
+     * 删除app-健康监测数据类型
+     *
+     * @param id app-健康监测数据类型主键
+     * @return 结果
+     */
+    public int deleteWatchMonitorDataTypeById(String id);
+
+//    /**
+//     * 批量删除app-健康监测数据类型
+//     *
+//     * @param ids 需要删除的数据主键集合
+//     * @return 结果
+//     */
+//    public int deleteWatchMonitorDataTypeByIds(String[] ids);
+
+    List<WatchMonitorDataType> selectWatchMonitorDataTypeByIds(List<String> ids);
+}

+ 2 - 1
fs-service/src/main/java/com/fs/watch/mapper/WatchMsgSetMapper.java

@@ -1,8 +1,9 @@
 package com.fs.watch.mapper;
 
-import java.util.List;
 import com.fs.watch.domain.WatchMsgSet;
 
+import java.util.List;
+
 /**
  * 腕消息详情设置Mapper接口
  * 

+ 0 - 1
fs-service/src/main/java/com/fs/watch/mapper/WatchRriDataMapper.java

@@ -5,7 +5,6 @@ import com.fs.common.enums.DataSourceType;
 import com.fs.watch.domain.WatchRriData;
 import org.apache.ibatis.annotations.Param;
 
-import java.time.LocalDateTime;
 import java.util.List;
 
 /**

+ 2 - 1
fs-service/src/main/java/com/fs/watch/mapper/WatchSendMsgLogMapper.java

@@ -1,9 +1,10 @@
 package com.fs.watch.mapper;
 
-import java.util.List;
 import com.fs.watch.domain.WatchSendMsgLog;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 /**
  * 发送消息日志记录Mapper接口
  *

+ 2 - 1
fs-service/src/main/java/com/fs/watch/mapper/WatchSendMsgSetMapper.java

@@ -1,8 +1,9 @@
 package com.fs.watch.mapper;
 
-import java.util.List;
 import com.fs.watch.domain.WatchSendMsgSet;
 
+import java.util.List;
+
 /**
  * 腕表消息提醒发送时间限制Mapper接口
  *

+ 4 - 11
fs-service/src/main/java/com/fs/watch/mapper/WatchSpo2DataMapper.java

@@ -15,32 +15,25 @@ import java.util.Map;
 * @createDate 2024-10-15 11:06:51
 * @Entity watch.domain.WatchSpo2Data
 */
+@DataSource(DataSourceType.CLICKHOUSE)
 public interface WatchSpo2DataMapper {
 
-    @DataSource(DataSourceType.CLICKHOUSE)
     Integer queryByCreateTime(@Param("createTime") String createTime);
 
-    @DataSource(DataSourceType.CLICKHOUSE)
     void insert(@Param("data") WatchSpo2Data data);
 
-    @DataSource(DataSourceType.CLICKHOUSE)
-    List<WatchSpo2Data> queryByDateAndDeviceIdAndState(@Param("date") String date, @Param("deviceId") String deviceId);
+    List<WatchSpo2DataVo> queryByDateAndDeviceIdAndState(@Param("date") String date, @Param("deviceId") String deviceId);
 
-    @DataSource(DataSourceType.CLICKHOUSE)
     List<WatchSpo2DataVo> querySpByDate(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("deviceId") String deviceId);
 
-    @DataSource(DataSourceType.CLICKHOUSE)
-    List<Map<String, Integer>> countSpByDate(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("deviceId") String deviceId);
+    List<Map<String, Object>> countSpByDate(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("deviceId") String deviceId);
 
-    @DataSource(DataSourceType.CLICKHOUSE)
-    WatchSpo2Data getLatest(@Param("deviceId") String deviceId);
+    WatchSpo2DataVo getLatest(@Param("deviceId") String deviceId);
 
-    @DataSource(DataSourceType.CLICKHOUSE)
     int countSpPageByDate(@Param("startTime") String startTime,
                           @Param("endTime") String endTime,
                           @Param("deviceId") String deviceId);
 
-    @DataSource(DataSourceType.CLICKHOUSE)
     List<WatchSpo2DataVo> querySpPageByDate(@Param("startTime") String startTime,
                                             @Param("endTime") String endTime,
                                             @Param("deviceId") String deviceId,

+ 0 - 7
fs-service/src/main/java/com/fs/watch/mapper/WatchSportDataMapper.java

@@ -8,7 +8,6 @@ import org.apache.ibatis.annotations.Param;
 
 import java.util.Date;
 import java.util.List;
-import java.util.Map;
 
 /**
 * @author Administrator
@@ -22,29 +21,23 @@ public interface WatchSportDataMapper{
 
     void insert(@Param("data") WatchSportData data);
 
-//    @DataSource(DataSourceType.CLICKHOUSE)
     List<WatchSportData> getByDateAndDeviceId(@Param("date")String date,@Param("deviceId") String deviceId);
 
-//    @DataSource(DataSourceType.CLICKHOUSE)
     List<String> getTypeByDateAndDeviceId(@Param("startTime")String startTime,@Param("endTime") String endTime, @Param("deviceId")String deviceId);
 
-//    @DataSource(DataSourceType.CLICKHOUSE)
     List<WatchSportData> getByType(@Param("startTime")String startTime, @Param("endTime")String endTime,
                                    @Param("deviceId")String deviceId, @Param("type")String type);
 
-//    @DataSource(DataSourceType.CLICKHOUSE)
     List<WatchSportRecordVo> queryRecord(@Param("startTime")Date startTime,
                                          @Param("endTime")Date endTime,
                                          @Param("deviceId")String deviceId,
                                          @Param("type")String type);
 
-//    @DataSource(DataSourceType.CLICKHOUSE)
     WatchSportRecordVo getOtherData(@Param("startTime")Date startTime,
                                     @Param("endTime")Date endTime,
                                     @Param("deviceId")String deviceId,
                                     @Param("types") List<String> types);
 
-//    @DataSource(DataSourceType.CLICKHOUSE)
     WatchSportData sumStepAndCalorie(@Param("deviceId")String deviceId);
 
     List<WatchSportData> getSport(@Param("deviceId")String deviceId,

+ 4 - 6
fs-service/src/main/java/com/fs/watch/mapper/WatchTemperatureDataMapper.java

@@ -8,6 +8,7 @@ import org.apache.ibatis.annotations.Param;
 
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
 
 /**
 * @author Administrator
@@ -15,24 +16,21 @@ import java.util.List;
 * @createDate 2024-10-15 11:06:51
 * @Entity watch.domain.WatchTemperatureData
 */
+@DataSource(DataSourceType.CLICKHOUSE)
 public interface WatchTemperatureDataMapper{
 
-    @DataSource(DataSourceType.CLICKHOUSE)
     Integer queryByCreateTime(@Param("createTime")String createTime);
 
-    @DataSource(DataSourceType.CLICKHOUSE)
     void insert(@Param("data")WatchTemperatureData data);
 
 
-    @DataSource(DataSourceType.CLICKHOUSE)
     List<WatchTemperatureData> queryByDateAndDeviceId(@Param("date")String date, @Param("deviceId")String deviceId);
 
-    @DataSource(DataSourceType.CLICKHOUSE)
     WatchTemperatureData getLatest(@Param("deviceId")String deviceId);
 
-    @DataSource(DataSourceType.CLICKHOUSE)
     List<WatchTemperatureData> page(WatchDataQueryParam param);
 
-    @DataSource(DataSourceType.CLICKHOUSE)
     List<WatchTemperatureData> list(@Param("startTime")Date startTime,@Param("endTime") Date endTime,@Param("deviceId") String deviceId);
+
+    List<Map<String, Object>> countByDate(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("deviceId") String deviceId);
 }

+ 3 - 1
fs-service/src/main/java/com/fs/watch/mapper/WatchUserMapper.java

@@ -38,7 +38,7 @@ public interface WatchUserMapper {
      * @param deviceId
      * @return
      */
-    WatchFsUser selectWatchFsUserByDeviceId(String deviceId);
+    WatchFsUser selectWatchFsUserByDeviceIdAndUserId(@Param("deviceId") String deviceId,@Param("userId") Long userId,@Param("type") Integer type);
 
     /**
      * 查询指定行数据
@@ -82,5 +82,7 @@ public interface WatchUserMapper {
     List<WatchUserAndHealthVo> listByDeviceIdNotNull();
 
     FsHealthTongue getLastTongueByDeviceId(@Param("deviceId") String deviceId);
+
+    List<WatchFsUser> selectWatchFsUserByDeviceId(@Param("deviceId")String deviceId);
 }
 

+ 1 - 3
fs-service/src/main/java/com/fs/watch/service/DeviceSetUpService.java

@@ -4,8 +4,6 @@ import com.fs.common.core.domain.AjaxResult;
 import com.fs.watch.domain.*;
 import com.fs.watch.domain.vo.AlarmClockVos;
 
-import javax.servlet.http.HttpServletRequest;
-
 public interface DeviceSetUpService {
     Boolean userinfo(UserInfo userInfo);
 
@@ -73,5 +71,5 @@ public interface DeviceSetUpService {
 
     Boolean temperatureUnit (String deviceNumber,Integer unit);
 
-    DeviceUserInfo getUserinfo(String deviceId);
+    DeviceUserInfo getUserinfo(String deviceId,Long userId,Integer selectType);
 }

+ 4 - 0
fs-service/src/main/java/com/fs/watch/service/WatchAlarmDataService.java

@@ -34,4 +34,8 @@ public interface WatchAlarmDataService{
     Boolean deleteByIds(List<String> ids);
 
     Integer setStatusById(List<String> ids);
+
+    Integer setAppStatusByDeviceId(String deviceId);
+
+    Boolean deleteByDeviceId(String deviceId);
 }

+ 4 - 0
fs-service/src/main/java/com/fs/watch/service/WatchBasicInfoService.java

@@ -1,9 +1,11 @@
 package com.fs.watch.service;
 
 import com.fs.watch.domain.WatchBasicInfo;
+import com.fs.watch.domain.vo.AppFsUserHealthReportVo;
 import com.fs.watch.domain.vo.GnssVo;
 import com.fs.watch.param.WatchDataQueryParam;
 
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
@@ -43,4 +45,6 @@ public interface WatchBasicInfoService{
     List<WatchBasicInfo> page(WatchDataQueryParam param);
 
     List<GnssVo> queryGnssByDate(String starTime, String endTime, String deviceId);
+
+    AppFsUserHealthReportVo getAppFsUserHealthReportVo(Date startTime, Date endTime, String deviceId);
 }

+ 31 - 0
fs-service/src/main/java/com/fs/watch/service/WatchBeginnerGuideService.java

@@ -0,0 +1,31 @@
+package com.fs.watch.service;
+
+
+import com.fs.watch.domain.WatchBeginnerGuide;
+
+import java.util.List;
+
+/**
+ * 新手引导Service接口
+ *
+ * @author fs
+ * @date 2024-09-06
+ */
+public interface WatchBeginnerGuideService
+{
+    /**
+     * 查询新手引导
+     *
+     * @param id 新手引导主键
+     * @return 新手引导
+     */
+    public WatchBeginnerGuide selectWatchBeginnerGuideById(Long id);
+
+    /**
+     * 查询新手引导列表
+     *
+     * @param deviceBeginnerGuide 新手引导
+     * @return 新手引导集合
+     */
+    public List<WatchBeginnerGuide> selectWatchBeginnerGuideList(WatchBeginnerGuide deviceBeginnerGuide);
+}

+ 0 - 3
fs-service/src/main/java/com/fs/watch/service/WatchBloodGlucoseDataService.java

@@ -1,7 +1,6 @@
 package com.fs.watch.service;
 
 import com.fs.watch.domain.WatchBloodGlucoseData;
-import com.fs.watch.domain.WatchThirdBpData;
 
 import java.util.Date;
 import java.util.List;
@@ -20,8 +19,6 @@ public interface WatchBloodGlucoseDataService{
 
     List<WatchBloodGlucoseData> queryBgByDate(Date startTime, Date endTime, String deviceId, Integer status);
 
-    Integer getStatus(int glu);
-
     List<Map<String,Object>> countBgByDate(Date startTime, Date endTime, String deviceId);
 
     WatchBloodGlucoseData getLatest(String deviceId);

+ 0 - 1
fs-service/src/main/java/com/fs/watch/service/WatchBloodPressureDataService.java

@@ -20,7 +20,6 @@ public interface WatchBloodPressureDataService{
 
     List<?> queryBpByDate(Date startTime, Date endTime, String deviceId, Integer status);
 
-    Integer getStatus(int sbp, int dbp);
 
     List<Map<String, Object>> countBpByDate(Date startTime, Date endTime, String deviceId);
 

+ 0 - 3
fs-service/src/main/java/com/fs/watch/service/WatchContinuousSpo2DataService.java

@@ -1,12 +1,9 @@
 package com.fs.watch.service;
 
 import com.fs.watch.domain.WatchContinuousSpo2Data;
-import com.fs.watch.domain.vo.WatchContinuousSpo2DataVo;
 import com.fs.watch.domain.vo.WatchPulseRateVo;
-import com.fs.watch.domain.vo.WatchSpo2DataVo;
 
 import java.util.List;
-import java.util.Map;
 
 /**
 * @author Administrator

+ 4 - 4
fs-service/src/main/java/com/fs/watch/service/WatchDataService.java

@@ -1,6 +1,5 @@
 package com.fs.watch.service;
 
-import com.fs.watch.domain.DevicePhonebook;
 import com.fs.watch.domain.PhoneBookObject;
 import com.fs.watch.domain.vo.AppInfoVo;
 import com.fs.watch.domain.vo.FsMonitorDataVo;
@@ -10,10 +9,9 @@ import com.fs.watch.domain.vo.WatchLastHealthDataVo;
 import java.util.List;
 
 public interface WatchDataService {
-    List<FsMonitorDataVo> queryIndexWatchData(List<String> types, String deviceId);
+    List<FsMonitorDataVo> queryIndexWatchData(List<String> types, String deviceId,String userId);
 
-    ////todo
-    List<AppInfoVo> getUserByDeviceId(String deviceIds, Boolean isFamily);
+    List<AppInfoVo> getUserByDeviceId(String deviceIds, Boolean isFamily,Long userId);
 
     Boolean power(String deviceId, Boolean isLcdgesture, Boolean isLocation, Boolean isPower, Boolean isHeartHealth);
 
@@ -28,4 +26,6 @@ public interface WatchDataService {
     List<WatchLastHealthDataVo> queryLastWatchData(String deviceId);
 
     List<PhoneBookObject> querySos(String deviceId);
+
+    Boolean queryHealthStatus(String deviceId);
 }

+ 62 - 0
fs-service/src/main/java/com/fs/watch/service/WatchDeviceAccountService.java

@@ -0,0 +1,62 @@
+package com.fs.watch.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.fs.watch.domain.WatchDeviceAccount;
+
+import java.util.List;
+
+/**
+ * 设备(睡眠,房颤查询账户记录)Service接口
+ *
+ * @author fs
+ * @date 2025-05-09
+ */
+public interface WatchDeviceAccountService extends IService<WatchDeviceAccount>{
+    /**
+     * 查询设备(睡眠,房颤查询账户记录)
+     *
+     * @param id 设备(睡眠,房颤查询账户记录)主键
+     * @return 设备(睡眠,房颤查询账户记录)
+     */
+    WatchDeviceAccount selectWatchDeviceAccountById(Long id);
+
+    /**
+     * 查询设备(睡眠,房颤查询账户记录)列表
+     *
+     * @param watchDeviceAccount 设备(睡眠,房颤查询账户记录)
+     * @return 设备(睡眠,房颤查询账户记录)集合
+     */
+    List<WatchDeviceAccount> selectWatchDeviceAccountList(WatchDeviceAccount watchDeviceAccount);
+
+    /**
+     * 新增设备(睡眠,房颤查询账户记录)
+     *
+     * @param watchDeviceAccount 设备(睡眠,房颤查询账户记录)
+     * @return 结果
+     */
+    int insertWatchDeviceAccount(WatchDeviceAccount watchDeviceAccount);
+
+    /**
+     * 修改设备(睡眠,房颤查询账户记录)
+     *
+     * @param watchDeviceAccount 设备(睡眠,房颤查询账户记录)
+     * @return 结果
+     */
+    int updateWatchDeviceAccount(WatchDeviceAccount watchDeviceAccount);
+
+    /**
+     * 批量删除设备(睡眠,房颤查询账户记录)
+     *
+     * @param ids 需要删除的设备(睡眠,房颤查询账户记录)主键集合
+     * @return 结果
+     */
+    int deleteWatchDeviceAccountByIds(Long[] ids);
+
+    /**
+     * 删除设备(睡眠,房颤查询账户记录)信息
+     *
+     * @param id 设备(睡眠,房颤查询账户记录)主键
+     * @return 结果
+     */
+    int deleteWatchDeviceAccountById(Long id);
+}

+ 62 - 0
fs-service/src/main/java/com/fs/watch/service/WatchDeviceDayService.java

@@ -0,0 +1,62 @@
+package com.fs.watch.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.fs.watch.domain.WatchDeviceDay;
+
+import java.util.List;
+
+/**
+ * 每天设备信息汇总Service接口
+ *
+ * @author fs
+ * @date 2025-04-23
+ */
+public interface WatchDeviceDayService extends IService<WatchDeviceDay>{
+    /**
+     * 查询每天设备信息汇总
+     *
+     * @param id 每天设备信息汇总主键
+     * @return 每天设备信息汇总
+     */
+    WatchDeviceDay selectWatchDeviceDayById(Long id);
+
+    /**
+     * 查询每天设备信息汇总列表
+     *
+     * @param watchDeviceDay 每天设备信息汇总
+     * @return 每天设备信息汇总集合
+     */
+    List<WatchDeviceDay> selectWatchDeviceDayList(WatchDeviceDay watchDeviceDay);
+
+    /**
+     * 新增每天设备信息汇总
+     *
+     * @param watchDeviceDay 每天设备信息汇总
+     * @return 结果
+     */
+    int insertWatchDeviceDay(WatchDeviceDay watchDeviceDay);
+
+    /**
+     * 修改每天设备信息汇总
+     *
+     * @param watchDeviceDay 每天设备信息汇总
+     * @return 结果
+     */
+    int updateWatchDeviceDay(WatchDeviceDay watchDeviceDay);
+
+    /**
+     * 批量删除每天设备信息汇总
+     *
+     * @param ids 需要删除的每天设备信息汇总主键集合
+     * @return 结果
+     */
+    int deleteWatchDeviceDayByIds(Long[] ids);
+
+    /**
+     * 删除每天设备信息汇总信息
+     *
+     * @param id 每天设备信息汇总主键
+     * @return 结果
+     */
+    int deleteWatchDeviceDayById(Long id);
+}

+ 0 - 3
fs-service/src/main/java/com/fs/watch/service/WatchDeviceInfoClicService.java

@@ -2,11 +2,8 @@ package com.fs.watch.service;
 
 import com.fs.common.core.page.TableDataInfo;
 import com.fs.watch.domain.WatchDeviceInfoClic;
-import com.fs.watch.domain.vo.WatchDeviceInfoAndIotVo;
-import com.fs.watch.domain.vo.WatchDeviceInfoVo;
 import com.fs.watch.param.DeviceIdAndIotInfoQueryParam;
 import com.fs.watch.param.WatchDeviceInfoClicParam;
-import com.fs.watch.param.WatchDeviceInfoQueryParam;
 
 import java.util.List;
 

Some files were not shown because too many files changed in this diff