package cn.iocoder.yudao.module.system.controller.admin.evaluation.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY;

@Schema(description = "管理后台 - 膳食满意度调查 Response VO")
@Data
public class FoodSatisfactionSurveyRespVO {

    @Schema(description = "id", example = "1")
    private Long id;

    @Schema(description = "角色")
    private String role;

    @Schema(description = "记录日期")
    @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY)
    private LocalDate recordDate;

    @Schema(description = "菜品新鲜度")
    private BigDecimal fresh;

    @Schema(description = "菜品口味（咸淡、口感等）")
    private BigDecimal taste;

    @Schema(description = "菜品种类丰富度")
    private BigDecimal variety;

    @Schema(description = "主食多样性（米饭、面食等）")
    private BigDecimal staple;

    @Schema(description = "汤品 / 饮品口感与温度")
    private BigDecimal soup;

    @Schema(description = "菜品营养搭配合理性")
    private BigDecimal nutrition;

    @Schema(description = "餐具清洁程度")
    private BigDecimal tableware;

    @Schema(description = "用餐环境卫生（桌椅、地面等）")
    private BigDecimal environment;

    @Schema(description = "工作人员服务态度")
    private BigDecimal attitude;

    @Schema(description = "菜品供应及时性（未出现长时间断供）")
    private BigDecimal timely;

    @Schema(description = "菜品分量充足度")
    private BigDecimal portion;

    @Schema(description = "是否满足软食需求")
    private String softFood;

    @Schema(description = "是否满足素食需求")
    private String vegetarian;

    @Schema(description = "对有过敏食材的人群，是否能提供明确的食材标注")
    private String allergyLabel;

    @Schema(description = "最需要改进的方面")
    private String improve;

    @Schema(description = "希望新增哪些菜品或服务")
    private String newDishes;

    @Schema(description = "其他想反馈的内容")
    private String other;

    @Schema(description = "膳食质量评价总分")
    private BigDecimal qualityTotal;

    @Schema(description = "膳食服务评价总分")
    private BigDecimal serviceTotal;

    @Schema(description = "提交人")
    private String submitter;

    @Schema(description = "机构id")
    private Long tenantId;

    @Schema(description = "创建时间")
    private LocalDateTime createTime;

    @Schema(description = "更新时间")
    private LocalDateTime updateTime;
}
