赞
踩
源码获取:俺的博客首页 "资源" 里下载!
项目介绍:
员工管理、部门管理、职位管理、薪资管理、考勤管理、请假管理、奖惩管理、日志管理、文件下载、文件上传、图表展示
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.数据库:MySql 5.7版本;
6.是否Maven项目:是;
技术栈
JSP +SpringBoot + MyBatis + html+ css + JavaScript + JQuery + Ajax + layui+ maven等等
使用说明
1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;
若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;
3. 将项目中springmvc-servlet.xml配置文件中的数据库配置改为自己的配置;
4. 运行项目
- @Controller
- @RequestMapping("/user")
- public class UserController extends BaseController{
-
- private String prefix = "system/user/";
-
- @Autowired
- IUserService iUserService;
- @Autowired
- IRoleService iRoleService;
- @Autowired
- IDeptService iDeptService;
- @Autowired
- IPositionService iPositionService;
-
- @Autowired
- private SysPasswordService passwordService;
-
-
-
- /**
- *
- * @描述 跳转到用户页面
- *
- * @date 2018/9/16 10:54
- */
- @RequestMapping("/tolist")
- @RequiresPermissions("user:list")
- public String toUserList()
- {
- return prefix + "user";
- }
-
-
- /**
- * @描述 用户数据
- * @date 2018/9/15 12:30
- */
- @RequestMapping("/tableList")
- @ResponseBody
- public TableDataInfo list(User user)
- {
- startPage();
- List<User> users = iUserService.selectByUser(user);
-
- return getDataTable(users);
- }
-
-
- /**
- * 编辑用户 system/user/edit/20180914-1
- */
- @RequiresPermissions("user:update")
- @RequestMapping("/edit/{userId}")
- public String edit(@PathVariable("userId") String userId, Model model)
- {
- // 个人信息
- User user = iUserService.selectByPrimaryKey(userId);
- Map<String, Object> role_post_dept = getRole_Post_Dept();
- model.addAttribute("depts", role_post_dept.get("dept"));
- model.addAttribute("roles", role_post_dept.get("role"));
- model.addAttribute("positions", role_post_dept.get("position"));
- model.addAttribute("user", user);
- return prefix + "edit";
- }
-
- /**
- *
- * @描述 保存用户
- *
- * @date 2018/9/15 18:53
- */
- @PostMapping("/editSave")
- @RequiresPermissions("user:update")
- @Operlog(modal = "用户管理", descr = "修改用户信息")
- @ResponseBody
- public AjaxResult save(User user)
- {
- if (StringUtils.isNotNull(user.getUid()) && User.isBoss(user.getUid()))
- {
- return error("不允许修改管理员用户");
- }
- if(user.getPwd()!=null){
- user.setSalt(ShiroUtils.randomSalt());
- SimpleHash md5 = new SimpleHash("MD5", user.getPwd(), user.getSalt(), 1024);
- user.setPwd(md5.toHex());
- }
- return result(iUserService.updateByPrimaryKeySelective(user));
- }
-
-
- /**
- * @描述 添加用户页面
- * @date 2018/9/15 18:46
- */
- @RequestMapping("/toAdd")
- @RequiresPermissions("user:add")
- public String toaddUser(Model model)
- {
- Map<String, Object> role_post_dept = getRole_Post_Dept();
- model.addAttribute("depts", role_post_dept.get("dept"));
- model.addAttribute("roles", role_post_dept.get("role"));
- model.addAttribute("positions", role_post_dept.get("position"));
- return prefix + "add";
- }
-
- /**
- *
- * @描述 添加用户
- *
- * @date 2018/9/15 20:40
- */
- @RequestMapping("/addSave")
- @RequiresPermissions("user:add")
- @Operlog(modal = "用户管理", descr = "添加用户")
- @ResponseBody
- public AjaxResult addUser(User user)
- {
- user.setSalt(ShiroUtils.randomSalt());
- SimpleHash md5 = new SimpleHash("MD5", user.getPwd(), user.getSalt(), 1024);
- user.setPwd(md5.toHex());
- user.setAvatar(CsEnum.avatar.USER_AVATAR.getValue());
- user.setCreateTime(new Date());
- return result(iUserService.insertSelective(user));
- }
-
- /**
- *
- * @描述 批量删除
- *
- * @date 2018/9/16 9:31
- */
- @RequestMapping("/del")
- @RequiresPermissions("user:del")
- @Operlog(modal = "用户模块", descr = "删除用户")
- @ResponseBody
- public AjaxResult delByUserIds(String[] ids)
- {
- try
- {
- int i = iUserService.deleteByPrimaryKeys(ids);
- }
- catch (Exception e)
- {
- return error(e.getMessage());
- }
- return success();
- }
-
- /**
- *
- * @描述 编辑密码修改页面
- *
- * @date 2018/9/16 10:25
- */
- @RequestMapping("/resetPwd/{userId}")
- @RequiresPermissions("user:update")
- public String editPwd(@PathVariable("userId") String id, Model model)
- {
- model.addAttribute("uid", id);
- return prefix + "resetPwd";
- }
-
-
- /**
- *
- * @描述 密码修改
- *
- * @date 2018/9/16 10:42
- */
- @RequestMapping("/resetPwd")
- @RequiresPermissions("user:update")
- @Operlog(modal = "用户模块", descr = "修改密码")
- @ResponseBody
- public AjaxResult resetPwd(User user)
- {
- return result(iUserService.resrtPwd(user));
- }
-
- /**
- * 校验手机号码
- */
- @PostMapping("/checkPhoneUnique")
- @ResponseBody
- public String checkPhoneUnique(User user)
- {
- String uniqueFlag = "0";
- if (user != null)
- {
- uniqueFlag = iUserService.checkPhoneUnique(user);
- }
- return uniqueFlag;
- }
-
- /**
- * 校验email邮箱
- */
- @PostMapping("/checkEmailUnique")
- @ResponseBody
- public String checkEmailUnique(User user)
- {
- String uniqueFlag = "0";
- if (user != null)
- {
- uniqueFlag = iUserService.checkEmailUnique(user);
- }
- return uniqueFlag;
- }
-
-
- /**
- *
- * @描述: 校验登录名唯一性
- *
- * @params:
- * @return:
- * @date: 2018/10/2 17:06
- */
- @PostMapping("/checkLoginNameUnique")
- @ResponseBody
- public String checkLoginNameUnique(User user)
- {
- String uniqueFlag = "0";
- if (user != null)
- {
- uniqueFlag = iUserService.checkLoginNameUnique(user);
- }
- return uniqueFlag;
- }
-
-
- public Map<String, Object> getRole_Post_Dept()
- {
- Map<String, Object> map = new HashMap<>();
- // 角色
- List<Role> roles = iRoleService.selectRoleList(new Role());
- // 部门信息
- List<Dept> depts = iDeptService.selectDeptList(new Dept());
- // 岗位
- List<Position> positions = iPositionService.selectPositionList(new Position());
- map.put("role", roles);
- map.put("dept", depts);
- map.put("position", positions);
-
- return map;
- }
-
-
- /**
- * 用户个人信息查看页面
- */
- @RequestMapping("/myMsg")
- public String ToMyMsg(Model model, HttpServletRequest request)
- {
- User user = iUserService.selectByPrimaryKey(getUserId());
- model.addAttribute("user", user);
- model.addAttribute("loginIp", HttpHeaderUtil.getIpAddr(request));
- return prefix + "profile/msg";
- }
-
-
- /**
- * 密码修改页面
- */
- @RequestMapping("/resetMyPwd")
- public String toResetPwd(Model model)
- {
- User user = iUserService.selectByPrimaryKey(getUserId());
- model.addAttribute("user", user);
- return prefix + "profile/resetPwd";
- }
-
- /**
- * 密码修改保存
- */
- @RequestMapping("/updateMyPwdSave")
- @ResponseBody
- @RequiresPermissions("user:update")
- @Operlog(modal = "个人信息", descr = "修改密码")
- public AjaxResult updateMyPwdSave(String password)
- {
- User user = new User();
- user.setSalt(ShiroUtils.randomSalt());
- SimpleHash md5 = new SimpleHash("MD5", password, user.getSalt(), 1024);
- user.setPwd(md5.toHex());
- user.setUid(getUserId());
- int i = iUserService.updateByPrimaryKeySelective(user);
- if (i > 0)
- {
- //更新shiro中的信息
- ShiroUtils.reloadUser(iUserService.selectByPrimaryKey(getUserId()));
- return success();
- }
- return error();
- }
-
- /**
- * 编辑用户头像修改
- */
- @RequestMapping("/updateAvatar")
- public String toupdateAvatar(Model model)
- {
- model.addAttribute("user", getUser());
- return prefix + "profile/avatar";
- }
-
- /**
- * 修改保存用户头像
- */
- @RequestMapping("/updateAvatarSave")
- @RequiresPermissions("user:update")
- @Operlog(modal = "个人信息", descr = "修改头像")
- @ResponseBody
- public AjaxResult toupdateAvatar(MultipartFile file)
- {
- try
- {
- String imgPath = UploadFile.uploadUserImg(file);
- if (StringUtils.isEmpty(imgPath))
- {
- return error("图片上传失败,稍后再试!");
- }
-
- User user = new User();
- user.setUid(getUserId());
- user.setAvatar(imgPath);
- int i = iUserService.updateByPrimaryKeySelective(user);
- if (i > 0)
- {
- ShiroUtils.reloadUser(iUserService.selectByPrimaryKey(getUserId()));
- }
- return result(i);
- }
- catch (IOException e)
- {
- return error();
- }
- catch (FileSizeException e)
- {
- //文件过大
- return error(e.getMsg());
- }
- catch (FileNameLengthException e)
- {
- //文件名字超长
- return error(e.getMsg());
- }
- }
-
-
- /**
- * 校验密码和原来密码是否相同
- */
- @RequestMapping("/checkPassword")
- @ResponseBody
- public boolean checkPassword(String password)
- {
- //加密后与数据库密码比较
- User user = getUser();
- SimpleHash md5 = new SimpleHash("MD5", password, user.getSalt(), 1024);
- String oldPassword = md5.toHex();
- String pwd = getPwd();
- if (pwd.equals(oldPassword))
- {
- return true;
- }
- return false;
- }
-
-
- }
- @Controller
- @RequestMapping("/dept")
- public class DeptController extends BaseController{
-
- private String prefix = "system/dept/";
-
- @Autowired
- IDeptService iDeptService;
-
- @Autowired
- IUserService iUserService;
-
-
- /**
- *
- * @描述 页面跳转到部门
- *
- * @date 2018/9/16 10:59
- */
- @RequestMapping("/tolist")
- @RequiresPermissions("dept:list")
- public String tolist()
- {
- return prefix + "dept";
- }
-
-
- /**
- *
- * @描述 ajax请求的所有部门
- *
- * @date 2018/9/16 10:48
- */
- @RequestMapping("/ajaxlist")
- @ResponseBody
- public List<Dept> list(Dept dept)
- {
- List<Dept> depts = iDeptService.selectDeptList(dept);
- return depts;
- }
-
- /**
- *
- * @描述 部门列表页
- *
- * @date 2018/9/16 10:52
- */
- @RequestMapping("/tableList")
- @ResponseBody
- public TableDataInfo listPag(Dept dept)
- {
- //开启分页
- startPage();
- List<Dept> depts = iDeptService.selectDeptList(dept);
- return getDataTable(depts);
- }
-
-
- /**
- *
- * @描述 新增页面
- *
- * @date 2018/9/16 11:37
- */
- @RequiresPermissions("dept:add")
- @RequestMapping("/toAdd")
- public String toAdd(Model model)
- {
- List<User> users = iUserService.selectByUser(new User());
- model.addAttribute("users", users);
- return prefix + "add";
- }
-
-
- /**
- *
- * @描述: 查询所有部门下的所有用户 用户归类 树状数据
- *
- * @date: 2018/9/27 11:25
- */
- @RequestMapping("/getDeptAndUserTreeData")
- @ResponseBody
- public List<Object> DeptAndUserTreeData()
- {
- List<Dept> depts = iDeptService.selectDeptAndUser();
-
- List<User> users=new ArrayList<>();
- LinkedList<Object> deptList = new LinkedList<>();
- for (Dept dept : depts)
- {
- Map<String, Object> deptMap = new HashMap();
- deptMap.put("name", dept.getDeptName());
- deptMap.put("id", null);
- users = dept.getUsers();
- LinkedList<Object> userlist = new LinkedList<>();
- for (User user : users)
- {
- Map<String, Object> userMap = new HashMap();
- userMap.put("name",user.getName());
- userMap.put("id",user.getUid());
- userMap.put("icon","/img/timg.jpg");
- userlist.add(userMap);
- }
- deptMap.put("children",userlist);
- deptList.add(deptMap);
- }
-
- return deptList;
- }
-
-
- /**
- *
- * @描述 批量删除
- *
- * @date 2018/9/16 11:53
- */
- @RequestMapping("/del")
- @RequiresPermissions("dept:del")
- @ResponseBody
- @Operlog(modal = "部门管理",descr = "删除部门")
- public AjaxResult del(String[] ids)
- {
- try
- {
- iDeptService.deleteByPrimaryKeys(ids);
- }
- catch (Exception e)
- {
- return error(e.getMessage());
- }
- return success();
- }
-
-
- /**
- *
- * @描述 执行保存操作
- *
- * @date 2018/9/16 11:54
- */
- @RequestMapping("/addSave")
- @Operlog(modal = "部门管理",descr = "添加部门")
- @RequiresPermissions("dept:add")
- @ResponseBody
- public AjaxResult addDept(Dept dept)
- {
- dept.setCreateTime(new Date());
- return result(iDeptService.insertSelective(dept));
- }
-
-
- /**
- *
- * @描述 编辑修改页面
- *
- * @date 2018/9/16 14:06
- */
- @RequestMapping("/edit/{id}")
- @RequiresPermissions("dept:update")
- public String edit(@PathVariable("id") String id, Model model)
- {
- Dept dept = iDeptService.selectByPrimaryKey(id);
- List<User> users = iUserService.selectByUser(new User());
- model.addAttribute("users", users);
-
- model.addAttribute("Dept", dept);
- return prefix + "edit";
-
- }
-
- /**
- *
- * @描述 修改保存
- *
- * @date 2018/9/16 16:12
- */
- @RequestMapping("/editSave")
- @RequiresPermissions("dept:update")
- @Operlog(modal = "部门管理",descr = "修改信息")
- @ResponseBody
- public AjaxResult save(Dept dept)
- {
- int i = 0;
- try
- {
- i = iDeptService.updateByPrimaryKeySelective(dept);
- }
- catch (Exception e)
- {
- return error(e.getMessage());
- }
- return result(i);
- }
-
-
- /**
- * 校验部门名称
- */
- @PostMapping("/checkDeptNameUnique")
- @ResponseBody
- public String checkDeptNameUnique(Dept dept)
- {
- String uniqueFlag = "0";
- if (dept != null)
- {
- uniqueFlag = iDeptService.checkDeptNameUnique(dept);
- }
- return uniqueFlag;
- }
- }
- @Controller
- @RequestMapping("/role")
- public class RoleController extends BaseController{
- private String prefix = "system/role/";
-
-
- @Autowired
- IUserService iUserService;
-
- @Autowired
- IRoleService iRoleService;
-
- @Autowired
- IPermissionService iPermissionService;
-
- /**
- *
- * @描述 页面跳转
- *
- * @date 2018/9/16 10:59
- */
- @RequestMapping("/tolist")
- @RequiresPermissions("role:list")
- public String tolist()
- {
- return prefix + "role";
- }
-
-
- /**
- *
- * @描述 ajax请求所有
- *
- * @date 2018/9/16 10:48
- */
- @RequestMapping("/ajaxlist")
- @ResponseBody
- public List<Role> list(Role role)
- {
- List<Role> roles = iRoleService.selectRoleList(role);
- return roles;
- }
-
- /**
- *
- * @描述 列表
- *
- * @date 2018/9/16 10:52
- */
- @RequestMapping("/tableList")
- @ResponseBody
- public TableDataInfo listPag(Role role)
- {
- //开启分页
- startPage();
- List<Role> roles = iRoleService.selectRoleList(role);
- return getDataTable(roles);
- }
-
-
- /**
- *
- * @描述 新增页面
- *
- * @date 2018/9/16 11:37
- */
- @RequestMapping("/toAdd")
- @RequiresPermissions("role:add")
- public String toAdd(Model model)
- {
- return prefix + "add";
- }
-
-
- /**
- *
- * @描述 批量删除
- *
- * @date 2018/9/16 11:53
- */
- @RequestMapping("/del")
- @RequiresPermissions("role:del")
- @Operlog(modal = "角色管理",descr = "删除角色")
- @ResponseBody
- public AjaxResult del(Integer[] ids)
- {
- try
- {
- iRoleService.deleteByPrimaryKeys(ids);
- }
- catch (Exception e)
- {
- return error(e.getMessage());
- }
- return success();
- }
-
-
- /**
- *
- * @描述 添加保存
- *
- * @date 2018/9/16 11:54
- */
- @RequestMapping("/addSave")
- @RequiresPermissions("role:update")
- @Operlog(modal = "角色管理",descr = "添加角色")
- @ResponseBody
- public AjaxResult addRole(Role role, Integer[] ids)
- {
- role.setCreateTime(new Date());
- int insert = 0;
- try
- {
- if (StringUtils.isEmpty(ids))
- {
- ids = new Integer[0];
- }
- insert = iRoleService.insert(role, ids);
- }
- catch (Exception e)
- {
- return error(e.getMessage());
- }
- //清空缓存
- ShiroUtils.clearCachedAuthorizationInfo();
- return result(insert);
- }
-
-
- /**
- *
- * @描述: 根据ID 获取u他的所有权限 做回显
- *
- * @params: roleId 角色Id
- * @return:
- * @date: 2018/9/27 14:04
- */
- @RequestMapping("/selectById/{roleId}")
- @ResponseBody
- public Role selectById(@PathVariable("roleId") Integer roleId)
- {
- Role role = iRoleService.selectByPrimaryKey(roleId);
- return role;
- }
-
-
- /**
- *
- * @描述 编辑修改页面
- *
- * @date 2018/9/16 14:06
- */
- @RequestMapping("/edit/{id}")
- @RequiresPermissions("role:update")
- public String edit(@PathVariable("id") Integer id, Model model)
- {
- Role role = iRoleService.selectByPrimaryKey(id);
- model.addAttribute("Role", role);
- return prefix + "edit";
- }
-
- /**
- *
- * @描述 编辑修改权限页面
- *
- * @date 2018/9/16 14:06
- */
- @RequestMapping("/editPower/{id}")
- @RequiresPermissions("role:update")
- public String editPower(@PathVariable("id") Integer id, Model model)
- {
- Role role = iRoleService.selectByPrimaryKey(id);
- model.addAttribute("Role", role);
- return prefix + "editPower";
- }
-
-
- /**
- *
- * @描述 修改角色信息保存
- *
- * @date 2018/9/16 16:12
- */
- @RequestMapping("/editSave")
- @RequiresPermissions("role:update")
- @Operlog(modal = "角色管理",descr = "修改角色信息")
- @ResponseBody
- public AjaxResult save(Role role)
- {
- int i = 0;
- try
- {
- i = iRoleService.updateByPrimaryKeySelective(role);
- }
- catch (Exception e)
- {
- return error(e.getMessage());
- }
- return result(i);
- }
-
-
- /**
- *
- * @描述 修改角色权限信息保存
- *
- * @date 2018/9/16 16:12
- */
- @RequestMapping("/editPowerSave")
- @RequiresPermissions("role:update")
- @Operlog(modal = "角色管理",descr = "修改角色权限")
- @ResponseBody
- public AjaxResult editPowerSave(Role role, Integer[] ids)
- {
- int i = 0;
- try
- {
- if (StringUtils.isEmpty(ids))
- {
- ids = new Integer[0];
- }
- i = iRoleService.updateByPrimaryKeyPowerSelective(role, ids);
- }
- catch (Exception e)
- {
- return error(e.getMessage());
- }
- //清空缓存
- ShiroUtils.clearCachedAuthorizationInfo();
- //如果用户正在修改的角色id 是当前用户的角色id 则刷新 subject的User信息
- if (role.getRoleId().equals(getRoleId()))
- {
- ShiroUtils.reloadUser(iUserService.selectByPrimaryKey(getUserId()));
- }
- return result(i);
- }
-
-
- /**
- * 校验名称唯一
- */
- @PostMapping("/checkRoleNameUnique")
- @ResponseBody
- public String checkDeptNameUnique(Role role)
- {
- String uniqueFlag = "0";
- if (role != null)
- {
- uniqueFlag = iRoleService.checkRoleNameUnique(role);
- }
- return uniqueFlag;
- }
- }
源码获取:俺的博客首页 "资源" 里下载!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。