package com.hzya.frame.sys.role.entity;

import java.util.Date;
import cn.dev33.satoken.stp.StpUtil;
import com.hzya.frame.sys.module.entity.Module;
import com.hzya.frame.sys.roleModule.entity.RoleModule;
import com.hzya.frame.sys.userRole.entity.UserRole;
import com.hzya.frame.sys.viewFiled.entity.ViewFiled;
import com.hzya.frame.uuid.UUIDUtils;
import com.hzya.frame.web.entity.BaseEntity;
import org.springframework.format.annotation.DateTimeFormat;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.math.BigDecimal;
import java.util.List;

/**
 * @description: 角色
 * @tableName:   sys_role
 * @entityName:  Role
 * @author: 	 llg
 * @history:	 1.0
 */
public class  Role  extends BaseEntity {

	/** 主键ID */
	private String id;
	/** 名称 */
	private String roleName;
	/** 所属分类 */
	private String category;
	/** 编号 */
	private String roleCode;
	/** 固定角色、相对角色、自建角色  1：固定角色 2：相对角色 3：自建角色 */
	private String roleType;
	/** 单位角色/部门角色  0：集团角色 1：单位角色 2：部门角色 3：不使用 4：不使用 5：业务生成器 6：sso */
	private String roleBond;
	/** 是否是基准角色  1：是 0：否 */
	private String isBenchmark;
	/** 所属单位 */
	private String orgAccountId;
	/** 所属单位 */
	private String orgName;
	/** 排序 */
	private Long sorts;
	/** 是否启用 1:启用 0停用 */
	private String isEnable;
	/** 是否被删除 1:删除  0:未删除 */
	private String isDeleted;
	/** 描述 */
	private String description;
	/** 内外标识 0：内部1:  外部人员  */
	private String externalType;
	/** 前台授权 */
	private String frontAuthorization;
	/** 选人界面 */
	private String personSelectionInterface;
	/** 创建人id */
	private String createUserId;
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date createTime;
	/** 修改人id */
	private String modifyUserId;
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date modifyTime;
	/** 状态(Y正常N删除) */
	private String sts;
	/** 组织机构ID */
	private String orgId;
	private String sort;
	private String order;
	private List<Module> modules;
	//页数 利用pageHelper
	private Integer pageNum;
	//数量 利用pageHelper
	private Integer pageSize;
	private List<ViewFiled> viewFiledList;
	private List<RoleModule> roleModules;
	private List<UserRole> userRoles;
	private List<String> userIds;
	private List<String> modulesIds;

	public List<String> getModulesIds() {
		return modulesIds;
	}

	public void setModulesIds(List<String> modulesIds) {
		this.modulesIds = modulesIds;
	}

