若依源码分析(6)——部门管理

部门管理界面 /system/dept

在这里插入图片描述

SysDeptController控制部门CRUD

/**
 * 部门信息
 * 
 * @author ruoyi
 */
@Controller
@RequestMapping("/system/dept")
public class SysDeptController extends BaseController
{
   
    private String prefix = "system/dept";

    @Autowired
    private ISysDeptService deptService;

    // 跳转到dept.html
    @RequiresPermissions("system:dept:view")
    @GetMapping()
    public String dept()
    {
   
        return prefix + "/dept";
    }

    // 各种Controller方法...

pojo - sys_dept部门表

/**
 * 部门表 sys_dept
 * 
 * @author ruoyi
 */
public class SysDept extends BaseEntity
{
   
    private static final long serialVersionUID = 1L;

    /** 部门ID */
    private Long deptId;

    /** 父部门ID */
    private Long parentId;

    /** 祖级列表 */
    private String ancestors;

    /** 部门名称 */
    private String deptName;

    /** 显示顺序 */
    private String orderNum;

    /** 负责人 */
    private String leader;

    /** 联系电话 */
    private String phone;

    /** 邮箱 */
    private String email;

    /** 部门状态:0正常,1停用 */
    private String status;

    /** 删除标志(0代表存在 2代表删除) */
    private String delFlag;

    /** 父部门名称 */
    private String parentName;

    public Long getDeptId()
    {
   
        return deptId;
    }

    public void setDeptId(Long deptId)
    {
   
        this.deptId = deptId;
    }

    public Long getParentId()
    {
   
        return parentId;
    }

    public void setParentId(Long parentId)
    {
   
        this.parentId = parentId;
    }

    public String getAncestors()
    {
   
        return ancestors;
    }

    public void setAncestors(String ancestors)
    {
   
        this.ancestors = ancestors;
    }

    @NotBlank(message = "部门名称不能为空")
    @Size(min = 0, max = 30, message = "部门名称长度不能超过30个字符")
    public String getDeptName()
    {
   
        return deptName;
    }

    public void setDeptName(String deptName)
    {
   
        this.deptName = deptName;
    }

    @NotBlank(message = "显示顺序不能为空")
    public String getOrderNum()
    {
   
        return orderNum;
    }

    public void setOrderNum(String orderNum)
    {
   
        this.orderNum = orderNum;
    }

    public String getLeader()
    {
   
        return leader;
    }

    public void setLeader(String leader)
    {
   
        this.leader = leader;
    }

    @Size(min = 0, max = 11, message = "联系电话长度不能超过11个字符")
    public String getPhone()
    {
   
        return phone;
    }

    public void setPhone(String phone)
    {
   
        this.phone = phone;
    }

    @Email(message = "邮箱格式不正确")
    @Size(min = 0, max = 50, message = "邮箱长度不能超过50个字符")
    public String getEmail()
    {
   
        return email;
    }

    public void setEmail(String email)
    {
   
        this.email = email;
    }

    public String getStatus()
    {
   
        return status;
    }

    public void setStatus(String status)
    {
   
        this.status = status;
    }

    public String getDelFlag()
    {
   
        return delFlag;
    }

    public void setDelFlag(String delFlag)
    {
   
        this.delFlag = delFlag;
    }

    public String getParentName()
    {
   
        return parentName;
    }

    public void setParentName(String parentName)
    {
   
        this.parentName = parentName;
    }

