package org.dromara.system.domain.bo;

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

/**
 * 服务区工具栏业务对象 vs_nav_service_toolbar
 *
 * @author system
 * @date 2025-01-20
 */
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = VsNavServiceToolbar.class, reverseConvertGenerate = false)
public class VsNavServiceToolbarBo extends BaseEntity {

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

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

    /**
     * 类型标识
     */
    @NotBlank(message = "类型标识不能为空", groups = { AddGroup.class, EditGroup.class })
    private String type;

    /**
     * 图标图片URL
     */
    private String pic;

    /**
     * 跳转类型（1内部页面，2外部链接，3小程序）
     */
    private Integer jumpType;

    /**
     * 跳转路径
     */
    private String jumpPath;

    /**
     * 分类ID（1行前必备，2游玩工具，3出行保障，4公共服务）
     */
    @NotNull(message = "分类ID不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer categoryId;

    /**
     * 排序号
     */
    private Integer sortNum;

    /**
     * 状态（0正常，1停用）
     */
    private Integer status;

    /**
     * 显示标志（0显示，1隐藏）
     */
    private Integer showFlag;

}
