package org.dromara.system.domain.bo;

import org.dromara.system.domain.GameAthlete;
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.*;

/**
 * 参赛队员业务对象 game_athlete
 *
 * @author zlt
 * @date 2025-07-30
 */
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = GameAthlete.class, reverseConvertGenerate = false)
public class GameAthleteBo extends BaseEntity {

    /**
     * 主键
     */
    private Long athleteId;

    /**
     * 用户ID
     */
//    @NotNull(message = "用户ID不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long userId;

    /**
     * 赛事ID
     */
    private Long eventId;

    /**
     * 队伍ID
     */
//    @NotNull(message = "队伍ID不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long teamId;

    /**
     * 运动员编号
     */
    @NotBlank(message = "运动员编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String athleteCode;

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

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

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

    /**
     * 单位
     */
    private String unit;

    /**
     * 证件号
     */
//    @NotBlank(message = "证件号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String idCard;

    /**
     * 芯片号
     */
//    @NotBlank(message = "芯片号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String chipCode;

    /**
     * 手机号
     */
//    @NotBlank(message = "手机号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String phone;

    /**
     * 居住地址
     */
//    @NotBlank(message = "居住地址不能为空", groups = { AddGroup.class, EditGroup.class })
    private String location;

    /**
     * T恤尺码
     */
//    @NotBlank(message = "T恤尺码不能为空", groups = { AddGroup.class, EditGroup.class })
    private String tshirtSize;

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

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

    /**
     * 参与项目列表
     */
//    @NotBlank(message = "参与项目列表不能为空", groups = { AddGroup.class, EditGroup.class })
    private String projectValue;

    /**
     * 状态（0正常 1停用）
     */
//    @NotBlank(message = "状态（0正常 1停用）不能为空", groups = { AddGroup.class, EditGroup.class })
    private String status;

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


}