    @Override
    public String toString() {
   
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("deptId", getDeptId())
            .append("parentId", getParentId(
  • 5
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
RuoYi若依管理系统是一个基于SpringBoot的权限管理系统,代码易读易懂、界面简洁美观。 核心技术采用Spring、MyBatis、Shiro没有任何其它重度依赖。直接运行即可用。 RuoYi若依管理系统功能: 1、用户管理:用户是系统操作者,该功能主要完成系统用户配置。 2、部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持权限。 3、岗位管理:配置系统用户所属担任职务。 4、菜单管理:配置系统菜单,操作权限,按钮权限标识等。 5、角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。 6、字典管理:对系统中经常使用的一些较为固定的数据进行维护。 7、参数管理:对系统动态配置常用参数。 8、通知公告:系统通知公告信息发布维护。 9、操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。 10、登录日志:系统登录日志记录查询包含登录异常。 11、在线用户:当前系统中活跃用户状态监控。 12、定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。 13、代码生成:前后端代码的生成(java、html、xml、sql)支持CRUD下载 。 14、系统接口:根据业务代码自动生成相关的api接口文档。 15、服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。 16、在线构建器:拖动表单元素生成相应的HTML代码。 17、连接池监视:监视当前系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。   RuoYi若依管理系统 更新日志: v4.6.1 新增IE浏览器版本过低提示页面 新增详细信息tab页签方式 新增解锁屏幕打开上次页签 数据监控默认账户密码防止越权访问 新增表格示例(导出选择列) 个人信息添加手机&邮箱重复验证 个人中心刷新后样式问题 操作日志返回参数添加非空验证 velocity剔除commons-collections版本,防止3.2.1版本的反序列化漏洞 子表模板默认日期格式化 代码生成预览语言根据后缀名高亮显示 代码生成主子表相同字段导致数据问题 升级SpringBoot到最新版本2.2.13 升级shiro到最新版1.7.1 阻止身份认证绕过漏洞 升级bootstrapTable到最新版本v1.18.2 升级bootstrapTable相关组件到最新版本v1.18.2 升级fastjson到最新版1.2.75 升级druid到最新版本v1.2.4 升级oshi到最新版本v5.6.0 修改ip字段长度防止ipv6地址长度不够 搜索建议示例选择后隐藏列表 主子表示例增加初始化数据 优化Excel导入增加空行判断 修复横向菜单无法打开页签问题 修复导入数据为负浮点数时,导入结果会丢失精度问题 优化更多操作按钮左侧移入内容闪现消失情况 修复主子表提交中列隐藏后出现列偏移问题 单据打印网页时通过hidden-print隐藏元素 表格销毁清除记住选择数据 增加表格动态列示例 代码生成选择主子表关联元素必填 tree根据Id和Name选中指定节点增加空判断 其他细节优化
加壳是指将一个已经编译好的可执行文件,通过加密、压缩等手段,使其变得难以被反汇编和逆向工程,从而提高软件的安全性。其中,UPX 是一种常用的加壳工具,可以将 Windows 和 Linux 下的可执行文件进行压缩和加密。 下面我们来分析一下 UPX 的加壳原理: 1. 文件压缩 UPX 首先对可执行文件进行压缩,可以使用多种压缩算法,包括 LZMA、LZ77 和 Huffman 等。这些算法可以将文件中的重复数据或者无效数据进行删除或者压缩,从而减小文件的体积。 2. 加密 UPX 还可以对压缩后的文件进行加密,可以使用多种加密算法,包括 Blowfish、AES 和 RC4 等。加密可以使得文件内容变得难以被窃取和分析,从而提高软件的安全性。 3. 重定位 由于压缩和加密可能会影响可执行文件的结构,因此 UPX 还需要对文件进行重定位,以确保可执行文件在运行时能够正确加载和执行。重定位是指将可执行文件中的函数地址和数据地址进行修改,使得它们能够正确地指向压缩和加密后的数据。 4. 解压 当可执行文件被运行时,UPX 会先解压它,然后将它加载到内存中,并将其重定位。解压是指将压缩和加密后的文件恢复成原来的可执行文件,以便能够正确地执行其中的函数和数据。 总的来说,UPX 的加壳原理就是通过文件压缩、加密和重定位等手段,使得可执行文件变得难以被分析和逆向工程。但是,需要注意的是,UPX 只是一种基本的加壳工具,对于一些高级的反调试和反反汇编技术,可能并不能有效地提高软件的安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值