package org.dromara.system.domain.bo;

import org.dromara.system.domain.GameTeam;
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_team
 *
 * @author zlt
 * @date 2025-07-30
 */
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = GameTeam.class, reverseConvertGenerate = false)
public class GameTeamBo extends BaseEntity {
    /**
     * 主键
     */
    @NotNull(message = "主键不能为空", groups = { EditGroup.class })
    private Long teamId;

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

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

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

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

    /**
     * 队员列表
     */
//    @NotBlank(message = "队员列表不能为空", groups = { AddGroup.class, EditGroup.class })
    private String athleteValue;

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

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

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

    /**
     * 团队描述
     */
//    @NotBlank(message = "团队描述不能为空", groups = { AddGroup.class, EditGroup.class })
    private String teamDescribe;

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

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


}