	/** 主键ID */
	public void setId(String id) {
		this.id = id;
	}
	/** 主键ID */
	public String getId() {
		return id;
	}
	/** 名称 */
	public void setRoleName(String roleName) {
		this.roleName = roleName;
	}
	/** 名称 */
	public String getRoleName() {
		return roleName;
	}
	/** 所属分类 */
	public void setCategory(String category) {
		this.category = category;
	}
	/** 所属分类 */
	public String getCategory() {
		return category;
	}
	/** 编号 */
	public void setRoleCode(String roleCode) {
		this.roleCode = roleCode;
	}
	/** 编号 */
	public String getRoleCode() {
		return roleCode;
	}
	/** 固定角色、相对角色、自建角色  1：固定角色 2：相对角色 3：自建角色 */
	public void setRoleType(String roleType) {
		this.roleType = roleType;
	}
	/** 固定角色、相对角色、自建角色  1：固定角色 2：相对角色 3：自建角色 */
	public String getRoleType() {
		return roleType;
	}
	/** 单位角色/部门角色  0：集团角色 1：单位角色 2：部门角色 3：不使用 4：不使用 5：业务生成器 6：sso */
	public void setRoleBond(String roleBond) {
		this.roleBond = roleBond;
	}
	/** 单位角色/部门角色  0：集团角色 1：单位角色 2：部门角色 3：不使用 4：不使用 5：业务生成器 6：sso */
	public String getRoleBond() {
		return roleBond;
	}
	/** 是否是基准角色  1：是 0：否 */
	public void setIsBenchmark(String isBenchmark) {
		this.isBenchmark = isBenchmark;
	}
	/** 是否是基准角色  1：是 0：否 */
	public String getIsBenchmark() {
		return isBenchmark;
	}
	/** 所属单位 */
	public void setOrgAccountId(String orgAccountId) {
		this.orgAccountId = orgAccountId;
	}
	/** 所属单位 */
	public String getOrgAccountId() {
		return orgAccountId;
	}
	/** 排序 */
	public void setSorts(Long sorts) {
		this.sorts = sorts;
	}
	/** 排序 */
	public Long getSorts() {
		return sorts;
	}
	/** 是否启用 1:启用 0停用 */
	public void setIsEnable(String isEnable) {
		this.isEnable = isEnable;
	}
	/** 是否启用 1:启用 0停用 */
	public String getIsEnable() {
		return isEnable;
	}
	/** 是否被删除 1:删除  0:未删除 */
	public void setIsDeleted(String isDeleted) {
		this.isDeleted = isDeleted;
	}
	/** 是否被删除 1:删除  0:未删除 */
	public String getIsDeleted() {
		return isDeleted;
	}
	/** 描述 */
	public void setDescription(String description) {
		this.description = description;
	}
	/** 描述 */
	public String getDescription() {
		return description;
	}
	/** 内外标识 0：内部1:  外部人员  */
	public void setExternalType(String externalType) {
		this.externalType = externalType;
	}
	/** 内外标识 0：内部1:  外部人员  */
	public String getExternalType() {
		return externalType;
	}
	/** 前台授权 */
	public void setFrontAuthorization(String frontAuthorization) {
		this.frontAuthorization = frontAuthorization;
	}
	/** 前台授权 */
	public String getFrontAuthorization() {
		return frontAuthorization;
	}
	/** 选人界面 */
	public void setPersonSelectionInterface(String personSelectionInterface) {
		this.personSelectionInterface = personSelectionInterface;
	}
	/** 选人界面 */
	public String getPersonSelectionInterface() {
		return personSelectionInterface;
	}
	/** 创建人id */
	public void setCreateUserId(String createUserId) {
		this.createUserId = createUserId;
	}
	/** 创建人id */
	public String getCreateUserId() {
		return createUserId;
	}
	/** 创建时间 */
	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}
	/** 创建时间 */
	public Date getCreateTime() {
		return createTime;
	}
	/** 修改人id */
	public void setModifyUserId(String modifyUserId) {
		this.modifyUserId = modifyUserId;
	}
	/** 修改人id */
	public String getModifyUserId() {
		return modifyUserId;
	}
	/** 修改时间 */
	public void setModifyTime(Date modifyTime) {
		this.modifyTime = modifyTime;
	}
	/** 修改时间 */
	public Date getModifyTime() {
		return modifyTime;
	}
	/** 状态(Y正常N删除) */
	public void setSts(String sts) {
		this.sts = sts;
	}
	/** 状态(Y正常N删除) */
	public String getSts() {
		return sts;
	}
	/** 组织机构ID */
	public void setOrgId(String orgId) {
		this.orgId = orgId;
	}
	/** 组织机构ID */
	public String getOrgId() {
		return orgId;
	}
	public String getSort() {
		return sort;
	}

	public void setSort(String sort) {
		this.sort = sort;
	}

	public String getOrder() {
		return order;
	}

	public void setOrder(String order) {
		this.order = order;
	}




	public Integer getPageNum() {
		return pageNum;
	}

	public void setPageNum(Integer pageNum) {
		this.pageNum = pageNum;
	}

	public Integer getPageSize() {
		return pageSize;
	}

	@Override
    public void setPageSize(Integer pageSize) {
		this.pageSize = pageSize;
	}

	public List<ViewFiled> getViewFiledList() {
		return viewFiledList;
	}

	public void setViewFiledList(List<ViewFiled> viewFiledList) {
		this.viewFiledList = viewFiledList;
	}

	public List<Module> getModules() {
		return modules;
	}

	public void setModules(List<Module> modules) {
		this.modules = modules;
	}

	public List<RoleModule> getRoleModules() {
		return roleModules;
	}

	public void setRoleModules(List<RoleModule> roleModules) {
		this.roleModules = roleModules;
	}

	public List<UserRole> getUserRoles() {
		return userRoles;
	}

	public void setUserRoles(List<UserRole> userRoles) {
		this.userRoles = userRoles;
	}

	public String getOrgName() {
		return orgName;
	}

	public void setOrgName(String orgName) {
		this.orgName = orgName;
	}

	public List<String> getUserIds() {
		return userIds;
	}

	public void setUserIds(List<String> userIds) {
		this.userIds = userIds;
	}

}
