package org.dromara.main.domain.bo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.main.domain.MainAbilityConfig;
import org.dromara.main.domain.MainExamEvaluation;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = MainExamEvaluation.class, reverseConvertGenerate = false)
public class MainExamEvaluationBo extends BaseEntity {

    @NotNull(message = "测评ID不能为空", groups = { EditGroup.class })
    private Long id;

    @NotBlank(message = "测评名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String evaluationName;

    private String grade;
    private String position;
    private String positionType;
    private String tags;
    private Long mainImage;
    private String imageAlbum;
    private String detail;
    private BigDecimal price;

    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date onTime;

    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date downTime;

    private String status;

    /**
     * 能力配置列表
     */
    private List<MainAbilityConfig> abilityConfigs;
}
