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

import java.util.Date;
import cn.dev33.satoken.stp.StpUtil;
import com.hzya.frame.sys.roleModule.entity.RoleModule;
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_module
 * @entityName:  Module
 * @author: 	 llg
 * @history:	 1.0
 */
public class  Module  extends BaseEntity {

	/** 主键ID */
	private String id;
	/** Spring bean名称 */
	private String serviceName;
	/** 等级 */
	private String lvl;
	/** 名称 */
	private String name;
	/** 编码 */
	private String code;
	/** 类型  0、menu 1、tree  2、list 3、view */
	private String formType;
	/** 模块操作级别Superadministrator */
	private String level;
	/** 模块图标 */
	private String icon;
	/** 上级id */
	private String upIds;
	/** bean表名称映射key */
	private String tableName;
	/** 是否关键模块(Y是N否) */
	private String keyModular;
	/** 跳转目标 */
	private String target;

	/** label */
	private String label;
	/** options */
	private String options;
	/** 排序编号 */
	private Long sorts;
	/** 备注 */
	private String remark;
	/** 菜单打开方式 */
	private String openType;
	/** 表单ID */
	private String formId;
	/** 应用id */
	private String appId;
	/** 创建人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 path;
	/** 一级Layout 二级 ParntView 三级component */
	private String component;
	/** 隐藏 */
	private String hidden;
	/** redirevt */
	private String redirect;
	/** alwaysShow */
	private String alwaysShow;
	/** 标题 */
	private String title;
	/** nocache缓存 */
	private String noCache;
	private String sort;
	private String order;

	//页数 利用pageHelper
	private Integer pageNum;
	//数量 利用pageHelper
	private Integer pageSize;
	//下级菜单
	private List<Module> children;
	private List<RoleModule> roleModules;

	private boolean ifCheck;
	private List<ViewFiled> viewFiledList;
	/** Spring bean名称 */
	public void setServiceName(String serviceName) {
		this.serviceName = serviceName;
	}
	/** Spring bean名称 */
	public String getServiceName() {
		return serviceName;
	}
	/** 等级 */
	public void setLvl(String lvl) {
		this.lvl = lvl;
	}
	/** 等级 */
	public String getLvl() {
		return lvl;
	}
	/** 名称 */
	public void setName(String name) {
		this.name = name;
	}
	/** 名称 */
	public String getName() {
		return name;
	}
	/** 编码 */
	public void setCode(String code) {
		this.code = code;
	}
	/** 编码 */
	public String getCode() {
		return code;
	}
	/** 类型  0、menu 1、tree  2、list 3、view */
	public void setFormType(String formType) {
		this.formType = formType;
	}
	/** 类型  0、menu 1、tree  2、list 3、view */
	public String getFormType() {
		return formType;
	}
	/** 模块操作级别Superadministrator */
	public void setLevel(String level) {
		this.level = level;
	}
	/** 模块操作级别Superadministrator */
	public String getLevel() {
		return level;
	}
	/** 模块图标 */
	public void setIcon(String icon) {
		this.icon = icon;
	}
	/** 模块图标 */
	public String getIcon() {
		return icon;
	}
	/** 上级id */
	public void setUpIds(String upIds) {
		this.upIds = upIds;
	}
	/** 上级id */
	public String getUpIds() {
		return upIds;
	}
	/** bean表名称映射key */
	public void setTableName(String tableName) {
		this.tableName = tableName;
	}
	/** bean表名称映射key */
	public String getTableName() {
		return tableName;
	}
	/** 是否关键模块(Y是N否) */
	public void setKeyModular(String keyModular) {
		this.keyModular = keyModular;
	}
	/** 是否关键模块(Y是N否) */
	public String getKeyModular() {
		return keyModular;
	}
	/** 跳转目标 */
	public void setTarget(String target) {
		this.target = target;
	}
	/** 跳转目标 */
	public String getTarget() {
		return target;
	}
	/** 排序编号 */
	public void setSorts(Long sorts) {
		this.sorts = sorts;
	}
	/** 排序编号 */
	public Long getSorts() {
		return sorts;
	}
	/** 备注 */
	public void setRemark(String remark) {
		this.remark = remark;
	}
	/** 备注 */
	public String getRemark() {
		return remark;
	}
	/** 菜单打开方式 */
	public void setOpenType(String openType) {
		this.openType = openType;
	}
	/** 菜单打开方式 */
	public String getOpenType() {
		return openType;
	}
	/** 表单ID */
	public void setFormId(String formId) {
		this.formId = formId;
	}
	/** 表单ID */
	public String getFormId() {
		return formId;
	}
	/** 应用id */
	public void setAppId(String appId) {
		this.appId = appId;
	}
	/** 应用id */
	public String getAppId() {
		return appId;
	}
	/** 创建人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;
	}
	/** 组织机构ID */
	public void setOrgId(String orgId) {
		this.orgId = orgId;
	}
	/** 组织机构ID */
	public String getOrgId() {
		return orgId;
	}
	/** 路由地址 */
	public void setPath(String path) {
		this.path = path;
	}
	/** 路由地址 */
	public String getPath() {
		return path;
	}
	/** 一级Layout 二级 ParntView 三级component */
	public void setComponent(String component) {
		this.component = component;
	}
	/** 一级Layout 二级 ParntView 三级component */
	public String getComponent() {
		return component;
	}
	/** 隐藏 */
	public void setHidden(String hidden) {
		this.hidden = hidden;
	}
	/** 隐藏 */
	public String getHidden() {
		return hidden;
	}
	/** redirevt */
	public void setRedirect(String redirect) {
		this.redirect = redirect;
	}
	/** redirevt */
	public String getRedirect() {
		return redirect;
	}
	/** alwaysShow */
	public void setAlwaysShow(String alwaysShow) {
		this.alwaysShow = alwaysShow;
	}
	/** alwaysShow */
	public String getAlwaysShow() {
		return alwaysShow;
	}
	/** 标题 */
	public void setTitle(String title) {
		this.title = title;
	}
	/** 标题 */
	public String getTitle() {
		return title;
	}
	/** nocache缓存 */
	public void setNoCache(String noCache) {
		this.noCache = noCache;
	}
	/** nocache缓存 */
	public String getNoCache() {
		return noCache;
	}

	public List<Module> getChildren() {
		return children;
	}

	public void setChildren(List<Module> children) {
		this.children = children;
	}



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

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

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

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

	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 boolean isIfCheck() {
		return ifCheck;
	}

	public void setIfCheck(boolean ifCheck) {
		this.ifCheck = ifCheck;
	}

	public String getLabel() {
		return label;
	}

	public void setLabel(String label) {
		this.label = label;
	}

	@Override
	public String getId() {
		return id;
	}

	@Override
	public void setId(String id) {
		this.id = id;
	}

	@Override
	public String getSts() {
		return sts;
	}

	@Override
	public void setSts(String sts) {
		this.sts = sts;
	}

	@Override
	public String getSort() {
		return sort;
	}

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

	@Override
	public String getOrder() {
		return order;
	}

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

	public String getOptions() {
		return options;
	}

	public void setOptions(String options) {
		this.options = options;
	}
}
