Commit 0eeb8f98 authored by June's avatar June

v2- 新增 data-center

parent 5a2b8fe9
package com.jiankangyouyi.cloud.basedata.model.excel;
import java.io.Serializable;
import java.util.LinkedHashMap;
/**
* Excel对象
*
* @author yangsongbo
*/
public interface BaseDataExcel extends Serializable {
/**
* 获取表头
*
* @return 表头,key为属性,value为属性名称
*/
LinkedHashMap<String, String> getHeader();
}
package com.jiankangyouyi.cloud.basedata.model.excel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.LinkedHashMap;
/**
* 食材表Excel对象
*
* @author :wangyalei
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class FoodMaterialExcel implements BaseDataExcel {
private static final long serialVersionUID = 1L;
/**
* 食物ID
*/
private String foodId;
/**
* 食物图片URL
*/
private String imageUrl;
/**
* 食物名称
*/
private String foodName;
/**
* 一级分类名称
*/
private String classify1Name;
/**
* 二级分类名称
*/
private String classify2Name;
/**
* 三级分类名称
*/
private String classify3Name;
/**
* 时令
*/
private String months;
/**
* 地区
*/
private String countryDistricts;
/**
* 禁忌民族
*/
private String tabooNations;
/**
* 食物状态: 启用/禁用/草稿/删除
*/
private String foodStatus;
/**
* 审核状态 0、草稿 1、待审核 2、已审核 3、已驳回
*/
private String auditStatus;
/**
* 是否参与配餐: 是/否
*/
private String catering;
/**
* 配餐版本号
*/
private String foodVersions;
/**
* 被加工食品引用数量
*/
private String refCount;
/**
* 推荐人群,返回示例:糖尿病、肥胖
*/
private String recommendCrowds;
/**
* 禁忌人群,返回示例:糖尿病、肥胖
*/
private String tabooCrowds;
/**
* 致敏原
*/
private String allergen;
/**
* 富含营养素,返回示例:钾、镁
*/
private String highContentNutrients;
/**
* 低量营养素,返回示例:钾、镁
*/
private String lowContentNutrients;
/**
* 升糖指数等级, 高/中/低/未知
*/
private String giLevel;
/**
* 血糖负荷等级, 高/中/低/未知
*/
private String glLevel;
/**
* 嘌呤等级, 高/中/低/未知
*/
private String purineLevel;
/**
* 果糖含量等级, 高/中/低/未知
*/
private String fructoseLevel;
/**
* 性质, 返回示例:产气、家常菜、辛辣刺激
*/
private String natures;
/**
* 膳食特点, 返回示例:全谷物、优质蛋白
*/
private String foodSpecialties;
/**
* 能量,单位 kcal
*/
private String energy;
/**
* 蛋白质,单位 g
*/
private String protein;
/**
* 脂肪,单位 g
*/
private String fat;
/**
* 碳水化合物,单位 g
*/
private String carbohydrate;
/**
* 创建人
*/
private String createAccount;
/**
* 采纳人
*/
private String adoptAccount;
/**
* 创建时间
*/
private String createTime;
/**
* 采纳时间
*/
private String adoptTime;
/**
* 修改人
*/
private String updateAccount;
/**
* 驳回理由
*/
private String reasonsForRejection;
/**
* 更新时间 yyyy-MM-dd HH:mm:ss
*/
private String updateTime;
/**
* Excel头
*/
public static LinkedHashMap<String, String> HEADER;
static {
HEADER = new LinkedHashMap<>();
HEADER.put("foodId", "食物ID");
HEADER.put("imageUrl", "食物图片");
HEADER.put("foodName", "食物名称");
HEADER.put("classify1Name", "一级分类");
HEADER.put("classify2Name", "二级分类");
HEADER.put("classify3Name", "三级分类");
HEADER.put("months", "时令");
HEADER.put("countryDistricts", "地区");
HEADER.put("tabooNations", "禁忌民族");
HEADER.put("foodStatus", "使用状态");
HEADER.put("auditStatus", "审核状态");
HEADER.put("refCount", "引用次数");
HEADER.put("catering", "参与配餐");
HEADER.put("foodVersions", "配餐版本号");
HEADER.put("recommendCrowds", "推荐人群");
HEADER.put("tabooCrowds", "禁忌人群");
HEADER.put("allergen", "致敏原");
HEADER.put("highContentNutrients", "富含营养素");
HEADER.put("lowContentNutrients", "低量营养素");
HEADER.put("giLevel", "升糖指数");
HEADER.put("glLevel", "血糖负荷");
HEADER.put("purineLevel", "嘌呤等级");
HEADER.put("fructoseLevel", "果糖含量");
HEADER.put("natures", "性质");
HEADER.put("foodSpecialties", "膳食特点");
HEADER.put("energy", "能量/kcal");
HEADER.put("protein", "蛋白质/g");
HEADER.put("fat", "脂肪/g");
HEADER.put("carbohydrate", "碳水化合物");
HEADER.put("createAccount", "创建人");
HEADER.put("adoptAccount", "采纳人");
HEADER.put("createTime", "创建时间");
HEADER.put("adoptTime", "采纳时间");
HEADER.put("updateAccount", "修改人");
HEADER.put("reasonsForRejection", "驳回理由");
HEADER.put("updateTime", "修改时间");
}
@Override
public LinkedHashMap<String, String> getHeader() {
return HEADER;
}
}
package com.jiankangyouyi.cloud.basedata.model.excel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.LinkedHashMap;
/**
* 预包装食品Excel对象
*
* @author :wangyalei
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class FoodPackageExcel implements BaseDataExcel {
private static final long serialVersionUID = 1L;
/**
* 食物ID
*/
private String foodId;
/**
* 食物图片URL
*/
private String imageUrl;
/**
* 食物名称
*/
private String foodName;
/**
* 一级分类名称
*/
private String classify1Name;
/**
* 二级分类名称
*/
private String classify2Name;
/**
* 三级分类名称
*/
private String classify3Name;
/**
* 食物状态 (使用状态): 启用/禁用
*/
private String foodStatus;
/**
* 审核状态: 草稿、已采纳 、待审核
*/
private String auditStatus;
/**
* 能量,单位 kcal
*/
private String energy;
/**
* 蛋白质,单位 g
*/
private String protein;
/**
* 脂肪,单位 g
*/
private String fat;
/**
* 碳水化合物,单位 g
*/
private String carbohydrate;
/**
* 条形码
*/
private String barCode;
/**
* 创建人
*/
private String createAccount;
/**
* 采纳人
*/
private String adoptAccount;
/**
* 创建时间
*/
private String createTime;
/**
* 采纳时间
*/
private String adoptTime;
/**
* 修改人
*/
private String updateAccount;
/**
* 驳回理由
*/
private String reasonsForRejection;
/**
* 更新时间 yyyy-MM-dd HH:mm:ss
*/
private String updateTime;
/**
* Excel头
*/
public static LinkedHashMap<String, String> HEADER;
static {
HEADER = new LinkedHashMap<>();
HEADER.put("foodId", "食物ID");
HEADER.put("imageUrl", "食物图片");
HEADER.put("foodName", "食物名称");
HEADER.put("classify1Name", "一级分类");
HEADER.put("classify2Name", "二级分类");
HEADER.put("classify3Name", "三级分类");
HEADER.put("energy", "能量/kcal");
HEADER.put("protein", "蛋白质/g");
HEADER.put("fat", "脂肪/g");
HEADER.put("carbohydrate", "碳水化合物/g");
HEADER.put("foodStatus", "使用状态");
HEADER.put("auditStatus", "审核状态");
HEADER.put("barCode", "条形码");
HEADER.put("createAccount", "创建人");
HEADER.put("adoptAccount", "采纳人");
HEADER.put("createTime", "创建时间");
HEADER.put("adoptTime", "采纳时间");
HEADER.put("updateAccount", "修改人");
HEADER.put("reasonsForRejection", "驳回理由");
HEADER.put("updateTime", "更新时间");
}
@Override
public LinkedHashMap<String, String> getHeader() {
return HEADER;
}
}
package com.jiankangyouyi.cloud.basedata.model.excel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.LinkedHashMap;
/**
* 加工食品Excel对象
*
* @author yangsongbo
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class FoodProcessExcel implements BaseDataExcel {
private static final long serialVersionUID = 1L;
/**
* 食物ID
*/
private String foodId;
/**
* 食物图片URL
*/
private String imageUrl;
/**
* 食物名称
*/
private String foodName;
/**
* 一级分类名称
*/
private String classify1Name;
/**
* 二级分类名称
*/
private String classify2Name;
/**
* 三级分类名称
*/
private String classify3Name;
/**
* 地区
*/
private String countryDistricts;
/**
* 时令
*/
private String months;
/**
* 禁忌民族
*/
private String tabooNations;
/**
* 适合餐别
*/
private String suitableForMeals;
/**
* 食物状态: 启用/禁用/草稿/删除
*/
private String foodStatus;
/**
* 审核状态 0、草稿 1、待审核 2、已审核 3、已驳回
*/
private String auditStatus;
/**
* 是否参与配餐: 是/否
*/
private String catering;
/**
* 节日
*/
private String festivalNames;
/**
* 节气
*/
private String solarTermNames;
/**
* 配餐版本号
*/
private String foodVersions;
/**
* 推荐人群,返回示例:糖尿病、肥胖
*/
private String recommendCrowds;
/**
* 禁忌人群,返回示例:糖尿病、肥胖
*/
private String tabooCrowds;
/**
* 致敏原
*/
private String allergen;
/**
* 富含营养素,返回示例:钾、镁
*/
private String highContentNutrients;
/**
* 低量营养素,返回示例:钾、镁
*/
private String lowContentNutrients;
/**
* 升糖指数等级, 高/中/低/未知
*/
private String giLevel;
/**
* 血糖负荷等级, 高/中/低/未知
*/
private String glLevel;
/**
* 嘌呤等级, 高/中/低/未知
*/
private String purineLevel;
/**
* 果糖含量等级, 高/中/低/未知
*/
private String fructoseLevel;
/**
* 性质, 返回示例:产气、家常菜、辛辣刺激
*/
private String natures;
/**
* 膳食特点, 返回示例:全谷物、优质蛋白
*/
private String foodSpecialties;
/**
* 烹饪特点, 返回示例:干、湿
*/
private String cookingSpecialties;
/**
* 能量,单位 kcal
*/
private String energy;
/**
* 蛋白质,单位 g
*/
private String protein;
/**
* 脂肪,单位 g
*/
private String fat;
/**
* 碳水化合物,单位 g
*/
private String carbohydrate;
/**
* 口味
*/
private String tastes;
/**
* 创建人
*/
private String createAccount;
/**
* 采纳人
*/
private String adoptAccount;
/**
* 创建时间
*/
private String createTime;
/**
* 采纳时间
*/
private String adoptTime;
/**
* 修改人
*/
private String updateAccount;
/**
* 驳回理由
*/
private String reasonsForRejection;
/**
* 更新时间 yyyy-MM-dd HH:mm:ss
*/
private String updateTime;
/**
* Excel头
*/
public static LinkedHashMap<String, String> HEADER;
static {
HEADER = new LinkedHashMap<>();
HEADER.put("foodId", "食物ID");
HEADER.put("imageUrl", "食物图片");
HEADER.put("foodName", "食物名称");
HEADER.put("classify1Name", "一级分类");
HEADER.put("classify2Name", "二级分类");
HEADER.put("classify3Name", "三级分类");
HEADER.put("countryDistricts", "地区");
HEADER.put("months", "时令");
HEADER.put("tabooNations", "禁忌民族");
HEADER.put("suitableForMeals", "适合餐别");
HEADER.put("foodStatus", "使用状态");
HEADER.put("auditStatus", "审核状态");
HEADER.put("catering", "参与配餐");
HEADER.put("foodVersions", "配餐版本号");
HEADER.put("festivalNames", "节日");
HEADER.put("solarTermNames", "节气");
HEADER.put("recommendCrowds", "推荐人群");
HEADER.put("tabooCrowds", "禁忌人群");
HEADER.put("allergen", "致敏原");
HEADER.put("highContentNutrients", "富含营养素");
HEADER.put("lowContentNutrients", "低量营养素");
HEADER.put("giLevel", "升糖指数");
HEADER.put("glLevel", "血糖负荷");
HEADER.put("purineLevel", "嘌呤等级");
HEADER.put("fructoseLevel", "果糖含量");
HEADER.put("natures", "性质");
HEADER.put("foodSpecialties", "膳食特点");
HEADER.put("cookingSpecialties", "烹饪特点");
HEADER.put("energy", "能量/kcal");
HEADER.put("protein", "蛋白质/g");
HEADER.put("fat", "脂肪/g");
HEADER.put("carbohydrate", "碳水化合物/g");
HEADER.put("tastes", "口味");
HEADER.put("createAccount", "创建人");
HEADER.put("adoptAccount", "采纳人");
HEADER.put("createTime", "创建时间");
HEADER.put("adoptTime", "采纳时间");
HEADER.put("updateAccount", "修改人");
HEADER.put("reasonsForRejection", "驳回理由");
HEADER.put("updateTime", "修改时间");
}
@Override
public LinkedHashMap<String, String> getHeader() {
return HEADER;
}
}
package com.jiankangyouyi.cloud.basedata.model.excel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.LinkedHashMap;
/**
* 海外食材表Excel对象
*
* @author yangsongbo
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class ForeignFoodMaterialExcel implements BaseDataExcel {
private static final long serialVersionUID = 1L;
/**
* 食物ID
*/
private String foodId;
/**
* 食物图片URL
*/
private String imageUrl;
/**
* 中文名称
*/
private String foodNameZh;
/**
* 一级分类名称
*/
private String classify1Name;
/**
* 二级分类名称
*/
private String classify2Name;
/**
* 三级分类名称
*/
private String classify3Name;
/**
* 四级分类名称
*/
private String classfiy4Name;
/**
* 引用次数
*/
private String refCount;
/**
* 源语言
*/
private String foodSource;
/**
* 英文名称
*/
private String foodNameEn;
/**
* 德文名称
*/
private String foodNameGe;
/**
* 意文名称
*/
private String foodNameIt;
/**
* 食物状态: 0 已采纳 1 已驳回 2 草稿 3 待审核
*/
private String foodStatus;
/**
* 是否参与配餐: 是/否
*/
private String catering;
/**
* 支持的国家: 意大利、德国
*/
private String supportDomains;
/**
* 能量(Kcal)
*/
private String energy;
/**
* 蛋白质(g)
*/
private String protein;
/**
* 脂肪(g)
*/
private String fat;
/**
* 碳水化合物(g)
*/
private String carbohydrate;
/**
* 驳回理由
*/
private String auditMsg;
/**
* 创建人账号
*/
private String createAccount;
/**
* 审核人账号
*/
private String lastAuditAccount;
/**
* 采纳时间 yyyy-MM-dd HH:mm:ss
*/
private String auditPassTime;
/**
* 创建时间 yyyy-MM-dd HH:mm:ss
*/
private String createTime;
/**
* Excel头
*/
public static LinkedHashMap<String, String> HEADER;
static {
HEADER = new LinkedHashMap<>();
HEADER.put("foodId", "食物ID");
HEADER.put("imageUrl", "食物图片");
HEADER.put("foodNameZh", "中文名称");
HEADER.put("classify1Name", "一级分类");
HEADER.put("classify2Name", "二级分类");
HEADER.put("classify3Name", "三级分类");
HEADER.put("classfiy4Name", "四级分类");
HEADER.put("refCount", "引用次数");
HEADER.put("foodSource", "源语言");
HEADER.put("foodNameEn", "英文名称");
HEADER.put("foodNameGe", "德文名称");
HEADER.put("foodNameIt", "意文名称");
HEADER.put("foodStatus", "当前状态");
HEADER.put("catering", "参与配餐");
HEADER.put("supportDomains", "支持国家");
HEADER.put("energy", "能量(Kcal)");
HEADER.put("protein", "蛋白质(g)");
HEADER.put("fat", "脂肪(g)");
HEADER.put("carbohydrate", "碳水化合物(g)");
HEADER.put("auditMsg", "驳回理由");
HEADER.put("createAccount", "创建人账号");
HEADER.put("lastAuditAccount", "审核人账号");
HEADER.put("auditPassTime", "采纳时间");
HEADER.put("createTime", "创建时间");
}
@Override
public LinkedHashMap<String, String> getHeader() {
return HEADER;
}
}
package com.jiankangyouyi.cloud.basedata.model.excel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.LinkedHashMap;
/**
* 预包装食品Excel对象
*
* @author :wangyalei
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class ForeignFoodPackageExcel implements BaseDataExcel {
private static final long serialVersionUID = 1L;
/**
* 食物ID
*/
private String foodId;
/**
* 食物图片URL
*/
private String imageUrl;
/**
* 中文名称
*/
private String foodNameZh;
/**
* 一级分类名称
*/
private String classify1Name;
/**
* 二级分类名称
*/
private String classify2Name;
/**
* 源语言
*/
private String foodSource;
/**
* 英文名称
*/
private String foodNameEn;
/**
* 德文名称
*/
private String foodNameGe;
/**
* 意文名称
*/
private String foodNameIt;
/**
* 食物版本号
*/
private String foodVersions;
/**
* 能量(Kcal)
*/
private String energy;
/**
* 能量(KJ)
*/
private String energyKJ;
/**
* 总脂肪(g)
*/
private String fat;
/**
* 饱和脂肪酸(g)
*/
private String saturatedFattyAcid;
/**
* 总碳水化合物(g)
*/
private String carbohydrate;
/**
* 糖(g)
*/
private String sugar;
/**
* 总蛋白质(g)
*/
private String protein;
/**
* 盐(g)
*/
private String theTotalSalt;
/**
* 食物状态: 0 已采纳 1 已驳回 2 草稿 3 待审核
*/
private String foodStatus;
/**
* 条形码
*/
private String barCode;
/**
* 驳回理由
*/
private String auditMsg;
/**
* 创建人账号
*/
private String createAccount;
/**
* 最后一次审核人账号
*/
private String lastAuditAccount;
/**
* 采纳时间 yyyy-MM-dd HH:mm:ss
*/
private String auditPassTime;
/**
* 创建时间 yyyy-MM-dd HH:mm:ss
*/
private String createTime;
/**
* Excel头
*/
public static LinkedHashMap<String, String> HEADER;
static {
HEADER = new LinkedHashMap<>();
HEADER.put("foodId", "食物ID");
HEADER.put("imageUrl", "食物图片");
HEADER.put("foodNameZh", "中文名称");
HEADER.put("classify1Name", "一级分类名称");
HEADER.put("classify2Name", "二级分类名称");
HEADER.put("foodSource", "源语言");
HEADER.put("foodNameEn", "英文名称");
HEADER.put("foodNameGe", "德文名称");
HEADER.put("foodNameIt", "意文名称");
HEADER.put("foodVersions", "食物版本号");
HEADER.put("energy", "能量(Kcal)");
HEADER.put("energyKJ", "能量(KJ)");
HEADER.put("fat", "总脂肪(g)");
HEADER.put("saturatedFattyAcid", "饱和脂肪酸(g)");
HEADER.put("carbohydrate", "总碳水化合物(g)");
HEADER.put("sugar", "糖(g)");
HEADER.put("protein", "总蛋白质(g)");
HEADER.put("theTotalSalt", "盐(g)");
HEADER.put("foodStatus", "当前状态");
HEADER.put("barCode", "条形码");
HEADER.put("auditMsg", "驳回理由");
HEADER.put("createAccount", "创建人账号");
HEADER.put("lastAuditAccount", "审核人账号");
HEADER.put("auditPassTime", "采纳时间");
HEADER.put("createTime", "创建时间");
}
@Override
public LinkedHashMap<String, String> getHeader() {
return HEADER;
}
}
package com.jiankangyouyi.cloud.basedata.model.excel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.LinkedHashMap;
/**
* 海外加工食品表Excel对象
*
* @author yangsongbo
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class ForeignFoodProcessExcel implements BaseDataExcel {
private static final long serialVersionUID = 1L;
/**
* 食物ID
*/
private String foodId;
/**
* 食物图片URL
*/
private String imageUrl;
/**
* 中文名称
*/
private String foodNameZh;
/**
* 一级分类名称
*/
private String classify1Name;
/**
* 二级分类名称
*/
private String classify2Name;
/**
* 三级分类名称
*/
private String classify3Name;
/**
* 四级分类名称
*/
private String classfiy4Name;
/**
* 源语言
*/
private String foodSource;
/**
* 英文名称
*/
private String foodNameEn;
/**
* 德文名称
*/
private String foodNameGe;
/**
* 意文名称
*/
private String foodNameIt;
/**
* 食物状态: 0 已采纳 1 已驳回 2 草稿 3 待审核
*/
private String foodStatus;
/**
* 是否参与配餐: 是/否
*/
private String catering;
/**
* 支持的国家: 意大利、德国
*/
private String supportDomains;
/**
* 能量(Kcal)
*/
private String energy;
/**
* 蛋白质(g)
*/
private String protein;
/**
* 脂肪(g)
*/
private String fat;
/**
* 碳水化合物(g)
*/
private String carbohydrate;
/**
* 驳回理由
*/
private String auditMsg;
/**
* 创建人账号
*/
private String createAccount;
/**
* 审核人账号
*/
private String lastAuditAccount;
/**
* 采纳时间 yyyy-MM-dd HH:mm:ss
*/
private String auditPassTime;
/**
* 创建时间 yyyy-MM-dd HH:mm:ss
*/
private String createTime;
/**
* Excel头
*/
public static LinkedHashMap<String, String> HEADER;
static {
HEADER = new LinkedHashMap<>();
HEADER.put("foodId", "食物ID");
HEADER.put("imageUrl", "食物图片");
HEADER.put("foodNameZh", "中文名称");
HEADER.put("classify1Name", "一级分类");
HEADER.put("classify2Name", "二级分类");
HEADER.put("classify3Name", "三级分类");
HEADER.put("classfiy4Name", "四级分类");
HEADER.put("foodSource", "源语言");
HEADER.put("foodNameEn", "英文名称");
HEADER.put("foodNameGe", "德文名称");
HEADER.put("foodNameIt", "意文名称");
HEADER.put("foodStatus", "当前状态");
HEADER.put("catering", "参与配餐");
HEADER.put("supportDomains", "支持国家");
HEADER.put("energy", "能量(Kcal)");
HEADER.put("protein", "蛋白质(g)");
HEADER.put("fat", "脂肪(g)");
HEADER.put("carbohydrate", "碳水化合物(g)");
HEADER.put("auditMsg", "驳回理由");
HEADER.put("createAccount", "创建人账号");
HEADER.put("lastAuditAccount", "审核人账号");
HEADER.put("auditPassTime", "采纳时间");
HEADER.put("createTime", "创建时间");
}
@Override
public LinkedHashMap<String, String> getHeader() {
return HEADER;
}
}
package com.jiankangyouyi.cloud.basedata.model.excel;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
import java.util.LinkedHashMap;
import java.util.List;
/**
* 描述
*
* @author qxy
**/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class QuestionsAndAnswersExcel implements BaseDataExcel {
private String questionsAndAnswersId;
/**
* 一级分类
*/
private String classify1Value;
/**
* 二级分类
*/
private String classify2Value;
/**
* 三级分类
*/
private String classify3Value;
/**
* 问题
*/
private String question;
/**
* 标签
*/
private String tags;
/**
* 人群
*/
private String crowdValues;
/**
* 状态 [1:启用][2:停用]
*/
private String status;
/**
* 修改时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date adoptTime;
/**
* 创建时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
/**
* 用户id
*/
private String accountId;
/**
* 采纳人
*/
private String adoptAccountId;
/**
* 答案
*/
private String answer;
/**
* 食材 必填项,可添加多个标签,标签个数最多不能超过10个,每个标签限制1-10个字,不能含有空格、标点符号、特殊符号
*/
private String foodMaterial;
/**
* 疾病
*/
private String disease;
/**
* 参考文献
*/
private String reference;
/**
* Excel头
*/
public static LinkedHashMap<String, String> HEADER;
static {
HEADER = new LinkedHashMap<>();
HEADER.put("questionsAndAnswersId", "知识ID");
HEADER.put("question", "问题名称");
HEADER.put("classify1Value", "一级分类");
HEADER.put("classify2Value", "二级分类");
HEADER.put("classify3Value", "三级分类");
HEADER.put("crowdValues", "人群分组");
HEADER.put("tags", "标签");
HEADER.put("status", "状态");
HEADER.put("accountId", "创建人");
HEADER.put("createTime", "创建时间");
HEADER.put("adoptTime", "采纳时间");
HEADER.put("adoptAccountId", "采纳人");
HEADER.put("foodMaterial", "食材");
HEADER.put("answer", "答案");
HEADER.put("reference", "参考文献");
HEADER.put("disease", "疾病");
}
@Override
public LinkedHashMap<String, String> getHeader() {
return HEADER;
}
}
package com.jiankangyouyi.cloud.basedata.model.message;
import com.jiankangyouyi.cloud.basedata.api.model.vo.food.RecognitionFoodVO;
import com.jiankangyouyi.cloud.basedata.model.vo.external.AiFoodRecognitionResVO;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* 食物识别调用 MQ Message
*
* @author yangsongbo
**/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class FoodRecognitionMessage implements Serializable {
/**
* 请求ID
*/
private String requestId;
/**
* 应用ID
*/
private String appId;
/**
* 创建日期 yyyy-MM-dd
*/
private String createDate;
/**
* 创建时间 yyyy-MM-dd HH:mm:ss
*/
private String createTime;
/**
* 食物识别图片Base64
*/
private String image;
/**
* 返回结果数,取值范围[1,5],为空默认为1,结果按照置信度倒序排列
*/
private Integer top;
/**
* 图片宽度
*/
private Integer imageWidth;
/**
* AI算法返回结果
*/
private AiFoodRecognitionResVO aiRecognitionRes;
/**
* 食物识别返回信息
*/
private List<RecognitionFoodVO> recognitionFoodList;
}
package com.jiankangyouyi.cloud.basedata.model.param.food;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.StringUtils;
/**
* 食物识别请求参数
*
* @author june
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class FoodDistinguishParam {
/**
* 图片地址
*/
private String foodImageUrl;
/**
* base 64
*/
private String foodImageBase64;
/**
* 返回几条
*/
private Integer top;
/**
* 是否全不为空
*
* @return 是否全部为空
*/
public boolean isAllNull() {
return StringUtils.isBlank(foodImageUrl) && StringUtils.isBlank(foodImageBase64);
}
}
package com.jiankangyouyi.cloud.basedata.model.query;
import com.jiankangyouyi.cloud.basedata.model.dto.manager.food.component.ClassifyQuery;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
import java.util.List;
/**
* 底层库管理-食材列表查询对象
*
* @author yangsongbo
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class ManagerFoodMaterialListQuery {
private static final long serialVersionUID = 1L;
/**
* 食物ID,非必输
*/
private String foodId;
/**
* 食物名称,模糊匹配,非必输
*/
private String foodName;
/**
* 食物状态: 0 启用 1 禁用 非必输
*/
private List<String> foodStatus;
/**
* 审核状态 0、草稿 1、待审核 2、已审核 3、已驳回
*/
private List<String> auditStatus;
/**
* 分类查询
*/
private List<ClassifyQuery> classifyQueryList;
/**
* 是否参与配餐: true/false,非必输
*/
private Boolean catering;
/**
* 推荐人群:字典大类02,字典子类0205,非必输
*/
private List<String> recommendCrowds;
/**
* 禁忌人群:字典大类02,字典子类0205,非必输
*/
private List<String> tabooCrowds;
/**
* 推荐人群 是否选择空选项
*/
@Builder.Default
private Boolean recommendCrowdsSelectNull = false;
/**
* 禁忌人群 是否选择空选项
*/
@Builder.Default
private Boolean tabooCrowdsSelectNull = false;
/**
* 富含营养素:字典大类02,字典子类0206,非必输
*/
private List<String> highContentNutrients;
/**
* 低量营养素:字典大类02,字典子类0218,非必输
*/
private List<String> lowContentNutrients;
/**
* 致敏原: 字典大类02,字典子类 0234
*/
private List<String> allergen;
/**
* 升糖指数等级, HIGH 高,MIDDLE 中,LOW 低,UNKNOWN 未知,非必输
*/
private List<String> giLevel;
/**
* 血糖负荷等级, HIGH 高,MIDDLE 中,LOW 低,UNKNOWN 未知,非必输
*/
private List<String> glLevel;
/**
* 嘌呤等级, HIGH 高,MIDDLE 中,LOW 低,UNKNOWN 未知,非必输
*/
private List<String> purineLevel;
/**
* 果糖含量等级, HIGH 高,MIDDLE 中,LOW 低,UNKNOWN 未知,非必输
*/
private List<String> fructoseLevel;
/**
* 性质:字典大类02,字典子类0225,非必输
*/
private List<String> natures;
/**
* 膳食特点:字典大类02,字典子类0214,非必输
*/
private List<String> foodSpecialties;
/**
* 修改开始时间,非必输
*/
private Date updateBeginTime;
/**
* 修改结束时间,非必输
*/
private Date updateEndTime;
/**
* 创建者账号
*/
private String createAccount;
/**
* 修改者账号
*/
private String updateAccount;
/**
* 采纳人账号
*/
private String adoptAccount;
/**
* 创建开始时间,yyyy-MM-dd HH:mm:ss
*/
private Date createBeginTime;
/**
* 创建结束时间,yyyy-MM-dd HH:mm:ss
*/
private Date createEndTime;
/**
* 采纳开始时间,yyyy-MM-dd HH:mm:ss
*/
private Date adoptBeginTime;
/**
* 采纳结束时间,yyyy-MM-dd HH:mm:ss
*/
private Date adoptEndTime;
/**
* 配餐版本号:字典大类02,字典子类0229,非必输
*/
private List<String> versions;
}
package com.jiankangyouyi.cloud.basedata.model.query;
import com.jiankangyouyi.cloud.basedata.model.dto.manager.food.component.ClassifyQuery;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* 底层库管理-包装食品列表查询对象
*
* @author yangsongbo
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class ManagerFoodPackageListQuery implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 食物ID,非必输
*/
private String foodId;
/**
* 食物名称,模糊匹配,非必输
*/
private String foodName;
/**
* 食物状态: 0 启用 1 禁用 2 草稿,非必输
*/
private List<String> foodStatus;
/**
* 审核状态 0、草稿 1、待审核 2、已审核 3、已驳回
*/
private List<String> auditStatus;
/**
* 分类查询
*/
private List<ClassifyQuery> classifyQueryList;
/**
* 创建者账号
*/
private String createAccount;
/**
* 条形码
*/
private String barCode;
/**
* 修改开始时间,非必输
*/
private Date updateBeginTime;
/**
* 修改结束时间,非必输
*/
private Date updateEndTime;
/**
* 修改者账号
*/
private String updateAccount;
/**
* 采纳人账号
*/
private String adoptAccount;
/**
* 创建开始时间,yyyy-MM-dd HH:mm:ss
*/
private Date createBeginTime;
/**
* 创建结束时间,yyyy-MM-dd HH:mm:ss
*/
private Date createEndTime;
/**
* 采纳开始时间,yyyy-MM-dd HH:mm:ss
*/
private Date adoptBeginTime;
/**
* 采纳结束时间,yyyy-MM-dd HH:mm:ss
*/
private Date adoptEndTime;
}
package com.jiankangyouyi.cloud.basedata.model.query;
import com.jiankangyouyi.cloud.basedata.model.dto.manager.food.component.ClassifyQuery;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
import java.util.List;
/**
* 底层库管理-加工食品列表查询对象
*
* @author yangsongbo
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class ManagerFoodProcessListQuery {
private static final long serialVersionUID = 1L;
/**
* 食物ID
*/
private String foodId;
/**
* 食物名称,模糊匹配,非必输
*/
private String foodName;
/**
* 食物状态: 0 启用 1 禁用 2 草稿,非必输
*/
private List<String> foodStatus;
/**
* 审核状态 0、草稿 1、待审核 2、已审核 3、已驳回
*/
private List<String> auditStatus;
/**
* 分类查询
*/
private List<ClassifyQuery> classifyQueryList;
/**
* 是否参与配餐: true/false,非必输
*/
private Boolean catering;
/**
* 适合餐别 字典大类 02 字典子类 0226
*/
private List<String> suitableForMeals;
/**
* 推荐人群:字典大类02,字典子类0205,非必输
*/
private List<String> recommendCrowds;
/**
* 禁忌人群:字典大类02,字典子类0205,非必输
*/
private List<String> tabooCrowds;
/**
* 推荐人群 是否选择空选项
*/
@Builder.Default
private Boolean recommendCrowdsSelectNull = false;
/**
* 禁忌人群 是否选择空选项
*/
@Builder.Default
private Boolean tabooCrowdsSelectNull = false;
/**
* 富含营养素:字典大类02,字典子类0206,非必输
*/
private List<String> highContentNutrients;
/**
* 低量营养素:字典大类02,字典子类0218,非必输
*/
private List<String> lowContentNutrients;
/**
* 致敏原: 字典大类02,字典子类 0234
*/
private List<String> allergen;
/**
* 升糖指数等级, HIGH 高,MIDDLE 中,LOW 低,UNKNOWN 未知,非必输
*/
private List<String> giLevel;
/**
* 血糖负荷等级, HIGH 高,MIDDLE 中,LOW 低,UNKNOWN 未知,非必输
*/
private List<String> glLevel;
/**
* 嘌呤等级, HIGH 高,MIDDLE 中,LOW 低,UNKNOWN 未知,非必输
*/
private List<String> purineLevel;
/**
* 果糖含量等级, HIGH 高,MIDDLE 中,LOW 低,UNKNOWN 未知,非必输
*/
private List<String> fructoseLevel;
/**
* 性质:字典大类02,字典子类0215,非必输
*/
private List<String> natures;
/**
* 膳食特点:字典大类02,字典子类0214,非必输
*/
private List<String> foodSpecialties;
/**
* 烹饪特点:字典大类02,字典子类0214,非必输
*/
private List<String> cookingSpecialties;
/**
* 口味 字典大类 02 字典子类 0201 , 非必输
*/
private List<String> tastes;
/**
* 主料食物ID
*/
private String majorFoodId;
/**
* 辅料食物ID
*/
private String minorFoodId;
/**
* 创建者账号
*/
private String createAccount;
/**
* 修改开始时间,非必输
*/
private Date updateBeginTime;
/**
* 修改结束时间,非必输
*/
private Date updateEndTime;
/**
* 修改者账号
*/
private String updateAccount;
/**
* 采纳人账号
*/
private String adoptAccount;
/**
* 创建开始时间,yyyy-MM-dd HH:mm:ss
*/
private Date createBeginTime;
/**
* 创建结束时间,yyyy-MM-dd HH:mm:ss
*/
private Date createEndTime;
/**
* 采纳开始时间,yyyy-MM-dd HH:mm:ss
*/
private Date adoptBeginTime;
/**
* 采纳结束时间,yyyy-MM-dd HH:mm:ss
*/
private Date adoptEndTime;
}
package com.jiankangyouyi.cloud.basedata.model.vo;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* 描述
*
* @author qxy
**/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class FoodImageInfoVO {
private String retCode;
private List<Float> res_fea;
// private FoodImageInfoData resData;
//
// @Data
// @Builder
// @AllArgsConstructor
// @NoArgsConstructor
// public static class FoodImageInfoData implements Serializable {
// private static final long serialVersionUID = 1L;
//
// private String retCode;
//
// private List<Float> res_fea;
// }
}
package com.jiankangyouyi.cloud.basedata.model.vo;
import com.alibaba.fastjson.JSON;
import lombok.Data;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
* @description: 敏感词校验结果
* @author: zyj
* @email: zhaoyujie@jiankangyouyi.com
* @date: 2021/10/26 2:19 下午
*/
@Data
public class SensitiveWordValidResDTO implements Serializable {
/**
* 是否通过检查
*/
private boolean pass=true;
/**
* 不合规的信息
*/
private String msg;
/**
* 发现的敏感词
*/
private List<String> sensitiveWords=new ArrayList<>();
/**
* 转化为简易敏感词话术
* @param fieldName 字段名称
* @return 话术
*/
public String toSimpleSensitiveWord(String fieldName){
if(pass){
return null;
}
return String.format("[%s]有[%s]问题,敏感词关键字%s",fieldName,this.getMsg(), JSON.toJSONString(this.getSensitiveWords()));
}
}
package com.jiankangyouyi.cloud.basedata.model.vo;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.jiankangyouyi.cloud.core.util.json.serialize.QiniuKeyToUrlJsonSerialize;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author :wangyalei
* @date :Created in 2021/4/25 1:40 下午
* @description:
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class UploadFileVO implements Serializable {
/**
* 文件key
*/
private String fileKey;
/**
* 文件地址
*/
@JsonSerialize(using = QiniuKeyToUrlJsonSerialize.class)
private String fileUrl;
}
package com.jiankangyouyi.cloud.basedata.model.vo.api;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* 图像超分辨率
*
* @author : lvhaoran
* @date Date : 2022年07月14日
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class AiImageSuperresolutionVO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 图片
*/
private String image;
}
package com.jiankangyouyi.cloud.basedata.model.vo.api;
import com.jiankangyouyi.cloud.basedata.model.bean.TexterrorcorrectBean;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* 文本纠错
*
* @author : lvhaoran
* @date Date : 2022年07月14日
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class AiNlpTextCorrectVO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 纠错结果
*/
private List<TexterrorcorrectBean> texterrorcorrectRes;
}
package com.jiankangyouyi.cloud.basedata.model.vo.api;
import com.jiankangyouyi.cloud.basedata.model.bean.AiNlpTextRecheckingBean;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* 语句重复度计算
*
* @author : lvhaoran
* @date Date : 2022年07月14日
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class AiNlpTextRecheckingVO implements Serializable {
private static final long serialVersionUID = 1L;
private List<AiNlpTextRecheckingBean> recheckRes;
}
package com.jiankangyouyi.cloud.basedata.model.vo.api;
import lombok.Data;
import lombok.experimental.FieldNameConstants;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.List;
/**
* @description: 文章详情
* @author: zyj
* @email: zhaoyujie@jiankangyouyi.com
* @date: 2021/10/25 9:19 上午
*/
@Data
@FieldNameConstants
public class ArticleListVO implements Serializable {
/**
* 标签-翻译好的直接展示即可
*/
private List<String> tagVals;
/**
* 1级分类name
*/
private String clsName1;
/**
* 2级分类name
*/
private String clsName2;
/**
* 文章图片地址
*/
//@JsonSerialize(using = QiniuKeyToUrlJsonSerialize.class)
// private String articleImgUrl;
/**
* 文章id
*/
private String articleId;
/**
* 主标题
*/
@NotBlank(message = "mainTitle not null")
@Size(message = "mainTitle max 50", min = 1, max = 50)
private String mainTitle;
/**
* 副标题
*/
@Size(message = "halfTitle max 50", max = 100)
private String halfTitle;
/**
* 文章内容1
*/
@NotBlank(message = "content not null")
private String content;
}
package com.jiankangyouyi.cloud.basedata.model.vo.api;
import com.jiankangyouyi.cloud.basedata.model.entity.mongo.component.ServiceArea;
import com.jiankangyouyi.cloud.basedata.model.entity.mongo.component.ServiceValue;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* @author :wangyalei
* @date :2022/2/15 11:53 上午
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class AssessmentCoverConfigInfoVO {
/**
* 服务简介
*/
private String serviceProfile;
/**
* 服务范围
*/
private List<ServiceArea> serviceAreas;
/**
* 服务价值
*/
private List<ServiceValue> serviceValues;
/**
* 提示
*/
private String reminder;
/**
* 参考文献
*/
private List<String> documentations;
}
package com.jiankangyouyi.cloud.basedata.model.vo.api;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 体重指数BMI计算
*
* @author : lvhaoran
* @date Date : 2022年01月18日
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class CalculationBmiAdviceVO {
/**
* 话术
*/
private String advice;
}
package com.jiankangyouyi.cloud.basedata.model.vo.api;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 理想体重
*
* @author : lvhaoran
* @date Date : 2022年01月19日
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class CalculationIdealWeightAdviceVO {
/**
* 话术
*/
private String advice;
}
package com.jiankangyouyi.cloud.basedata.model.vo.api;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 如何减掉1公斤?
*
* @author : lvhaoran
* @date Date : 2022年01月19日
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class CalculationSubtractionWeightAdviceVO {
/**
* 话术
*/
private String advice;
}
package com.jiankangyouyi.cloud.basedata.model.vo.api;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 腰臀比计算
*
* @author : lvhaoran
* @date Date : 2022年01月19日
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class CalculationWaistHipRatioAdviceVO {
/**
* 话术
*/
private String advice;
}
package com.jiankangyouyi.cloud.basedata.model.vo.api;
import com.jiankangyouyi.cloud.basedata.model.bean.ActionVideoBean;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* TODO:功能描述
*
* @author : lvhaoran
* @date Date : 2022年04月26日
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class ExerciseModernActionVO implements Serializable {
/**
* 动作编号
*/
private String actionId;
/**
* 动作名称
*/
private String actionName;
/**
* 动作封面图地址
*/
private String actionImageUrl;
/**
* 训练肌群/锻炼部位
*/
private List<String> trainPositions;
/**
* 动作讲解
*/
private List<String> actionExplains;
/**
* 器械名称
*/
private List<String> equipments;
/**
* 注意事项
*/
private List<String> attentions;
/**
* 动作分类
*/
private String actionClassification;
/**
* 动作难度
*/
private String actionDifficulty;
/**
* 动作体位
*/
private String actionPosition;
/**
* 动作视频格式
*/
private ActionVideoBean actionVideo;
}
package com.jiankangyouyi.cloud.basedata.model.vo.api;
import com.jiankangyouyi.cloud.basedata.model.bean.FeaturedRecipesTagBean;
import com.jiankangyouyi.cloud.core.entity.page.PageResult;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* 精选食谱标签
*
* @author : lvhaoran
* @date Date : 2022年08月04日
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class FeaturedRecipesTagVO implements Serializable {
private PageResult.PageInfo pageInfo;
private List<FeaturedRecipesTagBean> featuredRecipesTagList;
}
package com.jiankangyouyi.cloud.basedata.model.vo.api;
import com.jiankangyouyi.cloud.basedata.model.bean.MealInfoBean;
import com.jiankangyouyi.cloud.basedata.model.bean.RecipesTagBean;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
/**
* 精选食谱
*
* @author : lvhaoran
* @date Date : 2022年08月04日
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class FeaturedRecipesVO implements Serializable {
private String tagName;
private String imageUrl;
private String describe;
private String translation;
private List<RecipesTagBean> recipesTags;
private String recordDate;
/**
* 热量
*/
private Integer energy;
/**
* 蛋白质,单位 g
*/
private BigDecimal protein;
/**
* 脂肪,单位 g
*/
private BigDecimal fat;
/**
* 碳水化合物,单位 g
*/
private BigDecimal carbohydrate;
/**
* 蛋白质NRV
*/
private BigDecimal proteinNrv;
/**
* 脂肪NRV
*/
private BigDecimal fatNrv;
/**
* 碳水化合物NRV
*/
private BigDecimal carbohydrateNrv;
/**
* 推荐早餐
*/
private MealInfoBean breakfastRes;
/**
* 推荐早加餐
*/
private MealInfoBean breakfastExtraRes;
/**
* 推荐午餐
*/
private MealInfoBean lunchRes;
/**
* 推荐午加餐
*/
private MealInfoBean lunchExtraRes;
/**
* 推荐晚餐
*/
private MealInfoBean supperRes;
/**
* 推荐晚加餐
*/
private MealInfoBean supperExtraRes;
}
package com.jiankangyouyi.cloud.basedata.model.vo.api;
import com.jiankangyouyi.cloud.basedata.model.vo.api.component.FoodInfo;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* 食物详情工具
*
* @author : lvhaoran
* @date Date : 2022年05月13日
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class FoodDetailToolVO implements Serializable {
/**
* 3级分类
*/
private String classification3;
/**
* 4级分类
*/
private String classification4;
/**
* 分类描述
*/
private String classificationDescribe;
/**
* 食物列表
*/
private List<FoodInfo> foodList;
}
package com.jiankangyouyi.cloud.basedata.model.vo.api;
import com.jiankangyouyi.cloud.basedata.api.model.entity.foodv4.component.ExtensionUnit;
import com.jiankangyouyi.cloud.basedata.api.model.entity.foodv4.component.MajorMinorMaterial;
import lombok.*;
import javax.validation.Valid;
import java.math.BigDecimal;
import java.util.List;
/**
* 描述
*
* @author qxy
**/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class FoodNameListVO {
/**
* 食物ID
*/
private String foodId;
/**
* 主料信息
*/
@Valid
private List<MajorMinorMaterial> majorMaterials;
/**
* 辅料信息
*/
@Valid
private List<MajorMinorMaterial> minorMaterials;
/**
* 食物图片
*/
private String imageUrl;
/**
* 食物名称
*/
private String foodName;
/**
* 单位
*/
private String unit;
/**
* 关联名称
*/
private List<String> relationNames;
/**
* 扩展单位
*/
private List<ExtensionUnit> extensionUnits;
/**
* 食物描述
*/
private String describe;
/* 基础数据 begin */
/**
* 热量(kcal),按每100克计算
*/
private int energy ;
/**
* 蛋白质(g)
*/
private BigDecimal protein;
/**
* 脂肪(g)
*/
private BigDecimal fat;
/**
* 碳水化合物(g)
*/
private BigDecimal carbohydrate;
/**
* 水分
*/
private BigDecimal water;
/**
* 胆固醇(mg)
*/
private BigDecimal cholesterol;
/**
* 可食部
*/
private int ediblePart;
/**
* 不溶性纤维(g)
*/
private BigDecimal insolubleFiber;
/* 基础数据 end */
/* 水溶性 维生素类 begin */
/**
* 维生素B3(烟酸)(mg)
*/
private BigDecimal vitaminB3;
/**
* 维生素B5(泛酸)(mg)
*/
private BigDecimal vitaminB5;
/**
* 维生素B1(mg)
*/
private BigDecimal vitaminB1;
/**
* 维生素B2(mg)
**/
private BigDecimal vitaminB2;
/**
* 维生素B9(叶酸)(mg)
*/
private BigDecimal vitaminB9;
/**
* 维生素C(mg)
*/
private BigDecimal vitaminC;
/**
* 维生素B6 (mg)
*/
private BigDecimal vitaminB6;
/**
* 维生素B12 (μg)
*/
private BigDecimal vitaminB12;
/* 水溶性 维生素类 end */
/* 维生素类 脂溶性 begin */
/**
* 维生素A(视黄醇)(μg)
*/
private BigDecimal vitaminA;
/**
* 维生素D(μg)
*/
private BigDecimal vitaminD;
/**
* 维生素E(mg)
*/
private BigDecimal vitaminE;
/**
* 维生素K(mg)
*/
private BigDecimal vitaminK;
/* 维生素类 脂溶性 end */
/* 矿物质类 宏量元素 begin */
/**
* 钙(mg)
*/
private BigDecimal calcium;
/**
* 磷(mg
*/
private BigDecimal phosphorus;
/**
* 钾(mg)
*/
private BigDecimal potassium;
/**
* 钠(mg)
*/
private BigDecimal sodium;
/**
* 镁(mg)
*/
private BigDecimal magnesium;
/* 矿物质类 宏量元素 end */
/* 矿物质类 微量元素 begin */
/**
* 铜(mg)
*/
private BigDecimal copper;
/**
* 铁(mg)
*/
private BigDecimal iron;
/**
* 锌(mg)
*/
private BigDecimal zinc;
/**
* 锰(mg)
*/
private BigDecimal manganese;
/**
* 碘(μg)
*/
private BigDecimal iodine;
/**
* 铬(μg)
*/
private BigDecimal chromium;
/**
* 氟(μg)
*/
private BigDecimal fluorine;
/**
* 硒(μg)
*/
private BigDecimal selenium;
/* 矿物质类 微量元素 end */
/* 氨基酸类 必须 begin */
/**
* 赖氨酸(mg)
*/
private BigDecimal lysine;
/**
* 色氨酸(mg)
*/
private BigDecimal tryptophan;
/**
* 缬氨酸(mg)
*/
private BigDecimal valine;
/**
* 苯丙氨酸(mg)
*/
private BigDecimal phenylalanine;
/**
* 苏氨酸
*/
private BigDecimal threonine;
/**
* 异亮氨酸
*/
private BigDecimal isoleucine;
/**
* 亮氨酸
*/
private BigDecimal leucine;
/**
* 蛋氨酸(mg)
*/
private BigDecimal methionine;
/* 氨基酸类 必须 end */
/* 氨基酸类 非必须 begin */
/**
* 精氨酸(mg)
*/
private BigDecimal arginine;
/**
* 谷氨酸(mg)
*/
private BigDecimal glutamicAcid;
/**
* 组氨酸(mg)
*/
private BigDecimal histidine;
/**
* 丙氨酸(mg)
*/
private BigDecimal alanine;
/**
* 甘氨酸(mg)
*/
private BigDecimal glycine;
/**
* 脯氨酸(mg)
*/
private BigDecimal proline;
/**
* 丝氨酸(mg)
*/
private BigDecimal serine;
/**
* 天冬氨酸(mg)
*/
private BigDecimal aspartic;
/* 氨基酸类 非必须 end */
/* 脂肪酸类 begin */
/**
* 总脂肪酸(g)
*/
private BigDecimal totalFattyAcid;
/**
* 饱和脂肪酸(g)
*/
private BigDecimal saturatedFattyAcid;
/**
* 单不饱和脂肪酸(g)
*/
private BigDecimal monounsaturatedFattyAcid;
/**
* 多不饱和脂肪酸(g)
*/
private BigDecimal polyunsaturatedFattyAcid;
/**
* 单不饱和脂肪酸/总脂肪酸(%)
*/
private BigDecimal mfaPercent;
/**
* 多不饱和脂肪酸/总脂肪酸(%)
*/
private BigDecimal pfaPercent;
/**
* 饱和脂肪酸/总脂肪酸(%)
*/
private BigDecimal sfaPercent;
/* 脂肪酸类 end */
/* 植物化学物/其他 begin */
/**
* 胡萝卜素(μg)
*/
private BigDecimal carotene;
/**
* 大豆异黄酮(mg)
*/
private BigDecimal totalIsoflavone;
/**
* GI
*/
private BigDecimal gi;
/* 植物化学物/其他 end */
/**
* 人群食物可不可以吃标签
*/
// private List<FoodLabelBean> label;
// /**
// * 嘌呤
// */
// private BigDecimal purine;
//
// /**
// * 灰分
// */
// private BigDecimal ash;
//
// /**
// * 标签
// */
// private List<String> sign;
}
package com.jiankangyouyi.cloud.basedata.model.vo.api;
import com.jiankangyouyi.cloud.basedata.model.vo.api.component.FoodRankListInfo;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* 食物排行榜VO
*
* @author yangsongbo
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class FoodRankListVO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 指定的营养素
* <p>
* {@link com.jiankangyouyi.cloud.basedata.enums.food.FoodRankListNutrientEnum}
*/
private String nutrient;
/**
* 方向: LOW 低含量排行 HIGH 高含量排行
* <p>
* {@link com.jiankangyouyi.cloud.basedata.enums.food.FoodRankListDirectionEnum}
*/
private String direction;
/**
* 食物排行榜Size
*/
private Integer rankListSize;
/**
* 食物排行榜
*/
private List<FoodRankListInfo> rankList;
}
package com.jiankangyouyi.cloud.basedata.model.vo.api;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* 描述
*
* @author qxy
**/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class GadgetsVO {
private List<GadgetsData> list;
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public static class GadgetsData{
/**
* 名称
*/
private String name;
/**
* 名称
*/
private String imageUrl;
/**
* 规则
*/
private String rule;
private List<GadgetsData> list;
private String menuId;
/**
* 级别
*
*/
private String level;
private String content;
private Integer sort;
}
}
package com.jiankangyouyi.cloud.basedata.model.vo.api;
import com.jiankangyouyi.cloud.basedata.model.bean.SportMetreBean;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
import java.util.Map;
/**
* 运动梅脱值列表
*
* @author : lvhaoran
* @date Date : 2022年01月19日
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class LoadSportMetreVO {
/**
* 运动梅脱值列表
*/
private Map<String, List<SportMetreBean>> sportMetres;
}
package com.jiankangyouyi.cloud.basedata.model.vo.api;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 七牛URL刷新
*
* @author yangsongbo
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class QiniuUrlRefreshVO {
/**
* 请求中传入的URL
*/
private String url;
/**
* 刷新后的URL
*/
private String refreshUrl;
}
package com.jiankangyouyi.cloud.basedata.model.vo.api.component;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.jiankangyouyi.cloud.core.util.json.serialize.QiniuKeyToUrlJsonSerialize;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.data.annotation.Transient;
/**
* 食物详情
*
* @author : lvhaoran
* @date Date : 2022年05月13日
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class FoodInfo {
/**
* 食物id
*/
private String foodId;
/**
* 食物名称
*/
private String foodName;
/**
* 食物图片
*/
@Transient
@JsonSerialize(using = QiniuKeyToUrlJsonSerialize.class)
private String imageUrl;
/**
* 值
*/
private String value;
/**
* 食物描述
*/
private String describe;
}
package com.jiankangyouyi.cloud.basedata.model.vo.api.component;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.jiankangyouyi.cloud.core.util.json.serialize.QiniuKeyToUrlJsonSerialize;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
/**
* 食物排行榜数据
*
* @author yangsongbo
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class FoodRankListInfo implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 食物ID
*/
private String foodId;
/**
* 食物名称
*/
private String foodName;
/**
* 食物关联名称
*/
private List<String> relationNames;
// /**
// * 一级分类名称
// */
// private String classify1Name;
/**
* 食物图片
*/
@JsonSerialize(using = QiniuKeyToUrlJsonSerialize.class)
private String imageUrl;
/**
* 每100g/ml营养素含量
*/
private BigDecimal value;
/**
* 单位
*/
private String unit;
/**
* 可食部
*/
private Integer edible;
}
package com.jiankangyouyi.cloud.basedata.model.vo.api.component;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.jiankangyouyi.cloud.core.util.json.serialize.QiniuKeyToUrlJsonSerialize;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 描述
*
* @author qxy
**/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class PrivateKitchenData {
/**
* 食物ID
*/
private String foodId;
/**
* 食物图片
*/
@JsonSerialize(using = QiniuKeyToUrlJsonSerialize.class)
private String imageUrl;
/**
* 食物名称
*/
private String foodName;
/**
* 热量(kcal),按每100克计算
*/
private Integer energy ;
/**
* 标准单位 (g/ml)
*/
private String unit;
}
package com.jiankangyouyi.cloud.basedata.model.vo.api.food;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class DietaryStructureVO {
/**
* 膳食名称
*/
private String dietaryStructureName;
/**
* 营养素 质量
*/
private BigDecimal dietaryStructureQuality;
/**
* 营养素占比
*/
private String dietaryStructureProportion;
}
package com.jiankangyouyi.cloud.basedata.model.vo.api.food;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
/**
* 细粒度食物识别结果
*
* @author lvqidong
**/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class FoodDistinguishVO implements Serializable {
/**
* 食物ID
*/
private String foodId;
/**
* 食物置信度
*/
private BigDecimal confidence;
/**
* 饮食结构
*/
private List<DietaryStructureVO> dietaryStructureList;
/**
* 食物基本详情
*/
private FoodNutrientInfoResponseVO foodQueryResponseDTO;
}
package com.jiankangyouyi.cloud.basedata.model.vo.api.food;
import com.jiankangyouyi.cloud.basedata.api.model.entity.foodv4.component.*;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
/**
* @description: 食物营养素信息响应dto
* @author: zyj
* @email: zhaoyujie@jiankangyouyi.com
* @date: 2021/7/27 10:19 上午
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class FoodNutrientInfoResponseVO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 食物id 唯一
*/
private String foodId;
/**
* 食物名称
*/
private String foodName;
/**
* 食物图片
*/
private String foodImg;
/**
* 提供的总能量 kcal
*/
private Integer totalEnergy;
/**
* 每100g包含的能量 kcal
*/
private Integer energy;
/**
* 每100g食物 碳水化合物含量 g
*/
private BigDecimal carbohydrate;
/**
* 每100g食物 蛋白质含量 g
*/
private BigDecimal protein;
/**
* 每100g食物 脂肪含量 g
*/
private BigDecimal fat;
/**
* 碳水化合物热量占比
*/
private BigDecimal carbohydrateRatio;
/**
* 蛋白质含量热量占比
*/
private BigDecimal proteinRatio;
/**
* 脂肪含量占比
*/
private BigDecimal fatRatio;
/**
* 主要组成食材
*/
private List<FoodConstituteInfo> majorMaterials;
/**
* 次要组成材料
*/
private List<FoodConstituteInfo> minorMaterials;
/**
* 烹饪步骤
*/
private List<CookingStep> cookingSteps;
// /**
// * 维生素信息g
// */
// private BigDecimal vitamin;
// /***
// * 矿物质信息g
// */
// private BigDecimal mineral;
// /**
// * 氨基酸信息g
// */
// private BigDecimal aminoAcid;
// /**
// * 脂肪酸信息g
// */
// private BigDecimal fattyAcid;
// /**
// * 植物化学物信息g
// */
// private BigDecimal phytochemical;
/**
* 维生素信息
*/
private Vitamin vitaminInfo;
/***
* 矿物质信息
*/
private Mineral mineralInfo;
/**
* 氨基酸信息
*/
private AminoAcid aminoAcidInfo;
/**
* 脂肪酸信息
*/
private FattyAcid fattyAcidInfo;
/**
* 植物化学物信息
*/
private Phytochemical phytochemicalInfo;
/**
* 食物基本组成信息
*/
private FoodBasicCompositionInfo foodBasicCompositionInfo;
/**
* 食物基本组成信息
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public static class FoodBasicCompositionInfo implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 热量
*/
private Integer energy;
/**
* 蛋白质
*/
private BigDecimal protein;
/**
* 脂肪
*/
private BigDecimal fat;
/**
* 碳水化合物
*/
private BigDecimal carbohydrate;
/**
* 水分
*/
private BigDecimal water;
/**
* 不溶性纤维
*/
private BigDecimal insolubleFiber;
/**
* 可溶性纤维
*/
private BigDecimal solubilityFiber;
/**
* 膳食纤维
*/
private BigDecimal dietaryFiber;
/**
* 胆固醇
*/
private BigDecimal cholesterol;
/**
* 嘌呤
*/
private BigDecimal purine;
/**
* GI 值
*/
private BigDecimal gi;
/**
* 灰分
*/
private BigDecimal ash;
/**
* 可食部
*/
private Integer edible;
}
/**
* 食物组成信息
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public static class FoodConstituteInfo implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 食材id
*/
private String foodId;
/**
* 食材名称
*/
private String foodName;
/**
* 食物图片地址
*/
private String foodImg;
/**
* 克数
*/
private BigDecimal gram;
}
}
package com.jiankangyouyi.cloud.basedata.model.vo.api.food;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* 食物识别结果
*
* @author june
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class RecognitionFoodResultVo {
/**
* 请求的图片url
*/
private String foodUrl;
/**
* 识别出来的食物列表
*/
private List<FoodDistinguishVO> foodList;
}
package com.jiankangyouyi.cloud.basedata.model.vo.api.gadgets;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.jiankangyouyi.cloud.basedata.api.model.entity.foodv4.component.ExtensionUnit;
import com.jiankangyouyi.cloud.basedata.api.model.entity.foodv4.component.MajorMinorMaterial;
import com.jiankangyouyi.cloud.core.util.json.serialize.NumberStripTrailingZerosJsonSerialize;
import com.jiankangyouyi.cloud.core.util.json.serialize.QiniuKeyToUrlJsonSerialize;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.Valid;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import java.math.BigDecimal;
import java.util.List;
/**
* 描述
*
* @author qxy
**/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class FoodPkVO {
/**
* 食物ID
*/
private String foodId;
/**
* 食物图片
*/
@JsonSerialize(using = QiniuKeyToUrlJsonSerialize.class)
private String imageUrl;
/**
* 食物名称
*/
private String foodName;
/* 基础数据 begin */
/**
* 热量(kcal),按每100克计算
*/
private Integer energy ;
/**
* 蛋白质(g)
*/
private BigDecimal protein;
/**
* 脂肪(g)
*/
private BigDecimal fat;
/**
* 碳水化合物(g)
*/
private BigDecimal carbohydrate;
/**
* 水分
*/
private BigDecimal water;
/**
* 胆固醇(mg)
*/
private BigDecimal cholesterol;
/**
* 可食部
*/
private int ediblePart;
/**
* 不溶性纤维(g)
*/
private BigDecimal insolubleFiber;
/**
*膳食纤维(g)
*/
private BigDecimal dietaryFiber;
/**
* 嘌呤(mg)
*/
private BigDecimal purine;
/**
* 灰分(g)
*/
private BigDecimal ash;
/* 基础数据 end */
/* 水溶性 维生素类 begin */
/**
* 维生素B3(烟酸)(mg)
*/
private BigDecimal vitaminB3;
/**
* 维生素B5(泛酸)(mg)
*/
private BigDecimal vitaminB5;
/**
* 维生素B1(mg)
*/
private BigDecimal vitaminB1;
/**
* 维生素B2(mg)
**/
private BigDecimal vitaminB2;
/**
* 维生素B9(叶酸)(mg)
*/
private BigDecimal vitaminB9;
/**
* 维生素C(mg)
*/
private BigDecimal vitaminC;
/**
* 维生素B6 (mg)
*/
private BigDecimal vitaminB6;
/**
* 维生素B12 (μg)
*/
private BigDecimal vitaminB12;
/**
* 维生素B7 (μg)
*/
private BigDecimal vitaminH;
/* 水溶性 维生素类 end */
/* 维生素类 脂溶性 begin */
/**
* 维生素A(视黄醇)(μg)
*/
private BigDecimal vitaminA;
/**
* 维生素D(μg)
*/
private BigDecimal vitaminD;
/**
* 维生素E(mg)
*/
private BigDecimal vitaminE;
/**
* 维生素K(mg)
*/
private BigDecimal vitaminK;
/* 维生素类 脂溶性 end */
/* 矿物质类 宏量元素 begin */
/**
* 钙(mg)
*/
private BigDecimal calcium;
/**
* 磷(mg
*/
private BigDecimal phosphorus;
/**
* 钾(mg)
*/
private BigDecimal potassium;
/**
* 钠(mg)
*/
private BigDecimal sodium;
/**
* 镁(mg)
*/
private BigDecimal magnesium;
/* 矿物质类 宏量元素 end */
/* 矿物质类 微量元素 begin */
/**
* 铜(mg)
*/
private BigDecimal copper;
/**
* 铁(mg)
*/
private BigDecimal iron;
/**
* 锌(mg)
*/
private BigDecimal zinc;
/**
* 锰(mg)
*/
private BigDecimal manganese;
/**
* 碘(μg)
*/
private BigDecimal iodine;
/**
* 铬(μg)
*/
private BigDecimal chromium;
/**
* 氟(μg)
*/
private BigDecimal fluorine;
/**
* 硒(μg)
*/
private BigDecimal selenium;
/* 矿物质类 微量元素 end */
/* 氨基酸类 必须 begin */
/**
* 胱氨酸
*/
private BigDecimal cysteine;
/**
* 酪氨酸(mg)
*/
private BigDecimal tyrosine;
/**
* 赖氨酸(mg)
*/
private BigDecimal lysine;
/**
* 色氨酸(mg)
*/
private BigDecimal tryptophan;
/**
* 缬氨酸(mg)
*/
private BigDecimal valine;
/**
* 苯丙氨酸(mg)
*/
private BigDecimal phenylalanine;
/**
* 苏氨酸
*/
private BigDecimal threonine;
/**
* 异亮氨酸
*/
private BigDecimal isoleucine;
/**
* 亮氨酸
*/
private BigDecimal leucine;
/**
* 蛋氨酸(mg)
*/
private BigDecimal methionine;
/* 氨基酸类 必须 end */
/* 氨基酸类 非必须 begin */
/**
* 精氨酸(mg)
*/
private BigDecimal arginine;
/**
* 谷氨酸(mg)
*/
private BigDecimal glutamicAcid;
/**
* 组氨酸(mg)
*/
private BigDecimal histidine;
/**
* 丙氨酸(mg)
*/
private BigDecimal alanine;
/**
* 甘氨酸(mg)
*/
private BigDecimal glycine;
/**
* 脯氨酸(mg)
*/
private BigDecimal proline;
/**
* 丝氨酸(mg)
*/
private BigDecimal serine;
/**
* 天冬氨酸(mg)
*/
private BigDecimal aspartic;
/* 氨基酸类 非必须 end */
/* 脂肪酸类 begin */
/**
* 总脂肪酸(g)
*/
private BigDecimal totalFattyAcid;
/**
* 饱和脂肪酸(g)
*/
private BigDecimal saturatedFattyAcid;
/**
* 单不饱和脂肪酸(g)
*/
private BigDecimal monounsaturatedFattyAcid;
/**
* 多不饱和脂肪酸(g)
*/
private BigDecimal polyunsaturatedFattyAcid;
/**
* 单不饱和脂肪酸/总脂肪酸(%)
*/
private BigDecimal mfaPercent;
/**
* 多不饱和脂肪酸/总脂肪酸(%)
*/
private BigDecimal pfaPercent;
/**
* 饱和脂肪酸/总脂肪酸(%)
*/
private BigDecimal sfaPercent;
/* 脂肪酸类 end */
/* 植物化学物/其他 begin */
/**
* 胡萝卜素(μg)
*/
private BigDecimal carotene;
/**
* 大豆异黄酮(mg)
*/
private BigDecimal totalIsoflavone;
/**
* GI
*/
private BigDecimal gi;
/* 植物化学物/其他 end */
/**
* 人群食物可不可以吃标签
*/
// private List<FoodLabelBean> label;
// /**
// * 嘌呤
// */
// private BigDecimal purine;
//
// /**
// * 灰分
// */
// private BigDecimal ash;
//
// /**
// * 标签
// */
// private List<String> sign;
}
package com.jiankangyouyi.cloud.basedata.model.vo.api.gadgets;
import com.jiankangyouyi.cloud.basedata.model.vo.api.component.KnowledgeQuestionData;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* 描述
*
* @author qxy
**/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class KnowledgeChallengesVO {
/**
* 问题对象
*/
private KnowledgeQuestionData knowledgeQuestionData;
/**
* 用户选择的选项编号 有可能是多选题 所以采用集合
*/
private List<String> userOptionCodes;
}
package com.jiankangyouyi.cloud.basedata.model.vo.api.gadgets;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 描述
*
* @author qxy
**/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class NutritionPkVO {
/**
* 食物a
*/
private FoodPkVO foodA;
/**
* 食物b
*/
private FoodPkVO foodB;
}
package com.jiankangyouyi.cloud.basedata.model.vo.api.gadgets;
import com.jiankangyouyi.cloud.basedata.model.vo.api.component.PrivateKitchenData;
import com.jiankangyouyi.cloud.core.entity.page.PageResult;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* 描述
*
* @author qxy
**/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class PrivateKitchenVO {
/**
* 分页信息
*/
private PageResult.PageInfo pageInfo;
/**
* 返回集合
*/
private List<PrivateKitchenData> list;
}
package com.jiankangyouyi.cloud.basedata.model.vo.api.gadgets;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 描述
*
* @author qxy
**/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class TopImageVO {
/**
* 名称
*/
private String imageUrl;
}
package com.jiankangyouyi.cloud.basedata.model.vo.external;
import lombok.Data;
import java.io.Serializable;
/**
* 图像超分辨率
*
* @author : lvhaoran
* @date Date : 2022年07月14日
*/
@Data
public class AiImageSuperresolutionResVO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 处理码
*/
private String retCode;
/**
* 处理信息
*/
private String retInfo;
/**
* 错误信息
*/
private String error;
/**
* 当前时间
*/
private String curTime;
/**
* 请求序列号
*/
private String sn;
/**
* 图片
*/
private String image;
}
package com.jiankangyouyi.cloud.basedata.model.vo.external;
import com.jiankangyouyi.cloud.basedata.model.bean.TexterrorcorrectBean;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* 文本纠错
*
* @author : lvhaoran
* @date Date : 2022年07月14日
*/
@Data
public class AiNlpTextCorrectResVO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 处理码
*/
private String retCode;
/**
* 处理信息
*/
private String retInfo;
/**
* 当前时间
*/
private String curTime;
/**
* 请求序列号
*/
private String sn;
/**
* 纠错结果
*/
private List<TexterrorcorrectBean> texterrorcorrectRes;
}
package com.jiankangyouyi.cloud.basedata.model.vo.external;
import com.jiankangyouyi.cloud.basedata.model.bean.RecheckResInfo;
import lombok.Data;
import java.io.Serializable;
import java.util.Map;
/**
* 语句重复度计算
*
* @author : lvhaoran
* @date Date : 2022年07月14日
*/
@Data
public class AiNlpTextRecheckingResVO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 处理码
*/
private String retCode;
/**
* 处理信息
*/
private String retInfo;
/**
* 当前时间
*/
private String curTime;
/**
* 请求序列号
*/
private String sn;
private Map<String, RecheckResInfo> recheckRes;
/* public static void main(String[] args) {
String json = "{\n" +
" \"resData\": \"{\\\"retCode\\\": \\\"SUCCESS\\\", \\\"retInfo\\\": \\\"处理成功\\\", \\\"curTime\\\": \\\"2022-07-14 15:50:33\\\", \\\"sn\\\": \\\"a3f08a3c034911ed95b4ac1f6b22e430\\\", \\\"recheckRes\\\": {\\\"620c74b91260f749f6b44f25\\\": {\\\"rq\\\": [[0.9861710071563721, \\\"620c74b91260f749f6b44f26\\\", \\\"怎样储存香菜?\\\"], [0.0, \\\"620c74b91260f749f6b44f28\\\", \\\"怎样储存豌豆?\\\"], [0.0, \\\"620c74b91260f749f6b44f27\\\", \\\"怎样储存西瓜?\\\"]], \\\"ra\\\": [[0.980500340461731, \\\"620c74b91260f749f6b44f26\\\", \\\"储存香菜前,最好将香菜根部切除,择去黄叶,摊开晾晒1到2天,编成香肠一般粗细的长辫子,挂在阴凉通风处晾干。或选带根的香菜,将黄叶摘掉,洗净后把香菜逐颗挂在细绳上晾干,然后将香菜取下放在容器内贮藏。\\\"], [0.0, \\\"620c74b91260f749f6b44f28\\\", \\\"储存豌豆时,应该注意防虫。在储存前可以将豌豆倒入沸水中,搅拌半分钟,使豆子表面的虫子和虫卵被杀死,然后立即倒入冷水中,再将豆子放在阳光下暴晒干透,装入罐中,在表面放几瓣大蒜。运用此种防虫方法,豌豆的发芽力和食用均不受到影响,而且存放时间也大大延长。\\\"], [0.0, \\\"620c74b91260f749f6b44f27\\\", \\\"西瓜的储存只需放在阴凉干燥处,避免日晒和避免水分过大即可,不必放在冰箱中储存。\\\"]]}, \\\"62287035f7528350f312429d\\\": {\\\"rq\\\": [], \\\"ra\\\": []}}}\"\n" +
"}";
String result = (String) JsonUtils.fromJson(json).get("resData");
System.out.println(result);
RecheckRes recheckRes = JsonUtils.fromJson(result, RecheckRes.class);
System.out.println(JsonUtils.toJson(recheckRes));
}*/
}
package com.jiankangyouyi.cloud.basedata.model.vo.external;
import lombok.Data;
import java.io.Serializable;
/**
* 文本纠错
*
* @author : lvhaoran
* @date Date : 2022年07月14日
*/
@Data
public class AiResVO implements Serializable {
private static final long serialVersionUID = 1L;
/**
*
*/
private String resData;
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* 人群类型列表
* @author :wangyalei
* @date :2022/8/4 4:16 下午
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class CrowdTypeListVO {
/**
* 人群类型
*/
private List<CrowdTypeInfo> crowdTypes;
/**
* 人群类型
*/
@Data
@Builder
public static class CrowdTypeInfo {
private String crowdCode;
private String crowdName;
private List<RiskLevel> riskLevels;
/**
* 风险等级
*/
@Data
@Builder
public static class RiskLevel {
private String crowdCode;
private Integer riskLevelCode;
private String riskLevelName;
}
}
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jiankangyouyi.cloud.basedata.model.entity.mongo.component.ServiceArea;
import com.jiankangyouyi.cloud.basedata.model.entity.mongo.component.ServiceValue;
import com.jiankangyouyi.cloud.core.entity.page.PageResult;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.data.mongodb.core.index.Indexed;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
import java.util.List;
/**
* @author :wangyalei
* @date :2022/2/14 2:09 下午
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class HealthAssessmentCoverConfigListPageVO {
/**
* 分页信息
*/
private PageResult.PageInfo pageInfo;
/**
* 封面信息
*/
private List<CoverConfigInfo> list;
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public static class CoverConfigInfo {
/**
* 1、启用 2、禁用
*/
private String validStatus;
@JsonFormat(
timezone = "GMT+8",
pattern = "yyyy-MM-dd HH:mm:ss"
)
private Date updateTime;
@JsonFormat(
timezone = "GMT+8",
pattern = "yyyy-MM-dd HH:mm:ss"
)
private Date createTime;
/**
* 封面id
*/
@Indexed(unique = true)
private String coverId;
/**
* 应用 id
*/
private String appId;
/**
* 应用名称
*/
private String appName;
/**
* 封面类型 {@link com.jiankangyouyi.cloud.basedata.enums.HealthAssessmentCoverConfigEnum}
*/
private String coverType;
/**
* 服务简介
*/
private String serviceProfile;
/**
* 服务范围
*/
private List<ServiceArea> serviceAreas;
/**
* 服务价值
*/
private List<ServiceValue> serviceValues;
/**
* 提示
*/
private String reminder;
}
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jiankangyouyi.cloud.core.entity.page.PageResult;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
import java.util.List;
/**
* @author :wangyalei
* @date :2022/8/4 5:49 下午
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class HealthTipListPageVO {
/**
* 分页信息
*/
private PageResult.PageInfo pageInfo;
/**
* 小贴士列表信息
*/
private List<TipInfo> tipList;
/**
* 小贴士信息
*/
@Data
@Builder
public static class TipInfo {
/**
* 小贴士ID(知识ID)
*/
private String tipId;
/**
* 小贴士标题Code
*/
private String tipTitleCode;
/**
* 小贴士标题名称
*/
private String tipTitleName;
/**
* 小贴士内容
*/
private String content;
/**
* 自定义标签Code列表
*/
private List<String> customTagCodes;
/**
* 自定义标签翻译列表
*/
private List<String> customTagNames;
/**
* 引用数量
*/
private Long referenceNumber;
/**
* 引用项
*/
private List<String> referenceItems;
/**
* 启用状态 1、启用 2、禁用
*/
private String openStatus;
/**
* 更新时间
*/
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
}
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* @author :fengxuanjun
* @date :2022/8/4 5:49 下午
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class HealthTipUploadExcelVO {
/**
* 失败信息
*/
private List<FailInfo> fails;
/**
* 导入失败数据
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public static class FailInfo {
/**
* 失败行号
*/
private Integer lineNum;
/**
* 失败方案
*/
private String schemeName;
}
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager;
import com.jiankangyouyi.cloud.basedata.api.model.component.CrowdType;
import com.jiankangyouyi.cloud.basedata.model.entity.mongo.component.PunchCardContent;
import com.jiankangyouyi.cloud.basedata.model.entity.mongo.component.RuleLimit;
import com.jiankangyouyi.cloud.core.validator.annotation.BigDecimalValHC;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* @author wangyalei
* @date 2022/8/9 3:29 PM
**/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class LifeStyleSchemeDetailVO {
/**
* 方案名称
*/
private String schemeName;
/**
* 方案ID
*/
private String schemeId;
/**
* 方案标题
*/
private String schemeTitle;
/**
* 方案类型
*/
private String schemeType;
/**
* 人群类型
*/
private List<CrowdType> crowdTypes;
/**
* 规则组合
*/
private List<RuleLimit> ruleLimits;
/**
* 打卡内容
*/
private PunchCardContent punchCardContent;
/**
* 哺乳状态 1:哺乳期 2:非哺乳期
*/
private String lactationStatus;
/**
* 产后阶段天数 起
*/
private Integer postpartumStartDays;
/**
* 产后阶段天数 止
*/
private Integer postpartumEndDays;
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jiankangyouyi.cloud.basedata.model.entity.mongo.component.PunchCardContent;
import com.jiankangyouyi.cloud.core.entity.page.PageResult;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
import java.util.List;
/**
* @author :wangyalei
* @date :2022/8/4 5:49 下午
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class LifeStyleSchemeListPageVO {
/**
* 分页信息
*/
private PageResult.PageInfo pageInfo;
/**
* 方案组合列表
*/
private List<SchemeInfo> schemeList;
/**
* 方案组合信息
*/
@Data
@Builder
public static class SchemeInfo {
/**
* 方案名称
*/
private String schemeName;
/**
* 方案ID
*/
private String schemeId;
/**
* 方案标题
*/
private String schemeTitle;
/**
* 方案类型
*/
private String schemeType;
/**
* 人群类型
*/
private String crowdType;
/**
* 不良标签
*/
private String unhealthyLabel;
/**
* 规则限制(指标限制)
*/
private String ruleLimits;
/**
* 打卡内容
*/
private List<PunchCardContentInfo> punchCardContent;
/**
* 启用状态 1、启用 2、禁用
*/
private String openStatus;
/**
* 更新时间
*/
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
/**
* 哺乳状态 1:哺乳期 2:非哺乳期
*/
private String lactationStatus;
/**
* 产后阶段天数 起
*/
private Integer postpartumStartDays;
/**
* 产后阶段天数 止
*/
private Integer postpartumEndDays;
@Data
@Builder
public static class PunchCardContentInfo {
/**
* 小贴士ID(知识ID)
*/
private String tipId;
/**
* 阶段类型
*/
private String phaseType;
/**
* 小贴士内容
*/
private String tipContent;
}
}
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* 修改状态返回数据
*
* @author wangyalei
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class ManagerStatusUpdateVO implements Serializable {
/**
* 总条数
*/
private Integer totalSize;
/**
* 成功条数
*/
private Integer successSize;
/**
* 失败条数
*/
private Integer failureSize;
/**
* 失败的数据 信息
*/
private List<String> failureInfos;
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* 方案标题标签列表
* @author :wangyalei
* @date :2022/8/4 4:53 下午
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class SchemeTitleLabelListVO {
private List<SchemeTitleLabel> titleLabelList;
/**
* 方案标题标签
*/
@Data
@Builder
public static class SchemeTitleLabel {
/**
* 标题Code
*/
private String titleCode;
/**
* 标题名称
*/
private String titleName;
/**
* 不良标签Code
*/
private String unhealthyLabelCode;
/**
* 不良标签名称
*/
private String unhealthyLabelName;
}
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* 方案类型列表
* @author :wangyalei
* @date :2022/8/4 4:53 下午
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class SchemeTypeListVO {
private List<SchemeType> typeList;
/**
* 方案类型
*/
@Data
@Builder
public static class SchemeType {
private String typeCode;
private String typeName;
}
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.action;
import com.jiankangyouyi.cloud.basedata.model.entity.mongo.action.ExerciseModernActionDO;
import com.jiankangyouyi.cloud.basedata.model.entity.mongo.action.ExerciseModernActionDO2;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author :wangyalei
* @date :Created in 2021/6/4 10:30 上午
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class ExerciseModern2InfoVO implements Serializable {
/**
* 现代运动库信息
*/
private ExerciseModernActionDO2 exerciseModernAction;
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.action;
import com.jiankangyouyi.cloud.basedata.model.vo.manager.action.component.ExerciseModern2SimpleInfo;
import com.jiankangyouyi.cloud.basedata.model.vo.manager.action.component.ExerciseModernSimpleInfo;
import com.jiankangyouyi.cloud.core.entity.page.PageResult;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
*
* @author wangyalei
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class ExerciseModern2ListVO implements Serializable {
/**
* 分页信息
*/
private PageResult.PageInfo pageInfo;
/**
* 现在动作库列表信息
*/
private List<ExerciseModern2SimpleInfo> exerciseModernList;
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.action;
import com.jiankangyouyi.cloud.basedata.model.entity.mongo.action.ExerciseModernActionDO;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author :wangyalei
* @date :Created in 2021/6/4 10:30 上午
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class ExerciseModernInfoVO implements Serializable {
/**
* 现代运动库信息
*/
private ExerciseModernActionDO exerciseModernAction;
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.action;
import com.jiankangyouyi.cloud.basedata.model.vo.manager.action.component.ExerciseModernSimpleInfo;
import com.jiankangyouyi.cloud.core.entity.page.PageResult;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
*
* @author wangyalei
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class ExerciseModernListVO implements Serializable {
/**
* 分页信息
*/
private PageResult.PageInfo pageInfo;
/**
* 现在动作库列表信息
*/
private List<ExerciseModernSimpleInfo> exerciseModernList;
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.action;
import com.jiankangyouyi.cloud.basedata.model.entity.mongo.action.ExerciseTraditionalActionDO;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author :wangyalei
* @date :Created in 2021/6/4 11:13 上午
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class ExerciseTraditionalInfoVO implements Serializable {
/**
* 传统动作库信息
*/
private ExerciseTraditionalActionDO exerciseTraditionalAction;
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.action;
import com.jiankangyouyi.cloud.basedata.model.vo.manager.action.component.ExerciseTraditionalSimpleInfo;
import com.jiankangyouyi.cloud.core.entity.page.PageResult;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* @author :wangyalei
* @date :Created in 2021/6/3 5:05 下午
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class ExerciseTraditionalListVO implements Serializable {
/**
* 分页信息
*/
private PageResult.PageInfo pageInfo;
/**
* 传统动作库列表信息
*/
private List<ExerciseTraditionalSimpleInfo> exerciseTraditionalList;
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.action;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* @author :wangyalei
* @date :Created in 2021/6/28 3:42 下午
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class VideoRestDeleteVO {
/**
* 成功条数
*/
private Integer successCount;
/**
* 失败条数
*/
private Integer failCount;
/**
* 消息
*/
private List<String> message;
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.action;
import com.jiankangyouyi.cloud.basedata.model.entity.mongo.action.VideoRestDO;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author :wangyalei
* @date :Created in 2021/6/4 3:27 下午
*/
@Data
public class VideoRestInfoVO extends VideoRestDO implements Serializable {
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.action;
import com.jiankangyouyi.cloud.basedata.model.vo.manager.action.component.VideoRestSimpleInfo;
import com.jiankangyouyi.cloud.core.entity.page.PageResult;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* @author :wangyalei
* @date :Created in 2021/6/3 5:11 下午
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class VideoRestListVO implements Serializable {
/**
* 分页信息
*/
private PageResult.PageInfo pageInfo;
/**
* 休息视频库列表信息
*/
private List<VideoRestSimpleInfo> videoRestList;
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.action.component;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.jiankangyouyi.cloud.core.util.json.serialize.QiniuKeyToUrlJsonSerialize;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* @author :wangyalei
* @date :Created in 2021/6/3 3:22 下午
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class ExerciseModern2SimpleInfo implements Serializable {
/**
* 动作编号
*/
private String actionId;
/**
* 动作名称
*/
private String actionName;
/**
* 器械名称
*/
private String equipments;
/**
* 动作分类
*/
private String actionClassification;
/**
* 训练肌群
*/
private String trainPositions;
/**
* 动作体位
*/
private String actionPosition;
/**
* 动作难度
*/
private String actionDifficulty;
/**
* 动作特点
*/
private String actionFeatures;
/**
* 动作强度
*/
private String actionIntensity;
/**
* 视频规格标签
*/
private String videoLabel;
/**
* 教练性别
*/
private String coachGender;
/**
* 当前状态
*/
private Integer status;
/**
* 男动作封面图
*/
@JsonSerialize(using = QiniuKeyToUrlJsonSerialize.class)
private String manActionImageUrl;
/**
* 女动作封面图
*/
@JsonSerialize(using = QiniuKeyToUrlJsonSerialize.class)
private String femaleActionImageUrl;
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.action.component;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.jiankangyouyi.cloud.core.util.json.serialize.QiniuKeyToUrlJsonSerialize;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author :wangyalei
* @date :Created in 2021/6/3 3:22 下午
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class ExerciseModernSimpleInfo implements Serializable {
/**
* 动作编号
*/
private String actionId;
/**
* 动作名称
*/
private String actionName;
/**
* 动作封面图
*/
@JsonSerialize(using = QiniuKeyToUrlJsonSerialize.class)
private String actionImageUrl;
/**
* 器械名称
*/
private String equipments;
/**
* 动作分类
*/
private String actionClassification;
/**
* 训练肌群
*/
private String trainPositions;
/**
* 动作体位
*/
private String actionPosition;
/**
* 动作难度
*/
private String actionDifficulty;
/**
* 动作特点
*/
private String actionFeatures;
/**
* 视频规格
*/
private String videoSizes;
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.action.component;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.jiankangyouyi.cloud.core.util.json.serialize.QiniuKeyToUrlJsonSerialize;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
*
* @author wangyalei
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class ExerciseTraditionalSimpleInfo implements Serializable {
/**
* 动作编号
*/
private String actionId;
/**
* 动作名称
*/
private String actionName;
/**
* 动作封面图
*/
@JsonSerialize(using = QiniuKeyToUrlJsonSerialize.class)
private String actionImageUrl;
/**
* 动作类型
*/
private String actionType;
/**
* 动作分类
*/
private String actionClassification;
/**
* 视频规格
*/
private String videoSizes;
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.baidu;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* access_token VO
*
* @author : fengxuanjun
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class BaiduAccessTokenVO {
/**
*
*/
private String refresh_token;
/**
* Access Token的有效期(秒为单位,有效期30天)
*/
private String expires_in;
private String scope;
private String session_key;
private String session_secret;
/**
* 要获取的Access Token
*/
private String access_token;
/**
* 错误码;关于错误码的详细信息请参考下方鉴权认证错误码。
*/
private String error;
/**
* 错误描述信息,帮助理解和解决发生的错误。
*/
private String error_description;
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.baidu;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.jiankangyouyi.cloud.basedata.model.vo.manager.baidu.component.BaiduResult;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 文本翻译-通用版 VO
*
* @author : fengxuanjun
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@JsonIgnoreProperties({"error_code","error_msg"})
public class BaiduTexttransVO {
/**
* 返回结果
*/
private BaiduResult result;
/**
* 错误信息
*/
@JsonProperty("error_msg")
private String errorMsg;
/**
* 错误码
*/
@JsonProperty("error_code")
private String errorCode;
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.baidu.component;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* 文本翻译-通用版 VO
*
* @author : fengxuanjun
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class BaiduResult {
/**
* 翻译结果
*/
@JsonProperty("trans_result")
private List<BaiduTexttransResult> transResult;
/**
* 源语种方向
*/
private String from;
/**
* 目标语种方向
*/
private String to;
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.baidu.component;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 文本翻译-通用版 VO
*
* @author : fengxuanjun
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class BaiduTexttransResult {
/**
* 译文
*/
private String dst;
/**
* 翻译原文
*/
private String src;
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.common;
import com.jiankangyouyi.cloud.basedata.model.vo.manager.common.component.ManageDataExportInfo;
import com.jiankangyouyi.cloud.core.entity.page.PageResult;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* 底层库管理-数据导出结果
*
* @author yangsongbo
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ManagerDataExportResultVO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 分页信息
*/
private PageResult.PageInfo pageInfo;
/**
* 数据导出列表
*/
private List<ManageDataExportInfo> exportList;
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.dict;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.sql.Timestamp;
/**
* @author :wangyalei
* @date :Created in 2021/5/6 1:40 下午
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class BaseDictInfoVO implements Serializable {
/**
* 更新时间
*/
@JsonFormat(
timezone = "GMT+8",
pattern = "yyyy-MM-dd HH:mm:ss"
)
private Timestamp updateTime;
/**
* 创建时间
*/
@JsonFormat(
timezone = "GMT+8",
pattern = "yyyy-MM-dd HH:mm:ss"
)
private Timestamp createTime;
/**
* 启用禁用状态 1 启用 2 禁用
*/
private String validStatus;
/**
* 字典ID,业务主键
*/
private String dictId;
/**
* 字典大类
*/
private String dictType;
/**
* 字典大类名称
*/
private String dictTypeName;
/**
* 字典子类
*/
private String dictSubType;
/**
* 字典子类名称
*/
private String dictSubTypeName;
/**
* 字典编码
*/
private String dictCode;
/**
* 字典名称
*/
private String dictName;
/**
* 排序
*/
private Integer rowOrder;
/**
* 字典描述
*/
private String description;
/**
* 操作人帐号
*/
private String operateAccount;
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.dict;
import com.jiankangyouyi.cloud.core.entity.page.PageResult;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* @author :wangyalei
* @date :Created in 2021/5/6 1:40 下午
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class BaseDictListByPageQueryVO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 字典列表
*/
private List<BaseDictInfoVO> baseDictList;
/**
* 分页信息
*/
private PageResult.PageInfo pageInfo;
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.dict;
import com.jiankangyouyi.cloud.basedata.model.vo.manager.dict.component.BaseDictSimpleInfo;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* @author :wangyalei
* @date :Created in 2021/5/6 2:25 下午
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class BaseDictListQueryVO implements Serializable {
/**
* 字典大类
*/
private String dictType;
/**
* 字典子类
*/
private String dictSubType;
/**
* 字典数据列表
*/
private List<BaseDictSimpleInfo> dictList;
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.dict;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author :wangyalei
* @date :Created in 2021/5/6 9:05 下午
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class BaseDictSubTypeListQueryVO {
/**
* 字典子类
*/
private String dictSubType;
/**
* 字典子类名称
*/
private String dictSubTypeName;
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.dict;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
/**
* @author :wangyalei
* @date :Created in 2021/5/6 5:11 下午
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class BaseDictTypeInfoVO implements Serializable {
/**
* 更新时间
*/
@JsonFormat(
timezone = "GMT+8",
pattern = "yyyy-MM-dd HH:mm:ss"
)
private Date updateTime;
/**
* 创建时间
*/
@JsonFormat(
timezone = "GMT+8",
pattern = "yyyy-MM-dd HH:mm:ss"
)
private Date createTime;
/**
* 启用禁用状态 1 启用 2 禁用
*/
private String validStatus;
/**
* 字典ID,业务主键
*/
private String dictTypeId;
/**
* 字典大类
*/
private String dictType;
/**
* 字典子类
*/
private String dictSubType;
/**
* 字典大类名称
*/
private String dictTypeName;
/**
* 字典子类名称
*/
private String dictSubTypeName;
/**
* 排序
*/
private Integer rowOrder;
/**
* 字典描述
*/
private String description;
/**
* 操作人帐号
*/
private String operateAccount;
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.dict;
import com.jiankangyouyi.cloud.core.entity.page.PageResult;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* @author :wangyalei
* @date :Created in 2021/5/6 5:09 下午
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class BaseDictTypeListByPageQueryVO implements Serializable {
/**
* 字典列表
*/
private List<BaseDictTypeInfoVO> baseDictTypeList;
/**
* 分页信息
*/
private PageResult.PageInfo pageInfo;
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.dict.component;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author :wangyalei
* @date :Created in 2021/5/6 2:28 下午
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class BaseDictSimpleInfo {
/**
* 字典编码
*/
private String dictCode;
/**
* 字典名称
*/
private String dictName;
/**
* 字典描述
*/
private String description;
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.food;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jiankangyouyi.cloud.core.entity.page.PageResult;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* 描述
*
* @author qxy
**/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class FoodImageListVO {
/**
* 分页信息
*/
private PageResult.PageInfo pageInfo;
private List<FoodImageListData> list;
/**
*
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public static class FoodImageListData implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 图片名称 hash
*/
private String foodImageName;
/**
* ftp图片url
*/
private String foodImageUrl;
/**
* 图片特征
*/
private List<Float> imgFeatures;
/**
* 食物id
*/
private String foodId;
/**
* 食物名称
*/
private String foodName;
/**
* 食物类型
*/
private String foodProperty;
/**
* 食物类型name
*/
private String foodPropertyName;
/**
* 食物分类
*/
private String classify1;
/**
* 食物分类classValueName
*/
private String classify1Name;
/**
* 食物分类
*/
private String classify2;
/**
* 食物分类classValueName
*/
private String classify2Name;
/**
* 食物分类
*/
private String classify3;
/**
* 食物分类classValueName
*/
private String classify3Name;
/**
* 食物分类classValueName 前端展示用
*/
private String classifyName;
/**
* 修改时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
/**
* 修改时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
/**
* 最后操作账号
*/
private String optionAccount;
}
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.food;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* 描述
*
* @author qxy
**/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class FoodImageVO implements Serializable {
private List<Float> imgFeatures;
/**
* ftp图片url
*/
private String foodImageUrl;
private String uid;
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.food;
import lombok.Builder;
import lombok.Data;
import java.io.Serializable;
/**
* 食物列表实体
*
* @author :wangyalei
* @date :Created in 2021/4/27 9:47 下午
*/
@Data
@Builder
public class FoodListImageVO implements Serializable {
// /**
// * 食物列表信息
// */
// private List<FoodListInfo> foodList;
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.food;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.jiankangyouyi.cloud.core.util.json.serialize.QiniuKeyToUrlJsonSerialize;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* 描述
*
* @author qxy
**/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class FoodListInfoVO {
/**
* 食物ID 业务唯一ID
*/
private String foodId;
/**
* 食物名称
*/
private String foodName;
/**
* 当前状态 0 有效 1无效 2草稿
*/
private List<String> foodStatus;
/**
* 食物属性 1、食材 2、加工食品 3、预包装食品 4、药材
*/
private String foodProperty;
/**
* 标准单位 (g/ml)
*/
private String unit;
/**
* 食物分类
*/
private String classify1;
/**
* 食物分类classValueName
*/
private String classify1Name;
/**
* 食物分类
*/
private String classify2;
/**
* 食物分类classValueName
*/
private String classify2Name;
/**
* 食物分类
*/
private String classify3;
/**
* 食物分类classValueName
*/
private String classify3Name;
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.food;
import com.jiankangyouyi.cloud.basedata.api.model.entity.foodv4.component.DietaryPattern;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* 底层库管理-食材计算结果
*
* @author yangsongbo
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class ManagerFoodMaterialCalculateVO implements Serializable {
/**
* 膳食结构
*/
private DietaryPattern dietaryPattern;
/**
* 富含营养素:字典大类02,字典子类0206
*/
private List<String> highContentNutrients;
/**
* 低量营养素:字典大类02,字典子类0218
*/
private List<String> lowContentNutrients;
/**
* 升糖指数等级, HIGH 高,MIDDLE 中,LOW 低,UNKNOWN 未知
* <p>
* {@link com.jiankangyouyi.cloud.basedata.api.enums.food.GiLevelEnum}
*/
private String giLevel;
/**
* 血糖负荷等级, HIGH 高,MIDDLE 中,LOW 低,UNKNOWN 未知
* <p>
* {@link com.jiankangyouyi.cloud.basedata.api.enums.food.GlLevelEnum}
*/
private String glLevel;
/**
* 嘌呤等级, HIGH 高,MIDDLE 中,LOW 低,UNKNOWN 未知
* <p>
* {@link com.jiankangyouyi.cloud.basedata.api.enums.food.PurineLevelEnum}
*/
private String purineLevel;
/**
* 果糖等级
* <p>
* {@link com.jiankangyouyi.cloud.basedata.api.enums.food.FructoseLevelEnum}
*/
private String fructoseLevel;
/**
* 推荐人群:字典大类02,字典子类0205
*/
private List<String> recommendCrowds;
/**
* 禁忌人群:字典大类02,字典子类0205
*/
private List<String> tabooCrowds;
/**
* 膳食特点
*/
private List<String> foodSpecialties;
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.food;
import com.jiankangyouyi.cloud.basedata.api.model.entity.foodv4.FoodMaterial;
import lombok.ToString;
/**
* 底层库管理-食材详情
*
* @author yangsongbo
*/
@ToString
public class ManagerFoodMaterialDetailVO extends FoodMaterial {
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.food;
import com.jiankangyouyi.cloud.basedata.model.vo.manager.food.component.ManagerFoodMaterialListInfo;
import com.jiankangyouyi.cloud.core.entity.page.PageResult;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* 底层库管理-食材列表分页结果
*
* @author yangsongbo
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class ManagerFoodMaterialListVO {
/**
* 分页对象
*/
private PageResult.PageInfo pageInfo;
/**
* 食材列表
*/
private List<ManagerFoodMaterialListInfo> foodList;
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.food;
import com.jiankangyouyi.cloud.basedata.api.model.entity.foodv4.FoodPackage;
import lombok.ToString;
/**
* 底层库管理-预包装食品详情
*
* @author yangsongbo
*/
@ToString
public class ManagerFoodPackageDetailVO extends FoodPackage {
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.food;
import com.jiankangyouyi.cloud.basedata.model.vo.manager.food.component.ManagerFoodPackageListInfo;
import com.jiankangyouyi.cloud.core.entity.page.PageResult;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* 底层库管理-加工食品列表分页结果
*
* @author yangsongbo
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class ManagerFoodPackageListVO {
/**
* 分页对象
*/
private PageResult.PageInfo pageInfo;
/**
* 食材列表
*/
private List<ManagerFoodPackageListInfo> foodList;
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.food;
import com.jiankangyouyi.cloud.basedata.api.model.entity.foodv4.component.DietaryPattern;
import com.jiankangyouyi.cloud.basedata.api.model.entity.foodv4.component.FoodComposition;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* 底层库管理-加工食品计算结果
*
* @author yangsongbo
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class ManagerFoodProcessCalculateVO implements Serializable {
/**
* 加工食品食物成分
*/
private FoodComposition composition;
/**
* 膳食结构
*/
private DietaryPattern dietaryPattern;
/**
* 富含营养素:字典大类02,字典子类0206
*/
private List<String> highContentNutrients;
/**
* 低量营养素:字典大类02,字典子类0218
*/
private List<String> lowContentNutrients;
/**
* 升糖指数等级, HIGH 高,MIDDLE 中,LOW 低,UNKNOWN 未知
* <p>
* {@link com.jiankangyouyi.cloud.basedata.api.enums.food.GiLevelEnum}
*/
private String giLevel;
/**
* 血糖负荷等级, HIGH 高,MIDDLE 中,LOW 低,UNKNOWN 未知
* <p>
* {@link com.jiankangyouyi.cloud.basedata.api.enums.food.GlLevelEnum}
*/
private String glLevel;
/**
* 嘌呤等级, HIGH 高,MIDDLE 中,LOW 低,UNKNOWN 未知
* <p>
* {@link com.jiankangyouyi.cloud.basedata.api.enums.food.PurineLevelEnum}
*/
private String purineLevel;
/**
* 推荐人群:字典大类02,字典子类0205
*/
private List<String> recommendCrowds;
/**
* 禁忌人群:字典大类02,字典子类0205
*/
private List<String> tabooCrowds;
/**
* 禁忌民族
*/
private List<String> tabooNations;
/**
* 性质
*/
private List<String> natures;
/**
* 时令
*/
private List<String> months;
/**
* 膳食特点
*/
private List<String> foodSpecialties;
/**
* 烹饪特点
*/
private List<String> cookingSpecialties;
/**
* 致敏原: 字典大类02,字典子类 0234
*/
private List<String> allergen;
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.food;
import com.jiankangyouyi.cloud.basedata.api.model.entity.foodv4.FoodProcess;
import lombok.ToString;
/**
* 底层库管理-加工食品详情
*
* @author yangsongbo
*/
@ToString
public class ManagerFoodProcessDetailVO extends FoodProcess {
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.food;
import com.jiankangyouyi.cloud.basedata.model.vo.manager.food.component.ManagerFoodProcessListInfo;
import com.jiankangyouyi.cloud.core.entity.page.PageResult;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* 底层库管理-加工食品列表分页结果
*
* @author yangsongbo
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class ManagerFoodProcessListVO {
/**
* 分页对象
*/
private PageResult.PageInfo pageInfo;
/**
* 食材列表
*/
private List<ManagerFoodProcessListInfo> foodList;
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.food;
import lombok.Builder;
import lombok.Data;
import java.io.Serializable;
/**
* 底层库管理-食物快速查询
*
* @author yangsongbo
*/
@Data
@Builder
public class ManagerFoodQuickQueryVO implements Serializable {
/**
* 食材查询结果
*/
private ManagerFoodMaterialListVO foodMaterialResult;
/**
* 加工食品查询结果
*/
private ManagerFoodProcessListVO foodProcessResult;
/**
* 预包装食品查询结果
*/
private ManagerFoodPackageListVO foodPackageResult;
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.food;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* 修改食物状态返回数据
*
* @author yangsongbo
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class ManagerFoodStatusUpdateVO implements Serializable {
/**
* 总条数
*/
private Integer totalSize;
/**
* 成功条数
*/
private Integer successSize;
/**
* 失败条数
*/
private Integer failureSize;
/**
* 失败的数据 信息
*/
private List<String> failureInfos;
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.food;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 底层库管理-根据食物名称查询
*
* @author yangsongbo
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class ManagerQueryByFoodNameVO {
/**
* 食物ID
*/
private String foodId;
/**
* 食物名称
*/
private String foodName;
/**
* 食物状态
*/
private String foodStatus;
/**
* 食物属性
*/
private String foodProperty;
/**
* 食物单位
*/
private String unit;
/**
* 食物一级分类编码
*/
private String classify1;
/**
* 食物二级分类编码
*/
private String classify2;
/**
* 食物三级分类编码
*/
private String classify3;
/**
* 食物一级分类名称
*/
private String classify1Name;
/**
* 食物二级分类名称
*/
private String classify2Name;
/**
* 食物三级分类名称
*/
private String classify3Name;
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.food.component;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.jiankangyouyi.cloud.core.util.json.serialize.NumberStripTrailingZerosJsonSerialize;
import com.jiankangyouyi.cloud.core.util.json.serialize.QiniuKeyToUrlJsonSerialize;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* 底层库管理-食材列表对象
*
* @author yangsongbo
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class ManagerFoodMaterialListInfo {
/**
* 食物ID
*/
private String foodId;
/**
* 食物图片URL
*/
@JsonSerialize(using = QiniuKeyToUrlJsonSerialize.class)
private String imageUrl;
/**
* 食物名称
*/
private String foodName;
/**
* 一级分类名称
*/
private String classify1Name;
/**
* 二级分类名称
*/
private String classify2Name;
/**
* 三级分类名称
*/
private String classify3Name;
/**
* 食物状态: 0 启用 1 禁用 2 草稿
*/
private String foodStatus;
/**
* 是否参与配餐: true/false
*/
private Boolean catering;
/**
* 被加工食品引用数量
*/
private Integer refCount;
/**
* 推荐人群,返回示例:[“糖尿病”,”肥胖”]
*/
private List<String> recommendCrowds;
/**
* 禁忌人群,返回示例:[“糖尿病”,”肥胖”]
*/
private List<String> tabooCrowds;
/**
* 富含营养素,返回示例:[“钾”,”镁”]
*/
private List<String> highContentNutrients;
/**
* 低量营养素,返回示例:[“钾”,”镁”]
*/
private List<String> lowContentNutrients;
/**
* 升糖指数等级, HIGH 高,MIDDLE 中,LOW 低,UNKNOWN 未知
*/
private String giLevel;
/**
* 血糖负荷等级, HIGH 高,MIDDLE 中,LOW 低,UNKNOWN 未知
*/
private String glLevel;
/**
* 嘌呤等级, HIGH 高,MIDDLE 中,LOW 低,UNKNOWN 未知
*/
private String purineLevel;
/**
* 果糖含量等级, HIGH 高,MIDDLE 中,LOW 低,UNKNOWN 未知
*/
private String fructoseLevel;
/**
* 性质, 返回示例:[“产气”,”家常菜”,”辛辣刺激”]
*/
private List<String> natures;
/**
* 膳食特点, 返回示例:[“全谷物”,”优质蛋白”]
*/
private List<String> foodSpecialties;
/**
* 烹饪特点, 返回示例:[“干”,”湿”]
*/
private List<String> cookingSpecialties;
/**
* 致敏原
*/
private List<String> allergen;
/**
* 能量,单位 kcal
*/
private Integer energy;
/**
* 蛋白质,单位 g
*/
@JsonSerialize(using = NumberStripTrailingZerosJsonSerialize.class)
private BigDecimal protein;
/**
* 脂肪,单位 g
*/
@JsonSerialize(using = NumberStripTrailingZerosJsonSerialize.class)
private BigDecimal fat;
/**
* 碳水化合物,单位 g
*/
@JsonSerialize(using = NumberStripTrailingZerosJsonSerialize.class)
private BigDecimal carbohydrate;
/**
* 创建时间
*/
@JsonFormat(
timezone = "GMT+8",
pattern = "yyyy-MM-dd HH:mm:ss"
)
private Date createTime;
/**
* 更新时间
*/
@JsonFormat(
timezone = "GMT+8",
pattern = "yyyy-MM-dd HH:mm:ss"
)
private Date updateTime;
/**
* 审核状态
*/
private String auditStatus;
/**
* 创建人 (账号)
*/
private String createAccount;
/**
* 修改人 (账号)
*/
private String updateAccount;
/**
* 采纳人 (账号)
*/
private String adoptAccount;
/**
* 驳回理由
*/
private String reasonsForRejection;
/**
* 配餐版本号, 返回示例:[“V2.6”,”V2.7”]
*/
private List<String> versions;
/**
* 采纳时间
*/
@JsonFormat(
timezone = "GMT+8",
pattern = "yyyy-MM-dd HH:mm:ss"
)
private Date adoptTime;
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.food.component;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.jiankangyouyi.cloud.core.util.json.serialize.NumberStripTrailingZerosJsonSerialize;
import com.jiankangyouyi.cloud.core.util.json.serialize.QiniuKeyToUrlJsonSerialize;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* 底层库管理-预包装食品列表对象
*
* @author yangsongbo
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class ManagerFoodPackageListInfo {
/**
* 食物ID
*/
private String foodId;
/**
* 食物图片URL
*/
@JsonSerialize(using = QiniuKeyToUrlJsonSerialize.class)
private String imageUrl;
/**
* 食物名称
*/
private String foodName;
/**
* 一级分类名称
*/
private String classify1Name;
/**
* 二级分类名称
*/
private String classify2Name;
/**
* 三级分类名称
*/
private String classify3Name;
/**
* 食物状态: 0 启用 1 禁用 2 草稿
*/
private String foodStatus;
/**
* 条形码
*/
private String barCode;
/**
* 能量,单位 kcal
*/
private Integer energy;
/**
* 蛋白质,单位 g
*/
@JsonSerialize(using = NumberStripTrailingZerosJsonSerialize.class)
private BigDecimal protein;
/**
* 脂肪,单位 g
*/
@JsonSerialize(using = NumberStripTrailingZerosJsonSerialize.class)
private BigDecimal fat;
/**
* 碳水化合物,单位 g
*/
@JsonSerialize(using = NumberStripTrailingZerosJsonSerialize.class)
private BigDecimal carbohydrate;
/**
* 更新时间
*/
@JsonFormat(
timezone = "GMT+8",
pattern = "yyyy-MM-dd HH:mm:ss"
)
private Date updateTime;
/**
* 创建时间
*/
@JsonFormat(
timezone = "GMT+8",
pattern = "yyyy-MM-dd HH:mm:ss"
)
private Date createTime;
/**
* 审核状态
*/
private String auditStatus;
/**
* 创建人 (账号)
*/
private String createAccount;
/**
* 修改人 (账号)
*/
private String updateAccount;
/**
* 采纳人 (账号)
*/
private String adoptAccount;
/**
* 驳回理由
*/
private String reasonsForRejection;
/**
* 采纳时间
*/
@JsonFormat(
timezone = "GMT+8",
pattern = "yyyy-MM-dd HH:mm:ss"
)
private Date adoptTime;
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.food.component;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.jiankangyouyi.cloud.core.util.json.serialize.NumberStripTrailingZerosJsonSerialize;
import com.jiankangyouyi.cloud.core.util.json.serialize.QiniuKeyToUrlJsonSerialize;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* 底层库管理-加工食品列表对象
*
* @author yangsongbo
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class ManagerFoodProcessListInfo {
/**
* 食物ID
*/
private String foodId;
/**
* 食物图片URL
*/
@JsonSerialize(using = QiniuKeyToUrlJsonSerialize.class)
private String imageUrl;
/**
* 食物名称
*/
private String foodName;
/**
* 一级分类名称
*/
private String classify1Name;
/**
* 二级分类名称
*/
private String classify2Name;
/**
* 三级分类名称
*/
private String classify3Name;
/**
* 食物状态: 0 启用 1 禁用 2 草稿
*/
private String foodStatus;
/**
* 是否参与配餐: true/false
*/
private Boolean catering;
/**
* 推荐人群,返回示例:[“糖尿病”,”肥胖”]
*/
private List<String> recommendCrowds;
/**
* 适合餐别 名称展示
*/
private List<String> suitableForMeals;
/**
* 节日 名称展示
*/
private List<String> festivals;
/**
* 节气 名称展示
*/
private List<String> solarTerms;
/**
* 配餐版本号 名称展示
*/
private List<String> versions;
/**
* 禁忌人群,返回示例:[“糖尿病”,”肥胖”]
*/
private List<String> tabooCrowds;
/**
* 富含营养素,返回示例:[“钾”,”镁”]
*/
private List<String> highContentNutrients;
/**
* 低量营养素,返回示例:[“钾”,”镁”]
*/
private List<String> lowContentNutrients;
/**
* 致敏原,返回示例:[“芒果”,”苹果”]
*/
private List<String> allergen;
/**
* 升糖指数等级, HIGH 高,MIDDLE 中,LOW 低,UNKNOWN 未知
*/
private String giLevel;
/**
* 血糖负荷等级, HIGH 高,MIDDLE 中,LOW 低,UNKNOWN 未知
*/
private String glLevel;
/**
* 嘌呤等级, HIGH 高,MIDDLE 中,LOW 低,UNKNOWN 未知
*/
private String purineLevel;
/**
* 性质, 返回示例:[“产气”,”家常菜”,”辛辣刺激”]
*/
private List<String> natures;
/**
* 膳食特点, 返回示例:[“全谷物”,”优质蛋白”]
*/
private List<String> foodSpecialties;
/**
* 烹饪特点, 返回示例:[“干”,”湿”]
*/
private List<String> cookingSpecialties;
/**
* 能量,单位 kcal
*/
private Integer energy;
/**
* 蛋白质,单位 g
*/
@JsonSerialize(using = NumberStripTrailingZerosJsonSerialize.class)
private BigDecimal protein;
/**
* 脂肪,单位 g
*/
@JsonSerialize(using = NumberStripTrailingZerosJsonSerialize.class)
private BigDecimal fat;
/**
* 碳水化合物,单位 g
*/
@JsonSerialize(using = NumberStripTrailingZerosJsonSerialize.class)
private BigDecimal carbohydrate;
/**
* 口味
*/
private String tastes;
/**
* 更新时间
*/
@JsonFormat(
timezone = "GMT+8",
pattern = "yyyy-MM-dd HH:mm:ss"
)
private Date updateTime;
/**
* 创建时间
*/
@JsonFormat(
timezone = "GMT+8",
pattern = "yyyy-MM-dd HH:mm:ss"
)
private Date createTime;
/**
* 审核状态
*/
private String auditStatus;
/**
* 创建人 (账号)
*/
private String createAccount;
/**
* 修改人 (账号)
*/
private String updateAccount;
/**
* 采纳人 (账号)
*/
private String adoptAccount;
/**
* 驳回理由
*/
private String reasonsForRejection;
/**
* 采纳时间
*/
@JsonFormat(
timezone = "GMT+8",
pattern = "yyyy-MM-dd HH:mm:ss"
)
private Date adoptTime;
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.hardware;
import com.jiankangyouyi.cloud.basedata.model.vo.manager.hardware.component.DataItemInfo;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* 数据项列表VO
*
* @author fengxuanjun
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class DataItemListVO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 数据项列表
*/
private List<DataItemInfo> resultList;
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.hardware;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.jiankangyouyi.cloud.core.util.json.serialize.QiniuKeyToUrlJsonSerialize;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.Transient;
import java.io.Serializable;
import java.util.List;
/**
* 硬件信息
*
* @author fengxuanjun
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class HardwareVO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* NOT NULL 硬件业务ID
*/
private String hardwareId;
/**
* 一级分类
*/
private String classify1;
/**
* 二级分类
*/
private String classify2;
/**
* 品牌 对应字典code
*/
private String brand;
/**
* 品牌 对应字典code名称
*/
private String brandName;
/**
* 型号 对应字典code
*/
private String model;
/**
* 型号 对应字典code名称
*/
private String modelName;
/**
* 通讯方式 对应字典code
*/
private String communication;
/**
* 通讯方式 对应字典code名称
*/
private String communicationName;
/**
* 数据项 例:蓝牙、Wi-Fi...
*/
private List<String> dataItems;
/**
* 业务类型
*/
private String bizType;
/**
* 产品图片 七牛文件Key
*/
private List<String> images;
/**
* 产品图片 七牛文件url
*/
@Transient
@JsonSerialize(using = QiniuKeyToUrlJsonSerialize.class)
private List<String> imagesUrl;
/**
* 产品文档 七牛文件Key
*/
private String documentkey;
/**
* 产品文档 七牛文件URl
*/
@Transient
@JsonSerialize(using = QiniuKeyToUrlJsonSerialize.class)
private String documentUrl;
/**
* 产品文档 七牛文件Key
*/
private String apiUrl;
/**
* 功能简述
*/
private String description;
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.hardware.component;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* 硬件信息
*
* @author fengxuanjun
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class DataItemInfo implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 指标名称
*/
private String indicatorName;
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.hardware.component;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.jiankangyouyi.cloud.core.util.json.serialize.QiniuKeyToUrlJsonSerialize;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.Transient;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* 硬件信息
*
* @author fengxuanjun
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class HardwareInfo implements Serializable {
private static final long serialVersionUID = 1L;
/**
* NOT NULL 硬件业务ID
*/
private String hardwareId;
/**
* 一级分类
*/
private String classify1;
/**
* 一级分类名称
*/
private String classify1Name;
/**
* 二级分类
*/
private String classify2;
/**
* 二级分类名称
*/
private String classify2Name;
/**
* 品牌 对应字典code
*/
private String brand;
/**
* 品牌 对应字典code名称
*/
private String brandName;
/**
* 型号 对应字典code
*/
private String model;
/**
* 型号 对应字典code名称
*/
private String modelName;
/**
* 通讯方式 对应字典code
*/
private String communication;
/**
* 通讯方式 对应字典code名称
*/
private String communicationName;
/**
* 数据项 例:蓝牙、Wi-Fi...
*/
private List<String> dataItems;
/**
* 产品文档 七牛文件Key
*/
private String documentkey;
/**
* 产品文档 七牛文件URl
*/
@Transient
@JsonSerialize(using = QiniuKeyToUrlJsonSerialize.class)
private String documentUrl;
/**
* 创建时间
*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
/**
* 修改时间
*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.knowledge;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
import java.util.List;
/**
* 去除重复 试题和 答案
*
* @author lvqidong
* @date 2022/02/09 09:14
**/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class DistinctQuestionVO {
/**
* 重复率过高的问题列表
*/
private List<DistinctContextData> questionList;
/**
* 重复率过高的答案列表
*/
private List<DistinctContextData> answerList;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public static class DistinctContextData {
/**
* 重复内容ID
*/
private String questionId;
/**
* 重复内容
*/
private String questionContext;
/**
* 相似度百分比
*/
private BigDecimal similarityPercent;
}
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.knowledge;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* 描述
*
* @author qxy
**/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class DownloadQuestionsAndAnswersVO implements Serializable {
private static final long serialVersionUID = 1L;
private String fileUrl;
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.knowledge;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
import java.util.Set;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ImportQuestionVO {
/**
* 成功多少条
*/
private Integer successCount;
/**
* 失败多少条
*/
private Integer errorCount;
/**
* 失败的原因
*/
private List<String> errorList;
private Set<String> set;
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.knowledge;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 描述
*
* @author qxy
**/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class ModifyQuestionsAndAnswersVO {
private Boolean status;
private DistinctQuestionVO distinctQuestionVO;
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.knowledge;
import com.jiankangyouyi.cloud.basedata.api.model.entity.knowledge.QaKnowledgeQuestion;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
@Data
public class QaKnowledgeQuestionListVO extends QaKnowledgeQuestion implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 标签
*/
private List<String> tags;
/**
* 有效状态
*/
private String validStatus;
/**
* 有效状态 翻译
*/
private String validStatusDesc;
/**
* 选择提类型 1 单选 2 多选
*/
private String optionFlag;
/**
* 有效状态
*/
private String useFlag;
/**
* 有效状态 翻译
*/
private String useFlagDesc;
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.knowledge;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
import java.util.List;
/**
* 描述
*
* @author qxy
**/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class QuestionsAndAnswersExportListVO {
private String questionsAndAnswersId;
/**
* 一级分类
*/
private String classify1;
/**
* 一级分类
*/
private String classify1Value;
/**
* 二级分类
*/
private String classify2;
/**
* 二级分类
*/
private String classify2Value;
/**
* 三级分类
*/
private String classify3;
/**
* 三级分类
*/
private String classify3Value;
/**
* 问题
*/
private String question;
/**
* 标签
*/
private List<String> tags;
/**
* 人群
*/
private List<String> crowd;
/**
* 人群
*/
private List<String> crowdValues;
/**
* 状态 [1:启用][2:停用]
*/
private String status;
/**
* 修改时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date adoptTime;
/**
* 创建时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
/**
* 用户id
*/
private String accountId;
/**
* 采纳人
*/
private String adoptAccountId;
/**
* 食材 必填项,可添加多个标签,标签个数最多不能超过10个,每个标签限制1-10个字,不能含有空格、标点符号、特殊符号
*/
private List<String> foodMaterial;
/**
* 疾病
*/
private List<String> disease;
/**
* 答案
*/
private String answer;
/**
* 参考文献
*/
private List<String> reference;
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.knowledge;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* 描述
*
* @author qxy
**/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class QuestionsAndAnswersListVO {
private String questionsAndAnswersId;
/**
* 一级分类
*/
private String classify1Value;
/**
* 二级分类
*/
private String classify2Value;
/**
* 问题
*/
private String question;
/**
* 标签
*/
private List<String> tags;
/**
* 人群
*/
private List<String> crowdValues;
/**
* 疾病
*/
private String disease;
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.knowledge;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* 描述
*
* @author qxy
**/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class QuestionsAndAnswersVO {
private String questionsAndAnswersId;
/**
* 一级分类
*/
private String classify1Value;
/**
* 二级分类
*/
private String classify2Value;
/**
* 问题
*/
private String question;
/**
* 答案
*/
private String answer;
/**
* 人群
*/
private List<String> crowdValues;
/**
* 标签
*/
private List<String> tags;
/**
* 参考文献
*/
private List<String> referenceValues;
/**
* 疾病
*/
private List<String> disease;
/**
* 食材
*/
private List<String> foodMaterialValues;
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.literature;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.jiankangyouyi.cloud.core.util.json.serialize.QiniuKeyToUrlJsonSerialize;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;
/**
* @author lvqidong
* @date 2022/02/09 10:50
**/
@Data
public class ListPageVO {
/**
* 文献id
*/
private String literatureId;
/**
* 文献标题内容
*/
private String literatureContext;
/**
* 启用/禁用 1启用 2 禁用
*/
private String useFlag;
/**
* 排序值
*/
private Integer literatureSort;
/**
* 创建时间
*/
@JsonFormat(timezone = "GMT+8",shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
/**
* 附件名称
*/
private String attachmentName;
/**
* 附件地址
*/
@JsonSerialize(using = QiniuKeyToUrlJsonSerialize.class)
private String attachmentUrl;
/**
* 关联服务
*/
private List<ServiceNodesVO> nodesList;
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.literature;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.jiankangyouyi.cloud.core.util.json.serialize.QiniuKeyToUrlJsonSerialize;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* @author lvqidong
* @date 2022/02/09 11:14
**/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class LiteratureDetailsVO implements Serializable {
/**
* 文献id
*/
private String literatureId;
/**
* 文献标题内容
*/
private String literatureContext;
/**
* 启用/禁用 1启用 2 禁用
*/
private String useFlag;
/**
* 排序值
*/
private Integer literatureSort;
/**
* 附件名称
*/
private String attachmentName;
/**
* 附件地址
*/
@JsonSerialize(using = QiniuKeyToUrlJsonSerialize.class)
private String attachmentUrl;
/**
* 关联服务
*/
private List<ServiceNodesVO> nodesList;
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.question;
import com.jiankangyouyi.cloud.basedata.model.vo.manager.question.component.BaseDataClassify;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* 分类列表返回VO
*
* @author fengxuanjun
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class BaseDataClassifyListVO implements Serializable {
private static final long serialVersionUID = 1L;
List<BaseDataClassify> classifyList;
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.question;
import com.jiankangyouyi.cloud.basedata.model.vo.manager.question.component.QuestionDeleteFailInfo;
import com.jiankangyouyi.cloud.core.validator.ValidDTO;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* 删除问题返回数据
*
* @author fengxuanjun
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class QuestionDeleteVO implements ValidDTO {
private static final long serialVersionUID = 1L;
/**
* 1:成功,2:存在失败
*/
private String resultStatus;
/**
* 删除失败对象
*/
List<QuestionDeleteFailInfo> failInfos;
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.question;
import com.jiankangyouyi.cloud.basedata.api.model.entity.questionnaire.MainQuestion;
import com.jiankangyouyi.cloud.core.validator.ValidDTO;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* 问题详情返回数据
*
* @author fengxuanjun
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class QuestionDetailVO implements ValidDTO {
private static final long serialVersionUID = 1L;
/**
* 问题ID,新增是为null,修改时必传
*/
private String questionId;
/**
* 一级分类ID
*/
private String classify1;
/**
* 二级分裂ID
*/
private String classify2;
/**
* 题型
* 1:单选题
* 2:多选题
* 3:性别题
* 4:出生日期题
* 5:单项数字题
* 6:多项数字题
* 7:BMI题
*/
private String questionType;
/**
* 相关疾病
*/
private List<String> relatedDiseases;
/**
* 标签 (标签库标签id)
*/
private String tag;
/**
* 问题对象
*/
private MainQuestion mainQuestion;
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.question;
import com.jiankangyouyi.cloud.basedata.model.vo.manager.question.component.QuestionnaireBaseInfo;
import com.jiankangyouyi.cloud.core.entity.page.PageResult;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* 问卷列表返回VO
*
* @author fengxuanjun
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class QuestionnaireListVO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 分页信息
*/
private PageResult.PageInfo pageInfo;
/**
* 问题列表
*/
private List<QuestionnaireBaseInfo> questionnairesList;
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.question;
import com.jiankangyouyi.cloud.basedata.api.model.dto.response.component.Questionnaire;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* 问卷预览返回VO
*
* @author fengxuanjun
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class QuestionnairePreviewVO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* NOT NULL 问卷对象
*/
private Questionnaire questionnaire;
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.question;
import com.jiankangyouyi.cloud.basedata.model.vo.manager.question.component.QuestionnaireQuestion;
import com.jiankangyouyi.cloud.core.entity.page.PageResult;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* 问题列表返回VO
*
* @author fengxuanjun
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class QuestionnaireQuestionListVO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 分页信息
*/
private PageResult.PageInfo pageInfo;
/**
* 问题列表
*/
private List<QuestionnaireQuestion> questionList;
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.question.component;
import lombok.*;
import java.io.Serializable;
import java.util.List;
/**
* 分类列表返回数据
*
* @author fengxuanjun
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode
public class BaseDataClassify implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 业务属性
* 1 食材库
* 2 加工食品库
* 3 包装食品库
* 4 中医药材库
* 5 问题库
* 6 指标库
* 7 科普问答库
* 8 硬件库
*/
private String bizProperty;
/**
* 上级分类ID
*/
private String parentId;
/**
* 分类ID
*/
private String classifyId;
/**
* 分类编码,页面展示分类ID
*/
private String classifyCode;
/**
* 分类名称
*/
private String classifyName;
/**
* 分类级别 一级分类:1,二级分类:2...|
*/
private Integer classifyLevel;
/**
* 子分类
*/
List<BaseDataClassify> children;
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.question.component;
import com.jiankangyouyi.cloud.core.validator.ValidDTO;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 删除问题失败返回数据
*
* @author fengxuanjun
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class QuestionDeleteFailInfo implements ValidDTO {
private static final long serialVersionUID = 1L;
/**
* 问题ID
*/
private String questionId;
/**
* 失败原因
*/
private String description;
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.question.component;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.sql.Timestamp;
import java.util.List;
/**
* 问题列表返回结果
*
* @author fengxuanjun
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class QuestionnaireQuestion implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 问题ID
*/
private String questionId;
/**
* 问题名称,多条数据换行展示
*/
private List<String> questionContents;
/**
* 题型
* 1:单选题
* 2:多选题
* 3:性别题
* 4:出生日期题
* 5:单项数字题
* 6:多项数字题
* 7:BMI题
*/
private String questionType;
/**
* 一级分类ID
*/
private String classify1;
/**
* 一级分类名称
*/
private String classify1Name;
/**
* 二级分类ID
*/
private String classify2;
/**
* 二级分类名称
*/
private String classify2Name;
/**
* 相关疾病
*/
private List<String> relatedDiseases;
/**
* 创建时间
*/
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Timestamp createTime;
/**
* 修改时间
*/
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Timestamp updateTime;
}
package com.jiankangyouyi.cloud.data.center.constant;
import com.jiankangyouyi.cloud.data.center.api.enums.ActivityLevelEnum;
import com.jiankangyouyi.cloud.data.center.enums.GenderEnum;
import java.math.BigDecimal;
/**
* 常量
*
* @author yangsongbo
*/
public interface Constants {
/**
* 英文逗号
*/
String SEPARATOR_COMMA = ",";
/**
* 英文冒号
*/
String SEPARATOR_COLON = ":";
/**
* 百分号
*/
String SEPARATOR_PERCENT = "%";
/**
* 登录令牌属性
*/
String FIELD_MANAGER_LOGIN_TOKEN = "loginToken";
/**
* Excel导出间隔时间 秒
*/
int EXPORT_EXCEL_INTERVAL = 25;
/**
* 默认食物图片
*/
String DEFAULT_FOOD_IMAGE_KEY = "d63774c7d8594f5f89475bb6b2ea1f92.png";
/**
* 默认运动图片
*/
String DEFAULT_EXERCISE_IMAGE_KEY = "ba477a9b72e242478274f1634a3976f8.png";
/**
* 指标状态: 正常
*/
String INDICATOR_STATUS_NORMAL = "NORMAL";
/**
* 指标状态: 正常偏高
*/
String INDICATOR_STATUS_NORMAL_HIGH = "NORMAL_HIGH";
/**
* 指标状态:偏高
*/
String INDICATOR_STATUS_HIGH = "HIGH";
/**
* 指标状态: 正常偏低
*/
String INDICATOR_STATUS_NORMAL_LOW = "NORMAL_LOW";
/**
* 指标状态:偏低
*/
String INDICATOR_STATUS_LOW = "LOW";
/**
* 心率正常值
*/
String HEART_RATE_NORMAL_VALUE = "60-100";
/**
* 血氧正常值
*/
String BLOOD_OXYGEN_NORMAL_VALUE = "95以上";
/**
* 益站年龄最小值
*/
int SMART_SPACE_AGE_MIN = 18;
/**
* 益站年龄最大值
*/
int SMART_SPACE_AGE_MAX = 70;
/**
* 验证码长度
*/
Integer VERIFY_CODE_SIZE = 6;
/**
* 短信发送成功
*/
String SMS_SEND_SUCCESS = "0";
/**
* 默认用户图像路径 本地路径
*/
String DEFAULT_HEAD_IMAGE_LOCAL =
"images/jianyue/default/userImage.png?FoLGYXOeiBDBFx_VxRr7SurZ8Kih?750?750?116565?1";
/**
* 默认用户图像路径 本地路径
*/
String DEFAULT_HEAD_IMAGE_LOCAL_ZJ =
"764621897867462c89294359b98f008d.png?FkTTJ2XpEd984n9vfO9j-pVcSeYe?zhidoushi";
/**
* redis区分缓存key值,health_ai 范围
*/
String REDIS_SCOPE_HEALTH_AI = "health_ai";
/**
* 验证码短信通道configType
*/
String SMS_VERIFY_CODE_CONFIG_TYPE = "verify-code";
/**
* 男性臀围比临界值
*/
double MALE_WAIST_TO_HIP_RATIO = 0.9;
/**
* 女性臀围比临界值
*/
double FEMALE_WAIST_TO_HIP_RATIO = 0.85;
/**
* 肥胖
*/
String BMI_OBESITY = "28";
/**
* 超重
*/
String BMI_OVER_WEIGHT = "24";
/**
* 消瘦
*/
String BMI_THIN = "18.5";
/**
* 0.75
*/
String ZERO_POINT_SEVEN_FIVE = "0.75";
/**
* 0.7
*/
String ZERO_POINT_SEVEN = "0.7";
/**
* 1.15
*/
String ONE_POINT_ONE_FIVE = "1.15";
int ONE = 1;
int TWO = 2;
/**
* 100
*/
int HUNDRED = 100;
/**
* 超时时间 5/s
*/
int CONNECT_TIMEOUT_5 = 5 * 1000;
/**
* Ai 大屏 传入的ID
*/
String exerciseId = "af0818e674e943d4bb6451b1f82b934b";
String maxExerciseId = "af0818e674e943d4bb6451b1f82b934b";
/**
* 小屏 传入的ID
*/
String minExerciseId = "af0818e674e943d4bb6451b1f82b654p";
/**
* 碳水化物质量(g)转热量(kcal)的系数
*/
int CARBOHYDRATE_G_TO_KCAL_COEFFICIENT = 4;
/**
* 蛋白质质量(g)转热量(kcal)的系数
*/
int PROTEIN_G_TO_KCAL_COEFFICIENT = 4;
/**
* 脂肪质量(g)转热量(kcal)的系数
*/
int FAT_G_TO_KCAL_COEFFICIENT = 9;
}
package com.jiankangyouyi.cloud.data.center.constant;
/**
* @description: redis相关常量类
* @author: zyj
* @email: zhaoyujie@jiankangyouyi.com
* @date: 2021/12/15 1:16 下午
*/
public interface RedisConstants {
/**
* 能量平衡计划锁data_center:energy_balance_plan:lock:{appId}_{userId}_{date}
*/
String ENERGY_BALANCE_PLAN_LOCK = "data_center:energy_balance_plan:lock:%s_%s_%s";
/**
* 能量平衡计划批量锁data_center:energy_balance_plan:lock:{appId}_{userId}
*/
String ENERGY_BALANCE_PLAN_BATCH_LOCK = "data_center:energy_balance_plan:batch:lock:%s_%s";
/**
* 权益包锁/激活码锁,表锁,两者互相影响直接暴力处理即可没有高并发要求
*/
String EQUITY_PACKAGE_LOCK = "data_center:equity_package:lock";
/**
* 激活码激活锁
*/
String CDK_ACTIVE_LOCK = "data_center:cdk:active:lock:";
/**
* 根据服务提供者id核销权益锁
*/
String EQUITY_USE_BYPROVIDERID = "data_center:equity:use:byproviderid:";
/**
* 产品链接缓存 data_center:product:url:{appId}:{configId}:{productCode}:随机编号
*/
String PRODUCT_URL_CHCHE="data_center:product:url:%s:%s:%s";
/**
* 产品链接缓存key队列 data_center:product:url:{appId}:{configId}:{productCode}
*/
String PRODUCT_URL_CHCHE_QUEUE="data_center:product:url:queue:%s:%s:%s";
}
package com.jiankangyouyi.cloud.data.center.constant;
import com.jiankangyouyi.cloud.core.util.DateUtils;
import com.jiankangyouyi.cloud.data.center.api.enums.ActivityLevelEnum;
import com.jiankangyouyi.cloud.data.center.enums.GenderEnum;
import java.math.BigDecimal;
import java.util.Date;
/**
* 默认用户数据
* @author yangsongbo
*/
public class UserDefaultConstants {
/**
* 默认性别
*/
public static GenderEnum DEFAULT_GENDER = GenderEnum.MALE;
/**
* 默认身高
*/
public static int DEFAULT_HEIGHT = 170;
/**
* 默认体重
*/
public static BigDecimal DEFAULT_WEIGHT = BigDecimal.valueOf(66.0);
/**
* 默认体力活动等级
*/
public static ActivityLevelEnum DEFAULT_ACTIVITY_LEVEL = ActivityLevelEnum.ACTIVITY_LEVEL_LOW;
/**
* 默认出生日期 yyyy-MM-dd
*/
public static String DEFAULT_BIRTHDAY(){
Date defaultBirthday = DateUtils.addYears(new Date(), -30);
return DateUtils.formatDate(defaultBirthday, "yyyy-MM-dd");
}
}
package com.jiankangyouyi.cloud.data.center.enums;
import com.jiankangyouyi.cloud.core.constant.BaseEnum;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* @author jingpeng
* @description 分析完成状态枚举
* @date 2020/11/10
*/
@Getter
@AllArgsConstructor
public enum AnalysisStatusEnum implements BaseEnum {
/**
* 偏低,未完成
*/
LOWER("-1","偏低"),
/**
* 合适,已完成
*/
SUITABLE("0","合适"),
/**
* 偏高,已超标
*/
HIGHER("1","偏高"),
;
private String code ;
private String message;
@Override
public String code() {
return this.code;
}
@Override
public String message() {
return this.message;
}
}
package com.jiankangyouyi.cloud.data.center.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum BalancingGoodFoodEnum {
// /**
// * 还可以吃
// */
// NEED_TO_CONSUME("1", "还可以吃"),
//
// /**
// * 多吃了
// */
// CALORIE_BALANCE("2", "多吃了"),
//
// /**
// * 卡路里平衡
// */
// LUXUS_CONSUMPTION("3", "吃动平衡"),
//v1.6 审批同意修改
/**
* 还可以吃
*/
NEED_TO_CONSUME("1", "还可以吃"),
/**
* 多吃了
*/
CALORIE_BALANCE("2", "多吃了"),
/**
* 动态平衡
*/
LUXUS_CONSUMPTION("3", "动态平衡"),
/**
* 吃动不平衡
*/
NO_LUXUS_CONSUMPTION("4", "吃动不平衡"),
/**
* 摄入合理
*/
SUITABLE_INTAKE("5", "摄入合理"),
;
private String status;
private String description;
public static BalancingGoodFoodEnum getEnum(String status) {
BalancingGoodFoodEnum [] values = values();
if (status == null) {
return null;
}
for (BalancingGoodFoodEnum value : values) {
if (status.equals(value.status)) {
return value;
}
}
return null;
}
}
package com.jiankangyouyi.cloud.data.center.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 体脂率状态
* @author :wangyalei
* @date :Created in 2021/8/30 4:03 下午
*/
@Getter
@AllArgsConstructor
public enum BfpStatusEnum {
/**
* 偏低
*/
LOW("1","偏低"),
/**
* 标准
*/
STANDARD("2","正常"),
/**
* 偏高
*/
MORE_HIGH("3","偏高"),
/**
* 高
*/
HIGH("4","肥胖");
private final String status;
private final String describe;
public static BfpStatusEnum getEnum(String status) {
BfpStatusEnum[] values = values();
if (status == null) {
return null;
}
for (BfpStatusEnum value : values) {
if (status.equals(value.status)) {
return value;
}
}
return null;
}
}
package com.jiankangyouyi.cloud.data.center.enums;
import com.jiankangyouyi.cloud.core.util.StringUtils;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.Arrays;
import java.util.List;
/**
* 业务类型Enum
*
* @author yangsongbo
*/
@AllArgsConstructor
@Getter
public enum BizTypeEnum {
/**
* 女性皮肤测评
*/
BIZ_010101("010101", "女性皮肤测评", "NXPFCP"),
/**
* 健康程度测评
*/
BIZ_010102("010102", "健康程度测评", null),
/**
* 糖尿病风险测评
*/
BIZ_010201("010201", "糖尿病风险测评", "TNBPC"),
/**
* 高血压风险测评
*/
BIZ_010202("010202", "高血压风险测评", "GXYPC"),
/**
* 高血脂风险测评
*/
BIZ_010203("010203", "高血脂风险测评", "GXZPC"),
/**
* 脂肪肝风险测评
*/
BIZ_010204("010204", "脂肪肝风险测评", "ZFGCP"),
/**
* 痛风风险测评
*/
BIZ_010205("010205", "痛风风险测评", "TFPC"),
/**
* 冠心病风险测评
*/
BIZ_010206("010206", "冠心病风险测评", "GXBPC"),
/**
* 骨质疏松风险测评
*/
BIZ_010207("010207", "骨质疏松风险测评", "GZSSPC"),
/**
* 脑卒中风险测评
*/
BIZ_010208("010208", "脑卒中风险测评", "NCZCP"),
/**
* 三高风险测评
*/
BIZ_010209("010209", "三高风险测评", "SGPC"),
/**
* 慢性胆囊炎风险测评
*/
BIZ_010210("010210", "慢性胆囊炎风险测评", null),
/**
* 慢性咽炎风险测评
*/
BIZ_010211("010211", "慢性咽炎风险测评", null),
/**
* 帕金森病风险测评
*/
BIZ_010212("010212", "帕金森病风险测评", null),
/**
* 肿瘤风险测评
*/
BIZ_010213("010213", "肿瘤风险测评", null),
/**
* 类风湿关节炎风险测评
*/
BIZ_010214("010214", "类风湿关节炎风险测评", null),
/**
* 慢性胃炎风险测评
*/
BIZ_010215("010215", "慢性胃炎风险测评", null),
/**
* 慢性阻塞性肺病风险测评
*/
BIZ_010216("010216", "慢性阻塞性肺病风险测评", null),
/**
* 炎症性肠病风险测评
*/
BIZ_010217("010217", "炎症性肠病风险测评", null),
/**
* 阿兹海默症风险测评
*/
BIZ_010218("010218", "阿兹海默症风险测评", null),
/**
* 慢性肝炎风险测评
*/
BIZ_010219("010219", "慢性肝炎风险测评", null),
/**
* 慢性支气管炎风险测评
*/
BIZ_010220("010220", "慢性支气管炎风险测评", null),
/**
* 肾病风险测评
*/
BIZ_010221("010221", "肾病风险测评", null),
/**
* 支气管哮喘风险测评
*/
BIZ_010222("010222", "支气管哮喘风险测评", null),
/**
* 睡眠质量测评
*/
BIZ_010301("010301", "睡眠质量测评", null),
/**
* 免疫力测评
*/
BIZ_010302("010302", "免疫力测评", null),
/**
* 甲状腺功能风险测评
*/
BIZ_010303("010303", "甲状腺功能风险测评", "JZXCP"),
/**
* 疲劳程度测评
*/
BIZ_010304("010304", "疲劳程度测评", "PLCDCP"),
/**
* 视觉功能测评
*/
BIZ_010305("010305", "视觉功能测评", null),
/**
* 肠道功能风险测评
*/
BIZ_010306("010306", "肠道功能风险测评", null),
/**
* 肝脏功能风险测评
*/
BIZ_010307("010307", "肝脏功能风险测评", null),
/**
* 营养状态测评
*/
BIZ_010308("010308", "营养状态测评", "YYZTCP"),
/**
* 复合人群测评
*/
BIZ_010309("010309", "复合人群测评", null),
/**
* 产后人群健康测评
*/
BIZ_010401("010401", "产后人群健康测评", null),
/**
* 孕期人群饮食测评
*/
BIZ_010402("010402", "孕期人群饮食测评", null),
/**
* 颈椎病风险测评
*/
BIZ_010501("010501", "颈椎病风险测评", "JZBPC"),
/**
* 焦虑情绪测评
*/
BIZ_010901("010901", "焦虑情绪测评", "JLSPCP"),
/**
* 抑郁情绪测评
*/
BIZ_010902("010902", "抑郁情绪测评", "YYZPCP"),
/**
* 产后抑郁症测评
*/
BIZ_010903("010903", "产后抑郁症测评", "CHYYZCP"),
/**
* 简易应对方式测评
*/
BIZ_010904("010904", "简易应对方式测评", null),
/**
* 酒精成瘾程度测评
*/
BIZ_011001("011001", "酒精成瘾程度测评", null),
/**
* 烟瘾程度测评
*/
BIZ_011002("011002", "烟瘾程度测评", null),
/**
* 健康分析中心
*/
BIZ_122013("122013", "健康分析中心", null),
/**
* 吃动平衡
*/
BIZ_042502("042502", "吃动平衡", null),
/**
* 内蒙古云盾项目
*/
BIZ_160103("160103", "内蒙古云盾项目", null),
/**
* 即爱智能手表H19(GPRS)
*/
BIZ_142601("142601", "即爱智能手表H19(GPRS)", null),
/**
* 恭逸智能马桶(阻尼款)
*/
BIZ_142701("142701", "恭逸智能马桶(阻尼款)", null),
/**
* 现代摩比斯摄像头传感器
*/
BIZ_142801("142801", "现代摩比斯摄像头传感器", null),
/**
* 速眠睡眠方案
*/
BIZ_142901("142901", "速眠睡眠方案", null),
/**
* 鱼跃血压计YE680A(GPRS)
*/
BIZ_143001("143001", "鱼跃血压计YE680A(GPRS)", null),
/**
* 鱼跃血压计YE650A(蓝牙)
*/
BIZ_143002("143002", "鱼跃血压计YE650A(蓝牙)", null),
/**
* 鱼跃血压计YE670A(蓝牙)
*/
BIZ_143003("143003", "鱼跃血压计YE670A(蓝牙)", null),
/**
* 鱼跃血糖仪305B(蓝牙)
*/
BIZ_143004("143004", "鱼跃血糖仪305B(蓝牙)", null),
/**
* 鱼跃血糖仪590B(蓝牙)
*/
BIZ_143005("143005", "鱼跃血糖仪590B(蓝牙)", null),
/**
* 友宏手环1810G(蓝牙)
*/
BIZ_143101("143101", "友宏手环1810G(蓝牙)", null),
/**
* 友宏手环1963YH(蓝牙)
*/
BIZ_143102("143102", "友宏手环1963YH(蓝牙)", null),
/**
* 友宏手环1810HR(蓝牙)
*/
BIZ_143103("143103", "友宏手环1810HR(蓝牙)", null),
/**
* 友宏手表2025E(蓝牙)
*/
BIZ_143105("143105", "友宏手表2025E(蓝牙)", null),
/**
* 友宏健康一体机(GPRS)
*/
BIZ_143106("143106", "友宏健康一体机(GPRS)", null),
/**
* 沃莱智能跳绳RS1950ULB(蓝牙)
*/
BIZ_143201("143201", "沃莱智能跳绳RS1950ULB(蓝牙)", null),
/**
* 沃莱体脂秤FI2016BF(蓝牙+WIFI)
*/
BIZ_143202("143202", "沃莱体脂秤FI2016BF(蓝牙+WIFI)", null),
/**
* 百捷血糖尿酸胆固醇分析仪BK6-20MD(蓝牙)
*/
BIZ_143301("143301", "百捷血糖尿酸胆固醇分析仪BK6-20MD(蓝牙)", null),
/**
* DARAM睡眠床垫DM-WS03
*/
BIZ_143401("143401", "DARAM睡眠床垫DM-WS03", null),
/**
* 睿知手环S5(蓝牙)
*/
BIZ_143501("143501", "睿知手环S5(蓝牙)", null),
/**
* 爱奥乐血压仪A666B(蓝牙)
*/
BIZ_143601("143601", "爱奥乐血压仪A666B(蓝牙)", null),
/**
* 爱奥乐血压仪A223(GPRS)
*/
BIZ_143602("143602", "爱奥乐血压仪A223(GPRS)", null),
/**
* 爱奥乐血糖仪G-777G(GPRS)
*/
BIZ_143603("143603", "爱奥乐血糖仪G-777G(GPRS)", null),
/**
* 爱奥乐血糖仪G-427B(蓝牙)
*/
BIZ_143604("143604", "爱奥乐血糖仪G-427B(蓝牙)", null),
/**
* 库觅KU2 Pro手表(GPRS)
*/
BIZ_143701("143701", "库觅KU2 Pro手表(GPRS)", null),
/**
* 乐福体脂秤CF516(蓝牙)
*/
BIZ_143801("143801", "乐福体脂秤CF516(蓝牙)", null),
/**
* 乐福体脂秤CF516(蓝牙+WIFI)
*/
BIZ_143802("143802", "乐福体脂秤CF516(蓝牙+WIFI)", null),
/**
* 智天使智能手表S38T(蓝牙)
*/
BIZ_143901("143901", "智天使智能手表S38T(蓝牙)", null),
/**
* 知己明便携式检测机
*/
BIZ_144001("144001", "知己明便携式检测机", null),
/**
* 嘉乐一体机K5
*/
BIZ_144101("144101", "嘉乐一体机K5", null),
/**
* 嘉乐一体机K1-C
*/
BIZ_144102("144102", "嘉乐一体机K1-C", null),
/**
* 双佳一体机T8
*/
BIZ_144201("144201", "双佳一体机T8", null),
/**
* 医合众联一体机EY-15300
*/
BIZ_144301("144301", "医合众联一体机EY-15300", null),
/**
* 健康评估中心
*/
BIZ_012502("012502", "健康评估中心", null),
/**
* 体检报告解读
*/
BIZ_012505("012505", "体检报告解读", null),
/**
* 健康评估+体检报告解读
*/
BIZ_012506("012506", "健康评估+体检报告解读", null),
/**
* 手动记录
*/
BIZ_042501("042501", "手动记录", null),
/**
* 益企健康管家
*/
BIZ_160301("160301", "益企健康管家", null),
/**
* 随访中心
*/
BIZ_210101("210101", "随访中心", null),
/**
* 效果评估中心
*/
BIZ_200101("200101", "效果评估中心", null),
/**
* 生活方式中心
*/
BIZ_190101("190101", "生活方式中心", null),
/**
* 饮食干预中心
*/
BIZ_020501("020501", "饮食干预中心", null),
/**
* 运动干预中心
*/
BIZ_032501("032501", "运动干预中心", null),
/**
* 阳光人寿项目
*/
BIZ_012503("012503", "阳光人寿项目", null),
/**
* 复合人群测评
*/
BIZ_012501("012501", "复合人群测评", null);
private String bizType;
private String bizName;
private String oldEvaluationCode;
/**
* 获取益云业务类型,用于益云数字健康管理平台-健康数据-健康记录-业务类型下拉菜单
*
* @return 业务类型集合
*/
public static List<BizTypeEnum> getHealthCloudBizTypes() {
return Arrays.asList(
BizTypeEnum.BIZ_142601, BizTypeEnum.BIZ_142701, BizTypeEnum.BIZ_143001,
BizTypeEnum.BIZ_143002, BizTypeEnum.BIZ_143003, BizTypeEnum.BIZ_143004,
BizTypeEnum.BIZ_143005, BizTypeEnum.BIZ_143101, BizTypeEnum.BIZ_143102,
BizTypeEnum.BIZ_143103, BizTypeEnum.BIZ_143105, BizTypeEnum.BIZ_143106,
BizTypeEnum.BIZ_143201, BizTypeEnum.BIZ_143202, BizTypeEnum.BIZ_143301,
BizTypeEnum.BIZ_143401, BizTypeEnum.BIZ_143501, BizTypeEnum.BIZ_143601,
BizTypeEnum.BIZ_143602, BizTypeEnum.BIZ_143603, BizTypeEnum.BIZ_143604,
BizTypeEnum.BIZ_143701, BizTypeEnum.BIZ_143801, BizTypeEnum.BIZ_143802,
BizTypeEnum.BIZ_143901, BizTypeEnum.BIZ_144001, BizTypeEnum.BIZ_144101,
BizTypeEnum.BIZ_144102, BizTypeEnum.BIZ_144201, BizTypeEnum.BIZ_144301,
//健康评估中心
BizTypeEnum.BIZ_012502,
//饮食干预中心
BizTypeEnum.BIZ_020501,
//运动干预中心
BizTypeEnum.BIZ_032501,
//健康分析中心
BizTypeEnum.BIZ_122013,
//效果评估中心
BizTypeEnum.BIZ_200101,
//生活方式中心
BizTypeEnum.BIZ_190101,
//随访中心
BizTypeEnum.BIZ_210101,
//复合人群健康测评
BizTypeEnum.BIZ_012501,
//阳光人寿项目
BizTypeEnum.BIZ_012503,
//内蒙古云盾项目
BizTypeEnum.BIZ_160103,
//益企健康管家
BizTypeEnum.BIZ_160301,
//体检报告解读
BizTypeEnum.BIZ_012505,
//健康评估+体检报告解读
BizTypeEnum.BIZ_012506
);
}
public static BizTypeEnum getEnum(String bizType) {
BizTypeEnum[] values = values();
if (bizType == null) {
return null;
}
for (BizTypeEnum value : values) {
if (bizType.equals(value.bizType)) {
return value;
}
}
return null;
}
public static BizTypeEnum getEnumByEvaluationCode(String oldEvaluationCode) {
BizTypeEnum[] values = values();
if (oldEvaluationCode == null) {
return null;
}
for (BizTypeEnum value : values) {
if (StringUtils.isNotBlank(value.oldEvaluationCode) && oldEvaluationCode.equals(value.oldEvaluationCode)) {
return value;
}
}
return null;
}
}
package com.jiankangyouyi.cloud.data.center.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 血氧状态
* @author :wangyalei
* @date :Created in 2021/7/28 9:27 上午
*/
@Getter
@AllArgsConstructor
public enum BloodOxygenStatusEnum {
/**
* 正常
*/
NORMAL("1", "正常"),
/**
* 轻度偏低
*/
MILD_LOW("2", "轻度偏低"),
/**
* 重度偏低
*/
SEVERE_LOW("3", "重度偏低"),
;
private String status;
private String description;
public static BloodOxygenStatusEnum getEnum(String status) {
BloodOxygenStatusEnum[] values = values();
if (status == null) {
return null;
}
for (BloodOxygenStatusEnum value : values) {
if (status.equals(value.status)) {
return value;
}
}
return null;
}
}
package com.jiankangyouyi.cloud.data.center.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 血压状态
* @author :wangyalei
* @date :Created in 2021/7/28 9:37 上午
*/
@Getter
@AllArgsConstructor
public enum BloodPressureStatusEnum {
/**
* 正常血压
*/
NORMAL("1", "正常血压"),
/**
* 正常高值
*/
NORMAL_HIGH("2", "正常高值"),
/**
* 高血压
*/
HIGH("3", "高血压"),
/**
* 低血压
*/
LOW("4", "低血压"),
/**
* 轻度-高血压
*/
LIGHT_HIGH("5", "轻度高血压"),
/**
* 轻度-高血压
*/
MID_HIGH("6", "中度高血压"),
/**
* 重度-高血压
*/
DEEP_HIGH("7", "重度高血压"),
;
private String status;
private String description;
public static BloodPressureStatusEnum getEnum(String status) {
BloodPressureStatusEnum[] values = values();
if (status == null) {
return null;
}
for (BloodPressureStatusEnum value : values) {
if (status.equals(value.status)) {
return value;
}
}
return null;
}
}
package com.jiankangyouyi.cloud.data.center.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 血尿酸类型
* @author :wangyalei
* @date :Created in 2021/8/20 4:25 下午
*/
@Getter
@AllArgsConstructor
public enum BloodUricAcidStatusEnum {
/**
* 正常
*/
NORMAL("1", "正常"),
/**
* 高血尿酸症
*/
HIGH("2", "高血尿酸症"),
;
private String status;
private String description;
public static BloodUricAcidStatusEnum getEnum(String status) {
BloodUricAcidStatusEnum[] values = values();
if (status == null) {
return null;
}
for (BloodUricAcidStatusEnum value : values) {
if (status.equals(value.status)) {
return value;
}
}
return null;
}
}
package com.jiankangyouyi.cloud.data.center.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* BMI 身体指数状态
* @author :wangyalei
* @date :Created in 2021/8/30 3:45 下午
*/
@Getter
@AllArgsConstructor
public enum BmiStatusEnum {
/**
* 低体重
*/
LOW("1","低体重"),
/**
* 正常
*/
NORMAL("2","正常"),
/**
* 超重
*/
OVERWEIGHT("3","超重"),
/**
* 肥胖
*/
OBESITY("4","肥胖");
private final String status;
private final String describe;
public static BmiStatusEnum getEnum(String status) {
BmiStatusEnum[] values = values();
if (status == null) {
return null;
}
for (BmiStatusEnum value : values) {
if (status.equals(value.status)) {
return value;
}
}
return null;
}
}
package com.jiankangyouyi.cloud.data.center.enums;
import com.jiankangyouyi.cloud.core.constant.BaseEnum;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* bmi类型 Enum
*
* @author dongle
*/
@Getter
@AllArgsConstructor
public enum BmiTypeEnum implements BaseEnum {
/**
* 肥胖
*/
OBESITY("1", "肥胖"),
/**
* 超重
*/
OVER_WEIGHT("2", "超重"),
/**
* 正常
*/
NORMAL("3", "正常"),
/**
* 消瘦
*/
THIN("4", "消瘦"),
;
private final String code;
private final String message;
@Override
public String code() {
return code;
}
@Override
public String message() {
return message;
}
public static BmiTypeEnum parseString(String code) {
for (BmiTypeEnum enumItem : BmiTypeEnum.values()) {
if (enumItem.getCode().equals(code)) {
return enumItem;
}
}
return null;
}
public static Boolean contains(String code) {
return parseString(code) != null;
}
}
package com.jiankangyouyi.cloud.data.center.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* BMR (基础代谢)
* @author :wangyalei
* @date :Created in 2021/8/27 4:11 下午
*/
@Getter
@AllArgsConstructor
public enum BmrStatusEnum {
/**
* 达标
*/
REACH_THE_STANDARD("1", "达标"),
/**
* 未达标
*/
UN_REACH_THE_STANDARD("2", "未达标"),
;
private String status;
private String description;
public static BmrStatusEnum getEnum(String status) {
BmrStatusEnum[] values = values();
if (status == null) {
return null;
}
for (BmrStatusEnum value : values) {
if (status.equals(value.status)) {
return value;
}
}
return null;
}
}
package com.jiankangyouyi.cloud.data.center.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 身体年龄
* @author :wangyalei
* @date :Created in 2021/8/30 10:12 上午
*/
@Getter
@AllArgsConstructor
public enum BodyAgeStatusEnum {
/**
* 优
*/
EXCELLENT("1","优"),
/**
* 标准
*/
STANDARD("2","标准"),
/**
* 偏高
*/
MORE_HIGH("3","偏高");
private final String status;
private final String describe;
public static BodyAgeStatusEnum getEnum(String status) {
BodyAgeStatusEnum[] values = values();
if (status == null) {
return null;
}
for (BodyAgeStatusEnum value : values) {
if (status.equals(value.status)) {
return value;
}
}
return null;
}
}
package com.jiankangyouyi.cloud.data.center.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* TODO:功能描述
*
* @author : lvhaoran
* @date Date : 2022年01月06日
*/
@Getter
@AllArgsConstructor
public enum BodyIndicatorEnum {
/**
* 步数
*/
STEP("step", "步数", "无"),
/**
* 血糖
*/
BLOODGLUCOSE("bloodGlucose", "血糖", "U/L"),
/**
* 血压
*/
BLOODPRESSURE("bloodPressure", "血压", "U/L"),
/**
* 心率
*/
HEARTRATE("heartRate", "心率", "U/L"),
/**
* 睡眠
*/
SLEEP("sleep", "睡眠", "U/L"),
/**
* 体重
*/
WEIGHT("weight", "体重", "U/L"),
/**
* 血氧
*/
BLOODOXYGEN("bloodOxygen", "血氧", "U/L"),
/**
* 腰围
*/
WAIST("waist", "腰围", "U/L"),
/**
* 体温
*/
BODYTEMPERATURE("bodyTemperature", "体温", "U/L"),
/**
* 血尿酸
*/
BLOODURICACID("bloodUricAcid", "血尿酸", "U/L"),
/**
* 骨密度
*/
BONE("bmdTscore", "骨密度", "U/L"),
/**
* 肝内脂肪
*/
LIVERFATCONTENT("liverFatContent", "肝内脂肪", "U/L"),
/**
* 糖化血红蛋白
*/
GHB("ghb", "糖化血红蛋白", "U/L"),
/**
* 血脂
*/
BLOODLIPIDS("bloodLipids", "血脂", "U/L"),
/**
* HRV
*/
HRV("hrv", "HRV", "无"),
;
private String indicator;
private String indicatorName;
private String unit;
public static BodyIndicatorEnum getEnum(String indicator) {
BodyIndicatorEnum[] values = values();
if (indicator == null) {
return null;
}
for (BodyIndicatorEnum value : values) {
if (indicator.equals(value.indicator)) {
return value;
}
}
return null;
}
}
package com.jiankangyouyi.cloud.data.center.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 身体指标类型以及参考范围
*
* @author jingpeng
*/
@AllArgsConstructor
@Getter
public enum BodyIndicatorRefEnum {
/**
* 心率参数
*/
HEART_RATE("heartRate", "60~70", 59d, 70d, 100d, 0d),
/**
* 血氧 bloodOxygen
*/
BLOOD_OXYGEN("bloodOxygen", "≥95", 95d, 0d, 0d, 0d),
/**
* 体温
*/
BODY_TEMPERATURE("bodyTemperature", "36~37.2", 36d, 37.2d, 38d, 40d),
/**
* hrv
*/
HRV("hrv", "31~60", 30d, 60d, 100d, 0d),
/**
* 压力
*/
STRESS("stress", "26~50", 25d, 50d, 75d, 0d),
/**
* 血压
*/
BLOOD_PRESSURE("bloodPressure", "<120/<80", 120d, 80d, 139d, 89d),
/**
* 血糖
*/
BLOOD_GLUCOSE("bloodGlucose", "4.5~11.1 ", 4.4, 11.1d, 0d, 0d),
/**
* 体重
*/
WEIGHT("weight", "", 0d, 0d, 0d, 0d),
/**
* 腰围
*/
WAIST("waist", "", 0d, 0d, 0d, 0d),
/**
* 血尿酸
*/
BLOODURICACID("bloodUricAcid", "", 0d, 0d, 0d, 0d),
/**
* 血脂
*/
BLOODLIPIDS("bloodLipids", "", 0d, 0d, 0d, 0d),
/**
* 骨密度
*/
BONE("bmdTscore", "", 0d, 0d, 0d, 0d),
/**
* 肝内脂肪
*/
LIVERFATCONTENT("liverFatContent", "", 0d, 0d, 0d, 0d),
/**
* 糖化血红蛋白
*/
GHB("ghb", "", 0d, 0d, 0d, 0d),
;
/**
* 指标类型名称
*/
private String indicator;
/**
* 参考值
*/
private String referValue;
/**
* 标准值1
*/
private Double stander1;
/**
* 标准值2
*/
private Double stander2;
/**
* 标准值3
*/
private Double stander3;
/**
* 标准值4
*/
private Double stander4;
public static BodyIndicatorRefEnum getEnum(String indicator) {
BodyIndicatorRefEnum[] values = values();
if (indicator == null) {
return null;
}
for (BodyIndicatorRefEnum value : values) {
if (indicator.equals(value.indicator)) {
return value;
}
}
return null;
}
}
\ No newline at end of file
package com.jiankangyouyi.cloud.data.center.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 体温状态
* @author :wangyalei
* @date :Created in 2021/7/28 10:14 上午
*/
@Getter
@AllArgsConstructor
public enum BodyTemperatureStatusEnum {
/**
* 正常
*/
NORMAL("1", "正常"),
/**
* 低热
*/
LOW_HEAT("2", "低热"),
/**
* 中热
*/
MIDDLE_HEAT("3", "中热"),
/**
* 高热
*/
HIGH_HEAT("4", "高热"),
/**
* 超高热
*/
ULTRA_HEAT("5" , "超高热"),
/**
* 低温
*/
LOW("6", "偏低"),
;
private String status;
private String description;
public static BodyTemperatureStatusEnum getEnum(String status) {
BodyTemperatureStatusEnum[] values = values();
if (status == null) {
return null;
}
for (BodyTemperatureStatusEnum value : values) {
if (status.equals(value.status)) {
return value;
}
}
return null;
}
}
package com.jiankangyouyi.cloud.data.center.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 骨量状态
* @author :wangyalei
* @date :Created in 2021/8/31 6:30 下午
*/
@Getter
@AllArgsConstructor
public enum BoneStatusEnum {
/**
* 偏低
*/
LOW("1","偏低"),
/**
* 标准
*/
STANDARD("2","标准"),
/**
* 偏高
*/
MORE_HIGH("3","偏高");
private final String status;
private final String describe;
public static BoneStatusEnum getEnum(String status) {
BoneStatusEnum[] values = values();
if (status == null) {
return null;
}
for (BoneStatusEnum value : values) {
if (status.equals(value.status)) {
return value;
}
}
return null;
}
}
package com.jiankangyouyi.cloud.data.center.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* @author jingpeng
* @description 疾病对应的热量消耗上下限
* @date 2020/11/5
*/
@Getter
@AllArgsConstructor
public enum DiseaseTypeEnergyConsumeEnum {
/**
* 健康人群
*/
HEALTH_PEOPLE("0", "健康人群", 0.15, 0.3, "保持关节良好功能,预防损伤。改善体型,平衡肌肉,改善身体姿态"),
/**
* 高血压
*/
HIGH_BLOOD_PRESSURE("2", "高血压", 0.15, 0.25, "维持正常的血压"),
/**
* 2型糖尿病
*/
DIABETES_TYPE_2("1", "2型糖尿病", 0.18, 0.3, "控制及稳定血糖"),
/**
* 高血脂
*/
HIGH_BLOOD_FAT("3", "高血脂", 0.15, 0.25, "改善脂质代谢,降低血清胆固醇水平"),
/**
* 冠心病
*/
CORONARY_DISEASE("4", "冠心病", 0.05, 0.25, "预防冠状动脉硬化、提高心肺功能"),
/**
* 骨质疏松
*/
OSTEOPOROSIS("5", "骨质疏松", 0.15, 0.25, "预防骨质疏松,减缓老化速度"),
/**
* 痛风
*/
GOUT("6", "痛风", 0.1, 0.25, "调节代谢,促进尿酸的排出"),
/**
* 脂肪肝
*/
FATTY_LIVER("7", "脂肪肝", 0.15, 0.25, "降低肝脏的脂肪含量"),
/**
* 脑卒中
*/
APOPLEXY("8", "脑卒中", 0.05, 0.25, "恢复身体功能"),
/**
* 肥胖
*/
OBESITY("10", "肥胖", 0.2, 0.3, "燃烧脂肪"),
/**
* 免疫力
*/
IMMUNE("12", "免疫力", 0.15, 0.3, "有利于提高抵抗力"),
/**
* 肠道
*/
INTESTINE("13", "肠道", 0.15, 0.3, "改善胃肠道的血液循环,加强胃肠道蠕动,加强胃肠的消化和吸收功能"),
/**
* 胃功能
*/
GASTRIC("14", "胃功能", 0.15, 0.3, "改善胃肠道的血液循环,加强胃肠道蠕动,加强胃肠的消化和吸收功能"),
/**
* 营养素缺乏(缺≧1个)
*/
NUTRIENT("14", "营养素缺乏", 0.15, 0.3, "促进体内的物质代谢,加强营养吸收"),
/**
* 产后
*/
CHILDBIRTH("17", "产后", 0.1, 0.2, "改善体型,平衡肌肉,改善身体姿态,辅助产后恢复"),
;
private String code;
private String message;
/**
* 能量消耗下限
*/
private double consumeLowerRate;
/**
* 能量消耗上限
*/
private double consumeUpperRate;
/**
* 个性话术
*/
private String describe;
public static DiseaseTypeEnergyConsumeEnum parseCode(String code) {
for (DiseaseTypeEnergyConsumeEnum enumItem : DiseaseTypeEnergyConsumeEnum.values()) {
if (enumItem.code.equals(code)) {
return enumItem;
}
}
return null;
}
public static DiseaseTypeEnergyConsumeEnum getByDiseaseTypeEnum(DiseaseTypeEnum diseaseTypeEnum) {
for (DiseaseTypeEnergyConsumeEnum enumItem : DiseaseTypeEnergyConsumeEnum.values()) {
if (enumItem.name().equals(diseaseTypeEnum.name())) {
return enumItem;
}
}
//查不到给出健康人群
return HEALTH_PEOPLE;
}
}
package com.jiankangyouyi.cloud.data.center.enums;
import java.util.List;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* @author jingpeng
* @description 疾病枚举
* @date 2020/11/5
*/
@Getter
@AllArgsConstructor
public enum DiseaseTypeEnum {
/**
* 健康人群
*/
HEALTH_PEOPLE("HEALTH_PEOPLE", "健康人群", null),
/**
* 2型糖尿病
*/
DIABETES_TYPE_2("TYPE_2_DIABETES", "2型糖尿病", "1"),
/**
* 高血压
*/
HIGH_BLOOD_PRESSURE("HYPERTENSION", "高血压", "4"),
/**
* 高血脂
*/
HIGH_BLOOD_FAT("DYSLIPIDEMIA", "高血脂", "0"),
/**
* 冠心病
*/
CORONARY_DISEASE("CORONARY_DISEASE", "冠心病", "6"),
/**
* 骨质疏松
*/
OSTEOPOROSIS("OSTEOPOROSIS", "骨质疏松", "7"),
/**
* 痛风
*/
GOUT("GOUT", "痛风", "3"),
/**
* 脂肪肝
*/
FATTY_LIVER("FATTY_LIVER", "脂肪肝", "10"),
/**
* 脑卒中
*/
APOPLEXY("STROKE", "脑卒中", "8"),
/**
* 高尿酸血症
*/
HYPERURICEMIA("HYPERURICEMIA", "高尿酸血症", "15"),
/**
* 肥胖
*/
OBESITY("OBESITY", "肥胖", "2"),
/**
* 免疫力
*/
IMMUNE("HYPOIMMUNITY", "免疫力", "16"),
/**
* 肠道
*/
INTESTINE("INTESTINAL_FUNCTION_DISORDER", "肠道", "12"),
/**
* 胃功能
*/
GASTRIC("GASTRIC_FUNCTION_DISORDER", "胃功能", "13"),
/**
* 产后
*/
CHILDBIRTH("CHILDBIRTH", "产后", "11"),
/**
* 营养素缺乏
*/
LACK_NUTRIENT("LACK_NUTRIENT", "营养素缺乏", "14"),
/**
* 贫血
*/
ANEMIA("ANEMIA", "贫血", null),
/**
* 慢性肾脏病
*/
CHRONIC_RENAL_FAILURE("CHRONIC_RENAL_FAILURE", "慢性肾脏病", null),
/**
* 慢性胃炎
*/
CHRONIC_GASTRITIS("CHRONIC_GASTRITIS", "慢性胃炎", null),
/**
* 肠炎
*/
UC("UC", "肠炎", null),
/**
* 慢性肝炎
*/
CHRONIC_HEPATITIS("CHRONIC_HEPATITIS", "慢性肝炎", null),
;
private String code;
private String message;
/**
* 关联到饮食推荐服务的疾病名称代码
*/
private String externalCode;
public static DiseaseTypeEnum parseCode(String code) {
for (DiseaseTypeEnum enumItem : DiseaseTypeEnum.values()) {
if (enumItem.code.equals(code)) {
return enumItem;
}
}
return null;
}
public static DiseaseTypeEnum parseExternalCode(String externalCode) {
for (DiseaseTypeEnum enumItem : DiseaseTypeEnum.values()) {
if (enumItem.externalCode.equals(externalCode)) {
return enumItem;
}
}
return null;
}
public static DiseaseTypeEnum parseMessage(String message) {
if (StringUtils.isEmpty(message)) {
return null;
}
for (DiseaseTypeEnum enumItem : DiseaseTypeEnum.values()) {
if (enumItem.message.equals(message)) {
return enumItem;
}
}
return null;
}
/**
* 根据疾病集合获取高等级疾病 20210408改后: 2型糖尿病>骨质疏松>肥胖>产后>脑卒中>痛风>冠心病>高血压>高血脂>脂肪肝>胃功能>肠道功能>营养缺乏/免疫力低下>健康人群
*
* @param diseaseTypeEnums 疾病集合
* @return DiseaseTypeEnum 高优先级的疾病
*/
public static DiseaseTypeEnum getHighLevelDiseaseType(List<DiseaseTypeEnum> diseaseTypeEnums) {
if (CollectionUtils.isEmpty(diseaseTypeEnums)) {
return HEALTH_PEOPLE;
}
if (diseaseTypeEnums.contains(DIABETES_TYPE_2)) {
return DIABETES_TYPE_2;
} else if (diseaseTypeEnums.contains(OSTEOPOROSIS)) {
return OSTEOPOROSIS;
} else if (diseaseTypeEnums.contains(OBESITY)) {
return OBESITY;
} else if (diseaseTypeEnums.contains(CHILDBIRTH)) {
return CHILDBIRTH;
} else if (diseaseTypeEnums.contains(APOPLEXY)) {
return APOPLEXY;
} else if (diseaseTypeEnums.contains(GOUT)) {
return GOUT;
} else if (diseaseTypeEnums.contains(CORONARY_DISEASE)) {
return CORONARY_DISEASE;
} else if (diseaseTypeEnums.contains(HIGH_BLOOD_PRESSURE)) {
return HIGH_BLOOD_PRESSURE;
} else if (diseaseTypeEnums.contains(HIGH_BLOOD_FAT)) {
return HIGH_BLOOD_FAT;
} else if (diseaseTypeEnums.contains(FATTY_LIVER)) {
return FATTY_LIVER;
} else if (diseaseTypeEnums.contains(GASTRIC)) {
return GASTRIC;
} else if (diseaseTypeEnums.contains(INTESTINE)) {
return INTESTINE;
} else if (diseaseTypeEnums.contains(LACK_NUTRIENT)) {
return LACK_NUTRIENT;
} else if (diseaseTypeEnums.contains(IMMUNE)) {
return IMMUNE;
} else {
return HEALTH_PEOPLE;
}
}
/**
* 根据疾病集合获取高等级疾病 顺序:痛风>脑卒中>冠心病>骨质疏松>2型糖尿病>产后>高血压>高血脂>脂肪肝>肥胖>胃功能>肠道功能>营养缺乏/免疫力低下>健康人群
*
* @param diseaseTypeEnums 疾病集合
* @return DiseaseTypeEnum 高优先级的疾病
*/
public static DiseaseTypeEnum getConsumeHighLevelDiseaseType(List<DiseaseTypeEnum> diseaseTypeEnums) {
if (CollectionUtils.isEmpty(diseaseTypeEnums)) {
return HEALTH_PEOPLE;
}
if (diseaseTypeEnums.contains(GOUT)) {
return GOUT;
} else if (diseaseTypeEnums.contains(APOPLEXY)) {
return APOPLEXY;
} else if (diseaseTypeEnums.contains(CORONARY_DISEASE)) {
return CORONARY_DISEASE;
} else if (diseaseTypeEnums.contains(OSTEOPOROSIS)) {
return OSTEOPOROSIS;
} else if (diseaseTypeEnums.contains(DIABETES_TYPE_2)) {
return DIABETES_TYPE_2;
} else if (diseaseTypeEnums.contains(CHILDBIRTH)) {
return CHILDBIRTH;
} else if (diseaseTypeEnums.contains(HIGH_BLOOD_PRESSURE)) {
return HIGH_BLOOD_PRESSURE;
} else if (diseaseTypeEnums.contains(HIGH_BLOOD_FAT)) {
return HIGH_BLOOD_FAT;
} else if (diseaseTypeEnums.contains(FATTY_LIVER)) {
return FATTY_LIVER;
} else if (diseaseTypeEnums.contains(OBESITY)) {
return OBESITY;
} else if (diseaseTypeEnums.contains(GASTRIC)) {
return GASTRIC;
} else if (diseaseTypeEnums.contains(INTESTINE)) {
return INTESTINE;
} else if (diseaseTypeEnums.contains(LACK_NUTRIENT)) {
return LACK_NUTRIENT;
} else if (diseaseTypeEnums.contains(IMMUNE)) {
return IMMUNE;
} else {
return HEALTH_PEOPLE;
}
}
/**
* 根据疾病集合获取高等级疾病,膳食结构,确诊疾病使用 顺序:肥胖>骨质疏松>2型糖尿病>>痛风>脑卒中>冠心病>产后>高血压>高血脂>脂肪肝>胃功能>肠道功能>营养缺乏/免疫力低下>健康人群
*
* @param diseaseTypeEnums 疾病集合
* @return DiseaseTypeEnum 高优先级的疾病
*/
public static DiseaseTypeEnum getDietBalanceConfirmHighLevelDiseaseType(List<DiseaseTypeEnum> diseaseTypeEnums) {
if (CollectionUtils.isEmpty(diseaseTypeEnums)) {
return LACK_NUTRIENT;
}
if (diseaseTypeEnums.contains(OBESITY)) {
return OBESITY;
} else if (diseaseTypeEnums.contains(OSTEOPOROSIS)) {
return OSTEOPOROSIS;
} else if (diseaseTypeEnums.contains(DIABETES_TYPE_2)) {
return DIABETES_TYPE_2;
} else if (diseaseTypeEnums.contains(GOUT)) {
return GOUT;
} else if (diseaseTypeEnums.contains(APOPLEXY)) {
return APOPLEXY;
} else if (diseaseTypeEnums.contains(CORONARY_DISEASE)) {
return CORONARY_DISEASE;
} else if (diseaseTypeEnums.contains(CHILDBIRTH)) {
return CHILDBIRTH;
} else if (diseaseTypeEnums.contains(HIGH_BLOOD_PRESSURE)) {
return HIGH_BLOOD_PRESSURE;
} else if (diseaseTypeEnums.contains(HIGH_BLOOD_FAT)) {
return HIGH_BLOOD_FAT;
} else if (diseaseTypeEnums.contains(GASTRIC)) {
return GASTRIC;
} else if (diseaseTypeEnums.contains(INTESTINE)) {
return INTESTINE;
} else if (diseaseTypeEnums.contains(LACK_NUTRIENT)) {
return LACK_NUTRIENT;
} else if (diseaseTypeEnums.contains(IMMUNE)) {
return IMMUNE;
} else {
return HEALTH_PEOPLE;
}
}
/**
* 根据疾病集合获取高等级疾病 内蒙古云盾 慢性肾脏病>产后哺乳>肥胖>骨质疏松>糖尿病>痛风>慢性肝炎>脑卒中>冠心病>产后非哺乳>高血压>高血脂>脂肪肝>慢性胃炎>肠炎>胃功能>肠道功能>营养缺乏>贫血>免疫力低下>健康人群
*
* @param diseaseTypeEnums 疾病集合
* @return DiseaseTypeEnum 高优先级的疾病
*/
public static DiseaseTypeEnum getYDHighLevelDiseaseType(List<DiseaseTypeEnum> diseaseTypeEnums) {
if (CollectionUtils.isEmpty(diseaseTypeEnums)) {
return HEALTH_PEOPLE;
}
if (diseaseTypeEnums.contains(CHRONIC_RENAL_FAILURE)) {
return CHRONIC_RENAL_FAILURE;
} else if (diseaseTypeEnums.contains(OBESITY)) {
return OBESITY;
} else if (diseaseTypeEnums.contains(OSTEOPOROSIS)) {
return OSTEOPOROSIS;
} else if (diseaseTypeEnums.contains(DIABETES_TYPE_2)) {
return DIABETES_TYPE_2;
} else if (diseaseTypeEnums.contains(GOUT)) {
return GOUT;
} else if (diseaseTypeEnums.contains(CHRONIC_HEPATITIS)) {
return CHRONIC_HEPATITIS;
} else if (diseaseTypeEnums.contains(APOPLEXY)) {
return APOPLEXY;
} else if (diseaseTypeEnums.contains(CORONARY_DISEASE)) {
return CORONARY_DISEASE;
} else if (diseaseTypeEnums.contains(HIGH_BLOOD_PRESSURE)) {
return HIGH_BLOOD_PRESSURE;
} else if (diseaseTypeEnums.contains(HIGH_BLOOD_FAT)) {
return HIGH_BLOOD_FAT;
} else if (diseaseTypeEnums.contains(FATTY_LIVER)) {
return FATTY_LIVER;
} else if (diseaseTypeEnums.contains(CHRONIC_GASTRITIS)) {
return CHRONIC_GASTRITIS;
} else if (diseaseTypeEnums.contains(UC)) {
return UC;
} else if (diseaseTypeEnums.contains(GASTRIC)) {
return GASTRIC;
} else if (diseaseTypeEnums.contains(INTESTINE)) {
return INTESTINE;
} else if (diseaseTypeEnums.contains(LACK_NUTRIENT)) {
return LACK_NUTRIENT;
} else if (diseaseTypeEnums.contains(ANEMIA)) {
return ANEMIA;
} else if (diseaseTypeEnums.contains(IMMUNE)) {
return IMMUNE;
} else {
return HEALTH_PEOPLE;
}
}
/**
* 根据疾病集合获取高等级疾病 内蒙古云盾 慢性肾脏病>产后哺乳>肥胖>骨质疏松>糖尿病>痛风>慢性肝炎>脑卒中>冠心病>产后非哺乳>高血压>高血脂>脂肪肝>慢性胃炎>肠炎>胃功能>肠道功能>营养缺乏>贫血>免疫力低下>健康人群
*
* @param diseaseTypeEnums 疾病集合
* @return DiseaseTypeEnum 高优先级的疾病
*/
public static DiseaseTypeEnum getYDConsumeHighLevelDiseaseType(List<DiseaseTypeEnum> diseaseTypeEnums) {
if (CollectionUtils.isEmpty(diseaseTypeEnums)) {
return HEALTH_PEOPLE;
}
if (diseaseTypeEnums.contains(APOPLEXY)) {
return APOPLEXY;
} else if (diseaseTypeEnums.contains(CHRONIC_RENAL_FAILURE)) {
return CHRONIC_RENAL_FAILURE;
} else if (diseaseTypeEnums.contains(CORONARY_DISEASE)) {
return CORONARY_DISEASE;
} else if (diseaseTypeEnums.contains(HIGH_BLOOD_PRESSURE)) {
return HIGH_BLOOD_PRESSURE;
} else if (diseaseTypeEnums.contains(CHRONIC_GASTRITIS)) {
return CHRONIC_GASTRITIS;
} else if (diseaseTypeEnums.contains(UC)) {
return UC;
} else if (diseaseTypeEnums.contains(DIABETES_TYPE_2)) {
return DIABETES_TYPE_2;
} else if (diseaseTypeEnums.contains(HYPERURICEMIA)) {
return HYPERURICEMIA;
} else if (diseaseTypeEnums.contains(GOUT)) {
return GOUT;
} else if (diseaseTypeEnums.contains(OSTEOPOROSIS)) {
return OSTEOPOROSIS;
} else if (diseaseTypeEnums.contains(HIGH_BLOOD_FAT)) {
return HIGH_BLOOD_FAT;
} else if (diseaseTypeEnums.contains(FATTY_LIVER)) {
return FATTY_LIVER;
} else if (diseaseTypeEnums.contains(CHRONIC_HEPATITIS)) {
return CHRONIC_HEPATITIS;
} else if (diseaseTypeEnums.contains(OBESITY)) {
return OBESITY;
} else if (diseaseTypeEnums.contains(ANEMIA)) {
return ANEMIA;
} else if (diseaseTypeEnums.contains(IMMUNE)) {
return IMMUNE;
} else {
return HEALTH_PEOPLE;
}
}
public static DiseaseTypeEnum get160103HighLevelDiseaseType(List<String> diseaseTypeEnums,
List<String> pastHistoryEnums) {
if (CollectionUtils.isEmpty(pastHistoryEnums) && CollectionUtils.isEmpty(diseaseTypeEnums)) {
return HEALTH_PEOPLE;
}
if (CollectionUtils.isNotEmpty(pastHistoryEnums)) {
return get160103HighLevelDiseaseType(pastHistoryEnums);
} else {
return get160103HighLevelDiseaseType(diseaseTypeEnums);
}
}
/**
* 根据疾病集合获取高等级疾病 内蒙古云盾 慢性肾脏病>产后哺乳>肥胖>骨质疏松>糖尿病>痛风>慢性肝炎>脑卒中>冠心病>产后非哺乳>高血压>高血脂>脂肪肝>慢性胃炎>肠炎>胃功能>肠道功能>营养缺乏>贫血>免疫力低下>健康人群
*
* @param diseaseTypeEnums 疾病集合
* @return DiseaseTypeEnum 高优先级的疾病
*/
public static DiseaseTypeEnum get160103HighLevelDiseaseType(List<String> diseaseTypeEnums) {
if (CollectionUtils.isEmpty(diseaseTypeEnums)) {
return HEALTH_PEOPLE;
}
if (diseaseTypeEnums.contains(CHRONIC_RENAL_FAILURE.code)) {
return CHRONIC_RENAL_FAILURE;
} else if (diseaseTypeEnums.contains(CHILDBIRTH.code)) {
return CHILDBIRTH;
} else if (diseaseTypeEnums.contains(OBESITY.code)) {
return OBESITY;
} else if (diseaseTypeEnums.contains(OSTEOPOROSIS.code)) {
return OSTEOPOROSIS;
} else if (diseaseTypeEnums.contains(DIABETES_TYPE_2.code)) {
return DIABETES_TYPE_2;
} else if (diseaseTypeEnums.contains(GOUT.code)) {
return GOUT;
} else if (diseaseTypeEnums.contains(CHRONIC_HEPATITIS.code)) {
return CHRONIC_HEPATITIS;
} else if (diseaseTypeEnums.contains(APOPLEXY.code)) {
return APOPLEXY;
} else if (diseaseTypeEnums.contains(CORONARY_DISEASE.code)) {
return CORONARY_DISEASE;
} else if (diseaseTypeEnums.contains(CHILDBIRTH.code)) {
return CHILDBIRTH;
} else if (diseaseTypeEnums.contains(HIGH_BLOOD_PRESSURE.code)) {
return HIGH_BLOOD_PRESSURE;
} else if (diseaseTypeEnums.contains(HIGH_BLOOD_FAT.code)) {
return HIGH_BLOOD_FAT;
} else if (diseaseTypeEnums.contains(FATTY_LIVER.code)) {
return FATTY_LIVER;
} else if (diseaseTypeEnums.contains(CHRONIC_GASTRITIS.code)) {
return CHRONIC_GASTRITIS;
} else if (diseaseTypeEnums.contains(UC.code)) {
return UC;
} else if (diseaseTypeEnums.contains(GASTRIC.code)) {
return GASTRIC;
} else if (diseaseTypeEnums.contains(INTESTINE.code)) {
return INTESTINE;
} else if (diseaseTypeEnums.contains(LACK_NUTRIENT.code)) {
return LACK_NUTRIENT;
} else if (diseaseTypeEnums.contains(ANEMIA.code)) {
return ANEMIA;
} else if (diseaseTypeEnums.contains(IMMUNE.code)) {
return IMMUNE;
} else {
return HEALTH_PEOPLE;
}
}
}
package com.jiankangyouyi.cloud.data.center.enums;
import com.jiankangyouyi.cloud.core.constant.BaseEnum;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.ArrayList;
import java.util.List;
/**
* @author jingpeng
* @description 能量单位枚举
* @date 2020/11/11
*/
@Getter
@AllArgsConstructor
public enum EnergyUnitEnum implements BaseEnum {
/**
* 千卡,卡路里,大卡
*/
KCAL("KCAL", "卡路里", 4.186),
KJ("KJ", "千焦", 1.0),
;
private String code;
private String message;
/**
* 换算值,基于 千焦
*/
private double value;
@Override
public String code() {
return this.code;
}
@Override
public String message() {
return this.message;
}
public static EnergyUnitEnum getEnum(String code) {
EnergyUnitEnum[] values = values();
if (code == null) {
return null;
}
for (EnergyUnitEnum value : values) {
if (code.equals(value.code)) {
return value;
}
}
return null;
}
public static EnergyUnitEnum getEnumByMessage(String message) {
EnergyUnitEnum[] values = values();
if (message == null) {
return null;
}
for (EnergyUnitEnum value : values) {
if (message.equals(value.message)) {
return value;
}
}
return null;
}
public static List<String> getAllUnitCode() {
List<String> unitCodes = new ArrayList<>();
for (EnergyUnitEnum energyUnitEnum : values()) {
unitCodes.add(energyUnitEnum.code);
}
return unitCodes;
}
}
package com.jiankangyouyi.cloud.data.center.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 运动强度类型
*/
@AllArgsConstructor
@Getter
public enum ExerciseIntensityEnum {
/**
* 有氧基础
*/
AEROBIC_BASE("1","有氧基础"),
/**
* 有氧效率
*/
EFFICIENCY_AEROBIC("2","有氧效率"),
/**
* 无氧耐力
*/
ANAEROBIC_ENDURANCE("3","无氧耐力"),
/**
* 数据缺省
*/
DATA_TYPE_DEFAULT_RULE("4","数据缺省");
private final String code ;
private final String message;
}
package com.jiankangyouyi.cloud.data.center.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
@AllArgsConstructor
@Getter
public enum FoodClassStatisticEnum {
//谷类、薯类、蔬菜类、水果类、禽畜肉蛋类、鱼虾类,奶类、大豆类、坚果类、烹调油
/**
* 谷类及其制品
*/
CLASS_0102("0102","谷类及其制品"),
/**
* 薯类及制品
*/
CLASS_0105("0105","薯类及制品"),
/**
* 蔬菜类及制品
*/
CLASS_0107("0107","蔬菜类及制品"),
/**
* 水果类及制品
*/
CLASS_0109("0109","水果类及制品"),
/**
* 禽肉类及制品
*/
CLASS_0110("0110","禽肉类及制品"),
/**
* 畜肉类及制品
*/
CLASS_0111("0111","畜肉类及制品"),
/**
* 蛋类及制品
*/
CLASS_0114("0114","蛋类及制品"),
/**
* 水产类及制品
*/
CLASS_0112("0112","水产类及制品"),
/**
* 乳类及制品
*/
CLASS_0113("0113","乳类及制品"),
/**
* 大豆类及制品
*/
CLASS_0103("0103","大豆类及制品"),
/**
* 大豆类及制品
*/
CLASS_0104("0104","杂豆类及制品"),
/**
* 坚果
*/
CLASS_0115("0115","坚果、种子类"),
/**
* 烹调油
*/
CLASS_0118("0118","油脂类"),
;
private final String code ;
private final String message;
}
package com.jiankangyouyi.cloud.data.center.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* @author jingpeng
* @description 食物度量承重标签枚举
* @date 2020/12/7
*/
@Getter
@AllArgsConstructor
public enum FoodMetrologyTagEnum {
/**
* 度量类别列表
*/
LIST("1","度量列表"),
/**
* 度量详细
*/
INFO("2","度量详细")
;
private String code;
private String message;
}
package com.jiankangyouyi.cloud.data.center.enums;
import com.jiankangyouyi.cloud.core.constant.BaseEnum;
import lombok.AllArgsConstructor;
/**
* 食物类型枚举
* @author jingpeng
*/
@AllArgsConstructor
public enum FoodTypeEnum implements BaseEnum {
/**
* 谷薯类
*/
CEREALS("1","谷薯类"),
/**
* 蔬菜类
*/
VEGETABLES("2","蔬菜类"),
/**
* 水果类
*/
FRUITS("3","水果类"),
/**
* 肉蛋类
*/
MEAT("4","肉蛋类"),
/**
* 奶类
*/
MILK("5","奶类"),
/**
* 大豆类
*/
SOYBEAN("6","大豆类"),
/**
* 坚果类
*/
NUT("7","坚果类"),
/**
* 烹调油
*/
OIL("8","烹调油"),
/**
* 食盐
*/
SALT("9","食盐"),
/**
* 饮水量
*/
WATER("10","饮水量")
;
private String code ;
private String message;
@Override
public String code() {
return this.code;
}
@Override
public String message() {
return this.message;
}
}
package com.jiankangyouyi.cloud.data.center.enums;
/**
* @author lvqidong
* @date 2022/01/05 18:12
**/
import com.jiankangyouyi.cloud.core.external.qiniu.QiniuClient;
import com.jiankangyouyi.cloud.data.center.api.enums.QiniuBucketEnum;
import lombok.AllArgsConstructor;
import lombok.Getter;
import org.apache.commons.lang3.StringUtils;
import java.util.Optional;
import java.util.stream.Stream;
/**
* 食物类型枚举
*
* @author fengxuanjun
*/
@AllArgsConstructor
@Getter
public enum FoodTypeUseEnum {
/**
* 谷类
*/
CEREALS("0", "谷类", "g", "克", "345811f6ba784fe3bbca7197dbaee745.png?Frddeiqx0cuE8hhzw4AWu0uKfBm2?jkyy"),
/**
* 薯类
*/
POTATO("1", "薯类", "g", "克", "d599655227c446fa929ddae8137b4f22.png?FhTi4HcQufNN9ASUcpKttbAMX890?jkyy"),
/**
* 蔬菜类
*/
VEGETABLES("2", "蔬菜类", "g", "克", "a4a2f3dc6b1b4bffb6d5b9f5628834c3.png?FlRU28P62TKaHP9-4v2vmZdWIftk?jkyy"),
/**
* 水果类
*/
FRUITS("3", "水果类", "g", "克", "eecc874508894a0b9a25d8783952c232.png?FrU6biWDHDm2ALN0PEiHYslsxYoQ?jkyy"),
/**
* 畜禽肉蛋类
*/
MEAT("4", "畜禽肉蛋类", "g", "克", "fae7d0b159c44eebbd1b490a69320f59.png?FocEzlCCykSUaIjV4UudgczpLbvI?jkyy"),
/**
* 奶类
*/
MILK("5", "奶类", "ml", "毫升", "a60f2abe9b4a4d8c8e5eb7187a219f8d.png?FsCL93mIqWDxFAFYXLf0jPSanCnW?jkyy"),
/**
* 大豆类
*/
SOYBEAN("6", "大豆类", "g", "克", "b7367f4e2e73400bba10261514277014.png?FplVLxPG_q1nPSe2LdY95SRxzUgD?jkyy"),
/**
* 坚果类
*/
NUT("7", "坚果类", "g", "克", "67e1e0db56e14b579637f5d3d077554e.png?Fti9Jkix0XHEVRbrsImBTj0CVauw?jkyy"),
/**
* 烹调油
*/
OIL("8", "烹调油", "ml", "毫升", "fb2b6a49a1874a38b81de14eab44053c.png?FhhJyD6OeLWVJzX-3Az9O8HswoKf?jkyy"),
/**
* 水产类
*/
SEAFOOD("9", "水产类", "g", "克", "34290f8b557749c8aea6f95f8d5d0f5d.png?FrfNm5gCebdsJc9UNHA-rhZ-5Sek?jkyy"),
/**
* 饮水量
*/
WATER("10", "饮水量", "ml", "毫升", "14d30394b6b5414ba8ba4a432360fc31.png?FniRQDp7S90doznhQs1TJjH0TbiG?jkyy"),
;
/**
* 编码
*/
private String code;
/**
* 描述
*/
private String message;
/**
* 英文单位
*/
private String unit;
/**
* 中文单位
*/
private String unitCn;
/**
* 图片
*/
private String imageUrl;
public String getImageUrl() {
QiniuClient qiniuClient = QiniuClient.getClient(QiniuBucketEnum.JKYY.getBucket());
return qiniuClient.imageKeyToImageUrl(this.imageUrl);
}
public static Optional<FoodTypeUseEnum> getByEnumName(String name) {
if (StringUtils.isBlank(name)) {
return Optional.empty();
}
return Stream.of(values()).filter(e -> e.name().equals(name)).findFirst();
}
}
package com.jiankangyouyi.cloud.data.center.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.ArrayList;
import java.util.List;
/**
* @author jingpeng
* @description 性别枚举
* @date 2020/11/4
*/
@Getter
@AllArgsConstructor
public enum GenderEnum {
/**
* 未知
*/
UNKNOWN("0", "未知"),
/**
* 男
*/
MALE("1", "男"),
/**
* 女
*/
FEMALE("2", "女"),
;
private String gender;
private String genderName;
public static GenderEnum getEnum(String gender) {
GenderEnum[] values = values();
if (gender == null) {
return null;
}
for (GenderEnum value : values) {
if (gender.equals(value.gender)) {
return value;
}
}
return null;
}
public static List<String> getGenders() {
GenderEnum[] values = values();
List<String> genders = new ArrayList<>();
for (GenderEnum value : values) {
genders.add(value.getGender());
}
return genders;
}
}
package com.jiankangyouyi.cloud.data.center.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 健康分析维度类型
* @author :wangyalei
* @date :Created in 2021/7/26 3:01 下午
*/
@Getter
@AllArgsConstructor
public enum HealthAnalysisDimensionalityEnum {
/**
* 膳食营养
*/
DIETARY_NUTRITION("DIETARY_NUTRITION", "膳食营养"),
/**
* 运动健康
*/
EXERCISE_HEALTH("EXERCISE_HEALTH", "运动健康"),
/**
* 睡眠
*/
SLEEP("SLEEP", "睡眠"),
/**
* 生活方式---养成好习惯
*/
LIFE_STYLE("LIFE_STYLE", "养成好习惯"),
/**
* 检测指标
*/
CHECK_INDICATOR("CHECK_INDICATOR", "检测指标"),
/**
* 心理状态
*/
MENTALITY_STATUS("MENTALITY_STATUS", "心理状态")
;
private final String type;
private final String message;
public String type() {
return this.type;
}
public String message() {
return this.message;
}
public static HealthAnalysisDimensionalityEnum getEnum(String type) {
HealthAnalysisDimensionalityEnum[] values = values();
if (type == null) {
return null;
}
for (HealthAnalysisDimensionalityEnum value : values) {
if (type.equals(value.type)) {
return value;
}
}
return null;
}
}
package com.jiankangyouyi.cloud.data.center.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
import org.apache.commons.collections.CollectionUtils;
import java.util.List;
/**
* 健康分析类型
* @author :wangyalei
* @date :Created in 2021/8/2 10:27 上午
*/
@Getter
@AllArgsConstructor
public enum HealthAnalysisTypeEnum {
/**
* 步数(热量、里程)
*/
STEP("STEP", "步数(热量、里程)"),
/**
* HRV
*/
HRV("HRV", "HRV"),
/**
* 睡眠
*/
SLEEP("SLEEP", "睡眠"),
/**
* 血氧
*/
BLOOD_OXYGEN("BLOOD_OXYGEN", "血氧"),
/**
* 血压
*/
BLOOD_PRESSURE("BLOOD_PRESSURE", "血压"),
/**
* 体温
*/
BODY_TEMPERATURE("BODY_TEMPERATURE", "体温"),
/**
* 心率
*/
HEART_RATE("HEART_RATE", "心率"),
/**
* 压力
*/
STRESS("STRESS", "压力"),
/**
* 总胆固醇
*/
TOTAL_CHOLESTEROL("TOTAL_CHOLESTEROL", "总胆固醇"),
/**
* 血尿酸
*/
BLOOD_URIC_ACID("BLOOD_URIC_ACID", "血尿酸"),
/**
* 血糖
*/
BLOOD_GLUCOSE("BLOOD_GLUCOSE", "血糖"),
/**
* 基础代谢
*/
BMR("BMR", "基础代谢"),
/**
* 身体年龄
*/
BODY_AGE("BODY_AGE", "身体年龄"),
/**
* 体重
*/
WEIGHT("WEIGHT", "体重"),
/**
* 身体指数
*/
BMI("BMI", "身体指数"),
/**
* 体脂率
*/
BFP("BFP", "体脂率"),
/**
* 皮下脂肪率
*/
SUBCUTANEOUS_FAT("SUBCUTANEOUS_FAT", "皮下脂肪率"),
/**
* 内脏脂肪指数
*/
VISCERAL_FAT("VISCERAL_FAT", "内脏脂肪指数"),
/**
* 水分率
*/
WATER("WATER", "水分率"),
/**
* 肌肉率
*/
MUSCLE("MUSCLE", "肌肉率"),
/**
* 蛋白质率
*/
PROTEIN("PROTEIN", "蛋白质率"),
/**
* 骨量
*/
BONE("BONE", "骨量"),
/**
* 热量
*/
HEAT("HEAT","热量"),
/**
* 卡路里平衡
*
*/
CALORIE_BALANCE("CALORIE_BALANCE","卡路里平衡"),
/**
* 运动时长
*
*/
SPORT_TIMES("SPORT_TIMES","运动时长"),
/**
* 运动强度
*
*/
EXERCISE_INTENSITY("EXERCISE_INTENSITY","运动强度"),
/**
* 运动类型
*
*/
EXERCISE_TYPE("EXERCISE_TYPE","运动类型"),
/**
* 三餐能量比例
*
*/
MEAL_ENERGY_RATIO("MEAL_ENERGY_RATIO","三餐能量"),
/**
* 膳食结构分析
*/
DIETARY_STRUCTURE_ANALYSIS("DIETARY_STRUCTURE_ANALYSIS","膳食结构分析"),
/**
* 三大营养素功能
*/
THREE_NUTRIENT_UNCTIONS("THREE_NUTRIENT_UNCTIONS","三大营养素功能"),
/**
* 关键营养素摄入
*/
KEY_NUTRIENTS_INTAKE("KEY_NUTRIENTS_INTAKE","关键营养素摄入"),
;
private final String type;
private final String message;
public String type() {
return this.type;
}
public String message() {
return this.message;
}
public static HealthAnalysisTypeEnum getEnum(String type) {
HealthAnalysisTypeEnum[] values = values();
if (type == null) {
return null;
}
for (HealthAnalysisTypeEnum value : values) {
if (type.equals(value.type)) {
return value;
}
}
return null;
}
//
/**
* 是否有 首页的全新
* @param type 1 善食均衡 2 运动规律 3 养生好习惯 4 一夜好眠 5 指标分析 6 心里平衡
* @return
*/
public static Boolean getEnumPermission(List<String> types,String type) {
HealthAnalysisTypeEnum[] values = values();
if(CollectionUtils.isEmpty(types)){
return false;
}
if (type == null) {
return false;
}
//善食均衡
if(type.equals("1")){
if (types.contains(CALORIE_BALANCE.getType())
|| types.contains(MEAL_ENERGY_RATIO.getType())
|| types.contains(DIETARY_STRUCTURE_ANALYSIS.getType())
|| types.contains(THREE_NUTRIENT_UNCTIONS.getType())
|| types.contains(KEY_NUTRIENTS_INTAKE.getType())) {
return true;
}
}
//运动规律
if(type.equals("2")){
if (types.contains(CALORIE_BALANCE.getType())
|| types.contains(SPORT_TIMES.getType())
|| types.contains(EXERCISE_INTENSITY.getType())
|| types.contains(EXERCISE_TYPE.getType())
|| types.contains(STEP.getType())) {
return true;
}
}
//养生好习惯
//4 一夜好眠
if(type.equals("4")){
if (types.contains(SLEEP.getType())) {
return true;
}
}
//5 指标分析检测指标-心率、检测指标-体温、检测指标-血氧、检测指标-HRV、检测指标-血压、
// 检测指标-血糖、检测指标-血尿酸、检测指标-总胆固醇、检测指标-体重、检测指标-体脂率、检测指标-BMI、检测指标-身体年龄、
// 检测指标-基础代谢、检测指标-骨量/骨骼率、检测指标-内脏脂肪指数、检测指标-皮下脂肪、检测指标-蛋白量/蛋白率、检测指标-脂肪量/脂肪率、检测指标-肌肉量/肌肉率、检测指标-水分率
if(type.equals("5")){
if (types.contains(HEART_RATE.getType())
|| types.contains(BODY_TEMPERATURE.getType())
|| types.contains(BLOOD_OXYGEN.getType())
|| types.contains(HRV.getType())
|| types.contains(BLOOD_PRESSURE.getType())
|| types.contains(BLOOD_GLUCOSE.getType())
|| types.contains(BLOOD_URIC_ACID.getType())
|| types.contains(TOTAL_CHOLESTEROL.getType())
|| types.contains(WEIGHT.getType())
|| types.contains(BFP.getType())
|| types.contains(BMI.getType())
|| types.contains(BODY_AGE.getType())
|| types.contains(BMR.getType())
|| types.contains(BONE.getType())
|| types.contains(VISCERAL_FAT.getType())
|| types.contains(SUBCUTANEOUS_FAT.getType())
|| types.contains(MUSCLE.getType())
|| types.contains(PROTEIN.getType())
|| types.contains(WATER.getType())) {
return true;
}
}
//6 心里平衡
if(type.equals("6")){
if (types.contains(STRESS.type)) {
return true;
}
}
return false;
}
}
package com.jiankangyouyi.cloud.data.center.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 心率范围类型
* @author :wangyalei
* @date :Created in 2021/8/6 11:04 上午
*/
@Getter
@AllArgsConstructor
public enum HeartRateRangeTypeEnum {
/**
* 超出极限心率
*/
OUT_EXTREMITY("OUT_EXTREMITY", "超出极限心率"),
/**
* 极限心率
*/
EXTREMITY("EXTREMITY", "极限心率"),
/**
* 无氧心率
*/
ANAEROBIC("ANAEROBIC", "无氧心率"),
/**
* 有氧耐力
*/
AEROBIC("AEROBIC", "有氧耐力"),
/**
* 燃脂心率
*/
FAT_BURNING("FAT_BURNING", "燃脂心率"),
/**
* 热身心率
*/
WARM_UP("WARM_UP", "热身心率"),
/**
* 安静心率
*/
QUIETNESS("QUIETNESS", "安静心率"),
/**
* 偏低心率
*/
LOW("LOW", "偏低心率"),
;
private String type;
private String description;
public static HeartRateRangeTypeEnum getEnum(String type) {
HeartRateRangeTypeEnum[] values = values();
if (type == null) {
return null;
}
for (HeartRateRangeTypeEnum value : values) {
if (type.equals(value.type)) {
return value;
}
}
return null;
}
}
package com.jiankangyouyi.cloud.data.center.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 心率状态
* @author :wangyalei
* @date :Created in 2021/7/28 9:20 上午
*/
@Getter
@AllArgsConstructor
public enum HeartRateStatusEnum {
/**
* 正常
*/
NORMAL("1", "正常"),
/**
* 心动过缓
*/
SLOW("2", "心动过缓"),
/**
* 心动过速
*/
SPEED("3", "心动过速"),
;
private String status;
private String description;
public static HeartRateStatusEnum getEnum(String status) {
HeartRateStatusEnum[] values = values();
if (status == null) {
return null;
}
for (HeartRateStatusEnum value : values) {
if (status.equals(value.status)) {
return value;
}
}
return null;
}
}
package com.jiankangyouyi.cloud.data.center.enums;
import com.jiankangyouyi.cloud.core.constant.BaseEnum;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 历史记录类型
*
* @author : lvhaoran
* @date Date : 2020年12月15日
*/
@Getter
@AllArgsConstructor
public enum HistoryTypeEnum implements BaseEnum {
HISTORY_TYPE_MEAL("1", "饮食"),
HISTORY_TYPE_SPORT("2", "运动"),
HISTORY_TYPE_DATA("3", "数据"),
HISTORY_TYPE_LIFE("4", "生活"),
HISTORY_TYPE_SPECIAL("5", "特色调理"),
;
private String code;
private String message;
@Override
public String code() {
return this.code;
}
@Override
public String message() {
return this.message;
}
}
\ No newline at end of file
package com.jiankangyouyi.cloud.data.center.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* HRV 状态
* @author :wangyalei
* @date :Created in 2021/7/28 10:16 上午
*/
@Getter
@AllArgsConstructor
public enum HrvStatusEnum {
/**
* 偏低
*/
LOW("1", "偏低"),
/**
* 正常
*/
NORMAL("2", "正常"),
/**
* 良好
*/
GOOD("3", "良好"),
/**
* 优秀
*/
EXCELLENT("4", "优秀"),
;
private String status;
private String description;
public static HrvStatusEnum getEnum(String status) {
HrvStatusEnum[] values = values();
if (status == null) {
return null;
}
for (HrvStatusEnum value : values) {
if (status.equals(value.status)) {
return value;
}
}
return null;
}
}
package com.jiankangyouyi.cloud.data.center.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 检测结果身体指标状态
*/
@Getter
@AllArgsConstructor
public enum IndicatorStatusEnum {
/**
* 正常
*/
NORMAL("1", "正常"),
/**
* 非正常
*/
NO_NORMAL("0", "偏低");
private String status;
private String description;
}
package com.jiankangyouyi.cloud.data.center.enums;
import com.jiankangyouyi.cloud.core.constant.BaseEnum;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 管理目标编码
*
* @author dongle
*/
@Getter
@AllArgsConstructor
public enum MealManagementEnum implements BaseEnum {
/**
* 减脂
*/
FAT_REDUCTION("1", "减脂"),
/**
* 增肌
*/
MUSCLE_ENHANCEMENT("2", "增肌"),
/**
* 保持健康
*/
KEEP_HEALTHY("3", "保持健康"),
/**
* 塑形
*/
PLASTICITY("4", "塑形"),
;
private String code;
private String comment;
public static MealManagementEnum parseString(String code) {
for (MealManagementEnum enumItem : MealManagementEnum.values()) {
if (enumItem.getCode().equals(code)) {
return enumItem;
}
}
return null;
}
public static Boolean contains(String code) {
return parseString(code) != null;
}
@Override
public String code() {
return this.code;
}
@Override
public String message() {
return this.comment;
}
}
package com.jiankangyouyi.cloud.data.center.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 消息发送状态
* @author :wangyalei
* @date :2022/1/5 4:40 下午
*/
@Getter
@AllArgsConstructor
public enum MessagePushStatusEnum {
/**
* 成功
*/
SUCCESS("1", "成功"),
/**
* 失败
*/
FAIL("2", "失败"),
;
private String status;
private String description;
public static MessagePushStatusEnum getEnum(String status) {
MessagePushStatusEnum[] values = values();
if (status == null) {
return null;
}
for (MessagePushStatusEnum value : values) {
if (status.equals(value.status)) {
return value;
}
}
return null;
}
}
package com.jiankangyouyi.cloud.data.center.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 消息发送类型
* @author :wangyalei
* @date :2022/1/5 4:40 下午
*/
@Getter
@AllArgsConstructor
public enum MessagePushTypeEnum {
/**
* 手动触发
*/
HAND("1", "手动触发"),
/**
* 事件事发
*/
EVENT("2", "事件事发"),
;
private String type;
private String description;
public static MessagePushTypeEnum getEnum(String type) {
MessagePushTypeEnum[] values = values();
if (type == null) {
return null;
}
for (MessagePushTypeEnum value : values) {
if (type.equals(value.type)) {
return value;
}
}
return null;
}
}
package com.jiankangyouyi.cloud.data.center.enums;
import com.jiankangyouyi.cloud.core.constant.BaseEnum;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 矿物质Enum
*
* @author qxy
*/
@AllArgsConstructor
@Getter
public enum MineralEnum implements BaseEnum {
/**
* 钙
*/
CALCIUM("calcium", "钙"),
/**
* 钾
*/
POTASSIUM("potassium", "钾"),
/**
* 镁
*/
MAGNESIUM("magnesium", "镁"),
/**
* 铁
*/
IRON("iron", "铁"),
/**
* 锌
*/
ZINC("zinc", "锌"),
/**
* 硒
*/
SELENIUM("selenium", "硒"),
/**
* 铬
*/
CHROMIUM("chromium", "铬"),
;
private String code;
private String comment;
public static MineralEnum parseString(String code) {
for (MineralEnum enumItem : MineralEnum.values()) {
if (enumItem.getCode().equals(code)) {
return enumItem;
}
}
return null;
}
public static Boolean contains(String code) {
return parseString(code) != null;
}
@Override
public String code() {
return this.code;
}
@Override
public String message() {
return this.comment;
}
}
package com.jiankangyouyi.cloud.data.center.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 肌肉率状态
* @author :wangyalei
* @date :Created in 2021/8/31 6:30 下午
*/
@Getter
@AllArgsConstructor
public enum MuscleStatusEnum {
/**
* 偏低
*/
LOW("1","偏低"),
/**
* 标准
*/
STANDARD("2","标准"),
/**
* 偏高
*/
MORE_HIGH("3","偏高"),
/**
* 高
*/
HIGH("4","高");
private final String status;
private final String describe;
public static MuscleStatusEnum getEnum(String status) {
MuscleStatusEnum[] values = values();
if (status == null) {
return null;
}
for (MuscleStatusEnum value : values) {
if (status.equals(value.status)) {
return value;
}
}
return null;
}
}
package com.jiankangyouyi.cloud.data.center.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum NutrientLevelEnum {
/**
* 正常
*/
NORMAL("1", "合理"),
/**
* 偏高
*/
HIGH("2", "偏高"),
/**
* 偏低
*/
BOTTOM("3", "偏低"),
;
private final String code;
private final String desc;
}
package com.jiankangyouyi.cloud.data.center.enums;
import com.jiankangyouyi.cloud.core.constant.BaseEnum;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 营养素参考量查询key枚举
*
* @author qxy
**/
@Getter
@AllArgsConstructor
public enum NutrientReferenceIntakeEnum implements BaseEnum {
/**
* 50岁以下
*/
UNDER_50_YEARS_0LD("1", "50岁以下"),
/**
* 65岁以下
*/
UNDER_65_YEARS_0LD("2", "65岁以下"),
/**
* 80岁以下
*/
UNDER_80_YEARS_0LD("3", "80岁以下"),
/**
* 80岁以上
*/
OVER_80_YEARS_0LD("4", "80岁以上"),
/**
* 产后哺乳
*/
LACTATIONAL("5", "产后哺乳"),
;
private final String code;
private final String comment;
public static NutrientReferenceIntakeEnum parseString(String code) {
for (NutrientReferenceIntakeEnum enumItem : NutrientReferenceIntakeEnum.values()) {
if (enumItem.getCode().equals(code)) {
return enumItem;
}
}
return null;
}
public static Boolean contains(String code) {
return parseString(code) != null;
}
@Override
public String code() {
return this.code;
}
@Override
public String message() {
return this.comment;
}
}
\ No newline at end of file
package com.jiankangyouyi.cloud.data.center.enums;
import com.jiankangyouyi.cloud.core.constant.BaseEnum;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* @author dongle
* @date 2020/11/9
*/
@Getter
@AllArgsConstructor
public enum NutritionEnum implements BaseEnum {
/**
* 蛋白质
*/
PROTEIN("1", "蛋白质"),
/**
* 碳水化合物
*/
CARBOHYDRATE("2", "碳水化合物"),
/**
* 脂肪
*/
FAT("3", "脂肪"),
;
private final String code;
private final String comment;
public static NutritionEnum parseString(String code) {
for (NutritionEnum enumItem : NutritionEnum.values()) {
if (enumItem.getCode().equals(code)) {
return enumItem;
}
}
return null;
}
public static Boolean contains(String code) {
return parseString(code) != null;
}
@Override
public String code() {
return this.code;
}
@Override
public String message() {
return this.comment;
}
}
package com.jiankangyouyi.cloud.data.center.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 蛋白质率状态
* @author :wangyalei
* @date :Created in 2021/8/31 6:30 下午
*/
@Getter
@AllArgsConstructor
public enum ProteinStatusEnum {
/**
* 偏低
*/
LOW("1","偏低"),
/**
* 标准
*/
STANDARD("2","标准"),
/**
* 偏高
*/
MORE_HIGH("3","偏高"),
/**
* 高
*/
HIGH("4","高");
private final String status;
private final String describe;
public static ProteinStatusEnum getEnum(String status) {
ProteinStatusEnum[] values = values();
if (status == null) {
return null;
}
for (ProteinStatusEnum value : values) {
if (status.equals(value.status)) {
return value;
}
}
return null;
}
}
package com.jiankangyouyi.cloud.data.center.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* @author jingpeng
* @description 七牛存储空间配置
* @date 2020/11/4
*/
@Getter
@AllArgsConstructor
public enum QiniuBucketEnum {
/**
* jkyy
*/
JKYY("jkyy"),
/**
* jkyy-private
*/
JKYY_PRIVATE("jkyy-private"),
/**
* zhidoushi public
*/
JY("zhidoushi"),
/**
* 减约private
*/
JY_PRIVATE("jianyue-private-bucket");
private String bucket;
public static QiniuBucketEnum getEnum(String bucket) {
QiniuBucketEnum[] values = values();
if (bucket == null) {
return null;
}
for (QiniuBucketEnum value : values) {
if (bucket.equals(value.bucket)) {
return value;
}
}
return null;
}
}
package com.jiankangyouyi.cloud.data.center.enums;
import lombok.AllArgsConstructor;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils;
/**
* Redis Key Enum
*
* @author yangsongbo
*/
@AllArgsConstructor
public enum RedisKeyEnum {
/**
* 后台管理loginToken 后缀为UUID
*/
STRING_MANAGER_LOGIN_TOKEN("string_data_center_manager_login_token", "后台管理loginToken 后缀为UUID"),
/**
* <p>公共参数缓存,后缀为paramGroup、paramKey</p>
*/
STRING_PARAM_VALUE("string_param_value", "公共参数缓存,后缀为paramGroup、paramKey"),
/**
* <p>公共参数缓存,后缀为paramGroup</p>
*/
LIST_PARAM_VALUE("list_param_value", "公共参数缓存,后缀为paramGroup"),
/**
* 导出后台管理数据导出间隔时间,后缀为account,exportType
*/
STRING_MANAGER_EXPORT_DATA_INTERVAL(
"string_data_center_manager_export_data_interval",
"导出后台管理数据导出间隔时间,后缀为account,exportType"),
/**
* 接口调用数,后缀为appId + interfaceUrl + 时间(时间为空则默认年,否则有月yyyyMM 日yyyyMMdd)
*/
STRING_INTERFACE_INVOKE_COUNT("string_interface_invoke_count", "接口调用数"),
/**
* <p>用户给缓存,后缀为appId、userId</p>
*/
STRING_DATA_CENTER_APP_USER_CACHE("string_data_center_app_user_cache", "用户缓存,后缀为appId、userId"),
/**
* 字典缓存 后缀为dictType,dictSubType
*/
LIST_BASE_DICT("list_base_dict", "字典数据缓存,后缀为dictType,dictSubType"),
/**
* 应用信息表developer.app.info2缓存Key
*/
STRING_DEVELOPER_APP("string_developer_app_health_ai", "应用信息表developer.app.info2缓存Key,后缀为develpoerId"),
;
/**
* redis key
*/
private String key;
/**
* 描述
*/
private String describe;
public String getDescribe() {
return this.describe;
}
/**
* 获取key
*
* @param keySuffixes key后缀
* @return redis key
*/
public String getKey(String... keySuffixes) {
StringBuilder builder = new StringBuilder(this.key);
if (ArrayUtils.isNotEmpty(keySuffixes)) {
for (String keySuffix : keySuffixes) {
if (StringUtils.isNotBlank(keySuffix)) {
builder.append("_").append(keySuffix);
}
}
}
return builder.toString();
}
}
package com.jiankangyouyi.cloud.data.center.enums;
import com.jiankangyouyi.cloud.core.constant.BaseEnum;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 处理码定义
*
* @author wangshuang
*/
@Getter
@AllArgsConstructor
public enum ResultCodeEnum implements BaseEnum {
/**
* 成功
*/
SUCCESS("0", "成功"),
/**
* 登出
*/
LOGOUT("LOGOUT", "登出"),
/**
* 解析HTTP BODY失败
*/
DATA0001("DATA0001", "解析HTTP BODY失败"),
/**
* HTTP BODY参数错误
*/
DATA0002("DATA0002", "HTTP BODY参数错误"),
/**
* 未知的HTTP请求来源
*/
DATA0003("DATA0003", "未知的HTTP请求来源"),
/**
* HTTP请求来源非法
*/
DATA0004("DATA0004", "HTTP请求来源非法"),
/**
* 解析心电数据失败
*/
DATA0005("DATA0005", "解析心电数据失败"),
/**
* 操作过于频繁,请稍后再试
*/
DATA0006("DATA0006", "操作过于频繁,请稍后再试"),
/**
* 数据为空,无法导出
*/
DATA0007("DATA0007", "数据为空,无法导出"),
/**
* 导出数据失败,请稍后再试
*/
DATA0008("DATA0008", "导出数据失败,请稍后再试"),
/**
* 用户信息为空
*/
DATA0009("DATA0009", "用户信息为空,请先完善用户信息"),
/**
* 用户信息为空
*/
DATA0010("DATA0010", "音频数据识别失败"),
/**
* 无效的授权码
*/
DATA0011("DATA0011", "无效的授权码"),
/**
* 手机号已经绑定
*/
DATA0012("DATA0012", "手机号已经绑定"),
/**
* 授权码已绑定
*/
DATA0013("DATA0013", "授权码已绑定"),
/**
* 授权码失效
*/
DATA0014("DATA0014", "授权码失效"),
/**
* 查询数据失败,请稍后再试
*/
DATA0015("DATA0015", "查询数据失败,请稍后再试"),
/**
* 短信模板不存在
*/
DATA0016("DATA0016", "短信模板不存在"),
/**
* 验证码发送失败
*/
DATA0017("DATA0017", "验证码发送失败"),
/**
* 验证码不能为空
*/
DATA0018("DATA0018", "验证码不能为空"),
/**
* 验证码校验异常,请稍后再试
*/
DATA0019("DATA0019", "验证码校验异常,请稍后再试"),
/**
* 验证码不正确
*/
DATA0020("DATA0020", "验证码不正确"),
/**
* 验证码已失效
*/
DATA0021("DATA0021", "验证码已失效"),
/**
* 验证码不能为空
*/
DATA0022("DATA0022", "手机号不能为空不能为空"),
/**
* 和缓医生系统故障,请联系工作人员,稍后再试
*/
DATA0023("DATA0023", "和缓医生系统故障,请联系工作人员,稍后再试"),
/**
* 和缓医生系统故障,请联系工作人员,稍后再试
*/
DATA0024("DATA0024", "数据入库异常"),
/**
* 用户--目标体重不存在
*/
DATA0025("DATA0025", "用户--目标体重不存在"),
/**
* 权限不足
*/
DATA0027("DATA0027", "权限不足"),
/**
* 测评报告不存在
*/
DATA0026("DATA0026", "测评报告不存在"),
/**
* 保存益云数字健康管理平台配置失败
*/
DATA0028("DATA0028", "保存管理平台配置失败"),
/**
* 益云数字健康管理平台配置信息不存在
*/
DATA0029("DATA0029", "账号配置信息不存在"),
/**
* 益云数字健康管理平台配置信息不存在
*/
DATA0030("DATA0030", "解绑设备失败,稍后再试"),
/**
* 权益不存在
*/
EQUITY_404("EQUITY_404","权益不存在"),
/**
* 权益包不存在
*/
EQUITY_PACKAGE_404("EQUITY_PACKAGE_404","权益包不存在"),
/**
* 权益包已被项目关联
*/
EQUITY_PACKAGE_DONOT_EDIT("EQUITY_PACKAGE_DONOT_EDIT","权益包已被项目关联不可进行修改/删除"),
/**
* 激活码不存在
*/
CDK_404("CDK_404","激活码不存在"),
/**
* 激活码未绑定
*/
CDK_NOBIND("CDK_NOBIND","激活码未绑定"),
/**
* 激活码下无权益信息
*/
CDK_NOHAS_EQUITY("CDK_NOHAS_EQUITY","激活码下无权益信息"),
/**
* 保存失败
*/
DATA0031("DATA0031", "保存失败"),
/**
* 个人信息为空
*/
DATA0032("DATA0032", "无效的用户信息"),
/**
* 个人信息为空
*/
DATA0033("DATA0033", "请完善用户信息,身高,体重,性别为必填信息"),
/**
* 操作的数据不存在
*/
DATA0034("DATA0034", "操作的数据不存在"),
/**
* 处理失败
*/
DATA0035("DATA0035", "处理失败");
private final String code;
private final String message;
@Override
public String code() {
return code;
}
@Override
public String message() {
return message;
}
public static ResultCodeEnum getEnum(String code) {
ResultCodeEnum[] values = values();
if (code == null) {
return null;
}
for (ResultCodeEnum value : values) {
if (code.equals(value.code)) {
return value;
}
}
return null;
}
}
package com.jiankangyouyi.cloud.data.center.enums;
import com.jiankangyouyi.cloud.core.constant.BaseEnum;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* Result Code枚举
*
* @author yangsongbo
*/
@Getter
@AllArgsConstructor
public enum ResultTokenEnum implements BaseEnum {
/**
* 处理成功
*/
OK("0", "处理成功"),
/**
* 应用信息不存在
*/
APP_NOT_FOUND("1104", "应用信息不存在"),
/**
* apiKey不正确
*/
APIKEY_IS_WRONG("1105", "apiKey不正确"),
/**
* 应用信息中的apiKey不存在
*/
APIKEY_FOR_APP_NOT_FOUND("1106", "应用信息中的apiKey不存在"),
/**
* 授权码已停用
*/
LICENSE_HAS_BEEN_DISABLED("1108", "授权码已停用"),
/**
* 授权码已过期
*/
LICENSE_IS_EXPIRED("1109", "授权码已过期"),
/**
* 授权码不存在
*/
LICENSE_NOT_FOUND("1110", "授权码不存在"),
/**
* 授权码已被使用
*/
LICENSE_HAS_BEEN_USED("1111", "授权码已被使用"),
/**
* 授权码绑定失败
*/
LICENSE_BINDING_FAILED("1112", "授权码绑定失败"),
/**
* IP频繁变动预警
*/
IP_FREQUENT_CHANGE_WARING("1113", "IP频繁变动预警"),
/**
* 生成HLS key失败
*/
HLS_KEY_GENERATE_FAIL("1115", "生成HLS key失败"),
/**
* 微信授权渠道chanType未配置
*/
WECHAT_CHAN_TYPE_NOT_FOUND("1116", "微信授权渠道chanType未配置"),
/**
* 重定向失败
*/
RESPONSE_REDIRECT_ERROR("1117", "重定向失败"),
/**
* 获取网页授权access_token失败
*/
GET_WECHAT_WEB_ACCESS_TOKEN_FAIL("1118", "获取网页授权access_token失败"),
/**
* 获取微信小程序session_key失败
*/
GET_WECHAT_APP_SESSION_KEY_FAIL("1119", "获取微信小程序session_key失败"),
;
/**
* 处理码
*/
private final String code;
/**
* 处理信息
*/
private final String comment;
@Override
public String code() {
return code;
}
@Override
public String message() {
return comment;
}
}
package com.jiankangyouyi.cloud.data.center.enums;
/**
* 记录时间解析
* @author yangsongbo
*
*/
public enum SemanticRecordDayTimeEnum {
/**上午*/
AM,
/**中午*/
NOON,
/**下午*/
PM,
;
public static SemanticRecordDayTimeEnum getEnum(String value) {
SemanticRecordDayTimeEnum[] es = values();
for (SemanticRecordDayTimeEnum e : es) {
if (e.name().equalsIgnoreCase(value)) {
return e;
}
}
return null;
}
}
\ No newline at end of file
package com.jiankangyouyi.cloud.data.center.enums;
/**
* 语音记录意图
* @author yangsongbo
*
*/
public enum SemanticRecordIntentEnum {
/**饮食记录*/
RECORD_MEAL,
/**运动记录*/
RECORD_SPORT,
/**未知意图*/
UNKOWN,
;
public static SemanticRecordIntentEnum getEnum(String value) {
SemanticRecordIntentEnum[] es = values();
for (SemanticRecordIntentEnum e : es) {
if (e.name().equalsIgnoreCase(value)) {
return e;
}
}
return null;
}
}
package com.jiankangyouyi.cloud.data.center.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.HashMap;
/**
* 压力状态
* @author :wangyalei
* @date :Created in 2021/7/28 10:23 上午
*/
@Getter
@AllArgsConstructor
public enum StressStatusEnum {
/**
* 平静
*/
CALMNESS("1", "平静"),
/**
* 舒缓
*/
RELIEVE("2", "舒缓"),
/**
* 紧张
*/
NERVOUS("3", "紧张"),
/**
* 焦虑
*/
ANXIETY("4", "焦虑"),
;
private String status;
private String description;
public static StressStatusEnum getEnum(String status) {
StressStatusEnum[] values = values();
if (status == null) {
return null;
}
for (StressStatusEnum value : values) {
if (status.equals(value.status)) {
return value;
}
}
return null;
}
}
package com.jiankangyouyi.cloud.data.center.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 皮下脂肪状态
* @author :wangyalei
* @date :Created in 2021/8/30 5:00 下午
*/
@Getter
@AllArgsConstructor
public enum SubcutaneousFatStatusEnum {
/**
* 偏低
*/
LOW("1","偏低"),
/**
* 标准
*/
STANDARD("2","标准"),
/**
* 偏高
*/
MORE_HIGH("3","偏高");
private final String status;
private final String describe;
public static SubcutaneousFatStatusEnum getEnum(String status) {
SubcutaneousFatStatusEnum[] values = values();
if (status == null) {
return null;
}
for (SubcutaneousFatStatusEnum value : values) {
if (status.equals(value.status)) {
return value;
}
}
return null;
}
}
package com.jiankangyouyi.cloud.data.center.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* @author jingpeng
* @description 哺乳状态enum
* @date 2020/11/4
*/
@Getter
@AllArgsConstructor
public enum SuckleStateEnum {
/**
* 正在哺乳期
*/
SUCKLING("1","正在哺乳期"),
/**
* 不在哺乳期
*/
NOT_SUCKLING("2","不在哺乳期")
;
private String code;
private String message;
}
package com.jiankangyouyi.cloud.data.center.enums;
import com.jiankangyouyi.cloud.data.center.api.enums.MealTypeEnum;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* @author jingpeng
* @description 三餐分析对应的能量占比与话术
* @date 2020/11/9
*/
@Getter
@AllArgsConstructor
public enum ThreeMealEnergyRateRangeEnum {
/**
* 早餐偏低
*/
BREAKFAST_LOW("早餐+早加餐", AnalysisStatusEnum.LOWER.code(), 0, 0.24, 0.3,
"吃的有点少,早餐作为一天营养的开始,健康饮食非常重要,绝对不能忽略,开始关注自己的早餐吧。"),
/**
* 早餐合适
*/
BREAKFAST_SUITABLE("早餐+早加餐", AnalysisStatusEnum.SUITABLE.code(), 0.25, 0.35, 0.3,
"很不错,继续保持合理摄入。"),
/**
* 早餐偏高
*/
BREAKFAST_HIGH("早餐+早加餐", AnalysisStatusEnum.HIGHER.code(), 0.36, 1.0, 0.3,
"吃多了,早餐摄入过多可能会影响午餐的食用,科学分配早餐热量将更利于健康的维护哟。"),
/**
* 午餐偏低
*/
LUNCH_LOW("午餐+午加餐", AnalysisStatusEnum.LOWER.code(), 0, 0.34, 0.4,
"吃的有点少,午餐是全天重要的营养来源,有助于恢复精力,保持新陈代谢活跃,要保证摄入量哟。"),
/**
* 午餐合适
*/
LUNCH_SUITABLE("午餐+午加餐", AnalysisStatusEnum.SUITABLE.code(), 0.35, 0.45, 0.4, "很不错,继续保持合理摄入。"),
/**
* 午餐偏高
*/
LUNCH_HIGH("午餐+午加餐", AnalysisStatusEnum.HIGHER.code(), 0.46, 1.0, 0.4,
"吃多了,午餐摄入过多可能会影响晚餐的食用,科学分配午餐热量将更利于健康的维护哟。"),
/**
* 晚餐偏低
*/
SUPPER_LOW("晚餐+晚加餐", AnalysisStatusEnum.LOWER.code(), 0, 0.24, 0.3,
"吃的有点少,晚餐过少或不吃,会影响睡眠,还会影响胃肠功能健康,规律饮食更有助于健康哟。"),
/**
* 晚餐合适
*/
SUPPER_SUITABLE("晚餐+晚加餐", AnalysisStatusEnum.SUITABLE.code(), 0.25, 0.35, 0.3,
"很不错,继续保持合理摄入。"),
/**
* 晚餐偏高
*/
SUPPER_HIGH("晚餐+晚加餐", AnalysisStatusEnum.HIGHER.code(), 0.36, 1.0, 0.3,
"吃多了,晚餐摄入过多,能量消耗不掉,非常容易造成肥胖,会增加心脑血管疾病的患病风险,要适量降低晚餐的摄入哟。"),
//慢性肾脏病
/**
* 早餐偏低
*/
CHRONIC_RENAL_FAILURE_BREAKFAST_LOW("早餐+早加餐", AnalysisStatusEnum.LOWER.code(), 0, 0.24, 0.3,
"吃的有点少,早餐作为一天营养的开始,健康饮食非常重要,绝对不能忽略,开始关注自己的早餐吧。"),
/**
* 早餐合适
*/
CHRONIC_RENAL_FAILURE_BREAKFAST_SUITABLE("早餐+早加餐", AnalysisStatusEnum.SUITABLE.code(), 0.25, 0.35, 0.3,
"很不错,继续保持合理摄入。"),
/**
* 早餐偏高
*/
CHRONIC_RENAL_FAILURE_BREAKFAST_HIGH("早餐+早加餐", AnalysisStatusEnum.HIGHER.code(), 0.36, 1.0, 0.3,
"吃多了,早餐摄入过多可能会影响午餐的食用,科学分配早餐热量将更利于健康的维护哟。"),
/**
* 午餐偏低
*/
CHRONIC_RENAL_FAILURE_LUNCH_LOW("午餐+午加餐", AnalysisStatusEnum.LOWER.code(), 0, 0.34, 0.4,
"吃的有点少,午餐是全天重要的营养来源,有助于恢复精力,保持新陈代谢活跃,要保证摄入量哟。"),
/**
* 午餐合适
*/
CHRONIC_RENAL_FAILURE_LUNCH_SUITABLE("午餐+午加餐", AnalysisStatusEnum.SUITABLE.code(), 0.35, 0.45, 0.4, "很不错,继续保持合理摄入。"),
/**
* 午餐偏高
*/
CHRONIC_RENAL_FAILURE_LUNCH_HIGH("午餐+午加餐", AnalysisStatusEnum.HIGHER.code(), 0.46, 1.0, 0.4,
"吃多了,午餐摄入过多可能会影响晚餐的食用,科学分配午餐热量将更利于健康的维护哟。"),
/**
* 晚餐偏低
*/
CHRONIC_RENAL_FAILURE_SUPPER_LOW("晚餐+晚加餐", AnalysisStatusEnum.LOWER.code(), 0, 0.24, 0.3,
"吃的有点少,晚餐过少或不吃,会影响睡眠,还会影响胃肠功能健康,规律饮食更有助于健康哟。"),
/**
* 晚餐合适
*/
CHRONIC_RENAL_FAILURE_SUPPER_SUITABLE("晚餐+晚加餐", AnalysisStatusEnum.SUITABLE.code(), 0.25, 0.35, 0.3,
"很不错,继续保持合理摄入。"),
/**
* 晚餐偏高
*/
CHRONIC_RENAL_FAILURE_SUPPER_HIGH("晚餐+晚加餐", AnalysisStatusEnum.HIGHER.code(), 0.36, 1.0, 0.3,
"吃多了,晚餐摄入过多,能量消耗不掉,非常容易造成肥胖,会增加心脑血管疾病的患病风险,要适量降低晚餐的摄入哟。"),
//其他四中病 贫血 慢性胃炎 肠炎 慢性肝炎
/**
* 早餐偏低
*/
OTHER_BREAKFAST_LOW("早餐+早加餐", AnalysisStatusEnum.LOWER.code(), 0, 0.24, 0.3,
"吃的有点少,早餐作为一天营养的开始,健康饮食非常重要,绝对不能忽略,开始关注自己的早餐吧。"),
/**
* 早餐合适
*/
OTHER_BREAKFAST_SUITABLE("早餐+早加餐", AnalysisStatusEnum.SUITABLE.code(), 0.25, 0.35, 0.3,
"很不错,继续保持合理摄入。"),
/**
* 早餐偏高
*/
OTHER_BREAKFAST_HIGH("早餐+早加餐", AnalysisStatusEnum.HIGHER.code(), 0.36, 1.0, 0.3,
"吃多了,早餐摄入过多可能会影响午餐的食用,科学分配早餐热量将更利于健康的维护哟。"),
/**
* 午餐偏低
*/
OTHER_LUNCH_LOW("午餐+午加餐", AnalysisStatusEnum.LOWER.code(), 0, 0.34, 0.4,
"吃的有点少,午餐是全天重要的营养来源,有助于恢复精力,保持新陈代谢活跃,要保证摄入量哟。"),
/**
* 午餐合适
*/
OTHER_LUNCH_SUITABLE("午餐+午加餐", AnalysisStatusEnum.SUITABLE.code(), 0.35, 0.45, 0.4, "很不错,继续保持合理摄入。"),
/**
* 午餐偏高
*/
OTHER_LUNCH_HIGH("午餐+午加餐", AnalysisStatusEnum.HIGHER.code(), 0.46, 1.0, 0.4,
"吃多了,午餐摄入过多可能会影响晚餐的食用,科学分配午餐热量将更利于健康的维护哟。"),
/**
* 晚餐偏低
*/
OTHER_SUPPER_LOW("晚餐+晚加餐", AnalysisStatusEnum.LOWER.code(), 0, 0.24, 0.3,
"吃的有点少,晚餐过少或不吃,会影响睡眠,还会影响胃肠功能健康,规律饮食更有助于健康哟。"),
/**
* 晚餐合适
*/
OTHER_SUPPER_SUITABLE("晚餐+晚加餐", AnalysisStatusEnum.SUITABLE.code(), 0.25, 0.35, 0.3,
"很不错,继续保持合理摄入。"),
/**
* 晚餐偏高
*/
OTHER_SUPPER_HIGH("晚餐+晚加餐", AnalysisStatusEnum.HIGHER.code(), 0.36, 1.0, 0.3,
"吃多了,晚餐摄入过多,能量消耗不掉,非常容易造成肥胖,会增加心脑血管疾病的患病风险,要适量降低晚餐的摄入哟。"),
;
/**
* 餐别
*/
private String mealType;
/**
* 描述
*/
private String status;
/**
* 开始比例
*/
private double startRate;
/**
* 结束比例
*/
private double endRate;
/**
* 标准比例
*/
private double standardRate;
/**
* 话术
*/
private String describe;
/**
* 根据餐别获取餐别出合适的摄入范围
*
* @param mealTypeEnum 餐别
* @return ThreeMealEnergyRateRangeEnum
*/
public static ThreeMealEnergyRateRangeEnum getThreeMealSuitableRateEnum(
MealTypeEnum mealTypeEnum) {
switch (mealTypeEnum) {
case BREAKFAST:
return BREAKFAST_SUITABLE;
case LUNCH:
return LUNCH_SUITABLE;
default:
return SUPPER_SUITABLE;
}
}
/**
* 根据餐别与比例查询范围枚举
*
* @param mealType 餐别
* @param rate 比例
* @return ThreeMealEnergyRateRangeEnum
*/
public static ThreeMealEnergyRateRangeEnum getEnumByMealAndRate(MealTypeEnum mealType, double rate) {
rate = Math.min(rate, 1.0);
ThreeMealEnergyRateRangeEnum[] rateRangeEnums = values();
if (mealType == null) {
return null;
}
for (ThreeMealEnergyRateRangeEnum rateRangeEnum : rateRangeEnums) {
if (rateRangeEnum.name().startsWith(mealType.name()) && rate >= rateRangeEnum.startRate
&& rate <= rateRangeEnum.endRate) {
return rateRangeEnum;
}
}
return null;
}
/**
* 根据餐别与比例查询范围枚举 慢性肾脏病
*
* @param name 肾脏病前缀 CHRONIC_RENAL_FAILURE
* @param rate 比例
* @return ThreeMealEnergyRateRangeEnum
*/
public static ThreeMealEnergyRateRangeEnum getEnumByChronicKidneyDiseaseMealAndRate(String name, double rate) {
rate = Math.min(rate, 1.0);
ThreeMealEnergyRateRangeEnum[] rateRangeEnums = values();
if (name == null) {
return null;
}
for (ThreeMealEnergyRateRangeEnum rateRangeEnum : rateRangeEnums) {
if (rateRangeEnum.name().startsWith(name) && rate >= rateRangeEnum.startRate
&& rate <= rateRangeEnum.endRate) {
return rateRangeEnum;
}
}
return null;
}
/**
* 根据餐别与比例查询范围枚举 其他四中病 贫血 慢性胃炎 肠炎 慢性肝炎
*
* @param name 其他四中病 OTHER
* @param rate 比例
* @return ThreeMealEnergyRateRangeEnum
*/
public static ThreeMealEnergyRateRangeEnum getEnumByOtherMealAndRate(String name, double rate) {
rate = Math.min(rate, 1.0);
ThreeMealEnergyRateRangeEnum[] rateRangeEnums = values();
if (name == null) {
return null;
}
for (ThreeMealEnergyRateRangeEnum rateRangeEnum : rateRangeEnums) {
if (rateRangeEnum.name().startsWith(name) && rate >= rateRangeEnum.startRate
&& rate <= rateRangeEnum.endRate) {
return rateRangeEnum;
}
}
return null;
}
}
package com.jiankangyouyi.cloud.data.center.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 内脏脂肪指数状态
* @author :wangyalei
* @date :Created in 2021/8/30 5:21 下午
*/
@Getter
@AllArgsConstructor
public enum VisceralFatStatusEnum {
/**
* 正常
*/
NORMAL("1","正常"),
/**
* 偏高
*/
MORE_HIGH("2","偏高"),
/**
* 高
*/
HIGH("3","高"),
/**
* 极高
*/
EXTREME_HIGH("4","极高");
private final String status;
private final String describe;
public static VisceralFatStatusEnum getEnum(String status) {
VisceralFatStatusEnum[] values = values();
if (status == null) {
return null;
}
for (VisceralFatStatusEnum value : values) {
if (status.equals(value.status)) {
return value;
}
}
return null;
}
}
package com.jiankangyouyi.cloud.data.center.enums;
import com.jiankangyouyi.cloud.core.constant.BaseEnum;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 维生素Enum
*
* @author qxy
*/
@AllArgsConstructor
@Getter
public enum VitaminEnum implements BaseEnum {
/**
* 维生素A
*/
VITAMIN_A("vitaminA", "维生素A"),
/**
* 维生素C
*/
VITAMIN_C("vitaminC", "维生素C"),
/**
* 维生素D
*/
VITAMIN_D("vitaminD", "维生素D"),
/**
* 维生素E
*/
VITAMIN_E("vitaminE", "维生素E"),
/**
* 维生素B1
*/
VITAMIN_B1("vitaminB1", "维生素B1"),
/**
* 维生素B2
*/
VITAMIN_B2("vitaminB2", "维生素B2"),
/**
* 维生素B5
*/
VITAMIN_B5("vitaminB5", "维生素B5"),
/**
* 维生素B6
*/
VITAMIN_B6("vitaminB6", "维生素B6"),
/**
* 维生素B12
*/
VITAMIN_B12("vitaminB12", "维生素B12"),
/**
* 叶酸
*/
FOLIC_ACID("folicAcid", "叶酸"),
/**
* 烟酸
*/
NICOTINIC_ACID("nicotinicAcid", "烟酸"),
;
private String code;
private String comment;
public static VitaminEnum parseString(String code) {
for (VitaminEnum enumItem : VitaminEnum.values()) {
if (enumItem.getCode().equals(code)) {
return enumItem;
}
}
return null;
}
public static Boolean contains(String code) {
return parseString(code) != null;
}
@Override
public String code() {
return this.code;
}
@Override
public String message() {
return this.comment;
}
}
package com.jiankangyouyi.cloud.data.center.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 水分率状态
* @author :wangyalei
* @date :Created in 2021/8/31 6:30 下午
*/
@Getter
@AllArgsConstructor
public enum WaterStatusEnum {
/**
* 偏低
*/
LOW("1","偏低"),
/**
* 标准
*/
STANDARD("2","标准"),
/**
* 偏高
*/
MORE_HIGH("3","偏高"),
/**
* 高
*/
HIGH("4","高");
private final String status;
private final String describe;
public static WaterStatusEnum getEnum(String status) {
WaterStatusEnum[] values = values();
if (status == null) {
return null;
}
for (WaterStatusEnum value : values) {
if (status.equals(value.status)) {
return value;
}
}
return null;
}
}
package com.jiankangyouyi.cloud.data.center.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 体重状态
* @author :wangyalei
* @date :Created in 2021/8/30 2:38 下午
*/
@Getter
@AllArgsConstructor
public enum WeightStatusEnum {
/**
* 消瘦
*/
THINNISH("1","消瘦"),
/**
* 标准
*/
STANDARD("2","标准"),
/**
* 超重
*/
MORE_FAT("3","超重"),
/**
* 肥胖
*/
OBESITY("4","肥胖");
private final String status;
private final String describe;
public static WeightStatusEnum getEnum(String type) {
WeightStatusEnum[] values = values();
if (type == null) {
return null;
}
for (WeightStatusEnum value : values) {
if (type.equals(value.status)) {
return value;
}
}
return null;
}
}
package com.jiankangyouyi.cloud.data.center.enums;
/**
* 自定义词性
* @author yangsongbo
*
*/
public enum WordNatureEnum {
/**食物名称*/
FOOD_NAME("FOOD_NAME","食物名称"),
/**运动名称*/
EXERCISE_NAME("EXERCISE_NAME","运动名称"),
/**自定义数词*/
NUMBER("NUMBER","自定义数词"),
/**时间 AM,NOON,PM*/
DAY_TIME("DAY_TIME","时间 AM,NOON,PM"),
/**单位*/
UNIT("UNIT","单位"),
/**标点符号*/
PUNCTUATION("PUNCTUATION","标点符号"),
/**人名*/
PERSONAL_NAME("PERSONAL_NAME","人名"),
/**过滤的词*/
FILTER_WORD("FILTER_WORD","过滤的词"),
/**名词*/
N("n","名词"),
/**数词*/
M("m","数词"),
/**数量词*/
MQ("mq","数量词"),
/**时间词*/
T("t","时间词"),
/**量词*/
Q("q","量词"),
;
private String value;
private String displayName;
public String getValue() {
return value;
}
public String getDisplayName() {
return displayName;
}
private WordNatureEnum(String value, String displayName) {
this.value = value;
this.displayName = displayName;
}
public static WordNatureEnum getEnum(String name) {
WordNatureEnum[] es = values();
for (WordNatureEnum e : es) {
if (e.name().equalsIgnoreCase(name)) {
return e;
}
}
return null;
}
}
package com.jiankangyouyi.cloud.data.center.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* @author jingpeng
* @description 内蒙古云盾疾病对应的热量消耗上下限
* @date 2020/11/5
*/
@Getter
@AllArgsConstructor
public enum YDDiseaseTypeEnergyConsumeEnum {
/**
* 健康人群
*/
HEALTH_PEOPLE("0", "健康人群", 0.10, 0.3, "保持关节良好功能,预防损伤。改善体型,平衡肌肉,改善身体姿态"),
/**
* 高血压
*/
HIGH_BLOOD_PRESSURE("2", "高血压", 0.10, 0.25, "维持正常的血压"),
/**
* 2型糖尿病
*/
DIABETES_TYPE_2("1", "2型糖尿病", 0.10, 0.3, "控制及稳定血糖"),
/**
* 高血脂
*/
HIGH_BLOOD_FAT("3", "高血脂", 0.10, 0.25, "改善脂质代谢,降低血清胆固醇水平"),
/**
* 冠心病
*/
CORONARY_DISEASE("4", "冠心病", 0.05, 0.25, "预防冠状动脉硬化、提高心肺功能"),
/**
* 骨质疏松
*/
OSTEOPOROSIS("5", "骨质疏松", 0.10, 0.25, "预防骨质疏松,减缓老化速度"),
/**
* 痛风
*/
GOUT("6", "痛风", 0.1, 0.25, "调节代谢,促进尿酸的排出"),
/**
* 脂肪肝
*/
FATTY_LIVER("7", "脂肪肝", 0.10, 0.25, "降低肝脏的脂肪含量"),
/**
* 脑卒中
*/
APOPLEXY("8", "脑卒中", 0.05, 0.25, "恢复身体功能"),
/**
* 肥胖
*/
OBESITY("10", "肥胖", 0.10, 0.3, "燃烧脂肪"),
/**
* 免疫力
*/
IMMUNE("12", "免疫力", 0.10, 0.3, "有利于提高抵抗力"),
/**
* 肠道
*/
INTESTINE("13", "肠道", 0.10, 0.3, "改善胃肠道的血液循环,加强胃肠道蠕动,加强胃肠的消化和吸收功能"),
/**
* 胃功能
*/
GASTRIC("14", "胃功能", 0.10, 0.3, "改善胃肠道的血液循环,加强胃肠道蠕动,加强胃肠的消化和吸收功能"),
/**
* 营养素缺乏(缺≧1个)
*/
NUTRIENT("14", "营养素缺乏", 0.10, 0.3, "促进体内的物质代谢,加强营养吸收"),
/**
* 产后
*/
CHILDBIRTH("17", "产后", 0.1, 0.2, "改善体型,平衡肌肉,改善身体姿态,辅助产后恢复"),
/**
* 贫血
*/
ANEMIA("17", "贫血", 0.1, 0.3, null),
/**
* 慢性肾脏病
*/
CHRONIC_RENAL_FAILURE("17", "慢性肾脏病", 0.1, 0.25, null),
/**
* 慢性胃炎
*/
CHRONIC_GASTRITIS("17", "慢性胃炎", 0.1, 0.3, null),
/**
* 肠炎
*/
UC("17", "肠炎", 0.1, 0.3, null),
/**
* 慢性肝炎
*/
CHRONIC_HEPATITIS("17", "肠炎", 0.1, 0.25, null),
;
private String code;
private String message;
/**
* 能量消耗下限
*/
private double consumeLowerRate;
/**
* 能量消耗上限
*/
private double consumeUpperRate;
/**
* 个性话术
*/
private String describe;
public static YDDiseaseTypeEnergyConsumeEnum parseCode(String code) {
for (YDDiseaseTypeEnergyConsumeEnum enumItem : YDDiseaseTypeEnergyConsumeEnum.values()) {
if (enumItem.code.equals(code)) {
return enumItem;
}
}
return null;
}
public static YDDiseaseTypeEnergyConsumeEnum getByDiseaseTypeEnum(DiseaseTypeEnum diseaseTypeEnum) {
for (YDDiseaseTypeEnergyConsumeEnum enumItem : YDDiseaseTypeEnergyConsumeEnum.values()) {
if (enumItem.name().equals(diseaseTypeEnum.name())) {
return enumItem;
}
}
//查不到给出健康人群
return HEALTH_PEOPLE;
}
}
package com.jiankangyouyi.cloud.data.center.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 鱼跃智能硬件设备检测高压范围值
*
* @author fengxuanjun
*/
@Getter
@AllArgsConstructor
public enum YuyueHealthDbpEnum {
/**
* 低压正常小于80
*/
DBP_NORMAL_LT(80, "低压正常小于80"),
/**
* 正常高值大于等于80
*/
DBP_NORMAL_HIGH_GE(80, "正常高值大于等于80"),
/**
* 正常高值小于等于89
*/
DBP_NORMAL_HIGH_LE(89, "正常高值小于等于89"),
/**
* 轻度大于等于90
*/
DBP_MILD_GE(90, "轻度大于等于90"),
/**
* 轻度小于等于99
*/
DBP_MILD_LE(99, "轻度小于等于99"),
/**
* 中度大于等于100
*/
DBP_MIDDLE_GE(100, "中度大于等于100"),
/**
* 中度小于109
*/
DBP_MIDDLE_LE(109, "中度小于109"),
/**
* 重度大于等于110
*/
DBP_BAD_GE(110, "重度大于等于110"),
;
private int dbpValue;
private String describe;
public static YuyueHealthDbpEnum getEnum(Integer dbpValue) {
YuyueHealthDbpEnum[] values = values();
if (dbpValue == null) {
return null;
}
for (YuyueHealthDbpEnum value : values) {
if (dbpValue==value.dbpValue) {
return value;
}
}
return null;
}
}
package com.jiankangyouyi.cloud.data.center.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 鱼跃智能硬件设备检测高压范围值
*
* @author fengxuanjun
*/
@Getter
@AllArgsConstructor
public enum YuyueHealthSbpEnum {
/**
* 高压正常小于120
*/
SBP_NORMAL_LT(120, "高压正常小于120"),
/**
* 正常高值大于等于120
*/
SBP_NORMAL_HIGH_GE(120, "正常高值大于等于120"),
/**
* 正常高值小于等于139
*/
SBP_NORMAL_HIGH_LE(139, "正常高值小于等于139"),
/**
* 轻度大于等于140
*/
SBP_MILD_GE(140, "轻度大于等于140"),
/**
* 轻度小于等于159
*/
SBP_MILD_LE(159, "轻度小于等于159"),
/**
* 中度大于等于160
*/
SBP_MIDDLE_GE(160, "中度大于等于160"),
/**
* 中度小于等于179
*/
SBP_MIDDLE_LE(179, "中度小于等于179"),
/**
* 重度大于等于180
*/
SBP_BAD_GE(180, "大于等于180"),
;
private int sbpValue;
private String describe;
public static YuyueHealthSbpEnum getEnum(Integer sbpValue) {
YuyueHealthSbpEnum[] values = values();
if (sbpValue == null) {
return null;
}
for (YuyueHealthSbpEnum value : values) {
if (sbpValue==value.sbpValue) {
return value;
}
}
return null;
}
}
package com.jiankangyouyi.cloud.data.center.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 鱼跃智能硬件设备检测健康状态
*
* @author fengxuanjun
*/
@Getter
@AllArgsConstructor
public enum YuyueHealthStatusEnum {
/**
* 正常
*/
NORMAL("1", "正常"),
/**
* 正常高值
*/
NORMAL_HIGH("2", "正常高值"),
/**
* 轻度
*/
MILD("3", "轻度"),
/**
* 中度
*/
MIDDLE("4", "中度"),
/**
* 重度
*/
BAD("5", "重度"),
;
private String status;
private String describe;
public static YuyueHealthStatusEnum getEnum(String status) {
YuyueHealthStatusEnum[] values = values();
if (status == null) {
return null;
}
for (YuyueHealthStatusEnum value : values) {
if (status.equals(value.status)) {
return value;
}
}
return null;
}
}
package com.jiankangyouyi.cloud.data.center.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 热量消耗状态
*/
@Getter
@AllArgsConstructor
public enum heatConsumptionEnum {
//热量消耗状态:包含仍需消耗、卡路里平衡、热量赤字、消耗过量
// /**
// * 仍需消耗
// */
// NEED_TO_CONSUME("1", "仍需消耗"),
//
// /**
// * 卡路里平衡
// */
// CALORIE_BALANCE("2", "卡路里平衡"),
//
// /**
// * 热量亏损
// */
// CALORIE_DEFICIT("3", "热量亏损"),
//
// /**
// * 消耗过量
// */
// LUXUS_CONSUMPTION("4", "消耗过量"),
//v1.6 审批同意修改为如下
/**
* 仍需运动
*/
NEED_TO_CONSUME("1", "仍需运动"),
/**
* 动态平衡
*/
CALORIE_BALANCE("2", "动态平衡"),
/**
* 能量不足
*/
CALORIE_DEFICIT("3", "能量不足"),
/**
* 运动过量
*/
LUXUS_CONSUMPTION("4", "运动过量"),
/**
* 运动适宜
*/
SUITABLE_EXERCISE("5", "运动适宜"),
;
private String status;
private String description;
public static heatConsumptionEnum getEnum(String status) {
heatConsumptionEnum[] values = values();
if (status == null) {
return null;
}
for (heatConsumptionEnum value : values) {
if (status.equals(value.status)) {
return value;
}
}
return null;
}
}
package com.jiankangyouyi.cloud.data.center.enums.manager;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 指标描述类型
* @author :wangyalei
* @date :Created in 2021/9/23 2:57 下午
*/
@Getter
@AllArgsConstructor
public enum IndicatorDescriptionEnum {
/**
* 正常
*/
NORMAL("060501","正常"),
/**
* 消瘦
*/
THIN("060502","消瘦"),
/**
* 超重
*/
OVER_WEIGHT("060503","超重"),
/**
* 轻度肥胖
*/
MILD_OBESITY("060507","轻度肥胖"),
/**
* 肥胖
*/
OBESITY("060504","肥胖"),
/**
* 中心型肥胖前期
*/
PRECENTRAL_OBESITY("060505","中心型肥胖前期"),
/**
* 中心型肥胖
*/
CENTRAL_OBESITY("060506","中心型肥胖"),
/**
* 空腹血糖受损
*/
IFG("060508","空腹血糖受损"),
/**
* 糖耐量异常
*/
IGT("060509","糖耐量异常"),
/**
* 糖尿病
*/
DIABETES("060510","糖尿病"),
/**
* 低血糖
*/
GLYCOPENIA("060511","低血糖"),
/**
* 偏低
*/
LOW("060512","偏低"),
/**
* 高血糖
*/
HYPERGLYCEMIA("060513","高血糖"),
/**
* 偏高
*/
MORE_HIGH("060514","偏高"),
/**
* 高
*/
HIGH("060545","高"),
/**
* 高
*/
EXTREME_HIGH("060546","极高"),
/**
* 血糖控制不佳
*/
POOR_BLOOD_SUGAR_CONTROL("060515","血糖控制不佳"),
/**
* 正常血压
*/
NORMAL_BLOOD_PRESSURE("060516","正常血压"),
/**
* 正常高值
*/
NORMAL_HIGH_VALUE("正常高值","正常高值"),
/**
* 低血压
*/
LOW_BLOOD_PRESSURE("060517","低血压"),
/**
* 高血压
*/
HIGH_BLOOD_PRESSURE("060518","高血压"),
/**
* 理想水平
*/
IDEAL_LEVEL("060519","理想水平"),
/**
* 合适水平
*/
APPROPRIATE_LEVEL("060520","合适水平"),
/**
* 边缘升高
*/
EDGE_HIGHER("060521","边缘升高"),
/**
* 升高
*/
RISE("060522","升高"),
/**
* 降低
*/
LOWER("060523","降低"),
/**
* 骨量正常
*/
BONE_MASS_NORMAL("060524","骨量正常"),
/**
* 骨量减少
*/
BONE_MASS_REDUCE("060525","骨量减少"),
/**
* 骨质疏松
*/
OSTEOPOROSIS("060526","骨质疏松"),
/**
* 高尿酸血症
*/
HYPERURICEMIA("060527","高尿酸血症"),
/**
* 轻度脂肪肝
*/
LIGHT_FATTY_LIVER("060528","轻度脂肪肝"),
/**
* 中度脂肪肝
*/
MODERATE_FATTY_LIVER("060529","中度脂肪肝"),
/**
* 重度脂肪肝
*/
SEVERE_FATTY_LIVER("060530","重度脂肪肝"),
/**
* 心动过缓
*/
BRADYCARDIA("060531","心动过缓"),
/**
* 心动过速
*/
TACHYCARDIA("060532","心动过速"),
/**
* 轻度偏低
*/
LIGHT_LOW("060533","轻度偏低"),
/**
* 重度偏低
*/
SEVERE_LOW("060534","重度偏低"),
/**
* 低温
*/
LOW_TEMPERATURE("060535","低温"),
/**
* 低热
*/
LOW_HEAT("060536","低热"),
/**
* 高热
*/
HIGH_HEAT("060537","高热"),
/**
* 良好
*/
GOOD("060538","良好"),
/**
* 优秀
*/
EXCELLENT("060539","优秀"),
/**
* 合理
*/
REASONABLE("060540","合理"),
/**
* 平静
*/
CALMNESS("060541","平静"),
/**
* 舒缓
*/
RELIEVE("060542","舒缓"),
/**
* 紧张
*/
NERVOUS("060543","紧张"),
/**
* 焦虑
*/
ANXIETY("060544","焦虑"),
/**
* 阴性
*/
NEGATIVE("060547","阴性"),
/**
* 弱阴性
*/
WEAK_NEGATIVE("060548","弱阴性"),
/**
* 阳性
*/
POSITIVE("060549","阳性"),
/**
* 强阳性
*/
STRONGLY_POSITIVE("060550","强阳性"),
/**
* 异常
*/
ABNORMAL("060551","异常"),
/**
* 微量
*/
MICROSCALE("060552","微量"),
/**
* 少量
*/
FEW_AMOUNT("060553","少量"),
/**
* 中量
*/
MIDDLE_AMOUNT("060554","中量"),
/**
* 大量
*/
LARGE_AMOUNT("060555","大量"),
/**
* 达标
*/
REACHED("060556","达标"),
/**
* 未达标
*/
NO_REACHED("060557","未达标"),
/**
* 标准
*/
STANDARD("060558","标准"),
/**
* 低
*/
LOWEST("060578","低")
;
private String code;
private String description;
public static IndicatorDescriptionEnum getEnum(String code) {
IndicatorDescriptionEnum[] values = values();
if (code == null) {
return null;
}
for (IndicatorDescriptionEnum value : values) {
if (code.equals(value.code)) {
return value;
}
}
return null;
}
}
package com.jiankangyouyi.cloud.data.center.enums.manager;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 风险因素Enum
*
* @author fengxuanjun
*/
@AllArgsConstructor
@Getter
public enum RiskElementEnum {
/**
* 健康人群
*/
HEALTH("HEALTH","健康人群","健康人群","健康人群","健康人群"),
/**
* 偏瘦,当前结果业务代码中实现
*/
THIN("THIN","偏瘦","18.5≤BMI<24","","体重过轻会导致身体营养素缺乏、免疫力下降,使某些疾病患病率增高。"),
/**
* 超重,当前结果业务代码中实现
*/
OVERWEIGHT("OVERWEIGHT","超重","18.5≤BMI<24","","超重或肥胖最大的危害是与肥胖有关的并发症和合并症,主要有睡眠呼吸暂停综合征、心血管病、糖尿病、脂肪肝、胆囊疾病等。"),
/**
* 肥胖,当前结果业务代码中实现
*/
OBESITY("OBESITY","肥胖","18.5≤BMI<24","","超重或肥胖最大的危害是与肥胖有关的并发症和合并症,主要有睡眠呼吸暂停综合征、心血管病、糖尿病、脂肪肝、胆囊疾病等。"),
/**
* 中心型肥胖,参考范围,当前结果业务代码中实现
*/
OBESITY_CENTER("OBESITY_CENTER","中心型肥胖","","","超重或肥胖最大的危害是与肥胖有关的并发症和合并症,主要有睡眠呼吸暂停综合征、心血管病、糖尿病、脂肪肝、胆囊疾病等。"),
/**
* 高盐饮食
*/
FOOD_HIGH_SALINITY("FOOD_HIGH_SALINITY","高盐饮食","低盐饮食","高盐饮食","研究发现,高盐饮食与高血压、心脏病、肾脏病及诱发脑出血等的发生有直接关系。"),
/**
* 高糖饮食
*/
FOOD_HIGH_SUGAR("FOOD_HIGH_SUGAR","高糖饮食","适量糖","高糖饮食","过多吃甜食容易患龋齿,另外,高糖饮食容易造成能量过剩,使多余的碳水化合物以脂肪的形式储存,会增加患慢性疾病的风险,包括超重肥胖、2型糖尿病、高血脂、高血压、心血管病等。"),
/**
* 高碘饮食
*/
FOOD_HIGH_IODINE("FOOD_HIGH_IODINE","高碘饮食","适量碘","高碘饮食","高碘同低碘一样会危害人体健康,会引起高碘甲状腺肿等不良反应,甚至造成碘源性甲亢。建议要适量摄入碘元素,均衡饮食。长期大量食用海带、紫菜易增加碘过量风险,尤其是在食用碘盐的情况下。"),
/**
* 抑制碘吸收->致甲肿物质
*/
FOOD_RESTRAIN_IODINE("FOOD_RESTRAIN_IODINE","致甲肿物质","避免卷心菜、甘蓝等十字花科食物","致甲肿物质","卷心菜、甘蓝、木薯等是易导致甲状腺肿的食物,是造成碘缺乏的辅助原因,长期大量食用增加缺碘风险。碘是合成甲状腺激素的原料,碘过少可能会导致甲状腺功能减退,请慎食致甲状腺肿食物。"),
/**
* 高脂肪高胆固醇饮食
*/
FOOD_HIGH_FAT_TC("FOOD_HIGH_FAT_TC","高脂肪高胆固醇饮食","均衡膳食","高脂肪高胆固醇饮食","长期摄入高脂肪高胆固醇饮食容易引起机体能量过剩、胆固醇升高,从而增加肥胖风险,容易使血液粘稠,增加形成血栓的风险,诱发或加重多种慢性疾病,危害身体健康。"),
/**
* 高嘌呤饮食
*/
FOOD_HIGH_PURINE("FOOD_HIGH_PURINE","高嘌呤饮食","均衡膳食","高嘌呤饮食","长期摄入高嘌呤饮食容易导致痛风的发生、引发肾脏疾病,并且易导致高血压、冠心病、高血脂等慢性病的发生,危害身体健康。"),
/**
* 烟熏饮食
*/
FOOD_SMUDGIND("FOOD_SMUDGIND","烟熏饮食","避免烟熏饮食","烟熏饮食","烟熏饮食会增加患癌风险,日常应选择新鲜卫生的食物和适宜的烹调方式。"),
/**
* 蔬菜摄入不足
*/
FOOD_LACK_VEGETABLES("FOOD_LACK_VEGETABLES","蔬菜摄入不足","足量蔬菜","蔬菜摄入不足","蔬菜富含维生素、矿物质、膳食纤维和植物化学物,且能量低。经相关研究表明,每天足量蔬菜可降低心血管疾病的发病及死亡风险、可降低食管癌和结肠癌发病风险,绿叶蔬菜可降低2型糖尿病发病风险。"),
/**
* 水果摄入不足
*/
FOOD_LACK_FRUITS("FOOD_LACK_FRUITS","水果摄入不足","足量水果","水果摄入不足","建议天天吃水果,经相关研究表明,每天摄入足量水果可降低心血管疾病发病风险、降低成年人体重增长的风险、降低主要消化道癌症的发病风险。"),
/**
* 奶类摄入不足
*/
FOOD_LACK_DAIRY("FOOD_LACK_DAIRY","奶类摄入不足","每天300g奶","奶类摄入不足","牛奶及其制品富含钙,多摄入可以增加成人骨密度,另外酸奶可以缓解便秘。"),
/**
* 精细饮食
*/
FOOD_FINE("FOOD_FINE","精细饮食","粗细搭配","精细饮食","在无疾病限制的情况下,主食应注意增加全谷物和杂豆类食物,因为加工精度高的谷类,营养含量大大减少,且易引起人体较高的血糖应答。"),
/**
* 豆类摄入不足
*/
FOOD_LACK_BEANS("FOOD_LACK_BEANS","豆类摄入不足","常吃大豆和豆制品","豆类摄入不足","大豆及其制品富含蛋白质,对降低某些疾病发病风险,例如骨质疏松等有一定益处。"),
/**
* 日常生活习惯
* 饮食规律
*/
DAILY_FOOD_RULE("DAILY_FOOD_RULE","饮食规律","规律饮食","饮食不规律","不良的饮食习惯,可能会引起糖、脂代谢紊乱, 造成营养缺乏或能量过剩,建议定时定量进餐、避免夜宵、减少高能量食品的摄入、减少在外就餐、避免进餐过快、每顿少吃一两口。"),
/**
* 日常作息
*/
DAILY_WORK("DAILY_WORK","日常作息","规律作息","作息不规律","作息不规律会引起代谢紊乱,增加糖尿病、高尿酸血症、痛风等代谢性疾病的风险,同时还可以导致免疫力低下。"),
/**
* 进食速度
*/
DAILY_FOOD_QUICK("DAILY_FOOD_QUICK","进食速度","细嚼慢咽","进食过快","进食过快会导致食物摄入过多,增加肥胖风险;同时由于咀嚼不到位,肠胃负担增加,营养不能会很好的吸收,导致营养不良。"),
/**
* 饮食结构
*/
DAILY_FOOD_FLAT("DAILY_FOOD_FLAT","饮食结构","不吃宵夜","夜晚进食","经常吃宵夜会导致一天的总热量摄入过剩,加重肠胃负担,诱发失眠,导致代谢紊乱,增加肥胖的风险,同时也不利于血糖及痛风、高血脂等疾病的控制。"),
/**
* 就餐习惯
*/
DAILY_FOOD_HABIT("DAILY_FOOD_HABIT","就餐习惯","减少在外就餐","常在外就餐","外面的饮食多属于高油高盐高脂饮食,富含饱和脂肪、反式脂肪、钠盐、糖类等,是肥胖、糖尿病、心血管病等的风险因素。"),
/**
* 三餐配比
*/
DAILY_FOOD_MATCHING("DAILY_FOOD_MATCHING","三餐配比","早餐定时","不吃早餐","早餐可以快速的补充能量及消耗的各种营养素,长期不吃早餐会引起基础代谢降低,不利于体重控制,降低胰岛素的敏感性,增加代谢性疾病的风险。"),
/**
* 运动不足
*/
EXERCISE_LCAK("EXERCISE_LCAK","运动不足","增加运动","运动不足","增加有规律的身体活动可以降低全因死亡风险,久坐不动会增加全因死亡率风险,是独立危险因素。增加身体活动可以降低心血管疾病、2型糖尿病和结肠癌的发病风险。"),
/**
* 日光照射不足
*/
EXERCISE_LCAK_SUNSHINE("EXERCISE_LCAK_SUNSHINE","日光照射不足","多户外活动","日光照射不足","日光照射不足容易造成维生素D缺乏,维生素D被称为阳光维生素,普通人通过阳光照射皮肤产生的维生素D就可以满足人体需求。"),
/**
* 疑似过量运动
*/
EXERCISE_OVER_DOUBT("EXERCISE_OVER_DOUBT","疑似过量运动","避免过量运动","疑似过量运动","大强度过量运动可出现运动性免疫功能低下,导致对疾病的抵抗力削弱,上呼吸道感染的发生率增高。需注意勿过量运动。"),
/**
* 久坐
*/
EXERCISE_SITTING("EXERCISE_SITTING","久坐","避免久坐","久坐","久坐不动是增加全因死亡率的独立危险因素,因此每1小时都应该起身活动5分钟,动则有益。"),
/**
* 过量饮酒
*/
DRINK_OVER("DRINK_OVER","过量饮酒","戒酒","过量饮酒","过量饮酒可增加肝损伤、直肠癌、心血管疾病及胎儿酒精综合征的发生风险,也可造成酒精性营养不良。"),
/**
* 饮酒
*/
DRINK("DRINK","饮酒","戒酒","饮酒","酒精对肝脏有直接的毒性作用,吸收入血的乙醇在肝内代谢,引起氧化还原状态的变化,从而干扰脂类、糖类和蛋白质等营养物质的正常代谢,也影响肝脏的正常解毒功能。"),
/**
* 饮水不足
*/
WATER_LACK("WATER_LACK","饮水不足","每天1500-1700ml饮水量","饮水不足","人体补充水分最好的方式是饮用白开水。白开水廉价易得,安全卫生,饮水时间应该分配在一天中任何时刻,喝水应少量多次。"),
/**
* 吸烟
*/
SMOKE("SMOKE","吸烟","戒烟","吸烟","吸烟值得一提的是会增加叶酸缺乏风险,且大量的医学考证表明,烟草是心脑血管疾病、癌症、慢性阻塞性肺病等多种疾患的重要致病因素,而吸烟者与不吸烟者相比,平均寿命约减少10年。"),
/**
* 接触二手烟
*/
SMOKE_SECOND("SMOKE_SECOND","接触二手烟","避免接触二手烟","接触二手烟","二手烟甚至比吸烟者的危害更大,上万个科学研究证明,二手烟暴露对人群健康危害严重,能导致癌症、心血管疾病和呼吸系统疾病发病风险增高。"),
/**
* 入睡困难,参考范围业务中实现
*/
SLEEP_DIFFICULTY("SLEEP_DIFFICULTY","入睡困难","","入睡困难","睡眠作为生命所必须的过程,是调节压力、消除疲劳、恢复体力的\"良药\",是机体复原、整合和巩固记忆的重要环节。而优质充足的睡眠是维护健康和体力的基础,请您适当调整睡眠。"),
/**
* 易醒
*/
SLEEP_EASILY_WAKE("SLEEP_EASILY_WAKE","易醒","优质睡眠","易醒","睡眠作为生命所必须的过程,是调节压力、消除疲劳、恢复体力的\"良药\",是机体复原、整合和巩固记忆的重要环节。而优质充足的睡眠是维护健康和体力的基础,请您适当调整睡眠。"),
/**
* 早醒
*/
SLEEP_EARLY_WAKE("SLEEP_EARLY_WAKE","早醒","充足睡眠","早醒","睡眠作为生命所必须的过程,是调节压力、消除疲劳、恢复体力的\"良药\",是机体复原、整合和巩固记忆的重要环节。而优质充足的睡眠是维护健康和体力的基础,请您适当调整睡眠。"),
/**
* 睡眠习惯差
*/
SLEEP_BAD_HABIT("SLEEP_BAD_HABIT","睡眠习惯差","良好睡眠习惯","睡眠习惯差","睡眠作为生命所必须的过程,是调节压力、消除疲劳、恢复体力的\"良药\",是机体复原、整合和巩固记忆的重要环节。而优质充足的睡眠是维护健康和体力的基础,请您适当调整睡眠。"),
/**
* 晚睡
*/
SLEEP_LATE("SLEEP_LATE","晚睡","充足睡眠","晚睡","睡眠作为生命所必须的过程,是调节压力、消除疲劳、恢复体力的\"良药\",是机体复原、整合和巩固记忆的重要环节。而优质充足的睡眠是维护健康和体力的基础,请您适当调整睡眠。"),
/**
* 睡眠不足
*/
SLEEP_LACK("SLEEP_LACK","睡眠不足","充足睡眠","睡眠不足","睡眠作为生命所必须的过程,是调节压力、消除疲劳、恢复体力的\"良药\",是机体复原、整合和巩固记忆的重要环节。而优质充足的睡眠是维护健康和体力的基础,请您适当调整睡眠。"),
/**
* 负面情绪
*/
SPIRIT_NEGATIVE("SPIRIT_NEGATIVE","负面情绪","心理健康","负面情绪","压力是对变化或挑战的反应。短期压力会让你提高工作效率。但长期压力会导致高血压,心脏病,肥胖,糖尿病和自杀等严重的健康问题。因此,面对压力要积极应对,找到压力源,考虑解决的策略或改变心态。"),
/**
* 处于污染环境
*/
ENVIRONMENT_POLLUTE("ENVIRONMENT_POLLUTE","处于污染环境","远离污染环境","处于污染环境","人需要呼吸空气以维持生命,若人长期处于污染环境中,易引起人体呼吸系统受损、生理机能障碍、消化系统紊乱、神经系统异常、智力下降、致癌致残、慢性支气管炎、支气管哮喘、肺气肿等疾病。"),
//v1.1
/**
* 咖啡过量
*/
COFFEE_OVER("COFFEE_OVER","咖啡过量","咖啡宜适量","咖啡过量","过量咖啡因会增加骨质疏松风险,且咖啡含有耐热型抗硫胺素因子易导致维生素B1缺乏,故饮咖啡宜适量。"),
/**
* 常喝浓茶
*/
DRINK_STRONG_TEA("DRINK_STRONG_TEA","常喝浓茶","宜喝淡茶","常喝浓茶","茶叶含有耐热型抗硫胺素因子易导致维生素B1缺乏,故饮茶宜淡。此外浓茶对痛风、高尿酸血症、甲亢、阿尔茨海默症患者都不利。"),
/**
* 碳酸饮料
*/
SODAS("SODAS","碳酸饮料","少喝碳酸饮料","碳酸饮料","碳酸饮料含磷高,易干扰钙吸收,故不宜多喝。"),
/**
* 常喝纯净水
*/
DRINK_PURE_WATER("DRINK_PURE_WATER","常喝纯净水","合理选水","常喝纯净水","纯净水最大限度的去除了水中的杂质和各种矿物质,虽干净卫生,但也营养物质少,不利补充营养。"),
/**
* 淘米次数多
*/
WASH_RICE_OVER("WASH_RICE_OVER","淘米次数多","减少淘米次数","淘米次数多","淘米次数太多会损失很多营养,如维生素B1、B2、矿物质等,故不宜淘洗次数过多。"),
/**
* 烹调加碱
*/
ALKALINE_COOKING("ALKALINE_COOKING","烹调加碱","合理烹调","烹调加碱","烹调中加碱可导致维生素B1维生素B2等大量损失。"),
/**
* 缺去草酸处理
*/
ABSENCE_OF_OXALIC_ACID_TREATMENT("ABSENCE_OF_OXALIC_ACID_TREATMENT","缺去草酸处理","注意去草酸","缺去草酸处理","菠菜、厚皮菜、空心菜、茭白、冬笋、洋葱等含草酸量高,妨碍钙、铁的吸收,可先焯水后炒,去除部分草酸,更利营养吸收。"),
/**
* 肉类摄入不当
*/
IMPROPER_MEAT_INTAKE("IMPROPER_MEAT_INTAKE","肉类摄入不当","合理摄入肉类","肉类摄入不当","水产、畜禽肉类富含优质蛋白、脂类、多种维生素、矿物质,宜每天适量食用肉类,且各类肉营养各有特色,每天或每周多样食用更利营养均衡;但要少吃肥肉,肥肉饱和脂肪酸、胆固醇含量高,多吃对健康不利。素食者宜关注营养状况,必要时进行营养补充。"),
/**
* 蛋类摄入不当
*/
IMPROPER_EGG_INTAKE("IMPROPER_EGG_INTAKE","蛋类摄入不当","合理摄入蛋类","蛋类摄入不当","蛋类营养丰富,适当摄入更能保证营养均衡,在没有疾病因素需控制的情况下,建议每天1个鸡蛋。"),
/**
* 常吃加工食品
*/
EAT_PROCESSED_FOODS("EAT_PROCESSED_FOODS","常吃加工食品","少吃加工食品","常吃加工食品","加工食品可含有反式脂肪酸、防腐剂、致癌物等多种有害成分,目前虽没有明确吃多少才是安全的,但“少吃”可减少带来疾病的风险。"),
/**
* 深色菜不足
*/
LACK_OF_DARK_DISHES("LACK_OF_DARK_DISHES","深色菜不足","增加深色菜","深色菜不足","深色蔬菜指深绿色、红色、橘红色和紫红色蔬菜,具有营养优势,尤其是胡萝卜素,是我国居民膳食维生素A的主要来源,无疾病控制情况下,应特别注意多摄入。"),
//v1.2
/**
* 减重过快
*/
LOSE_WEIGHT_FAST("LOSE_WEIGHT_FAST","减重过快","控制减重速度","减重过快","美国妇产科医师学会建议哺乳时每周减去1磅(453.6g)体重,不会对婴儿的成长有负面影响,如果未进行母乳喂养,则建议每周减去1~2磅的体重。英国国家健康与临床优化研究所建议产后体重降低不超过0.5~1kg/周,否则可能影响产后恢复以及母乳分泌。"),
;
/**
* 风险因素分类
*/
private String riskFactor;
/**
* 风险因素名称
*/
private String riskFactorName;
/**
* 参考范围(建议)
*/
private String referAdvice;
/**
* 当前结果
*/
private String currentValue;
/**
* 风险因素通用描述
*/
private String description;
}
package com.jiankangyouyi.cloud.data.center.enums.token;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 有效标识 Enum
*
* @author yangsongbo
*/
@Getter
@AllArgsConstructor
public enum ValidStatusEnum {
/**
* 有效
*/
VALID("1", "有效"),
/**
* 无效
*/
INVALID("2", "无效");
private final String code;
private final String comment;
public String code() {
return code;
}
public String comment() {
return comment;
}
}
package com.jiankangyouyi.cloud.data.center.model.bean;
import com.jiankangyouyi.cloud.core.external.qiniu.QiniuClient;
import com.jiankangyouyi.cloud.data.center.api.model.entity.component.ExtensionUnit;
import com.jiankangyouyi.cloud.data.center.enums.QiniuBucketEnum;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.collections.CollectionUtils;
import org.bson.types.ObjectId;
import javax.persistence.Transient;
import java.io.Serializable;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.List;
/**
* @author jingpeng
* @description 搜索出的系统食物对象
* @date 2020/11/10
*/
@Data
@NoArgsConstructor
public class FoodInfoBean implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 食物id
*/
@Transient
private ObjectId id;
private String foodId;
/**
* 食物类型,系统食物,自定义食物
*/
private String foodType;
/**
* 食物名称
*/
private String foodName;
/**
* 图片地址
*/
private String imageKey;
private String imageUrl;
/**
* 单位
*/
private String unit;
/**
* 扩展单位
*/
private List<ExtensionUnit> extensionUnits;
/**
* 食谱对象,食物为半成品、成品时填充
*/
private DietaryBean dietary;
/**
* 食谱原料质量比值
*/
private FoodMassRatioBean massRatio;
/**
* 原始质量 最小值
*/
protected Integer minQuantity;
@Transient
private int realMass;
/**
* 热量(kcal),按每100克计算
*/
private Integer minQuantityEnergy;
@Transient
private int heat;
/**
* 脂肪含量
*/
private double fat;
/**
* 碳水化合物含量
*/
private double carbohydrate;
/**
* 蛋白质含量
*/
private double protein;
/**
* 食物基础营养成分数据
*/
private List<FoodPropertyInfo> foodPropertyInfos;
/**
* 是否显示承重按钮,度量衡
*/
private String isMetrology;
/**
* 承重跳转标识 ,1 类别, 2明细
*/
private String metrologyTag;
/**
* 根据食物数量 重新计算食物信息,按比例计算热量,食材,营养素等等
*/
public void refreshFoodQuantity(int foodCount) {
this.minQuantity = foodCount;
this.minQuantityEnergy = calculation(foodCount, this.minQuantityEnergy).intValue();
this.fat = calculation(foodCount, this.fat).doubleValue();
this.carbohydrate = calculation(foodCount, this.carbohydrate).doubleValue();
this.protein = calculation(foodCount, this.protein).doubleValue();
//计算食材,主菜 配菜
if (CollectionUtils.isNotEmpty(this.getDietary().getMajorMaterial())) {
this.getDietary().getMajorMaterial().forEach(foodMaterialBean -> {
foodMaterialBean.calculateCount(foodCount, this.unit);
});
}
if (CollectionUtils.isNotEmpty(this.getDietary().getMinorMaterial())) {
this.getDietary().getMinorMaterial().forEach(materialBean -> {
materialBean.calculateCount(foodCount, this.unit);
});
}
//食物基础成分
if (CollectionUtils.isNotEmpty(this.getFoodPropertyInfos())) {
this.getFoodPropertyInfos().forEach(propertyInfo -> {
if (!"%".equals(propertyInfo.getPropertyUnit())) {
propertyInfo.setCount(calculation(foodCount, propertyInfo.getCount()).intValue());
}
});
}
}
private BigDecimal calculation(int foodCount, double element) {
return new BigDecimal(foodCount).multiply(BigDecimal.valueOf(element)).divide(new BigDecimal(100), 2,
BigDecimal.ROUND_HALF_UP);
}
public void setRealMass(int realMass) {
this.realMass = realMass;
setMinQuantity(realMass);
}
public void setHeat(int heat) {
this.minQuantityEnergy = heat;
this.heat = heat;
}
public void setId(ObjectId id) {
this.id = id;
this.foodId = id.toHexString();
}
public void setImageKey(String imageKey) {
QiniuClient qiniuClient = QiniuClient.getClient(QiniuBucketEnum.JY.getBucket());
this.imageKey = imageKey;
this.imageUrl = qiniuClient.imageKeyToImageUrl(imageKey);
}
/**
* 食谱对象
*/
@Data
public static class DietaryBean {
/**
* 水作为
**/
private String waterType;
/**
* 工艺
**/
private String craft;
/**
* 主料
*/
private List<FoodMaterialBean> majorMaterial;
/**
* 辅料
*/
private List<FoodMaterialBean> minorMaterial;
/**
* 烹饪时间 单位 分钟
*/
private int cookingTime;
/**
* 烹饪步骤
*/
private List<FoodCookingStep> cookingSteps;
}
/**
* 食材
*/
@Data
public static class FoodMaterialBean {
/**
* 食材ID
*/
private String materialId;
/**
* 数量
*/
private String count;
/**
* 食材名称
*/
private String materialName;
/**
* 食物图片Key
*/
private String imageUrl;
/**
* 类型
*/
private String type;
/**
* 单位
*/
private String unit;
/**
* 重新设定数量
*/
public void calculateCount(int minQuantity, String unit) {
if (this.count.isEmpty() || Double.parseDouble(this.count) == 0) {
this.count = "适量";
this.unit = "";
} else {
this.count = (new BigDecimal(count).divide(BigDecimal.valueOf(100), 2, BigDecimal.ROUND_HALF_UP).multiply(BigDecimal.valueOf(minQuantity))
.setScale(1, RoundingMode.DOWN).toBigInteger().toString());
this.unit = unit;
}
}
}
/**
* 烹饪步骤
*/
@Data
public static class FoodCookingStep {
/**
* 序号
*/
private String stepSeq;
/**
* 图片
*/
private String imageKey;
/***
* 图片
*/
private String imageUrl;
/**
* 标题
*/
private String title;
/**
* 内容
*/
private String content;
}
/**
* 食物质量比例
*/
@Data
public static class FoodMassRatioBean {
/**
* 谷类
*/
private double guPercent;
/**
* 杂豆类
*/
private double zdPercent;
/**
* 薯类
*/
private double shuPercent;
/**
* 淀粉类
*/
private double dfPercent;
/**
* 肉类
*/
private double rouPercent;
/**
* 蔬菜类
*/
private double scPercent;
/**
* 菌藻类
*/
private double jzPercent;
/**
* 水果类
*/
private double sgPercent;
/**
* 蛋类
*/
private double danPercent;
/**
* 乳类
*/
private double ruPercent;
/**
* 大豆类
*/
private double ddPercent;
/**
* 坚果类
*/
private double jgPercent;
/**
* 零食类
*/
private double lsPercent;
/**
* 饮品类
*/
private double ypPercent;
/**
* 调味品类
*/
private double twpPercent;
/**
* 油脂类
*/
private double yzPercent;
}
/**
* 食物基础营养成分数据
*
* @author Ashon
*/
@Builder
@Data
@NoArgsConstructor
@AllArgsConstructor
public static class FoodPropertyInfo {
/**
* 英文名称
*/
private String propertyName;
/**
* 中文名称
*/
private String chineseName;
/**
* 英文单位
*/
private String propertyUnit;
/**
* 中文单位
*/
private String chineseUnit;
/**
* 类型
*/
private String type;
/**
* 数量
*/
private double count;
}
}
package com.jiankangyouyi.cloud.data.center.model.dto.api;
import com.jiankangyouyi.cloud.basedata.model.dto.api.AbstractHttpApiRequestDTO;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;
import java.io.Serializable;
/**
* 语音解析记录饮食
*
* @author jingpeng
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AllArgsConstructor
@NoArgsConstructor
public class SemanticSpeechAnalysisDTO extends AbstractHttpApiRequestDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 用户ID
*/
@NotBlank(message = "请求参数userId为空")
@Size(max = 64, message = "请求参数userId长度不合法")
private String userId;
/**
* 语音数据
* </p>
* 1、原始 PCM 的录音参数必须符合 8k/16k 采样率、16bit 位深、单声道, 支持的格式有:pcm(不压缩)、wav(不压缩,pcm编码)、amr(压缩格式)、map3
* </p>
* 2、目前系统支持的语音时长上限为60s,请不要超过这个长度,否则会返回错误。
* </p>
*/
@NotBlank(message = "请求参数speech为空")
private String speech;
/**
* 音频格式
*/
@NotBlank(message = "请求参数format为空")
@Pattern(regexp = "pcm|wav|amr|mp3", message = "请求参数format不合法,参考值(pcm|wav|amr|mp3)")
private String format;
/**
* 采样率 8000 或 16000
*/
@NotNull(message = "请求参数rate为空")
@Pattern(regexp = "8000|16000", message = "请求参数rate不合法,参考值(8000|16000)")
private String rate;
}
package com.jiankangyouyi.cloud.data.center.model.dto.api;
import com.jiankangyouyi.cloud.basedata.model.dto.api.AbstractHttpApiRequestDTO;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import java.io.Serializable;
/**
* 文本解析记录食物
*
* @author jingpeng
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AllArgsConstructor
@NoArgsConstructor
public class SemanticTextAnalysisDTO extends AbstractHttpApiRequestDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 用户ID
*/
@NotBlank(message = "请求参数userId为空")
@Size(max = 64, message = "请求参数userId长度不合法")
private String userId;
/**
* 输入文本 最长512字符
*/
@NotBlank(message = "请求参数text为空")
@Size(max = 512, message = "请求参数text长度不合法")
private String text;
}
package com.jiankangyouyi.cloud.data.center.model.entity.mongo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jiankangyouyi.cloud.data.center.model.entity.mongo.component.AppUserHealthProblem;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.bson.types.ObjectId;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.index.CompoundIndex;
import org.springframework.data.mongodb.core.index.CompoundIndexes;
import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* 用户健康状况-疾病表(包含测评结果之外的疾病)
*
* @author fengxuanjun
*/
@Data
@CompoundIndexes(
value = {
@CompoundIndex(
name = "appId_-1_userId_-1_validStatus_1_recordId_-1",
def = "{ 'appId' : -1, 'userId' : -1, 'validStatus': 1 ,'recordId': -1}",
unique = true
),
}
)
@Document(collection = "v3.app.user.health.problem")
public class AppUserHealthProblemDO implements Serializable {
private static final long serialVersionUID = 1L;
@Id
private ObjectId id;
/**
* NOT NULL 更新时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
/**
* NOT NULL 创建时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
/**
* NOT NULl 创建时间 yyyy-MM-dd
*/
private String createDate;
/**
* 业务类型
*/
private String bizType;
/**
* 应用ID
*/
private String appId;
/**
* 用户ID
*/
private String userId;
/**
* 记录ID
*/
private String recordId;
/**
* NOT NULL 健康问题
*/
private List<AppUserHealthProblem> healthProblems;
/**
* 状态
* {@link com.jiankangyouyi.cloud.core.base.enums.ValidStatusEnum}
*/
private String validStatus;
public static final String FIELD_ID = "_id";
public static final String FIELD_UPDATETIME = "updateTime";
public static final String FIELD_CREATETIME = "createTime";
public static final String FIELD_CREATEDATE = "createDate";
public static final String FIELD_APPID = "appId";
public static final String FIELD_USERID = "userId";
public static final String FIELD_HEALTHPROBLEMS = "healthProblems";
public static final String FIELD_VALIDSTATUS = "validStatus";
public static final String FIELD_RECOREID = "recordId";
}
package com.jiankangyouyi.cloud.data.center.model.entity.mongo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jiankangyouyi.cloud.data.center.api.model.entity.AppUser;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.bson.types.ObjectId;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.index.CompoundIndex;
import org.springframework.data.mongodb.core.index.CompoundIndexes;
import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
/**
* 用户历史表,每次更新用户信息时保存,字段与v3.app.user保持一致
*
* @author yangsongbo
*/
@Data
@EqualsAndHashCode(callSuper = true)
@CompoundIndexes(
value = {
@CompoundIndex(
name = "appId_-1_userId_-1_createDate_-1",
def = "{ 'appId' : -1, 'userId' : -1, 'createDate':-1}"
)
}
)
@Document(collection = "v3.app.user.history")
public class AppUserHistoryDO extends AppUser implements Serializable {
private static final long serialVersionUID = 1L;
@Id
private ObjectId id;
/**
* NOT NULL 创建时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
/**
* NOT NULl 创建时间 yyyy-MM-dd
*/
private String createDate;
public static final String FIELD_ID = "_id";
public static final String FIELD_CREATETIME = "createTime";
public static final String FIELD_CREATEDATE = "createDate";
}
package com.jiankangyouyi.cloud.data.center.model.entity.mongo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jiankangyouyi.cloud.data.center.model.entity.mongo.component.AppUserLifeState;
import lombok.Data;
import org.bson.types.ObjectId;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.index.CompoundIndex;
import org.springframework.data.mongodb.core.index.CompoundIndexes;
import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* 用户生活状况
*
* @author fengxuanjun
*/
@Data
@CompoundIndexes(
value = {
@CompoundIndex(
name = "recordId_-1",
def = "{ 'recordId' : -1}"
),
}
)
@Document(collection = "v3.app.user.life.state")
public class AppUserLifeStateDO implements Serializable {
private static final long serialVersionUID = 1L;
@Id
private ObjectId id;
/**
* NOT NULL 更新时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
/**
* NOT NULL 创建时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
/**
* NOT NULl 创建时间 yyyy-MM-dd
*/
private String createDate;
/**
* 业务类型
*/
private String bizType;
/**
* 应用ID
*/
private String appId;
/**
* 用户ID
*/
private String userId;
/**
* 记录ID
*/
private String recordId;
/**
* NOT NULL 生活状况分类
* {@link com.jiankangyouyi.cloud.data.center.api.enums.LifeStateCategoryEnum}
*/
private String category;
/**
* NOT NULL 生活状况列表
*/
private List<AppUserLifeState> lifeStateHistory;
/**
* 状态
* {@link com.jiankangyouyi.cloud.core.base.enums.ValidStatusEnum}
*/
private String validStatus;
public static final String FIELD_ID = "_id";
public static final String FIELD_UPDATETIME = "updateTime";
public static final String FIELD_CREATETIME = "createTime";
public static final String FIELD_CREATEDATE = "createDate";
public static final String FIELD_APPID = "appId";
public static final String FIELD_USERID = "userId";
public static final String FIELD_CATEGORY = "category";
public static final String FIELD_LIFESTATEHISTORY = "lifeStateHistory";
public static final String FIELD_VALIDSTATUS = "validStatus";
public static final String FIELD_RECOREID = "recordId";
}
package com.jiankangyouyi.cloud.data.center.model.entity.mongo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jiankangyouyi.cloud.data.center.model.entity.mongo.component.AppUserSymptom;
import lombok.Data;
import org.bson.types.ObjectId;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.index.CompoundIndex;
import org.springframework.data.mongodb.core.index.CompoundIndexes;
import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* 用户健康状况-症状表
*
* @author fengxuanjun
*/
@Data
@CompoundIndexes(
value = {
@CompoundIndex(
name = "appId_-1_userId_-1_validStatus_1_recordId_-1",
def = "{ 'appId' : -1, 'userId' : -1, 'validStatus': 1 ,'recordId': -1}",
unique = true
),}
)
@Document(collection = "v3.app.user.symptom")
public class AppUserSymptomDO implements Serializable {
private static final long serialVersionUID = 1L;
@Id
private ObjectId id;
/**
* NOT NULL 更新时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
/**
* NOT NULL 创建时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
/**
* NOT NULl 创建时间 yyyy-MM-dd
*/
private String createDate;
/**
* 业务类型
*/
private String bizType;
/**
* 应用ID
*/
private String appId;
/**
* 用户ID
*/
private String userId;
/**
* 记录ID
*/
private String recordId;
/**
* NOT NULL 症状
*/
private List<AppUserSymptom> symptoms;
/**
* 状态
* {@link com.jiankangyouyi.cloud.core.base.enums.ValidStatusEnum}
*/
private String validStatus;
public static final String FIELD_ID = "_id";
public static final String FIELD_UPDATETIME = "updateTime";
public static final String FIELD_CREATETIME = "createTime";
public static final String FIELD_CREATEDATE = "createDate";
public static final String FIELD_APPID = "appId";
public static final String FIELD_USERID = "userId";
public static final String FIELD_SYMPTOMS = "symptoms";
public static final String FIELD_SYMPTOMS_CODE = "symptoms.code";
public static final String FIELD_SYMPTOMS_NAME = "symptoms.name";
public static final String FIELD_SYMPTOMS_SYMPTOMSTATUS = "symptoms.symptomStatus";
public static final String FIELD_VALIDSTATUS = "validStatus";
public static final String FIELD_RECOREID = "recordId";
}
package com.jiankangyouyi.cloud.data.center.model.entity.mongo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jiankangyouyi.cloud.data.center.model.entity.mongo.component.AppUserSymptom;
import lombok.Data;
import org.bson.types.ObjectId;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* 用户健康状况-症状权限表
*
* @author fengxuanjun
*/
@Data
@Document(collection = "v3.app.user.symptom.right")
public class AppUserSymptomRightDO implements Serializable {
private static final long serialVersionUID = 1L;
@Id
private ObjectId id;
/**
* NOT NULL 更新时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
/**
* NOT NULL 创建时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
/**
* 权限
*/
private String rightId;
/**
* NOT NULL 症状
*/
private List<AppUserSymptom> symptoms;
/**
* 状态
* {@link com.jiankangyouyi.cloud.core.base.enums.ValidStatusEnum}
*/
private String validStatus;
public static final String FIELD_ID = "_id";
public static final String FIELD_UPDATETIME = "updateTime";
public static final String FIELD_CREATETIME = "createTime";
public static final String FIELD_RIGHTID = "rightId";
public static final String FIELD_SYMPTOMS = "symptoms";
public static final String FIELD_SYMPTOMS_CODE = "symptoms.code";
public static final String FIELD_SYMPTOMS_NAME = "symptoms.name";
public static final String FIELD_SYMPTOMS_SYMPTOMSTATUS = "symptoms.symptomStatus";
public static final String FIELD_VALIDSTATUS = "validStatus";
}
package com.jiankangyouyi.cloud.data.center.model.entity.mongo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jiankangyouyi.cloud.data.center.model.entity.mongo.component.AppUserTake;
import lombok.Data;
import org.bson.types.ObjectId;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.index.CompoundIndex;
import org.springframework.data.mongodb.core.index.CompoundIndexes;
import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* 用户用药/膳食补充剂记录表
*
* @author fengxuanjun
*/
@Data
@CompoundIndexes(
value = {
@CompoundIndex(
name = "recordId_-1",
def = "{ 'recordId' : -1}"
),
}
)
@Document(collection = "v3.app.user.take")
public class AppUserTakeDO implements Serializable {
private static final long serialVersionUID = 1L;
@Id
private ObjectId id;
/**
* NOT NULL 更新时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
/**
* NOT NULL 创建时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
/**
* NOT NULl 创建时间 yyyy-MM-dd
*/
private String createDate;
/**
* 业务类型
*/
private String bizType;
/**
* 应用ID
*/
private String appId;
/**
* 用户ID
*/
private String userId;
/**
* 记录ID
*/
private String recordId;
/**
* NOT NULL 分类
* {@link com.jiankangyouyi.cloud.data.center.api.enums.TakeCategoryEnum}
*/
private String category;
/**
* NOT NULL 用药/膳食补充剂列表
* 用药:{@link com.jiankangyouyi.cloud.data.center.api.enums.MedicalHistoryEnum}
* 膳食补充剂:{@link com.jiankangyouyi.cloud.data.center.api.enums.DietarySupplementStateEnum}
*/
private List<AppUserTake> takeList;
/**
* 状态
* {@link com.jiankangyouyi.cloud.core.base.enums.ValidStatusEnum}
*/
private String validStatus;
public static final String FIELD_ID = "_id";
public static final String FIELD_UPDATETIME = "updateTime";
public static final String FIELD_CREATETIME = "createTime";
public static final String FIELD_CREATEDATE = "createDate";
public static final String FIELD_APPID = "appId";
public static final String FIELD_USERID = "userId";
public static final String FIELD_CATEGORY = "category";
public static final String FIELD_VALIDSTATUS = "validStatus";
public static final String FIELD_RECOREID = "recordId";
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.common.component; package com.jiankangyouyi.cloud.data.center.model.entity.mongo;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.jiankangyouyi.cloud.core.base.enums.ValidStatusEnum;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.bson.types.ObjectId;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.index.CompoundIndex;
import org.springframework.data.mongodb.core.index.CompoundIndexes;
import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date; import java.util.Date;
/** /**
* 后台管理-用户信息 * @author jingpeng
* * @description 分词词典表,语音记录时,用于分词的字典数据
* @author yangsongbo * @date 2020/11/2
*/ */
@Data @Data
@Builder @Builder
@AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
public class ManageDataExportInfo { @AllArgsConstructor
@Document(collection = "v3.custom.dictionary")
public class CustomDictionaryDO implements Serializable {
/** public static final String COLLECTION_NAME = "v3.custom.dictionary";
* 导出数据ID private static final long serialVersionUID = 1L;
*/
private String exportId;
/**
* 导出位置名称
*/
private String exportLocationName;
/**
* 导出类型名称
*/
private String exportTypeName;
/** @Id
* 已处理数据量 private ObjectId id;
*/
private Integer processCount;
/** /**
* 总数据量 * 更新时间
*/ */
private Integer totalCount; @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
/** /**
* 下载链接 * 创建时间
*/ */
private String downloadUrl; @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
/** /**
* 耗时 毫秒 * 词典值
*/ */
private Long costTime; private String dicValue;
/** /**
* 导出状态 * 解析值
*/ */
private String exportStatus; private String parseValue;
/** /**
* 处理信息 * 词性
*/ */
private String message; private String wordNature;
/** /**
* 更新时间 * 数据来源
*/ */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private String dataSource;
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
/** /**
* 创建时间 * 有效标识 {@link ValidStatusEnum}
*/ */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private String validStatus;
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime; public static final String FIELD_ID = "_id";
public static final String FIELD_UPDATETIME = "updateTime";
public static final String FIELD_CREATETIME = "createTime";
public static final String FIELD_DICVALUE = "dicValue";
public static final String FIELD_PARSEVALUE = "parseValue";
public static final String FIELD_WORDNATURE = "wordNature";
public static final String FIELD_DATASOURCE = "dataSource";
public static final String FIELD_VALIDSTATUS = "validStatus";
} }
package com.jiankangyouyi.cloud.data.center.model.entity.mongo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jiankangyouyi.cloud.core.base.enums.ValidStatusEnum;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.bson.types.ObjectId;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.index.CompoundIndex;
import org.springframework.data.mongodb.core.index.CompoundIndexes;
import org.springframework.data.mongodb.core.index.Indexed;
import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
/**
* @author jingpeng
* @description 自定义运动表DO
* @date 2020/11/2
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@CompoundIndexes(
value = {
@CompoundIndex(
name = "appId_-1_userId_-1_recordDate_-1",
def = "{ 'appId' : -1, 'userId' : -1, 'recordDate' : -1 }"
)
}
)
@Document(collection = "v3.custom.exercise")
public class CustomExerciseDO implements Serializable {
private static final long serialVersionUID = 1L;
@Id
private ObjectId id;
/**
* 更新时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
/**
* 创建时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
/**
* 业务类型
*/
private String bizType;
/**
* 创建时间
*/
private String createDate;
/**
* 应用id
*/
private String appId;
/**
* 用户id
*/
private String userId;
/**
* 运动id
*/
@Indexed(unique = true)
private String exerciseId;
/**
* 运动名称
*/
private String exerciseName;
/**
* 食物图片
*/
private String imageKey;
/**
* 数量
*/
private Double quantity;
/**
* 单位
*/
private String unit;
/**
* 能量(kcal)
*/
private Integer energy;
/**
* 有效标识,1有效,2无效
* {@link ValidStatusEnum}
*/
private String validStatus;
public static final String FIELD_ID = "_id";
public static final String FIELD_UPDATETIME = "updateTime";
public static final String FIELD_CREATETIME = "createTime";
public static final String FIELD_BIZTYPE = "bizType";
public static final String FIELD_CREATEDATE = "createDate";
public static final String FIELD_APPID = "appId";
public static final String FIELD_USERID = "userId";
public static final String FIELD_EXERCISEID = "exerciseId";
public static final String FIELD_EXERCISENAME = "exerciseName";
public static final String FIELD_IMAGEKEY = "imageKey";
public static final String FIELD_QUANTITY = "quantity";
public static final String FIELD_UNIT = "unit";
public static final String FIELD_ENERGY = "energy";
public static final String FIELD_VALIDSTATUS = "validStatus";
}
package com.jiankangyouyi.cloud.data.center.model.entity.mongo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jiankangyouyi.cloud.core.base.enums.ValidStatusEnum;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.bson.types.ObjectId;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.index.CompoundIndex;
import org.springframework.data.mongodb.core.index.CompoundIndexes;
import org.springframework.data.mongodb.core.index.Indexed;
import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
/**
* @author jingpeng
* @description 自定义食物表
* @date 2020/11/2
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@CompoundIndexes(
value = {
@CompoundIndex(
name = "appId_-1_userId_-1_recordDate_-1",
def = "{ 'appId' : -1, 'userId' : -1, 'recordDate' : -1 }"
)
}
)
@Document(collection = "v3.custom.food")
public class CustomFoodDO implements Serializable {
private static final long serialVersionUID = 1L;
@Id
private ObjectId id;
/**
* 更新时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
/**
* 创建时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
/**
* 食物id
*/
@Indexed(unique = true)
private String foodId;
/**
* 创建时间
*/
private String createDate;
/**
* 业务类型
*/
private String bizType;
/**
* 应用id
*/
private String appId;
/**
* 用户id
*/
private String userId;
/**
* 食物名称
*/
private String foodName;
/**
* 食物图片
*/
private String imageKey;
/**
* 数量
*/
private Double quantity;
/**
* 单位
*/
private String unit;
/**
* 能量(kcal)
*/
private Integer energy;
/**
* 能量单位(KCAL、KJ)
*/
private String energyUnit;
/**
* 蛋白质含量
*/
private Double protein;
/**
* 脂肪含量
*/
private Double fat;
/**
* 碳水化合物含量
*/
private Double carbohydrate;
/**
* 有效标识,1有效,2无效
* {@link ValidStatusEnum}
*/
private String validStatus;
public static final String FIELD_ID = "_id";
public static final String FIELD_UPDATETIME = "updateTime";
public static final String FIELD_CREATETIME = "createTime";
public static final String FIELD_FOODID = "foodId";
public static final String FIELD_CREATEDATE = "createDate";
public static final String FIELD_BIZTYPE = "bizType";
public static final String FIELD_APPID = "appId";
public static final String FIELD_USERID = "userId";
public static final String FIELD_FOODNAME = "foodName";
public static final String FIELD_IMAGEKEY = "imageKey";
public static final String FIELD_QUANTITY = "quantity";
public static final String FIELD_UNIT = "unit";
public static final String FIELD_ENERGY = "energy";
public static final String FIELD_ENERGYUNIT = "energyUnit";
public static final String FIELD_PROTEIN = "protein";
public static final String FIELD_FAT = "fat";
public static final String FIELD_CARBOHYDRATE = "carbohydrate";
public static final String FIELD_VALIDSTATUS = "validStatus";
}
package com.jiankangyouyi.cloud.data.center.model.entity.mongo;
import com.jiankangyouyi.cloud.core.base.entity.BaseMongoEntity;
import lombok.Data;
import org.springframework.data.mongodb.core.mapping.Document;
/**
* 开发者应用信息
*
* @author jingpeng
*/
@Data
@Document(collection = "developer.app.info2")
public class DeveloperAppInfo2DO extends BaseMongoEntity {
/**
* 应用ID 为了兼容之前的非ObjectId 型字符串
*/
private String appId;
/**
* 应用名称
*/
private String appName;
/**
* 应用描述
*/
private String description;
/**
* 开发者ID
*/
private String developerId;
/**
* 应用级别
* </p>
* <p>
*/
private String appLevel;
/**
* 应用公钥
*/
private String publicKey;
/**
* API密钥
*/
private String apiKey;
/**
* 应用类型 API 型还是装机型 还是测试应用(API测试调用)
* <p>
*/
private String appType;
/**
* 支持平台列表
* </p>
* <p>
*/
private String platform;
/**
* 使用场景
*/
private String scene;
public static final String FIELD_APPID = "appId";
public static final String FIELD_APPNAME = "appName";
public static final String FIELD_DESCRIPTION = "description";
public static final String FIELD_DEVELOPERID = "developerId";
public static final String FIELD_APPLEVEL = "appLevel";
public static final String FIELD_PUBLICKEY = "publicKey";
public static final String FIELD_APIKEY = "apiKey";
public static final String FIELD_APPTYPE = "appType";
public static final String FIELD_PLATFORM = "platform";
public static final String FIELD_SCENE = "scene";
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.action.component; package com.jiankangyouyi.cloud.data.center.model.entity.mongo;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.bson.types.ObjectId;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
import java.io.Serializable; import java.io.Serializable;
/** /**
* 应用信息表
* *
* @author wangyalei * @author yangsongbo
* @since v3.5.4
*/ */
@Data @Data
@Builder
@AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
public class VideoRestSimpleInfo implements Serializable { @AllArgsConstructor
/** @Document(collection = "developer.app.info2")
* 视频id public class DeveloperAppInfoDO implements Serializable {
*/
private String videoId;
/** /**
* 视频名称 * 主键
*/ */
private String videoName; @Id
private ObjectId _id;
/** /**
* APPID 应用id * 应用ID 为了兼容之前的非ObjectId 型字符串
*/ */
private String appId; private String appId;
/** /**
* 视频规格 * API密钥
*/
private String videoSize;
/**
* 休息视频类型 1、现代类型 2、传统类型
*/ */
private String restVideoType; private String apiKey;
/** /**
* 教练性别 * 有效标识
*/ */
private String coachGender; private String validStatus;
} }
\ No newline at end of file
package com.jiankangyouyi.cloud.data.center.model.entity.mongo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jiankangyouyi.cloud.data.center.api.model.dto.response.DietaryPattern;
import com.jiankangyouyi.cloud.data.center.api.model.dto.response.NutrientConstraint;
import com.jiankangyouyi.cloud.data.center.api.model.entity.EnergyRatio;
import com.jiankangyouyi.cloud.data.center.api.model.entity.MealRatio;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.RandomUtils;
import org.bson.types.ObjectId;
import org.springframework.data.annotation.Id;
import org.springframework.data.annotation.Version;
import org.springframework.data.mongodb.core.index.CompoundIndex;
import org.springframework.data.mongodb.core.index.CompoundIndexes;
import org.springframework.data.mongodb.core.index.IndexDirection;
import org.springframework.data.mongodb.core.index.Indexed;
import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @description: 能量平衡计划do
* @author: zyj
* @email: zhaoyujie@jiankangyouyi.com
* @date: 2021/6/7 3:48 下午
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@CompoundIndexes(value = {@CompoundIndex(name = "appId_-1_userId_-1_date_-1",
def = "{ 'appId' : -1, 'userId' : -1, 'date' : -1 }", unique = true)})
@Document(collection = "v3.energy.balance.plan")
public class EnergyBalancePlanDO implements Serializable {
private static final long serialVersionUID = 1L;
@Id
private ObjectId id;
/**
* 应用ID
*/
private String appId;
/**
* 用户ID
*/
private String userId;
/**
* 更新时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@Builder.Default
private Date updateTime = new Date();
/**
* 创建时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@Builder.Default
private Date createTime = new Date();
@Version
private Long version;
/**
* 日期 yyyy-MM-dd
*/
@Indexed(direction = IndexDirection.DESCENDING)
private String date;
/**
* 是否已写入历史信息
* true:代表已经填补了这一天的实际摄入和消耗,并且已经计算了需被调整的值
* false:还未计算或者用户没有上传这一天的数据
*/
private boolean history;
/**
* 是否突破最低阈值1200
*
* true:代表突破了
* false:代表没突破
*/
private boolean lower;
/**
* 建议能量摄入
*/
@Builder.Default
private BigDecimal energyIntakeAdvice = BigDecimal.ZERO;
/**
* 实际能量摄入
*/
@Builder.Default
private BigDecimal energyIntake = BigDecimal.ZERO;
/**
* 建议消耗热量
*/
@Builder.Default
private BigDecimal energyConsumeAdvice = BigDecimal.ZERO;
/**
* 建议消耗热量最大值
*/
@Builder.Default
private BigDecimal energyConsumeAdviceMax=BigDecimal.ZERO;
/**
* 建议消耗热量最小值
*/
@Builder.Default
private BigDecimal energyConsumeAdviceMin=BigDecimal.ZERO;
/**
* 运动消耗极限值
*/
@Builder.Default
private BigDecimal energyConsumeExtremityVal=BigDecimal.valueOf(700);
/**
* 实际消耗热量
*/
@Builder.Default
private BigDecimal energyConsume = BigDecimal.ZERO;
/**
* 待调整能量
*/
@Builder.Default
private BigDecimal awaitAdjusToEnergy = BigDecimal.ZERO;
/**
* 已经被调整的热量
* {调整日期:调整值}示例{"2020-01-01":209.09}代表这一天需要调整的热量被2020-01-01调整了209.09
*/
@Builder.Default
private Map<String, AdjusToEnergyInfo> finishAdjusToEnergy = new HashMap<>();
/**
* 已经完成的热量调整
* {去调整的日期:调整值}示例{"2021-01-01":200}代表这一天调整了2021-01-01的200热量
*/
@Builder.Default
private Map<String, AdjusToEnergyInfo> completeAdjusToEnergy = new HashMap<>();
/**
* 能量比例
*/
private EnergyRatio energyRatio;
/**
* 餐次比例
*/
private List<MealRatio> mealRatio;
/**
* 营养原则
*/
private List<String> nutritionPrinciples;
/**
* 配餐目标信息
*/
private List<String> foodMatchObjectiveMsgs;
/**
* 膳食结构
*/
private DietaryPattern dietaryPattern;
/**
* 营养素约束
*/
private NutrientConstraint nutrientConstraint;
public static final String FIELD_ID = "_id";
public static final String FIELD_APPID = "appId";
public static final String FIELD_USERID = "userId";
public static final String FIELD_UPDATETIME = "updateTime";
public static final String FIELD_CREATETIME = "createTime";
public static final String FIELD_VERSION = "version";
public static final String FIELD_DATE = "date";
public static final String FIELD_HISTORY = "history";
public static final String FIELD_LOWER = "lower";
public static final String FIELD_ENERGYINTAKEADVICE = "energyIntakeAdvice";
public static final String FIELD_ENERGYINTAKE = "energyIntake";
public static final String FIELD_ENERGYCONSUMEADVICE = "energyConsumeAdvice";
public static final String FIELD_ENERGYCONSUME = "energyConsume";
public static final String FIELD_AWAITADJUSTOENERGY = "awaitAdjusToEnergy";
public static final String FIELD_FINISHADJUSTOENERGY = "finishAdjusToEnergy";
public static final String FIELD_COMPLETEADJUSTOENERGY = "completeAdjusToEnergy";
/**
* 调整能量信息
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public static class AdjusToEnergyInfo{
private BigDecimal eat;
private BigDecimal exercise;
}
/**
* 推荐热量不能小于 1200 卡
* @param energy
*/
public void setAdjustEnergyIntakeAdvice(BigDecimal energy) {
this.setEnergyIntakeAdvice(energy.compareTo(BigDecimal.valueOf(1200)) < 0 ? BigDecimal.valueOf(RandomUtils.nextInt(1200, 1300)) : energy);
}
/**
* 计算并设置推荐运动量
* @param exerciseEnergy 初始推荐运动量
*/
public void mathSetEnergyConsumeAdvice(BigDecimal exerciseEnergy){
this.setEnergyConsumeAdvice(exerciseEnergy.compareTo(this.getEnergyConsumeExtremityVal())<=0?exerciseEnergy:this.getEnergyConsumeExtremityVal());
}
}
package com.jiankangyouyi.cloud.data.center.model.entity.mongo;
import com.jiankangyouyi.cloud.data.center.model.entity.mongo.component.FoodMetrologyEntryBean;
import lombok.Data;
import org.bson.types.ObjectId;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
*
* 度量衡表
* @author jingpeng
*/
@Data
@Document(collection = "food2.metrology")
public class Food2MetrologyDO implements Serializable {
private static final long serialVersionUID = 1L;
@Id
private ObjectId _id;
/**
* 食物ID
*/
private String foodId;
/**
* 度量衡类型
*/
private String metrologyType;
/**
* 图片和描述列表
* </p>
* 可以为空,为空时根据metrologyType查询度量衡类型表
*/
private List<FoodMetrologyEntryBean> entryList;
/** 更新时间 */
private Date updateTime;
/** 创建时间 */
private Date createTime;
public static final String FIELD__ID = "_id";
public static final String FIELD_FOODID = "foodId";
public static final String FIELD_METROLOGYTYPE = "metrologyType";
public static final String FIELD_ENTRYLIST = "entryList";
public static final String FIELD_ENTRYLIST_IMAGEKEY = "entryList.imageKey";
public static final String FIELD_ENTRYLIST_DESCRIBE = "entryList.describe";
public static final String FIELD_UPDATETIME = "updateTime";
public static final String FIELD_CREATETIME = "createTime";
}
\ No newline at end of file
package com.jiankangyouyi.cloud.data.center.model.entity.mongo;
import com.jiankangyouyi.cloud.data.center.model.entity.mongo.component.FoodMetrologyEntryBean;
import lombok.Data;
import org.bson.types.ObjectId;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
import java.util.Date;
import java.util.List;
/***
*
* 度量衡
* @author jingpeng
*/
@Data
@Document(collection = "food2.metrology.type")
public class Food2MetrologyTypeDO {
private static final long serialVersionUID = 1L;
@Id
private ObjectId _id;
/**
* 度量衡类型
*/
private String metrologyType;
/**
* 度量衡类型名称
*/
private String metrologyTypeName;
/**
* 图片和描述列表
* </p>
* 可以为空,为空时根据metrologyType查询度量衡类型表
*/
private List<FoodMetrologyEntryBean> entryList;
/**
* 排序,默认为9999
*/
private int rowOrder;
/**
* 更新时间
*/
private Date updateTime;
/**
* 创建时间
*/
private Date createTime;
public static final String FIELD__ID = "_id";
public static final String FIELD_METROLOGYTYPE = "metrologyType";
public static final String FIELD_METROLOGYTYPENAME = "metrologyTypeName";
public static final String FIELD_ENTRYLIST = "entryList";
public static final String FIELD_ENTRYLIST_IMAGEKEY = "entryList.imageKey";
public static final String FIELD_ENTRYLIST_DESCRIBE = "entryList.describe";
public static final String FIELD_ROWORDER = "rowOrder";
public static final String FIELD_UPDATETIME = "updateTime";
public static final String FIELD_CREATETIME = "createTime";
}
package com.jiankangyouyi.cloud.data.center.model.entity.mongo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jiankangyouyi.cloud.data.center.api.model.entity.RecordBodyIndicator;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.bson.types.ObjectId;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.index.CompoundIndex;
import org.springframework.data.mongodb.core.index.CompoundIndexes;
import org.springframework.data.mongodb.core.index.Indexed;
import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
/**
* 身体指标记录表
*
* @author yangsongbo
*/
@Data
@EqualsAndHashCode(callSuper = true)
@CompoundIndexes(value = {
@CompoundIndex(
name = "appId_-1_userId_-1_recordDate_-1_bizType_1",
def = "{ 'appId' : -1, 'userId' : -1, 'recordDate' : -1 , 'bizType' : 1}")
})
@Document(collection = "v3.record.body.indicator")
public class RecordBodyIndicatorDO extends RecordBodyIndicator implements Serializable {
private static final long serialVersionUID = 1L;
@Id
private ObjectId id;
/**
* NOT NULL 更新时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
/**
* NOT NULL 创建时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
/**
* 有效标识
*/
private String validStatus;
/**
* NOT NULL 记录ID
*/
@Indexed(unique = true)
private String recordId;
/**
* 手后动记录标识,默认为2 1是手动记录数据,2非手动记录数据(即硬件设备自动记录)
*/
private String manualRecordStatus;
/**
* 异常等级 0 正常 -1异常
*/
private String abnormalLevel;
public static final String FIELD_ID = "_id";
public static final String FIELD_UPDATETIME = "updateTime";
public static final String FIELD_CREATETIME = "createTime";
public static final String FIELD_VALIDSTATUS = "validStatus";
public static final String FIELD_RECORDID = "recordId";
public static final String FIELD_RECORD_TIME = "recordTime";
public static final String FIELD_MANUAL_RECORD_STATUS = "manualRecordStatus";
}
package com.jiankangyouyi.cloud.data.center.model.entity.mongo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jiankangyouyi.cloud.core.base.enums.ValidStatusEnum;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.bson.types.ObjectId;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.index.CompoundIndex;
import org.springframework.data.mongodb.core.index.CompoundIndexes;
import org.springframework.data.mongodb.core.index.Indexed;
import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* 记录指标数据
* @author :wangyalei
* @date :Created in 2021/9/18 10:56 上午
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@CompoundIndexes(
value = {
@CompoundIndex(
name = "indicatorType-1_indicatorDescLevel_-1",
def = "{ 'indicatorType' : -1, 'indicatorDescLevel' : -1}"
)
}
)
@Document(collection = "v3.record.indicator.data")
public class RecordIndicatorDataDO {
@Id
private ObjectId id;
/**
* 更新时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@Indexed
private Date updateTime;
/**
* 创建时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
/**
* NOT NULL 数据记录ID (由于将原始身体指标数据记录进行拆分存入到此表中,原始表的唯一 recordId 在此表中不是唯一,所以新增此字段作为唯一id。)
*/
@Indexed(unique = true)
private String dataRecordId;
/**
* NOT NULL 记录ID (原始身体指标数据记录id,保留此字段是为了可以追踪到此数据与原始表数据的关联关系,后续逐渐将原始数据表遗弃的时候,此字段可以忽略)
* 一组数据 recordId相同
*/
@Indexed
private String recordId;
/**
* 应用id
*/
private String appId;
/**
* 用户id
*/
private String userId;
/**
* 性别 0、未知 1、男 2、女
*/
private String gender;
/**
* 年龄
*/
private Integer age;
/**
* 业务类型
*/
private String bizType;
/**
* 记录时间 yyyy-MM-dd HH:mm:ss
*/
private Date recordTime;
/**
* 记录日期 yyyy-MM-dd
*/
@Indexed
private String recordDate;
/**
* 指标名称
*/
private String indicatorName;
/**
* 指标类型 {@link com.jiankangyouyi.cloud.data.center.api.enums.IndicatorEnum}
*/
private String indicatorType;
/**
* 指标值类型 {@link com.jiankangyouyi.cloud.data.center.api.enums.IndicatorValueTypeEnum}
*/
private String indicatorValueType;
/**
* 数值指标值类型 指标值
*/
private BigDecimal numberValue;
/**
* 字符指标值类型 指标值
*/
private String characterValue;
/**
* 指标范围 (正常值范围)
*/
private String indicatorRange;
/**
* 指标单位
*/
private String indicatorUnit;
/**
* 指标描述 (字典code)
*/
private String indicatorDesc;
/**
* 指标描述等级 (字典code)
*/
private Integer indicatorDescLevel;
/**
* 有效状态 {@link ValidStatusEnum}
*/
@Builder.Default
private String validStatus = ValidStatusEnum.VALID.code();
/**
* 标签 codes {@link com.jiankangyouyi.cloud.data.center.api.enums.IndicatorTagCodeEnum}
*/
private List<String> tagCodes;
/**
* 异常等级 0 正常 -1异常
*/
private String abnormalLevel;
public static final String FIELD_ID = "_id";
public static final String FIELD_UPDATETIME = "updateTime";
public static final String FIELD_CREATETIME = "createTime";
public static final String FIELD_RECORDID = "recordId";
public static final String FIELD_DATA_RECORD_ID = "dataRecordId";
public static final String FIELD_APPID = "appId";
public static final String FIELD_USERID = "userId";
public static final String FIELD_GENDER = "gender";
public static final String FIELD_AGE = "age";
public static final String FIELD_BIZTYPE = "bizType";
public static final String FIELD_RECORDDATE = "recordDate";
public static final String FIELD_RECORDTIME = "recordTime";
public static final String FIELD_INDICATORNAME = "indicatorName";
public static final String FIELD_INDICATORTYPE = "indicatorType";
public static final String FIELD_INDICATORRANGE = "indicatorRange";
public static final String FIELD_INDICATORUNIT = "indicatorUnit";
public static final String FIELD_INDICATORDESC = "indicatorDesc";
public static final String FIELD_INDICATORDESCLEVEL = "indicatorDescLevel";
public static final String FIELD_VALIDSTATUS = "validStatus";
public static final String FIELD_ABNORMALLEVEL = "abnormalLevel";
public static final String FIELD_NUMBERVALUE = "numberValue";
}
package com.jiankangyouyi.cloud.data.center.model.entity.mongo;
import com.jiankangyouyi.cloud.data.center.model.dto.api.SemanticTextAnalysisDTO;
import com.jiankangyouyi.cloud.data.center.model.semantic.SemanticSpeechRecordExerciseAnalysisVO;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.bson.types.ObjectId;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
import java.util.Date;
/**
* 文本解析记录运动日志
*
* @author jingpeng
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Document(collection = "record.semantic.record.exercise.analysis")
public class RecordSemanticRecordExerciseAnalysisDO {
private static final long serialVersionUID = 1L;
@Id
private ObjectId _id;
/**
* 记录日期 yyyyMMdd
*/
private String recordDate;
/**
* 请求数据
*/
private SemanticTextAnalysisDTO reqData;
/**
* 识别结果
*/
private SemanticSpeechRecordExerciseAnalysisVO resData;
/**
* 解析状态(SUCCESS or FAIL)
*/
private String analysisStatus;
/**
* 耗时(毫秒)
*/
private Long costTimes;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新时间
*/
private Date updateTime;
}
package com.jiankangyouyi.cloud.data.center.model.entity.mongo;
import com.jiankangyouyi.cloud.data.center.model.dto.api.SemanticTextAnalysisDTO;
import com.jiankangyouyi.cloud.data.center.model.semantic.SemanticSpeechRecordFoodAnalysisVO;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.bson.types.ObjectId;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
import java.io.Serializable;
import java.util.Date;
/**
* 文本记录食物解析日志
*
* @author jingpeng
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Document(collection = "record.semantic.record.food.analysis")
public class RecordSemanticRecordFoodAnalysisDO implements Serializable {
private static final long serialVersionUID = 1L;
@Id
private ObjectId id;
/**
* 记录日期 yyyyMMdd
*/
private String recordDate;
/**
* 请求数据
*/
private SemanticTextAnalysisDTO reqData;
/**
* 识别结果
*/
private SemanticSpeechRecordFoodAnalysisVO resData;
/**
* 解析状态(SUCCESS or FAIL)
*/
private String analysisStatus;
/**
* 耗时(毫秒)
*/
private Long costTimes;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新时间
*/
private Date updateTime;
}
package com.jiankangyouyi.cloud.data.center.model.entity.mongo;
import com.jiankangyouyi.cloud.data.center.model.dto.api.SemanticSpeechAnalysisDTO;
import com.jiankangyouyi.cloud.data.center.model.semantic.SemanticSpeechRecordExerciseAnalysisVO;
import lombok.*;
import org.bson.types.ObjectId;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
import java.util.Date;
/**
* 语音解析记录运动日志
*
* @author jingpeng
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Document(collection = "record.semantic.speech.record.exercise.analysis")
public class RecordSemanticSpeechRecordExerciseAnalysisDO {
private static final long serialVersionUID = 1L;
@Id
private ObjectId id;
/**
* 记录日期 yyyyMMdd
*/
private String recordDate;
/**
* 请求数据
*/
private SemanticSpeechAnalysisDTO reqData;
/**
* 识别结果
*/
private SemanticSpeechRecordExerciseAnalysisVO resData;
/**
* 解析状态(SUCCESS or FAIL)
*/
private String analysisStatus;
/**
* 耗时(毫秒)
*/
private Long costTimes;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新时间
*/
private Date updateTime;
}
package com.jiankangyouyi.cloud.data.center.model.entity.mongo;
import com.jiankangyouyi.cloud.data.center.model.dto.api.SemanticSpeechAnalysisDTO;
import com.jiankangyouyi.cloud.data.center.model.semantic.SemanticSpeechRecordFoodAnalysisVO;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.bson.types.ObjectId;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
import java.io.Serializable;
import java.util.Date;
/**
* 语音解析记录食物日志
*
* @author jingpeng
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Document(collection = "record.semantic.speech.record.food.analysis")
public class RecordSemanticSpeechRecordFoodAnalysisDO implements Serializable {
private static final long serialVersionUID = 1L;
@Id
private ObjectId _id;
/**
* 记录日期 yyyyMMdd
*/
private String recordDate;
/**
* 请求数据
*/
private SemanticSpeechAnalysisDTO reqData;
/**
* 识别结果
*/
private SemanticSpeechRecordFoodAnalysisVO resData;
/**
* 解析状态(SUCCESS or FAIL)
*/
private String analysisStatus;
/**
* 耗时(毫秒)
*/
private Long costTimes;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新时间
*/
private Date updateTime;
}
package com.jiankangyouyi.cloud.data.center.model.entity.mongo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jiankangyouyi.cloud.data.center.api.model.entity.RecordSleep;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.bson.types.ObjectId;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.index.CompoundIndex;
import org.springframework.data.mongodb.core.index.CompoundIndexes;
import org.springframework.data.mongodb.core.index.Indexed;
import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
/**
* 睡眠情况记录表
*
* @author yangsongbo
*/
@Data
@EqualsAndHashCode(callSuper = true)
@CompoundIndexes(
value = {
@CompoundIndex(
name = "appId_-1_bizType_-1_userId_-1_recordDate_-1_validStatus_1",
def = "{ 'appId' : -1,'bizType':-1,'userId' : -1, 'recordDate' : -1 , 'validStatus' : 1 }",
unique = true
)
}
)
@Document(collection = "v3.record.sleep")
public class RecordSleepDO extends RecordSleep implements Serializable {
private static final long serialVersionUID = 1L;
@Id
private ObjectId id;
/**
* NOT NULL 更新时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
/**
* NOT NULL 创建时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
/**
* 有效标识. 1 有效 UUID 无效
*/
private String validStatus;
/**
* NOT NULL 记录ID
*/
@Indexed(unique = true)
private String recordId;
public static final String FIELD_ID = "_id";
public static final String FIELD_UPDATETIME = "updateTime";
public static final String FIELD_CREATETIME = "createTime";
public static final String FIELD_VALIDSTATUS = "validStatus";
public static final String FIELD_RECORDID = "recordId";
public static final String FIELD_RECORD_TIME = "recordTime";
}
package com.jiankangyouyi.cloud.data.center.model.entity.mongo;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.bson.types.ObjectId;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.index.CompoundIndex;
import org.springframework.data.mongodb.core.index.CompoundIndexes;
import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
/**
* 步数记录明细表
*
* @author jingpeng
* @date 2020/11/2
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@CompoundIndexes(
value = {
@CompoundIndex(
name = "recordId_-1_recordHour_1",
def = "{ 'recordId' : -1, 'recordHour' : 1}",
unique = true
)
}
)
@Document(collection = "v3.record.step.detail")
public class RecordStepDetailDO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@Id
private ObjectId id;
/**
* 更新时间 NOT NULL
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
/**
* 创建时间 NOT NULL
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
/**
* 记录id NOT NULL
*/
private String recordId;
/**
* 记录日期 yyyy-MM-dd NOT NULL
*/
private String recordDate;
/**
* 记录小时(24小时制)NOT NULL
*/
private Integer recordHour;
/**
* 应用id NOT NULL
*/
private String appId;
/**
* 能量 NOT NULL
*/
private Integer energy;
/**
* 步数 NOT NULL
*/
private Integer quantity;
/**
* 距离(米) NOT NULL
*/
private Double distance;
/**
* 有效标识
*/
private String validStatus;
/**
* 记录日期
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date recordTime;
public static final String FIELD_ID = "_id";
public static final String FIELD_UPDATETIME = "updateTime";
public static final String FIELD_CREATETIME = "createTime";
public static final String FIELD_RECORDID = "recordId";
public static final String FIELD_RECORDDATE = "recordDate";
public static final String FIELD_RECORDHOUR = "recordHour";
public static final String FIELD_APPID = "appId";
public static final String FIELD_ENERGY = "energy";
public static final String FIELD_QUANTITY = "quantity";
public static final String FIELD_DISTANCE = "distance";
public static final String FIELD_VALIDSTATUS = "validStatus";
public static final String FIELD_RECORD_TIME = "recordTime";
}
package com.jiankangyouyi.cloud.data.center.model.entity.mongo;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.bson.types.ObjectId;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.index.CompoundIndex;
import org.springframework.data.mongodb.core.index.CompoundIndexes;
import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
/**
* 步数目标设置表
*
* @author yangsongbo
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@CompoundIndexes(
value = {
@CompoundIndex(
name = "appId_-1_userId_-1_recordDate_-1_bizType_1",
def = "{ 'appId' : -1, 'userId' : -1, 'recordDate' : -1 , 'bizType' : 1}"
)
}
)
@Document(collection = "v3.record.step.target")
public class RecordStepTargetDO implements Serializable {
private static final long serialVersionUID = 1L;
@Id
private ObjectId id;
/**
* NOT NULL 更新时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
/**
* NOT NULL 创建时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
/**
* NOT NULL 记录日期 yyyy-MM-dd
*/
private String recordDate;
/**
* NOT NULL 应用ID
*/
private String appId;
/**
* NOT NULL 用户ID
*/
private String userId;
/**
* NOT NULL 业务类型
*/
private String bizType;
/**
* NOT NULL 目标值(步)
*/
private Integer target;
public static final String FIELD_ID = "_id";
public static final String FIELD_UPDATETIME = "updateTime";
public static final String FIELD_CREATETIME = "createTime";
public static final String FIELD_RECORDDATE = "recordDate";
public static final String FIELD_APPID = "appId";
public static final String FIELD_USERID = "userId";
public static final String FIELD_BIZTYPE = "bizType";
public static final String FIELD_TARGET = "target";
}
package com.jiankangyouyi.cloud.data.center.model.entity.mongo;
import lombok.Builder;
import lombok.Data;
import org.bson.types.ObjectId;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
import java.util.Date;
/**
* 常见运动列表
*
* @author jingpeng
*/
@Data
@Builder
@Document(collection = "record.used.exercise")
public class RecordUsedExerciseDO {
/**
* 主键
*/
@Id
private ObjectId _id;
/**
* 用户ID
*/
private String userId;
private String appId;
/**
* 运功ID
*/
private String exerciseId;
/**
* 使用时间
*/
private Date usedTime;
/**
* 推荐运动排序
*/
private int rowOrder;
public static final String FIELD__ID = "_id";
public static final String FIELD_USERID = "userId";
public static final String FIELD_APPID = "appId";
public static final String FIELD_EXERCISEID = "exerciseId";
public static final String FIELD_USEDTIME = "usedTime";
public static final String FIELD_ROWORDER = "rowOrder";
public static final String DEFAULT_USER_ID = "00000000000000000000";
public static final String DEFAULT_APP_ID = "5b84a2476d0699251fb4a574";
public static final String NEW_DEFAULT_USER_ID = "100000000000000000000";
}
package com.jiankangyouyi.cloud.data.center.model.entity.mongo;
import lombok.Builder;
import lombok.Data;
import org.bson.types.ObjectId;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
import java.util.Date;
/**
* 常用食物表
*
* @author jingpeng
*/
@Data
@Builder
@Document(collection = "record.used.food")
public class RecordUsedFoodDO {
/**主键*/
@Id
private ObjectId _id;
/**用户ID,推荐用户0000000000000的食物*/
private String userId;
private String appId;
/**食物ID*/
private String foodId;
/**使用时间*/
private Date usedTime;
/**早,中,晚,加*/
private String mealType;
/**推荐食物排序*/
private int rowOrder;
/**
* 新的食物 类型 1
*/
private String foodType;
public static final String FIELD__ID = "_id";
public static final String FIELD_USERID = "userId";
public static final String FIELD_APPID = "appId";
public static final String FIELD_FOODID = "foodId";
public static final String FIELD_USEDTIME = "usedTime";
public static final String FIELD_MEALTYPE = "mealType";
public static final String FIELD_ROWORDER = "rowOrder";
public static final String DEFAULT_USER_ID = "00000000000000000000";
public static final String New_DEFAULT_USER_ID = "100000000000000000000";
public static final String FIELD_TYPE = "type";
}
package com.jiankangyouyi.cloud.basedata.model.vo.manager.question.component; package com.jiankangyouyi.cloud.data.center.model.entity.mongo.component;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
...@@ -6,46 +6,42 @@ import lombok.Data; ...@@ -6,46 +6,42 @@ import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.io.Serializable; import java.io.Serializable;
import java.sql.Timestamp;
/** /**
* 问卷列表返回结果 * 健康问题详情
*
* @author fengxuanjun * @author fengxuanjun
*/ */
@Data @Data
@Builder @Builder
@NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
public class QuestionnaireBaseInfo implements Serializable { @NoArgsConstructor
public class AppUserHealthProblem implements Serializable {
private static final long serialVersionUID = 1L;
/** /**
* 问卷ID * 健康问题code
*
* {@link com.jiankangyouyi.cloud.data.center.api.enums.HealthProblemEnum}
*/ */
private String bizType; private String code;
/** /**
* 问卷名称 * 健康问题名称
*/ */
private String questionnaireName; private String name;
/** /**
* 问卷状态,1:使用,2:停用 * 风险等级level
*
* {@link com.jiankangyouyi.cloud.data.center.api.enums.RiskLevelEnum}
*/ */
private String validStatus; private int riskLevel;
/** /**
* 创建时间 * 风险等级描述
*/ */
private String riskDescription;
private Timestamp createTime;
/**
* 修改时间
*/
private Timestamp updateTime;
} }
\ No newline at end of file
package com.jiankangyouyi.cloud.data.center.model.entity.mongo.component;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* 生活状况
* @author fengxuanjun
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class AppUserLifeState implements Serializable {
/**
* 生活状况 code
*
* 吸烟情况:{@link com.jiankangyouyi.cloud.data.center.api.enums.SmokeStateEnum}
* 饮用情况:{@link com.jiankangyouyi.cloud.data.center.api.enums.DrinkStateEnum}
* 体育户外:{@link com.jiankangyouyi.cloud.data.center.api.enums.ExerciseStateEnum}
* 饮食情况:{@link com.jiankangyouyi.cloud.data.center.api.enums.DietaryHabitEnum}
* 心理情况:{@link com.jiankangyouyi.cloud.data.center.api.enums.MentalStateEnum}
* 睡眠情况:{@link com.jiankangyouyi.cloud.data.center.api.enums.SleepStateEnum}
* {@link com.jiankangyouyi.cloud.data.center.api.enums.SymptomEnum}
*/
private String code;
/**
* 状况名称
*/
private String name;
/**
* 状态
* {@link com.jiankangyouyi.cloud.data.center.api.enums.LifeStatusEnum}
*/
private String lifeStatus;
}
\ No newline at end of file
package com.jiankangyouyi.cloud.basedata.model.vo.manager.action; package com.jiankangyouyi.cloud.data.center.model.entity.mongo.component;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
...@@ -8,30 +8,33 @@ import lombok.NoArgsConstructor; ...@@ -8,30 +8,33 @@ import lombok.NoArgsConstructor;
import java.io.Serializable; import java.io.Serializable;
/** /**
* @author :wangyalei * 健康问题详情
* @date :Created in 2021/6/10 6:29 下午 * @author fengxuanjun
*/ */
@Data @Data
@Builder @Builder
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
public class DeveloperInfoVO implements Serializable { public class AppUserSymptom implements Serializable {
/**
* 应用ID
*/
private String appId;
/** /**
* 应用名称 * 症状code
*
* {@link com.jiankangyouyi.cloud.data.center.api.enums.SymptomEnum}
*/ */
private String appName; private String code;
/** /**
* 开发者ID * 症状名称
*/ */
private String developerId; private String name;
/** /**
* 开发者名称 * 状态
*
* {@link com.jiankangyouyi.cloud.data.center.api.enums.SymptomStatusEnum}
*/ */
private String developerName; private String symptomStatus;
} }
\ No newline at end of file
package com.jiankangyouyi.cloud.basedata.model.vo.manager.hardware; package com.jiankangyouyi.cloud.data.center.model.entity.mongo.component;
import com.jiankangyouyi.cloud.basedata.model.vo.manager.hardware.component.HardwareInfo;
import com.jiankangyouyi.cloud.core.entity.page.PageResult;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.io.Serializable; import java.io.Serializable;
import java.util.List;
/** /**
* 硬件列表返回VO * 用户 用药/膳食补充剂
* *
* @author fengxuanjun * @author fengxuanjun
*/ */
@Data @Data
@Builder @Builder
@NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
public class HardwareListVO implements Serializable { @NoArgsConstructor
public class AppUserTake implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /**
* 分页信息 * NOT NULL 编码
* 用药:{@link com.jiankangyouyi.cloud.data.center.api.enums.MedicalHistoryEnum}
* 膳食补充剂:{@link com.jiankangyouyi.cloud.data.center.api.enums.DietarySupplementStateEnum}
*/ */
private PageResult.PageInfo pageInfo; private String code;
/** /**
* 问题列表 * NOT NULL 名称
*/ */
private List<HardwareInfo> resultList; private String name;
} }
package com.jiankangyouyi.cloud.data.center.model.entity.mongo.component;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 食谱对象
*
*/
public class DietaryBean {
/** 水作为 {@link WaterTypeEnum} */
private String waterType;
/** 工艺 {@link DietaryCraftEnum} */
private String craft;
/** 主料 */
private List<FoodMaterialBean> majorMaterial;
/** 辅料 */
private List<FoodMaterialBean> minorMaterial;
/**
* 烹饪时间 单位 分钟
*/
private int cookingTime;
/**
* 烹饪步骤
*/
private List<FoodCookingStepBean> cookingSteps;
public String getWaterType() {
return waterType;
}
public void setWaterType(String waterType) {
this.waterType = waterType;
}
public String getCraft() {
return craft;
}
public void setCraft(String craft) {
this.craft = craft;
}
public List<FoodMaterialBean> getMajorMaterial() {
return majorMaterial;
}
public void setMajorMaterial(List<FoodMaterialBean> majorMaterial) {
this.majorMaterial = majorMaterial;
}
public List<FoodMaterialBean> getMinorMaterial() {
return minorMaterial;
}
public void setMinorMaterial(List<FoodMaterialBean> minorMaterial) {
this.minorMaterial = minorMaterial;
}
public int getCookingTime() {
return cookingTime;
}
public void setCookingTime(int cookingTime) {
this.cookingTime = cookingTime;
}
public List<FoodCookingStepBean> getCookingSteps() {
return cookingSteps;
}
public void setCookingSteps(List<FoodCookingStepBean> cookingSteps) {
this.cookingSteps = cookingSteps;
}
public String toString(){
String sep = "; ";
StringBuffer sb = new StringBuffer();
sb.append("Dietary").append(":");
sb.append("[waterType]").append(" = ").append(getWaterType()).append(sep);
sb.append("[craft]").append(" = ").append(getCraft()).append(sep);
sb.append("[majorMaterial]").append(" = ").append(getMajorMaterial()).append(sep);
sb.append("[minorMaterial]").append(" = ").append(getMinorMaterial()).append(sep);
sb.append("[cookingTime]").append(" = ").append(getCookingTime()).append(sep);
sb.append("[cookingSteps]").append(" = ").append(getCookingSteps()).append(sep);
return sb.toString();
}
public Map<String,Object> putFieldValueToMap() {
Map<String,Object> map_=new HashMap<String,Object>();
map_.put("waterType",getWaterType());
map_.put("craft",getCraft());
map_.put("majorMaterial",getMajorMaterial());
map_.put("minorMaterial",getMinorMaterial());
map_.put("cookingTime",getCookingTime());
map_.put("cookingSteps",getCookingSteps());
return map_;
}
@SuppressWarnings("unchecked")
public void doMapToDtoValue(Map<String, Object> map,boolean isDealNull) {
if(null!=map.get("waterType")){
this.setWaterType((String)map.get("waterType"));
}else{
if(isDealNull && map.containsKey("waterType"))
this.setWaterType((String)map.get("waterType"));
}
if(null!=map.get("craft")){
this.setCraft((String)map.get("craft"));
}else{
if(isDealNull && map.containsKey("craft"))
this.setCraft((String)map.get("craft"));
}
if(null!=map.get("majorMaterial")){
this.setMajorMaterial((List<FoodMaterialBean>)map.get("majorMaterial"));
}else{
if(isDealNull && map.containsKey("majorMaterial"))
this.setMajorMaterial((List<FoodMaterialBean>)map.get("majorMaterial"));
}
if(null!=map.get("minorMaterial")){
this.setMinorMaterial((List<FoodMaterialBean>)map.get("minorMaterial"));
}else{
if(isDealNull && map.containsKey("minorMaterial"))
this.setMinorMaterial((List<FoodMaterialBean>)map.get("minorMaterial"));
}
if(null!=map.get("cookingTime")){
this.setCookingTime((int)map.get("cookingTime"));
}else{
if(isDealNull && map.containsKey("cookingTime"))
this.setCookingTime((int)map.get("cookingTime"));
}
if(null!=map.get("cookingSteps")){
this.setCookingSteps((List<FoodCookingStepBean>)map.get("cookingSteps"));
}else{
if(isDealNull && map.containsKey("cookingSteps"))
this.setCookingSteps((List<FoodCookingStepBean>)map.get("cookingSteps"));
}
}
public static final String field_waterType = "waterType";
public static final String field_craft = "craft";
public static final String field_majorMaterial = "majorMaterial";
public static final String field_minorMaterial = "minorMaterial";
public static final String field_cookingTime = "cookingTime";
public static final String field_cookingSteps = "cookingSteps";
}
package com.jiankangyouyi.cloud.data.center.model.entity.mongo.component;
import java.util.HashMap;
import java.util.Map;
/**
* 烹饪步骤
*
* @since v4.0
* @author yangsongbo
*
*/
public class FoodCookingStepBean {
/**
* 序号
*/
private String stepSeq;
/**
* 图片
*/
private String imageKey;
/***
* 图片
*/
private String imageUrl;
/**
* 标题
*/
private String title;
/**
* 内容
*/
private String content;
public String getImageUrl() {
return imageUrl;
}
public void setImageUrl(String imageUrl) {
this.imageUrl = imageUrl;
}
public String getStepSeq() {
return stepSeq;
}
public void setStepSeq(String stepSeq) {
this.stepSeq = stepSeq;
}
public String getImageKey() {
return imageKey;
}
public void setImageKey(String imageKey) {
this.imageKey = imageKey;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public String toString(){
String sep = "; ";
StringBuffer sb = new StringBuffer();
sb.append("CookingStep").append(":");
sb.append("[stepSeq]").append(" = ").append(getStepSeq()).append(sep);
sb.append("[imageKey]").append(" = ").append(getImageKey()).append(sep);
sb.append("[imageUrl]").append(" = ").append(getImageUrl()).append(sep);
sb.append("[title]").append(" = ").append(getTitle()).append(sep);
sb.append("[content]").append(" = ").append(getContent()).append(sep);
return sb.toString();
}
public Map<String,Object> putFieldValueToMap() {
Map<String,Object> map_=new HashMap<String,Object>();
map_.put("stepSeq",getStepSeq());
map_.put("imageKey",getImageKey());
map_.put("imageUrl",getImageUrl());
map_.put("title",getTitle());
map_.put("content",getContent());
return map_;
}
public void doMapToDtoValue(Map<String, Object> map,boolean isDealNull) {
if(null!=map.get("stepSeq")){
this.setStepSeq((String)map.get("stepSeq"));
}else{
if(isDealNull && map.containsKey("stepSeq"))
this.setStepSeq((String)map.get("stepSeq"));
}
if(null!=map.get("imageKey")){
this.setImageKey((String)map.get("imageKey"));
}else{
if(isDealNull && map.containsKey("imageKey"))
this.setImageKey((String)map.get("imageKey"));
}
if(null!=map.get("imageUrl")){
this.setImageUrl((String)map.get("imageUrl"));
}else{
if(isDealNull && map.containsKey("imageUrl"))
this.setImageUrl((String)map.get("imageUrl"));
}
if(null!=map.get("title")){
this.setTitle((String)map.get("title"));
}else{
if(isDealNull && map.containsKey("title"))
this.setTitle((String)map.get("title"));
}
if(null!=map.get("content")){
this.setContent((String)map.get("content"));
}else{
if(isDealNull && map.containsKey("content"))
this.setContent((String)map.get("content"));
}
}
public static final String field_stepSeq = "stepSeq";
public static final String field_imageKey = "imageKey";
public static final String field_imageUrl = "imageUrl";
public static final String field_title = "title";
public static final String field_content = "content";
}
package com.jiankangyouyi.cloud.data.center.model.entity.mongo.component;
import java.util.HashMap;
import java.util.Map;
/**
* 食物扩展单位Bean
*
*/
public class FoodExtensionUnitBean {
/** 单位 */
private String unit;
/** 单位值 */
private int unitValue;
/**单位大小*/
private String unitSize;
public String getUnit() {
return unit;
}
public void setUnit(String unit) {
this.unit = unit;
}
public int getUnitValue() {
return unitValue;
}
public void setUnitValue(int unitValue) {
this.unitValue = unitValue;
}
public String getUnitSize() {
return unitSize;
}
public void setUnitSize(String unitSize) {
this.unitSize = unitSize;
}
public String toString() {
String sep = "; ";
StringBuffer sb = new StringBuffer();
sb.append("ExtensionUnit").append(":");
sb.append("[unit]").append(" = ").append(getUnit()).append(sep);
sb.append("[unitValue]").append(" = ").append(getUnitValue()).append(sep);
sb.append("[unitSize]").append(" = ").append(getUnitSize()).append(sep);
return sb.toString();
}
public Map<String, Object> putFieldValueToMap() {
Map<String, Object> map_ = new HashMap<String, Object>();
map_.put("unit", getUnit());
map_.put("unitValue", getUnitValue());
map_.put("unitSize", getUnitSize());
return map_;
}
public void doMapToDtoValue(Map<String, Object> map, boolean isDealNull) {
if (null != map.get("unit")) {
this.setUnit((String) map.get("unit"));
} else {
if (isDealNull && map.containsKey("unit"))
this.setUnit((String) map.get("unit"));
}
if (null != map.get("unitValue")) {
this.setUnitValue((int) map.get("unitValue"));
} else {
if (isDealNull && map.containsKey("unitValue"))
this.setUnitValue((int) map.get("unitValue"));
}
if (null != map.get("unitSize")) {
this.setUnitSize((String) map.get("unitSize"));
} else {
if (isDealNull && map.containsKey("unitSize"))
this.setUnitSize((String) map.get("unitSize"));
}
}
public static final String field_unit = "unit";
public static final String field_unitValue = "unitValue";
public static final String field_unitSize = "unitSize";
}
package com.jiankangyouyi.cloud.data.center.model.entity.mongo.component;
import java.util.HashMap;
import java.util.Map;
/**
* 食物质量比例
*
*/
public class FoodMassRatioBean {
/** 谷类 */
private double guPercent;
/** 杂豆类*/
private double zdPercent;
/** 薯类*/
private double shuPercent;
/** 淀粉类*/
private double dfPercent;
/** 肉类*/
private double rouPercent;
/** 蔬菜类*/
private double scPercent;
/** 菌藻类*/
private double jzPercent;
/** 水果类*/
private double sgPercent;
/** 蛋类*/
private double danPercent;
/** 乳类*/
private double ruPercent;
/** 大豆类*/
private double ddPercent;
/** 坚果类*/
private double jgPercent;
/** 零食类*/
private double lsPercent;
/** 饮品类*/
private double ypPercent;
/** 调味品类*/
private double twpPercent;
/** 油脂类*/
private double yzPercent;
public boolean isEmpty(){
if(this.guPercent ==0 && this.zdPercent==0 && this.shuPercent==0
&& this.dfPercent ==0 && this.rouPercent==0 && this.scPercent ==0
&& this.jzPercent ==0 && this.sgPercent==0 && this.danPercent==0
&& this.ruPercent ==0 && this.ddPercent==0 && this.jgPercent==0
&& this.lsPercent ==0 && this.ypPercent==0 && this.twpPercent==0
&& this.yzPercent ==0){
return true;
}
return false;
}
public double getGuPercent() {
return guPercent;
}
public void setGuPercent(double guPercent) {
this.guPercent = guPercent;
}
public double getZdPercent() {
return zdPercent;
}
public void setZdPercent(double zdPercent) {
this.zdPercent = zdPercent;
}
public double getShuPercent() {
return shuPercent;
}
public void setShuPercent(double shuPercent) {
this.shuPercent = shuPercent;
}
public double getDfPercent() {
return dfPercent;
}
public void setDfPercent(double dfPercent) {
this.dfPercent = dfPercent;
}
public double getRouPercent() {
return rouPercent;
}
public void setRouPercent(double rouPercent) {
this.rouPercent = rouPercent;
}
public double getJzPercent() {
return jzPercent;
}
public void setJzPercent(double jzPercent) {
this.jzPercent = jzPercent;
}
public double getScPercent() {
return scPercent;
}
public void setScPercent(double scPercent) {
this.scPercent = scPercent;
}
public double getSgPercent() {
return sgPercent;
}
public void setSgPercent(double sgPercent) {
this.sgPercent = sgPercent;
}
public double getDanPercent() {
return danPercent;
}
public void setDanPercent(double danPercent) {
this.danPercent = danPercent;
}
public double getRuPercent() {
return ruPercent;
}
public void setRuPercent(double ruPercent) {
this.ruPercent = ruPercent;
}
public double getDdPercent() {
return ddPercent;
}
public void setDdPercent(double ddPercent) {
this.ddPercent = ddPercent;
}
public double getJgPercent() {
return jgPercent;
}
public void setJgPercent(double jgPercent) {
this.jgPercent = jgPercent;
}
public double getLsPercent() {
return lsPercent;
}
public void setLsPercent(double lsPercent) {
this.lsPercent = lsPercent;
}
public double getYpPercent() {
return ypPercent;
}
public void setYpPercent(double ypPercent) {
this.ypPercent = ypPercent;
}
public double getTwpPercent() {
return twpPercent;
}
public void setTwpPercent(double twpPercent) {
this.twpPercent = twpPercent;
}
public double getYzPercent() {
return yzPercent;
}
public void setYzPercent(double yzPercent) {
this.yzPercent = yzPercent;
}
public String toString(){
String sep = "; ";
StringBuffer sb = new StringBuffer();
sb.append("MassRatio").append(":");
sb.append("[guPercent]").append(" = ").append(getGuPercent()).append(sep);
sb.append("[zdPercent]").append(" = ").append(getZdPercent()).append(sep);
sb.append("[shuPercent]").append(" = ").append(getShuPercent()).append(sep);
sb.append("[dfPercent]").append(" = ").append(getDfPercent()).append(sep);
sb.append("[rouPercent]").append(" = ").append(getRouPercent()).append(sep);
sb.append("[scPercent]").append(" = ").append(getScPercent()).append(sep);
sb.append("[jzPercent]").append(" = ").append(getJzPercent()).append(sep);
sb.append("[sgPercent]").append(" = ").append(getSgPercent()).append(sep);
sb.append("[danPercent]").append(" = ").append(getDanPercent()).append(sep);
sb.append("[ruPercent]").append(" = ").append(getRuPercent()).append(sep);
sb.append("[ddPercent]").append(" = ").append(getDdPercent()).append(sep);
sb.append("[jgPercent]").append(" = ").append(getJgPercent()).append(sep);
sb.append("[lsPercent]").append(" = ").append(getLsPercent()).append(sep);
sb.append("[ypPercent]").append(" = ").append(getYpPercent()).append(sep);
sb.append("[twpPercent]").append(" = ").append(getTwpPercent()).append(sep);
sb.append("[yzPercent]").append(" = ").append(getYzPercent()).append(sep);
return sb.toString();
}
public Map<String,Object> putFieldValueToMap() {
Map<String,Object> map_=new HashMap<String,Object>();
map_.put("guPercent",getGuPercent());
map_.put("zdPercent",getZdPercent());
map_.put("shuPercent",getShuPercent());
map_.put("dfPercent",getDfPercent());
map_.put("rouPercent",getRouPercent());
map_.put("scPercent",getScPercent());
map_.put("jzPercent",getJzPercent());
map_.put("sgPercent",getSgPercent());
map_.put("danPercent",getDanPercent());
map_.put("ruPercent",getRuPercent());
map_.put("ddPercent",getDdPercent());
map_.put("jgPercent",getJgPercent());
map_.put("lsPercent",getLsPercent());
map_.put("ypPercent",getYpPercent());
map_.put("twpPercent",getTwpPercent());
map_.put("yzPercent",getYzPercent());
return map_;
}
public void doMapToDtoValue(Map<String, Object> map,boolean isDealNull) {
if(null!=map.get("guPercent")){
this.setGuPercent((double)map.get("guPercent"));
}else{
if(isDealNull && map.containsKey("guPercent"))
this.setGuPercent((double)map.get("guPercent"));
}
if(null!=map.get("zdPercent")){
this.setZdPercent((double)map.get("zdPercent"));
}else{
if(isDealNull && map.containsKey("zdPercent"))
this.setZdPercent((double)map.get("zdPercent"));
}
if(null!=map.get("shuPercent")){
this.setShuPercent((double)map.get("shuPercent"));
}else{
if(isDealNull && map.containsKey("shuPercent"))
this.setShuPercent((double)map.get("shuPercent"));
}
if(null!=map.get("dfPercent")){
this.setDfPercent((double)map.get("dfPercent"));
}else{
if(isDealNull && map.containsKey("dfPercent"))
this.setDfPercent((double)map.get("dfPercent"));
}
if(null!=map.get("rouPercent")){
this.setRouPercent((double)map.get("rouPercent"));
}else{
if(isDealNull && map.containsKey("rouPercent"))
this.setRouPercent((double)map.get("rouPercent"));
}
if(null!=map.get("scPercent")){
this.setScPercent((double)map.get("scPercent"));
}else{
if(isDealNull && map.containsKey("scPercent"))
this.setScPercent((double)map.get("scPercent"));
}
if(null!=map.get("jzPercent")){
this.setJzPercent((double)map.get("jzPercent"));
}else{
if(isDealNull && map.containsKey("jzPercent"))
this.setJzPercent((double)map.get("jzPercent"));
}
if(null!=map.get("sgPercent")){
this.setSgPercent((double)map.get("sgPercent"));
}else{
if(isDealNull && map.containsKey("sgPercent"))
this.setSgPercent((double)map.get("sgPercent"));
}
if(null!=map.get("danPercent")){
this.setDanPercent((double)map.get("danPercent"));
}else{
if(isDealNull && map.containsKey("danPercent"))
this.setDanPercent((double)map.get("danPercent"));
}
if(null!=map.get("ruPercent")){
this.setRuPercent((double)map.get("ruPercent"));
}else{
if(isDealNull && map.containsKey("ruPercent"))
this.setRuPercent((double)map.get("ruPercent"));
}
if(null!=map.get("ddPercent")){
this.setDdPercent((double)map.get("ddPercent"));
}else{
if(isDealNull && map.containsKey("ddPercent"))
this.setDdPercent((double)map.get("ddPercent"));
}
if(null!=map.get("jgPercent")){
this.setJgPercent((double)map.get("jgPercent"));
}else{
if(isDealNull && map.containsKey("jgPercent"))
this.setJgPercent((double)map.get("jgPercent"));
}
if(null!=map.get("lsPercent")){
this.setLsPercent((double)map.get("lsPercent"));
}else{
if(isDealNull && map.containsKey("lsPercent"))
this.setLsPercent((double)map.get("lsPercent"));
}
if(null!=map.get("ypPercent")){
this.setYpPercent((double)map.get("ypPercent"));
}else{
if(isDealNull && map.containsKey("ypPercent"))
this.setYpPercent((double)map.get("ypPercent"));
}
if(null!=map.get("twpPercent")){
this.setTwpPercent((double)map.get("twpPercent"));
}else{
if(isDealNull && map.containsKey("twpPercent"))
this.setTwpPercent((double)map.get("twpPercent"));
}
if(null!=map.get("yzPercent")){
this.setYzPercent((double)map.get("yzPercent"));
}else{
if(isDealNull && map.containsKey("yzPercent"))
this.setYzPercent((double)map.get("yzPercent"));
}
}
public static final String field_guPercent = "guPercent";
public static final String field_zdPercent = "zdPercent";
public static final String field_shuPercent = "shuPercent";
public static final String field_dfPercent = "dfPercent";
public static final String field_rouPercent = "rouPercent";
public static final String field_scPercent = "scPercent";
public static final String field_jzPercent = "jzPercent";
public static final String field_sgPercent = "sgPercent";
public static final String field_danPercent = "danPercent";
public static final String field_ruPercent = "ruPercent";
public static final String field_ddPercent = "ddPercent";
public static final String field_jgPercent = "jgPercent";
public static final String field_lsPercent = "lsPercent";
public static final String field_ypPercent = "ypPercent";
public static final String field_twpPercent = "twpPercent";
public static final String field_yzPercent = "yzPercent";
}
package com.jiankangyouyi.cloud.data.center.model.entity.mongo.component;
import lombok.Getter;
import lombok.Setter;
import java.util.HashMap;
import java.util.Map;
/**
* 食材
* @author yangsongbo
*
*/
@Getter
@Setter
public class FoodMaterialBean {
/** 食材ID */
private String materialId;
/** 数量 */
private double count;
private String materialName;
/**
* 1或者为空 为食物库里的食物
* 2 为中医药材
* 3 为食材 注:在食物详情页中点击不可跳转食材页面
*/
private String type;
/**
* 食物图片Key
*/
private String imageKey;
public FoodMaterialBean(){
}
public FoodMaterialBean(String materialId, double count){
this.materialId = materialId;
this.count = count;
}
@Override
public String toString() {
String sep = "; ";
StringBuffer sb = new StringBuffer();
sb.append("FoodMaterialBean").append(":");
sb.append("[materialId]").append(" = ").append(getMaterialId()).append(sep);
sb.append("[count]").append(" = ").append(getCount()).append(sep);
sb.append("[materialName]").append(" = ").append(getMaterialName()).append(sep);
sb.append("[imageKey]").append(" = ").append(getImageKey()).append(sep);
sb.append("[type]").append(" = ").append(getType()).append(sep);
return sb.toString();
}
public Map<String,Object> putFieldValueToMap() {
Map<String,Object> map_=new HashMap<String,Object>();
map_.put("materialId",getMaterialId());
map_.put("count",getCount());
map_.put("materialName",getMaterialName());
map_.put("imageKey",getImageKey());
map_.put("type",getType());
return map_;
}
@SuppressWarnings("unchecked")
public void doMapToDtoValue(Map<String, Object> map,boolean isDealNull) {
if(null!=map.get("materialId")){
this.setMaterialId((String)map.get("materialId"));
}else{
if(isDealNull && map.containsKey("materialId")) {
this.setMaterialId((String)map.get("materialId"));
}
}
if(null!=map.get("count")){
this.setCount((double)map.get("count"));
}else{
if(isDealNull && map.containsKey("count")) {
this.setCount((double)map.get("count"));
}
}
if(null!=map.get("materialName")){
this.setMaterialName((String)map.get("materialName"));
}else{
if(isDealNull && map.containsKey("materialName")) {
this.setMaterialName((String)map.get("materialName"));
}
}
if(null!=map.get("imageKey")){
this.setImageKey((String)map.get("imageKey"));
}else{
if(isDealNull && map.containsKey("imageKey"))
this.setImageKey((String)map.get("imageKey"));
}
if(null!=map.get("type")){
this.setType((String)map.get("type"));
}else{
if(isDealNull && map.containsKey("type")) {
this.setType((String)map.get("type"));
}
}
}
public static final String field_materialId = "materialId";
public static final String field_count = "count";
public static final String field_materialName = "materialName";
public static final String field_imageKey = "imageKey";
public static final String field_type = "type";
}
package com.jiankangyouyi.cloud.data.center.model.entity.mongo.component;
import lombok.Data;
/**
* 存储度量衡图片和描述
*
* @author jingpeng
*
*/
@Data
public class FoodMetrologyEntryBean {
/**
* 度量衡图片
*/
private String imageKey;
/**
* 度量衡描述
*/
private String describe;
}
package com.jiankangyouyi.cloud.data.center.model.entity.mongo.component;
import lombok.Getter;
import lombok.Setter;
import java.util.List;
/**
* Created by hardy on 2019/6/18.
*/
@Setter
@Getter
public class FoodTcmProperties {
/**
* FoodTcmPropertyEnum
*/
private String type;
private List<String> property;
}
package com.jiankangyouyi.cloud.data.center.model.entity.mongo.healthanalysis;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jiankangyouyi.cloud.data.center.api.model.vo.analysis.health.*;
import lombok.*;
import lombok.experimental.FieldNameConstants;
import org.bson.types.ObjectId;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.index.CompoundIndex;
import org.springframework.data.mongodb.core.index.CompoundIndexes;
import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.Date;
/**
* 单日 日健康分析日志
*
* @author lvqidong
* @date 2021/11/22 19:52
**/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@CompoundIndexes(
value = {
@CompoundIndex(
name = "appId_-1_userId_-1_recordDate_-1",
def = "{ 'appId' : -1, 'userId' : -1,'recordDate':-1}",
unique = true
)
}
)
@Document(collection = "v3.day.health.analysis")
@FieldNameConstants
public class HealthAnalysisDayDO implements Serializable {
private static final long serialVersionUID = 1L;
@Id
private ObjectId id;
/**
* 更新时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
/**
* 创建时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
/**
* 有效状态 1 有效 2/其他无效
*/
private String validStatus;
/**
* 开发者名称
*/
private String appName;
/**
* 开发者
*/
private String appId;
/**
* 配置ID
*/
private String configId;
/**
* 用户ID
*/
private String userId;
/**
* bizType
*/
private String bizType;
/**
* NOT NULL 记录日期 yyyy-MM-dd
*/
@Size(max = 10, message = "请求参数recordDate长度不合法")
private String recordDate;
/**
* 生产日期
*/
@JsonFormat(
timezone = "GMT+8",
pattern = "yyyy-MM-dd HH:mm:ss"
)
private Date recordTime;
/**
* 记录ID
*/
private String recordId;
/**
* 版本 1 当前版本为1
*/
private String dataVersion;
/**
* 单日综合分析
*/
private SynthesisHealthAnalysisVO synthesisHealthAnalysis;
/**
*运动健康维度分析
*/
private ExerciseHealthDimensionalityAnalysisVO exerciseHealthDimensionalityAnalysis;
/**
* 心理状态维度分析
*/
private MentalityStatusDimensionalityAnalysisVO mentalityStatusDimensionalityAnalysis;
/**
*检测指标维度分析
*/
private CheckIndicatorDimensionalityAnalysisVO checkIndicatorDimensionalityAnalysis;
/**
*睡眠维度分析
*/
private SleepDimensionalityAnalysisVO sleepDimensionalityAnalysis;
/**
* 单日运动分析-规律运动
*/
private UserCalorieBalanceVO userCalorieBalance;
/**
* 单日运动消耗
*/
private ExerciseExpendVO exerciseExpend;
/**
* 均衡膳食
*/
private BalancingGoodFoodVO balancingGoodFood;
/**
* 用户食物摄入
*/
private UserIntakeFoodVO userIntakeFood;
public static final String FIELD_SYNTHESIS_HEALTH_ANALYSIS = "synthesisHealthAnalysis";
public static final String FIELD_EXERCISE_HEALTH_DIMENSIONALITY_ANALYSIS = "exerciseHealthDimensionalityAnalysis";
public static final String FIELD_MENTALITYSTATUSDIMENSIONALITYANALYSIS = "mentalityStatusDimensionalityAnalysis";
public static final String FIELD_CHECKINDICATORDIMENSIONALITYANALYSIS = "checkIndicatorDimensionalityAnalysis";
public static final String FIELD_SLEEPDIMENSIONALITYANALYSIS = "sleepDimensionalityAnalysis";
public static final String FIELD_USERCALORIEBALANCE = "userCalorieBalance";
public static final String FIELD_EXERCISEEXPEND = "exerciseExpend";
public static final String FIELD_BALANCINGGOODFOOD = "balancingGoodFood";
public static final String FIELD_USERINTAKEFOOD = "userIntakeFood";
public static final String FIELD_RECORDTIME = "recordTime";
}
package com.jiankangyouyi.cloud.data.center.model.entity.mongo.healthanalysis;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jiankangyouyi.cloud.data.center.api.model.vo.analysis.health.*;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.FieldNameConstants;
import org.bson.types.ObjectId;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.index.CompoundIndex;
import org.springframework.data.mongodb.core.index.CompoundIndexes;
import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;
/**
* 单日 日健康分析日志
*
* @author lvqidong
* @date 2021/11/22 19:52
**/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@CompoundIndexes(
value = {
@CompoundIndex(
name = "appId_-1_userId_-recordDateStart-1_recordDateEnd-1",
def = "{ 'appId' : -1, 'userId' : -1,'recordDateStart':-1,'recordDateEnd':-1}",
unique = true
)
}
)
@Document(collection = "v3.month.health.analysis")
@FieldNameConstants
public class HealthAnalysisMonthDO implements Serializable {
private static final long serialVersionUID = 1L;
@Id
private ObjectId id;
/**
* 更新时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime updateTime;
/**
* 创建时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTime;
/**
* 有效状态 1 有效 2/其他无效
*/
private String validStatus;
/**
* 开发者名称
*/
private String appName;
/**
* 开发者
*/
private String appId;
/**
* 配置ID
*/
private String configId;
/**
* 用户ID
*/
private String userId;
/**
* bizType
*/
private String bizType;
/**
* NOT NULL 记录日期 yyyy-MM-dd
*/
@Size(max = 10, message = "请求参数recordDate长度不合法")
private String recordDateStart;
@Size(max = 10, message = "请求参数recordDate长度不合法")
private String recordDateEnd;
/**
* 生产日期
*/
@JsonFormat(
timezone = "GMT+8",
pattern = "yyyy-MM-dd HH:mm:ss"
)
private Date recordTime;
/**
* 记录日期 yyyy-MM-dd
*/
private String recordDate;
/**
* 记录ID
*/
private String recordId;
/**
* 版本 1 当前版本为1
*/
private String dataVersion;
/**
* 单日综合分析
*/
private SynthesisHealthAnalysisVO synthesisHealthAnalysis;
/**
* 均衡善食 周报 月报
*/
private BalancingGoodFoodMonthVO balancingGoodFoodMonth;
/**
* 规律运动 周报 月报
*/
private SynthesisHealthSportVO synthesisHealthSport;
/**
* 步数量阶段分析
*/
private StepStageAnalysisVO stepStageAnalysis;
/**
* 步数量阶段分析
*/
private HeartRateStageAnalysisVO heartRateStageAnalysis;
/**
* 体温阶段分析
*/
private BodyTemperatureStageAnalysisVO bodyTemperatureStageAnalysis;
/**
* 血氧阶段分析
*/
private BloodOxygenStageAnalysisVO bloodOxygenStageAnalysis;
/**
* 血压阶段分析
*/
private BloodPressureStageAnalysisVO bloodPressureStageAnalysis;
/**
* HRV阶段分析
*/
private HrvStageAnalysisVO hrvStageAnalysis;
/**
* 压力阶段分析
*/
private StressStageAnalysisVO stressStageAnalysis;
/**
* 睡眠阶段分析
*/
private SleepStageAnalysisVO sleepStageAnalysis;
/**
* 总胆固醇阶段分析
*/
private TotalCholesterolStageAnalysisVO totalCholesterolStageAnalysis;
/**
* 血尿酸阶段分析
*/
private BloodUricAcidStageAnalysisVO bloodUricAcidStageAnalysis;
/**
* 血糖阶段分析
*/
private BloodGlucoseStageAnalysisVO bloodGlucoseStageAnalysis;
/**
* 人体成分阶段分析
*/
private BodyCompositionStageAnalysisVO bodyCompositionStageAnalysis;
}
package com.jiankangyouyi.cloud.data.center.model.entity.mongo.rule;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.FieldNameConstants;
import org.bson.types.ObjectId;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
import java.io.Serializable;
import java.util.List;
/**
* 周报月报 运动规则
*
* @author lvqidong
* @date 2021/11/12 09:34
**/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Document(collection = "v3.rule.sport")
@Builder
@FieldNameConstants
public class YearMonthSportRuleDO implements Serializable {
private static final long serialVersionUID = 1L;
@Id
private ObjectId id;
/**
* 规则编号
*/
private String codeNum;
/**
* 运动时间最小
*/
private String sportTimeMin;
/**
*运动时间最大
*/
private String sportTimeMax;
/**
* 运动频率最小
*/
private Integer minExerciseFrequency;
/**
* 运动频率最大
*/
private Integer maxExerciseFrequency;
/**
* 部分1 通用话术标准
* eg [公式7,90]
*/
private String generalBz;
/**
* 部分1 通用话术
* eg 根据近期连续运动数据,平均每天完成$分钟,推荐每日平均运动$分钟以上。
*/
private String generalMes;
/**
* 话术1判断逻辑
*/
private List<BaseMes> wordsTechnique1;
////////////////////////////////////////////部分2
/**
* 运动频率
*/
private List<FrequencyData> wordsTechnique2;
/**
* 运动强度
*
*/
private List<SportLevel> wordsTechnique3;
/**
* 运动强度 分数
*/
private Integer sportLevelScore;
/**
*
*热量消耗评估
*/
private List<EnergyLevel> wordsTechnique4;
/**
* 热量消耗综合话术
*
*/
private String energyLevelContext;
@Data
@NoArgsConstructor
@AllArgsConstructor
public static class BaseMes{
//公式判断条件
private String conditions;
//0 无记录 1欠佳 2良好 3优秀 4过量
private String code;
//返回内容
private String mess;
}
/**
* 运动频率
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public static class FrequencyData{
//0 疲劳 1 适宜 2 间隔时长
private String code;
//返回内容
private String mess;
}
/**
* 运动强度
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public static class SportLevel{
//1 有氧基础 2 有氧效率 3 无氧耐力
private String code;
//返回内容
private String mess;
}
/**
* 热量消耗
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public static class EnergyLevel{
/**
* [,170)
*/
private String conditions;
//1 一般 2 适宜 3 过多
private String code;
//返回内容
private String mess;
}
}
package com.jiankangyouyi.cloud.data.center.model.entity.mysql;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.*;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.sql.Timestamp;
import java.util.Date;
/**
* <p>
* 用户测评报告
* </p>
*
* @author fengxuanjun
* @since 2021-07-19
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("biz_app_user_report")
public class BizAppUserReportDO extends Model<BizAppUserReportDO> {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
/**
* 更新时间
*/
@TableField("update_time")
private Timestamp updateTime;
/**
* 创建时间
*/
@TableField("create_time")
private Timestamp createTime;
/**
* 创建时间
*/
@TableField("create_date")
private Date createDate;
/**
* 业务类型
*/
@TableField("biz_type")
private String bizType;
/**
* 报告ID
*/
@TableField("report_id")
private String reportId;
/**
* 应用ID
*/
@TableField("app_id")
private String appId;
/**
* 配置id
*/
@TableField("config_id")
private String configId;
/**
* 测评项目ID
*/
@TableField("user_id")
private String userId;
/**
* 性别:0:未知,1:男,2:女
*/
@TableField("gender")
private String gender;
/**
* 年龄
*/
@TableField("age")
private Integer age;
public static final String ID = "id";
public static final String UPDATE_TIME = "update_time";
public static final String CREATE_TIME = "create_time";
public static final String CREATE_DATE = "create_date";
public static final String BIZ_TYPE = "biz_type";
public static final String REPORT_ID = "report_id";
public static final String APP_ID = "app_id";
public static final String USER_ID = "user_id";
public static final String GENDER = "gender";
public static final String AGE = "age";
@Override
protected Serializable pkVal() {
return this.id;
}
}
package com.jiankangyouyi.cloud.data.center.model.entity.mysql;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import lombok.*;
import lombok.experimental.Accessors;
/**
* <p>
* 用户测评报告_疾病信息
* </p>
*
* @author fengxuanjun
* @since 2021-07-19
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("biz_app_user_report_disease")
public class BizAppUserReportDiseaseDO extends Model<BizAppUserReportDiseaseDO> {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
/**
* 报告ID
*/
@TableField("report_id")
private String reportId;
/**
* 疾病编码
*/
@TableField("disease_code")
private String diseaseCode;
/**
* 疾病名称
*/
@TableField("disease_name")
private String diseaseName;
/**
* 风险等级
*/
@TableField("risk_level")
private Integer riskLevel;
/**
* 风险等级描述
*/
@TableField("risk_description")
private String riskDescription;
public static final String ID = "id";
public static final String REPORT_ID = "report_id";
public static final String DISEASE_CODE = "disease_code";
public static final String DISEASE_NAME = "disease_name";
public static final String RISK_LEVEL = "risk_level";
public static final String RISK_DESCRIPTION = "risk_description";
@Override
protected Serializable pkVal() {
return this.id;
}
}
package com.jiankangyouyi.cloud.data.center.model.entity.mysql;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import lombok.*;
import lombok.experimental.Accessors;
/**
* <p>
* 用户测评报告_营养素状态信息
* </p>
*
* @author fengxuanjun
* @since 2021-11-25
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("biz_app_user_report_nutrient_state")
public class BizAppUserReportNutrientStateDO extends Model<BizAppUserReportNutrientStateDO> {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
/**
* 报告ID
*/
@TableField("report_id")
private String reportId;
/**
* 营养素状态编码
*/
@TableField("nutrient_state_code")
private String nutrientStateCode;
/**
* 营养素状态名称
*/
@TableField("nutrient_state_name")
private String nutrientStateName;
/**
* 风险等级
*/
@TableField("risk_level")
private Integer riskLevel;
/**
* 风险等级描述
*/
@TableField("risk_description")
private String riskDescription;
public static final String ID = "id";
public static final String REPORT_ID = "report_id";
public static final String NUTRIENT_STATE_CODE = "nutrient_state_code";
public static final String NUTRIENT_STATE_NAME = "nutrient_state_name";
public static final String RISK_LEVEL = "risk_level";
public static final String RISK_DESCRIPTION = "risk_description";
@Override
protected Serializable pkVal() {
return this.id;
}
}
package com.jiankangyouyi.cloud.data.center.model.entity.mysql;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import lombok.*;
import lombok.experimental.Accessors;
/**
* <p>
* 用户测评报告_风险因素信息
* </p>
*
* @author fengxuanjun
* @since 2021-07-19
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("biz_app_user_report_risk_factor")
public class BizAppUserReportRiskFactorDO extends Model<BizAppUserReportRiskFactorDO> {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
/**
* 报告ID
*/
@TableField("report_id")
private String reportId;
/**
* 风险因素编码
*/
@TableField("risk_factor")
private String riskFactor;
/**
* 风险因素名称
*/
@TableField("risk_factor_name")
private String riskFactorName;
/**
* 疾病编码
*/
@TableField("disease_code")
private String diseaseCode;
/**
* 疾病名称
*/
@TableField("disease_name")
private String diseaseName;
/**
* 风险等级
*/
@TableField("risk_level")
private Integer riskLevel;
/**
* 风险等级描述
*/
@TableField("risk_description")
private String riskDescription;
public static final String ID = "id";
public static final String REPORT_ID = "report_id";
public static final String RISK_FACTOR = "risk_factor";
public static final String RISK_FACTOR_NAME = "risk_factor_name";
public static final String DISEASE_CODE = "disease_code";
public static final String DISEASE_NAME = "disease_name";
public static final String RISK_LEVEL = "risk_level";
public static final String RISK_DESCRIPTION = "risk_description";
@Override
protected Serializable pkVal() {
return this.id;
}
}
package com.jiankangyouyi.cloud.data.center.model.entity.mysql;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.sql.Timestamp;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import lombok.*;
import lombok.experimental.Accessors;
/**
* <p>
*
* </p>
*
* @author fengxuanjun
* @since 2021-11-30
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("biz_health_permission")
public class BizHealthPermissionDO extends Model<BizHealthPermissionDO> {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
@TableField("permission_name")
private String permissionName;
@TableField("permission_code")
private String permissionCode;
/**
* 所属产品几大中心
*/
@TableField("product_type")
private String productType;
/**
* 分类code(字典)HealthRightTypeEnum
*/
@TableField("category_code")
private String categoryCode;
/**
* 创建时间
*/
@TableField("create_time")
private Timestamp createTime;
/**
* 修改时间
*/
@TableField("update_time")
private Timestamp updateTime;
/**
* 操作账号
*/
@TableField("operator_account")
private String operatorAccount;
/**
* 权限描述
*/
@TableField("permission_desc")
private String permissionDesc;
/**
* 权限图片url
*/
@TableField("permission_url")
private String permissionUrl;
/**
* 是否有效:1:有效,UUID:无效
*/
@TableField("valid_status")
private String validStatus;
/**
* biz_type 类型
*/
@TableField("biz_type")
private String bizType;
@Override
protected Serializable pkVal() {
return this.id;
}
}
package com.jiankangyouyi.cloud.data.center.model.entity.mysql;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.sql.Timestamp;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import lombok.*;
import lombok.experimental.Accessors;
/**
* <p>
* 健康权限
* </p>
*
* @author fengxuanjun
* @since 2021-10-21
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("biz_health_right")
public class BizHealthRightDO extends Model<BizHealthRightDO> {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
/**
* 更新时间
*/
@TableField("update_time")
private Timestamp updateTime;
/**
* 创建时间
*/
@TableField("create_time")
private Timestamp createTime;
/**
* 应用ID
*/
@TableField("app_id")
private String appId;
/**
* 业务类型
*/
@TableField("biz_type")
private String bizType;
/**
* 配置ID
*/
@TableField("config_id")
private String configId;
/**
* 权限类型
* 1:健康项目,
* 2:健康模块权限
* 3:健康标签权限
* 后续扩展...
*/
@TableField("right_type")
private String rightType;
/**
* 1:健康项目
* TYPE_2_DIABETES:2型糖尿病
* HYPERTENSION:高血压
* HPYPERLIPIDEMIA:高血脂
* OSTEOPOROSIS:骨质疏松
* GOUT:痛风
* FATTY_LIVER:脂肪肝
* STROKE:脑卒中
* HYPERURICEMIA:高尿酸血症
* OBESITY:肥胖
* AD:阿尔兹海默症
* COPD:慢阻肺
* ASCVD:动脉粥样硬化性心血管
* ICVD:缺血性心血管
* TSH:甲状腺功能减退(甲减)
* IIH:甲状腺功能亢进(甲亢)
* INSOMNIA:失眠
* NUTRIENT_DEFICIENCY:营养不良
* CFS:慢性疲劳综合征
* DIET:饮食
* EXERCISE:运动
*
* 2:测评报告模块权限
* DIETARY_NUTRITION:膳食营养
* EXERCISE_HEALTH:运动健康
* DAILY_LIFE:生活起居
* MEDICAL_GUIDE:医学指导
*
* 3:健康报告标签权限
* 注释:
* * 健康报告
* INDICATOR:异常指标解读
* RISK_FACTOR:主要风险因素
* HEALTH_PROBLEM:需关注健康问题
* * 膳食营养
* MEALS_MATCHING:三餐合理配比
* BALANCED_DIET:平衡膳食
* DIET_PRINCIPLE:饮食原则
* * 运动健康
* EXERCISE_PRINCIPLE:运动原则
* EXERCISE_NOTICE:运动注意事项
* * 生活起居
* DAILY_LIFE:生活起居
* * 医学指导
* NUTRIENT_SUPPLEMENT_RECOMMEND:营养素补充剂推荐
* MEDICAL_ADVICE:就医建议
* DAILY_DISEASE_MONITORING:日常病情监测
*/
@TableField("right_item")
private String rightItem;
/**
* 产品类型
*/
@TableField("product_type")
private String productType;
/**
* 产品类型 属于那个产品配置的code
*/
@TableField("belong_product_type")
private String belongProductType;
public static final String ID = "id";
public static final String UPDATE_TIME = "update_time";
public static final String CREATE_TIME = "create_time";
public static final String APP_ID = "app_id";
public static final String BIZ_TYPE = "biz_type";
public static final String CONFIG_ID = "config_id";
public static final String PRODUCT_TYPE = "product_type";
public static final String RIGHT_TYPE = "right_type";
public static final String RIGHT_ITEM = "right_item";
public static final String BELONGPRODUCTTYPE = "belong_product_type";
@Override
protected Serializable pkVal() {
return this.id;
}
}
package com.jiankangyouyi.cloud.data.center.model.semantic;
import com.jiankangyouyi.cloud.data.center.enums.SemanticRecordIntentEnum;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
/**
* 语音解析返回数据
*
* @author jingpeng
*/
@Data
@Builder
@NoArgsConstructor
public class SemanticRecordAnalysisResult {
/**
* 意图 RECORD_MEAL,RECORD_SPORT,UNKOWN
* {@link SemanticRecordIntentEnum}
*/
private String intent;
/**
* 时间 AM、NOON、PM
*/
private String dayTime;
/**
* 名称
*/
private String itemName;
/**
* 数量
*/
private BigDecimal count;
/**
* 单位
*/
private String unit;
public SemanticRecordAnalysisResult(String intent, String dayTime, String itemName, BigDecimal count, String unit) {
this.intent = intent;
this.dayTime = dayTime;
this.itemName = itemName;
this.count = count;
this.unit = unit;
}
}
package com.jiankangyouyi.cloud.data.center.model.semantic;
import com.jiankangyouyi.cloud.data.center.model.vo.api.SemanticRecordExerciseAnalysisResult;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.util.List;
/**
* 语义解析-记录运动
*
* @author jingpeng
*/
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class SemanticSpeechRecordExerciseAnalysisVO {
/**
* 解析结果
*/
private List<SemanticRecordExerciseAnalysisResult> result;
/**
* 语音解析出的文本,或文字解析收到的文本
*/
private String speechText;
}
package com.jiankangyouyi.cloud.data.center.model.semantic;
import com.jiankangyouyi.cloud.data.center.model.vo.api.SemanticRecordFoodAnalysisResult;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* 语义解析-记录饮食
*
* @author jingpeng
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class SemanticSpeechRecordFoodAnalysisVO {
/**
* 解析结果
*/
private List<SemanticRecordFoodAnalysisResult> result;
/**
* 语音解析出的文本,或文字解析收到的文本
*/
private String speechText;
}
package com.jiankangyouyi.cloud.data.center.model.vo.api;
import com.jiankangyouyi.cloud.data.center.model.vo.api.component.SystemExerciseInfo;
import lombok.Data;
import java.math.BigDecimal;
/**
* 语音解析出运动信息
*
* @author jingpeng
*/
@Data
public class SemanticRecordExerciseAnalysisResult {
/**
* 解析结果 1 成功 2 失败
*/
private String analysisResult;
/**
* 实体名称
*/
private String exerciseName;
/**
* 数量
*/
private BigDecimal quantity;
/**
* 单位
*/
private String unit;
/**
* 热量
*/
private Integer energy;
/**
* 运动信息
*/
private SystemExerciseInfo exerciseInfo;
}
package com.jiankangyouyi.cloud.data.center.model.vo.api;
import com.jiankangyouyi.cloud.data.center.model.bean.FoodInfoBean;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* 语义解析记录食物返回对象
*
* @author jingpeng
*/
@Data
public class SemanticRecordFoodAnalysisResult implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 解析结果 1 成功 2 失败
*/
private String analysisResult;
/**
* 饮食类型 1 早餐 2 午餐 3 晚餐
*/
private String mealType;
/**
* 食物名称
*/
private String foodName;
/**
* 数量
*/
private BigDecimal quantity;
/**
* 单位
*/
private String unit;
/**
* 热量
*/
private Integer energy;
/**
* 食物信息
*/
private FoodInfoBean foodInfo;
}
package com.jiankangyouyi.cloud.data.center.model.vo.api.component;
import com.jiankangyouyi.cloud.data.center.api.enums.ConsumeRecordTypeEnum;
import lombok.Builder;
import lombok.Data;
import java.io.Serializable;
/**
* 系统运动信息返回页面数据bean
*
* @author jingpeng
*/
@Data
@Builder
public class SystemExerciseInfo implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 运动ID
*/
private String exerciseId;
/**
* 运动名称
*/
private String exerciseName;
/**
* 运动图片
*/
private String imageUrl;
/**
* 运动描述
*/
private String exerciseDesc;
/**
* 默认单位 (分钟)
*/
private String unit;
/**
* 最小数量
*/
private double minQuantity;
/**
* 基础数量的热量
*/
private int minQuantityEnergy;
/**
* 运动类型,系统运动 {@link ConsumeRecordTypeEnum}
*/
private String exerciseType;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment