全部开发者教程

企业级在线办公系统

这一章我们完成了用户管理模块的开发,用户数据的CRUD操作都已经实现了,咱们一起来做个总结吧。

一、实现用户记录有条件分页查询

这一章的内容,简单概括起来就是CRUD操作,但是深入去挖掘每种操作的细节,还是有很多技术难点的。比如说有条件查询用户分页记录,我们写SQL语句的时候就遇上了个钉子。我们想要在表格中显示用户的角色名称,SQL语句就很难写。比如说一个用户有多个角色,我们怎么在一条用户信息里面融合多个角色记录?那就只能把多个角色名称拼接成一个字符串,然后和用户信息结合。很多同学在学习中,第一次体验到了GROUP_CONCAT这个函数的用途。至于说记录分页,我们用LIMIT子句就可以查询某页的用户记录,后端把分页数据封装到PageUtils对象返回给前端。前端利用分页控件自动实现分页功能,ElementUI组件库真挺方便的。

二、添加新用户记录

添加新用户的时候,我们要在弹窗页面中填写用户信息。这个弹窗页面对于很多同学来说就弄得很头晕。如果你知道VUE里面的自定义标签,就能看明白弹窗页面是怎么来的了。我把弹窗页面设计成了自定义标签,引入到用户管理页面。如果你看不懂这部分前端代码,我建议大家好好补习一下VUE知识。自定义标签这个知识点,有半天时间就能学会。弹窗页面里面有表单验证,如果我们填写的信息没有问题,Ajax是能提交到后端Web方法的,这样用户就添加到数据表里面了。

三、修改已有用户记录

修改用户信息也是在弹窗页面完成的,只不过我们调用弹窗页面init函数的时候要传入具体的用户id,弹窗页面的JS代码会判断应该把请求发送给哪个Web方法,是该添加用户,还是修改用户信息。至于说弹窗页面显示的时候自带的用户原始信息,那是通过SQL语句查询出来的,同学们有时间可以看看那部分前后端的代码,并不难,挺简单的。

四、删除非超级管理员用户

这一章最后的任务是删除用户记录,我说的删除,指的是删除非超级管理员的用户记录。如果允许你把超级管理员删除掉,那谁来管理这个OA系统啊。还有一个注意事项就是员工不能删除自己的用户记录,删除别人的记录是可以的,前提是你要有ROOT或者USER:DELETE权限。无论删除还是修改用户信息,都要把相关的用户踢下线。我们调用SA-TOKEN里面的工具类就能完成题用户下线,挺方便的。

五、员工离职和工作交接

用户管理模块还差员工离职功能没做,我会把这个功能放在课程更新阶段再来讲。这是因为一个员工可能跟多个正在执行的工作流有关联,如果简单粗暴的修改用户状态为离职,那他负责的工作流就没人处理了。所以我们还要把跟离职员工有关的工作流,转交给某位在职员工来处理,这个功能点讲起来细节太多,所以课程更新的时候,时间比较充裕,我们再来开发这个功能。以上的这些就是本章的全部内容了,看来我们开发用户管理模块,在技术上是很有收获的。像是角色管理、部门管理这些模块也都是CRUD操作,功能上跟用户管理类似,讲起来非常的枯燥,而且浪费时间,所以我把角色管理和部门管理模块的开发步骤写到了手册里面,这样节省下来的时间,我可以讲一讲CRUD以外的功能,可以更好的扩充大家的知识面。大家一定要看一下角色管理和部门管理两章的手册,你自己动手把这两个模块给完成一下,也算是当做课后作业检验一下自己的开发水平。