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;
}
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