diff --git a/bootdo/src/main/java/com/bootdo/common/config/BootdoConfig.java b/bootdo/src/main/java/com/bootdo/common/config/BootdoConfig.java index 943efbba7422081d9b2c763290d548d26958514e..ce25ea483f203b66208a454ed32701c0e1bb50b0 100644 --- a/bootdo/src/main/java/com/bootdo/common/config/BootdoConfig.java +++ b/bootdo/src/main/java/com/bootdo/common/config/BootdoConfig.java @@ -9,6 +9,10 @@ public class BootdoConfig { //上传路径 private String uploadPath; + private String username; + + private String password; + public String getUploadPath() { return uploadPath; } @@ -16,4 +20,20 @@ public class BootdoConfig { public void setUploadPath(String uploadPath) { this.uploadPath = uploadPath; } + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } } diff --git a/bootdo/src/main/java/com/bootdo/system/controller/LoginController.java b/bootdo/src/main/java/com/bootdo/system/controller/LoginController.java index 4312dfe167d5d87a1cc28d2b39f298e1c45f8eb5..6d6aa5f87aa7e3504b462607fee88c784710d48d 100644 --- a/bootdo/src/main/java/com/bootdo/system/controller/LoginController.java +++ b/bootdo/src/main/java/com/bootdo/system/controller/LoginController.java @@ -1,6 +1,7 @@ package com.bootdo.system.controller; import com.bootdo.common.annotation.Log; +import com.bootdo.common.config.BootdoConfig; import com.bootdo.common.controller.BaseController; import com.bootdo.common.domain.FileDO; import com.bootdo.common.domain.Tree; @@ -28,68 +29,73 @@ import java.util.List; @Controller public class LoginController extends BaseController { - private final Logger logger = LoggerFactory.getLogger(this.getClass()); + private final Logger logger = LoggerFactory.getLogger(this.getClass()); - @Autowired - MenuService menuService; - @Autowired - FileService fileService; - @GetMapping({ "/", "" }) - String welcome(Model model) { + @Autowired + MenuService menuService; + @Autowired + FileService fileService; + @Autowired + BootdoConfig bootdoConfig; - return "redirect:/blog"; - } + @GetMapping({"/", ""}) + String welcome(Model model) { - @Log("请求访问主页") - @GetMapping({ "/index" }) - String index(Model model) { - List> menus = menuService.listMenuTree(getUserId()); - model.addAttribute("menus", menus); - model.addAttribute("name", getUser().getName()); - FileDO fileDO = fileService.get(getUser().getPicId()); - if(fileDO!=null&&fileDO.getUrl()!=null){ - if(fileService.isExist(fileDO.getUrl())){ - model.addAttribute("picUrl",fileDO.getUrl()); - }else { - model.addAttribute("picUrl","/img/photo_s.jpg"); - } - }else { - model.addAttribute("picUrl","/img/photo_s.jpg"); - } - model.addAttribute("username", getUser().getUsername()); - return "index_v1"; - } + return "redirect:/blog"; + } - @GetMapping("/login") - String login() { - return "login"; - } + @Log("请求访问主页") + @GetMapping({"/index"}) + String index(Model model) { + List> menus = menuService.listMenuTree(getUserId()); + model.addAttribute("menus", menus); + model.addAttribute("name", getUser().getName()); + FileDO fileDO = fileService.get(getUser().getPicId()); + if (fileDO != null && fileDO.getUrl() != null) { + if (fileService.isExist(fileDO.getUrl())) { + model.addAttribute("picUrl", fileDO.getUrl()); + } else { + model.addAttribute("picUrl", "/img/photo_s.jpg"); + } + } else { + model.addAttribute("picUrl", "/img/photo_s.jpg"); + } + model.addAttribute("username", getUser().getUsername()); + return "index_v1"; + } - @Log("登录") - @PostMapping("/login") - @ResponseBody - R ajaxLogin(String username, String password) { + @GetMapping("/login") + String login(Model model) { + model.addAttribute("username", bootdoConfig.getUsername()); + model.addAttribute("password", bootdoConfig.getPassword()); + return "login"; + } - password = MD5Utils.encrypt(username, password); - UsernamePasswordToken token = new UsernamePasswordToken(username, password); - Subject subject = SecurityUtils.getSubject(); - try { - subject.login(token); - return R.ok(); - } catch (AuthenticationException e) { - return R.error("用户或密码错误"); - } - } + @Log("登录") + @PostMapping("/login") + @ResponseBody + R ajaxLogin(String username, String password) { - @GetMapping("/logout") - String logout() { - ShiroUtils.logout(); - return "redirect:/login"; - } + password = MD5Utils.encrypt(username, password); + UsernamePasswordToken token = new UsernamePasswordToken(username, password); + Subject subject = SecurityUtils.getSubject(); + try { + subject.login(token); + return R.ok(); + } catch (AuthenticationException e) { + return R.error("用户或密码错误"); + } + } - @GetMapping("/main") - String main() { - return "main"; - } + @GetMapping("/logout") + String logout() { + ShiroUtils.logout(); + return "redirect:/login"; + } + + @GetMapping("/main") + String main() { + return "main"; + } } diff --git a/bootdo/src/main/java/com/bootdo/system/service/DeptService.java b/bootdo/src/main/java/com/bootdo/system/service/DeptService.java index 1b3e5417ab20af4a1bf004902a1d403040c167d2..a0125afce92f4064f88d0d7fd3698c9a87c7ced9 100644 --- a/bootdo/src/main/java/com/bootdo/system/service/DeptService.java +++ b/bootdo/src/main/java/com/bootdo/system/service/DeptService.java @@ -32,4 +32,6 @@ public interface DeptService { Tree getTree(); boolean checkDeptHasUser(Long deptId); + + List listChildrenIds(Long parentId); } diff --git a/bootdo/src/main/java/com/bootdo/system/service/impl/DeptServiceImpl.java b/bootdo/src/main/java/com/bootdo/system/service/impl/DeptServiceImpl.java index 4e29c11e9adf194c07bdabe9d2268a926e3fe537..531f2fb6a0bf2bd4fe6a9569c9d179dfb8b21c66 100644 --- a/bootdo/src/main/java/com/bootdo/system/service/impl/DeptServiceImpl.java +++ b/bootdo/src/main/java/com/bootdo/system/service/impl/DeptServiceImpl.java @@ -15,72 +15,90 @@ import com.bootdo.system.domain.DeptDO; import com.bootdo.system.service.DeptService; - @Service public class DeptServiceImpl implements DeptService { - @Autowired - private DeptDao sysDeptMapper; - - @Override - public DeptDO get(Long deptId){ - return sysDeptMapper.get(deptId); - } - - @Override - public List list(Map map){ - return sysDeptMapper.list(map); - } - - @Override - public int count(Map map){ - return sysDeptMapper.count(map); - } - - @Override - public int save(DeptDO sysDept){ - return sysDeptMapper.save(sysDept); - } - - @Override - public int update(DeptDO sysDept){ - return sysDeptMapper.update(sysDept); - } - - @Override - public int remove(Long deptId){ - return sysDeptMapper.remove(deptId); - } - - @Override - public int batchRemove(Long[] deptIds){ - return sysDeptMapper.batchRemove(deptIds); - } - - @Override - public Tree getTree() { - List> trees = new ArrayList>(); - List sysDepts = sysDeptMapper.list(new HashMap(16)); - for (DeptDO sysDept : sysDepts) { - Tree tree = new Tree(); - tree.setId(sysDept.getDeptId().toString()); - tree.setParentId(sysDept.getParentId().toString()); - tree.setText(sysDept.getName()); - Map state = new HashMap<>(16); - state.put("opened", true); - tree.setState(state); - trees.add(tree); - } - // 默认顶级菜单为0,根据数据库实际情况调整 - Tree t = BuildTree.build(trees); - return t; - } - - @Override - public boolean checkDeptHasUser(Long deptId) { - // TODO Auto-generated method stub - //查询部门以及此部门的下级部门 - int result = sysDeptMapper.getDeptUserNumber(deptId); - return result==0?true:false; - } + @Autowired + private DeptDao sysDeptMapper; + + @Override + public DeptDO get(Long deptId) { + return sysDeptMapper.get(deptId); + } + + @Override + public List list(Map map) { + return sysDeptMapper.list(map); + } + + @Override + public int count(Map map) { + return sysDeptMapper.count(map); + } + + @Override + public int save(DeptDO sysDept) { + return sysDeptMapper.save(sysDept); + } + + @Override + public int update(DeptDO sysDept) { + return sysDeptMapper.update(sysDept); + } + + @Override + public int remove(Long deptId) { + return sysDeptMapper.remove(deptId); + } + + @Override + public int batchRemove(Long[] deptIds) { + return sysDeptMapper.batchRemove(deptIds); + } + + @Override + public Tree getTree() { + List> trees = new ArrayList>(); + List sysDepts = sysDeptMapper.list(new HashMap(16)); + for (DeptDO sysDept : sysDepts) { + Tree tree = new Tree(); + tree.setId(sysDept.getDeptId().toString()); + tree.setParentId(sysDept.getParentId().toString()); + tree.setText(sysDept.getName()); + Map state = new HashMap<>(16); + state.put("opened", true); + tree.setState(state); + trees.add(tree); + } + // 默认顶级菜单为0,根据数据库实际情况调整 + Tree t = BuildTree.build(trees); + return t; + } + + @Override + public boolean checkDeptHasUser(Long deptId) { + // TODO Auto-generated method stub + //查询部门以及此部门的下级部门 + int result = sysDeptMapper.getDeptUserNumber(deptId); + return result == 0 ? true : false; + } + + @Override + public List listChildrenIds(Long parentId) { + List deptDOS = list(null); + return treeMenuList(deptDOS, parentId); + } + + List treeMenuList(List menuList, long pid) { + List childIds = new ArrayList<>(); + for (DeptDO mu : menuList) { + //遍历出父id等于参数的id,add进子节点集合 + if (mu.getParentId() == pid) { + //递归遍历下一级 + treeMenuList(menuList, mu.getDeptId()); + childIds.add(mu.getDeptId()); + } + } + return childIds; + } } diff --git a/bootdo/src/main/java/com/bootdo/system/service/impl/UserServiceImpl.java b/bootdo/src/main/java/com/bootdo/system/service/impl/UserServiceImpl.java index 5864a549ab3a107fd885cbf4dce7ddcfdc2cb8be..e563932513c0bc2bb59cf0c33469b003df4a487b 100644 --- a/bootdo/src/main/java/com/bootdo/system/service/impl/UserServiceImpl.java +++ b/bootdo/src/main/java/com/bootdo/system/service/impl/UserServiceImpl.java @@ -8,6 +8,7 @@ import com.bootdo.common.config.BootdoConfig; import com.bootdo.common.domain.FileDO; import com.bootdo.common.service.FileService; import com.bootdo.common.utils.*; +import com.bootdo.system.service.DeptService; import com.bootdo.system.vo.UserVO; import org.apache.commons.lang.ArrayUtils; import org.slf4j.Logger; @@ -44,6 +45,8 @@ public class UserServiceImpl implements UserService { private FileService sysFileService; @Autowired private BootdoConfig bootdoConfig; + @Autowired + DeptService deptService; private static final Logger logger = LoggerFactory.getLogger(UserService.class); @Override @@ -58,6 +61,14 @@ public class UserServiceImpl implements UserService { @Override public List list(Map map) { + String deptId = map.get("deptId").toString(); + if (StringUtils.isNotBlank(deptId)) { + Long deptIdl = Long.valueOf(deptId); + List childIds = deptService.listChildrenIds(deptIdl); + childIds.add(deptIdl); + map.put("deptId", null); + map.put("deptIds",childIds); + } return userMapper.list(map); } @@ -105,7 +116,7 @@ public class UserServiceImpl implements UserService { return r; } -// @CacheEvict(value = "user") + // @CacheEvict(value = "user") @Override public int remove(Long userId) { userRoleMapper.removeByUserId(userId); diff --git a/bootdo/src/main/resources/application-dev.yml b/bootdo/src/main/resources/application-dev.yml index 6b955d073fe4472e00e4d97290946faa125a4e21..74008e77b47de2ed41f7c46ac100dca686deb52a 100644 --- a/bootdo/src/main/resources/application-dev.yml +++ b/bootdo/src/main/resources/application-dev.yml @@ -1,5 +1,7 @@ bootdo: uploadPath: c:/var/uploaded_files/ + username: admin + password: 111111 logging: level: root: info diff --git a/bootdo/src/main/resources/application-pro.yml b/bootdo/src/main/resources/application-pro.yml index 2aa3c9db22938e26547e7f3584f4c0cb699ff810..7ec5088f3bc3c859861f51f249f24e244a9df5c8 100644 --- a/bootdo/src/main/resources/application-pro.yml +++ b/bootdo/src/main/resources/application-pro.yml @@ -1,5 +1,7 @@ bootdo: uploadPath: /var/uploaded_files/ + username: test + passward: 111111 logging: level: root: error diff --git a/bootdo/src/main/resources/mybatis/system/UserMapper.xml b/bootdo/src/main/resources/mybatis/system/UserMapper.xml index 99a0e2a3aa2f5aa4c098d603185ce7e74a180e47..11df002ec173955e487e4866f0d1c12f8f2327e1 100644 --- a/bootdo/src/main/resources/mybatis/system/UserMapper.xml +++ b/bootdo/src/main/resources/mybatis/system/UserMapper.xml @@ -3,72 +3,79 @@ - select `user_id`,`username`,`name`,`password`,`dept_id`,`email`,`mobile`,`status`,`user_id_create`,`gmt_create`,`gmt_modified`,`sex`,`birth`,`pic_id`,`live_address`,`hobby`,`province`,`city`,`district` from sys_user where user_id = #{value} - + select + `user_id`,`username`,`name`,`password`,`dept_id`,`email`,`mobile`,`status`,`user_id_create`,`gmt_create`,`gmt_modified`,`sex`,`birth`,`pic_id`,`live_address`,`hobby`,`province`,`city`,`district` + from sys_user + + and user_id = #{userId} + and username = #{username} + and name = #{name} + and password = #{password} + and dept_id = #{deptId} + and dept_id in + + #{item} + + + and email = #{email} + and mobile = #{mobile} + and status = #{status} + and user_id_create = #{userIdCreate} + and gmt_create = #{gmtCreate} + and gmt_modified = #{gmtModified} + and sex = #{sex} + and birth = #{birth} + and pic_id = #{picId} + and live_address = #{liveAddress} + and hobby = #{hobby} + and province = #{province} + and city = #{city} + and district = #{district} + order by ${sort} ${order} - + order by user_id desc - + - - limit #{offset}, #{limit} - - - - - - + + limit #{offset}, #{limit} + + + + + + insert into sys_user ( `username`, @@ -112,44 +119,44 @@ #{district} ) - - - update sys_user - - `username` = #{username}, - `name` = #{name}, - `password` = #{password}, - `dept_id` = #{deptId}, - `email` = #{email}, - `mobile` = #{mobile}, - `status` = #{status}, - `user_id_create` = #{userIdCreate}, - `gmt_create` = #{gmtCreate}, - `gmt_modified` = #{gmtModified}, - `sex` = #{sex}, - `birth` = #{birth}, - `pic_id` = #{picId}, - `live_address` = #{liveAddress}, - `hobby` = #{hobby}, - `province` = #{province}, - `city` = #{city}, - `district` = #{district} - - where user_id = #{userId} - - - + + + update sys_user + + `username` = #{username}, + `name` = #{name}, + `password` = #{password}, + `dept_id` = #{deptId}, + `email` = #{email}, + `mobile` = #{mobile}, + `status` = #{status}, + `user_id_create` = #{userIdCreate}, + `gmt_create` = #{gmtCreate}, + `gmt_modified` = #{gmtModified}, + `sex` = #{sex}, + `birth` = #{birth}, + `pic_id` = #{picId}, + `live_address` = #{liveAddress}, + `hobby` = #{hobby}, + `province` = #{province}, + `city` = #{city}, + `district` = #{district} + + where user_id = #{userId} + + + delete from sys_user where user_id = #{value} - - - delete from sys_user where user_id in - - #{userId} - - - select DISTINCT dept_id from sys_user \ No newline at end of file diff --git a/bootdo/src/main/resources/templates/login.html b/bootdo/src/main/resources/templates/login.html index 0ebccd29a1636fa68d4e0c5e719c86e8713f489f..4970bf0d0f4ab1893e7921e65bddfe9f59382886 100644 --- a/bootdo/src/main/resources/templates/login.html +++ b/bootdo/src/main/resources/templates/login.html @@ -56,9 +56,9 @@

用户登录

欢迎登录bootdo后台管理系统

+ th:value="${username}"/> + class="form-control pword m-b" th:value="${password}"/>