重构监测首页接口
This commit is contained in:
+83
@@ -0,0 +1,83 @@
|
||||
package com.renkang.watch;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.renkang.watch.vo.WatchH5IndexItemVo;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
public class WatchH5IndexItemNewVo {
|
||||
@Schema(title = "数据类型")
|
||||
private String wdType;
|
||||
@Schema(title = "数据类型名称")
|
||||
private String wdTypeName;
|
||||
@Schema(title = "最新数据日期")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
private Date dataDate;
|
||||
/**
|
||||
* 注意 当wdType=sleep时此字段返回长睡时长
|
||||
*/
|
||||
@Schema(title = "监测数据最大值(当wdType=sleep时此字段返回长睡时长)")
|
||||
private String dataMax;
|
||||
/**
|
||||
*注意 当wdType=sleep时此字段返回短睡时长
|
||||
*/
|
||||
@Schema(title = "监测数据最小值(当wdType=sleep时此字段返回短睡时长)")
|
||||
private String dataMin;
|
||||
@Schema(title = "监测数据平均值")
|
||||
private String dataAvg;
|
||||
@Schema(title = "最新数据值")
|
||||
private String dataValue;
|
||||
@Schema(title = "最低阈值")
|
||||
private String warnMin;
|
||||
@Schema(title = "最高阈值")
|
||||
private String warnMax;
|
||||
|
||||
public String getDataAvg() {
|
||||
if(StrUtil.isNotEmpty(dataAvg)){
|
||||
try {
|
||||
return BigDecimal.valueOf(Double.parseDouble(dataAvg)).setScale(1, RoundingMode.HALF_UP).toString();
|
||||
} catch (NumberFormatException e) {
|
||||
return dataAvg;
|
||||
}
|
||||
}
|
||||
return dataAvg;
|
||||
}
|
||||
|
||||
public String getWdTypeName() {
|
||||
if (!StringUtils.hasLength(wdType)) {
|
||||
return "";
|
||||
}
|
||||
switch (wdType) {
|
||||
case "sleep":
|
||||
return "睡眠";
|
||||
case "steps":
|
||||
return "步数";
|
||||
case "heart_rate":
|
||||
return "心率";
|
||||
case "spo2":
|
||||
return "血氧饱和度";
|
||||
case "stress":
|
||||
return "压力";
|
||||
case "temperature":
|
||||
return "体温";
|
||||
default:
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
public void fieldCopy(WatchH5IndexItemVo watchH5IndexItemVo){
|
||||
this.setWarnMax(watchH5IndexItemVo.getWarnMax());
|
||||
this.setWarnMin(watchH5IndexItemVo.getWarnMin());
|
||||
this.setWdType(watchH5IndexItemVo.getWdType());
|
||||
this.setWdTypeName(watchH5IndexItemVo.getWdTypeName());
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package com.renkang.watch.vo;
|
||||
|
||||
import com.renkang.watch.WatchH5IndexItemNewVo;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@Schema(title = "手表监测首页数据V2版本")
|
||||
public class WatchIndexNewVo {
|
||||
@Schema(title = "手表使用天数")
|
||||
private Integer days = 0;
|
||||
@Schema(title = "步行距离")
|
||||
private Integer distance;
|
||||
@Schema(title = "平均睡眠(所有数据求出的平均睡眠)")
|
||||
private Double aveSleep;
|
||||
@Schema(title = "各项指标数据")
|
||||
private List<WatchH5IndexItemNewVo> indexItemVos;
|
||||
}
|
||||
Reference in New Issue
Block a user