package org.dromara.art.domain.bo;

import org.dromara.art.domain.ArtHistoryScoreControlLine;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;

/**
 * 历年省控线业务对象 art_history_score_control_line
 *
 * @author ZhouWenTao
 * @date 2026-02-20
 */
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = ArtHistoryScoreControlLine.class, reverseConvertGenerate = false)
public class ArtHistoryScoreControlLineBo extends BaseEntity {

    /**
     * 省控线主键
     */
    @NotNull(message = "省控线主键不能为空", groups = { EditGroup.class })
    private Long controlId;

    /**
     * 省份行政区划代码
     */
    @NotBlank(message = "省份行政区划代码不能为空", groups = { AddGroup.class, EditGroup.class })
    private String provinceCode;

    /**
     * 省份名称
     */
    @NotBlank(message = "省份名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String provinceName;

    /**
     * 年份
     */
    @NotNull(message = "年份不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long year;

    /**
     * 专业类别
     */
    @NotBlank(message = "专业类别不能为空", groups = { AddGroup.class, EditGroup.class })
    private String majorCategory;

    /**
     * 批次
     */
    @NotBlank(message = "批次不能为空", groups = { AddGroup.class, EditGroup.class })
    private String batchName;

    /**
     * 科类(文/理)
     */
    @NotBlank(message = "科类(文/理)不能为空", groups = { AddGroup.class, EditGroup.class })
    private String subjectType;

    /**
     * 文化成绩分数
     */
    private Long cultureScore;

    /**
     * 专业成绩分数
     */
    private Long majorScore;

    /**
     * 文化成绩校考分数
     */
    private Long cultureScoreExam;

    /**
     * 专业成绩校考分数
     */
    private Long majorScoreExam;

    /**
     * 备注
     */
    private String remark;


}
