package com.hotwj.platform.resourceManagement.companyPermissionGrant.domain.bo;

import com.hotwj.platform.resourceManagement.companyPermissionGrant.domain.HotCompanyPermissionGrant;
import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.mybatis.core.domain.BaseEntity;

import java.util.Date;

@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = HotCompanyPermissionGrant.class, reverseConvertGenerate = false)
public class HotCompanyPermissionGrantBo extends BaseEntity {

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

    private Long companyId;

    private Long grantorManagerId;

    private Long grantorUserId;

    @NotNull(message = "被授权人安全管理人员ID不能为空", groups = {AddGroup.class, EditGroup.class})
    private Long granteeManagerId;

    private Long granteeUserId;

    @NotBlank(message = "权限标识不能为空", groups = {AddGroup.class, EditGroup.class})
    private String permissionCode;

    private Long menuId;

    private Long status;

    private Date effectiveTime;

    private Date expireTime;

    private String remark;

    private Long isDeleted;
}
