package com.bonus.canteen.core.nutrition.common.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.bonus.canteen.core.common.utils.SysUtil;
import com.bonus.canteen.core.menu.vo.MenuMaterialBasVO;
import com.bonus.canteen.core.nutrition.handler.DoubleTwoHandler;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.util.List;

@ApiModel("健康菜谱菜品详情")
public class HealthRecipeDishesVo {
   @ApiModelProperty("菜品id")
   private Long dishesId;
   @ApiModelProperty("菜品名称")
   private String dishesName;
   @ApiModelProperty("菜品图片地址")
   private String imageUrl;
   @ApiModelProperty("份数")
   private Integer copies;
   @ApiModelProperty("热量(千卡/每份)")
   @TableField(
      typeHandler = DoubleTwoHandler.class
   )
   private Double calories;
   @ApiModelProperty("蛋白质(g/每份)")
   @TableField(
      typeHandler = DoubleTwoHandler.class
   )
   private Double protein;
   @ApiModelProperty("脂肪(g/每份)")
   @TableField(
      typeHandler = DoubleTwoHandler.class
   )
   private Double fat;
   @ApiModelProperty("碳水化合物(g/每份)")
   @TableField(
      typeHandler = DoubleTwoHandler.class
   )
   private Double carbohydrate;
   @ApiModelProperty("膳食纤维(g/每份)")
   @TableField(
      typeHandler = DoubleTwoHandler.class
   )
   private Double dietaryFiber;
   @ApiModelProperty("胆固醇(mg/每份)")
   @TableField(
      typeHandler = DoubleTwoHandler.class
   )
   private Double cholesterol;
   @ApiModelProperty("钙(mg/每份)")
   @TableField(
      typeHandler = DoubleTwoHandler.class
   )
   private Double calcium;
   @ApiModelProperty("钠(mg/每份)")
   @TableField(
      typeHandler = DoubleTwoHandler.class
   )
   private Double sodium;
   @ApiModelProperty("菜品原料")
   private List<MenuMaterialBasVO> menuMaterialBasVOList;

   public void setImageUrl(String imageUrl) {
      this.imageUrl = SysUtil.getCutFileUrl(imageUrl);
   }

   public String getImgUrl() {
      return SysUtil.getCutFileUrl(this.imageUrl);
   }

   public Long getDishesId() {
      return this.dishesId;
   }

   public String getDishesName() {
      return this.dishesName;
   }

   public String getImageUrl() {
      return this.imageUrl;
   }

   public Integer getCopies() {
      return this.copies;
   }

   public Double getCalories() {
      return this.calories;
   }

   public Double getProtein() {
      return this.protein;
   }

   public Double getFat() {
      return this.fat;
   }

   public Double getCarbohydrate() {
      return this.carbohydrate;
   }

   public Double getDietaryFiber() {
      return this.dietaryFiber;
   }

   public Double getCholesterol() {
      return this.cholesterol;
   }

   public Double getCalcium() {
      return this.calcium;
   }

   public Double getSodium() {
      return this.sodium;
   }

   public List<MenuMaterialBasVO> getMenuMaterialBasVOList() {
      return this.menuMaterialBasVOList;
   }

   public void setDishesId(final Long dishesId) {
      this.dishesId = dishesId;
   }

   public void setDishesName(final String dishesName) {
      this.dishesName = dishesName;
   }

   public void setCopies(final Integer copies) {
      this.copies = copies;
   }

   public void setCalories(final Double calories) {
      this.calories = calories;
   }

   public void setProtein(final Double protein) {
      this.protein = protein;
   }

   public void setFat(final Double fat) {
      this.fat = fat;
   }

   public void setCarbohydrate(final Double carbohydrate) {
      this.carbohydrate = carbohydrate;
   }

   public void setDietaryFiber(final Double dietaryFiber) {
      this.dietaryFiber = dietaryFiber;
   }

   public void setCholesterol(final Double cholesterol) {
      this.cholesterol = cholesterol;
   }

   public void setCalcium(final Double calcium) {
      this.calcium = calcium;
   }

   public void setSodium(final Double sodium) {
      this.sodium = sodium;
   }

   public void setMenuMaterialBasVOList(final List<MenuMaterialBasVO> menuMaterialBasVOList) {
      this.menuMaterialBasVOList = menuMaterialBasVOList;
   }

   public HealthRecipeDishesVo(final Long dishesId, final String dishesName, final String imageUrl, final Integer copies, final Double calories, final Double protein, final Double fat, final Double carbohydrate, final Double dietaryFiber, final Double cholesterol, final Double calcium, final Double sodium, final List<MenuMaterialBasVO> menuMaterialBasVOList) {
      this.dishesId = dishesId;
      this.dishesName = dishesName;
      this.imageUrl = imageUrl;
      this.copies = copies;
      this.calories = calories;
      this.protein = protein;
      this.fat = fat;
      this.carbohydrate = carbohydrate;
      this.dietaryFiber = dietaryFiber;
      this.cholesterol = cholesterol;
      this.calcium = calcium;
      this.sodium = sodium;
      this.menuMaterialBasVOList = menuMaterialBasVOList;
   }

   public HealthRecipeDishesVo() {
   }
}
