package cn.reghao.oss.console.account.model.dto;

import cn.reghao.oss.console.account.model.po.Menu;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * @author reghao
 * @date 2021-04-04 22:42:14
 */
@NoArgsConstructor
@Data
public class MenuAddDTO implements Serializable {
    private static final long serialVersionUID = 1L;

    // Menu 类型
    @NotBlank(message = "菜单类型不能为空白字符串")
    private String type;
    @NotBlank(message = "菜单名不能为空白字符串")
    private String name;
    @NotBlank(message = "URL 地址不能为空白字符串，目录类型使用可使用 # 字符")
    private String url;
    // 父级菜单 ID
    @NotNull(message = "父级菜单不能为 NULL")
    private Integer pid;
    // 在同一个 pid 组内的位置，作为排序使用
    private Integer pos;

    public Menu to() {
        Menu menu = new Menu();
        menu.setType(this.getType());
        menu.setName(this.getName());
        menu.setUrl(this.getUrl());
        menu.setIcon("layui-icon layui-icon-face-smile");
        menu.setPid(this.getPid());
        menu.setPos(this.getPos());
        menu.setEnabled(true);
        return menu;
    }
}
