From 23c4967b4cb8dbce8277f830f7152d315c5a4a57 Mon Sep 17 00:00:00 2001 From: luo <2855143437@qq.com> Date: 星期一, 25 十二月 2023 09:25:17 +0800 Subject: [PATCH] 12.25 --- guns-management/src/main/java/com/stylefeng/guns/modular/code/controller/UserController.java | 197 +++++++++++++++++++++++++++++++++++++----------- 1 files changed, 151 insertions(+), 46 deletions(-) diff --git a/guns-management/src/main/java/com/stylefeng/guns/modular/code/controller/UserController.java b/guns-management/src/main/java/com/stylefeng/guns/modular/code/controller/UserController.java index 6687aa8..605d4b8 100644 --- a/guns-management/src/main/java/com/stylefeng/guns/modular/code/controller/UserController.java +++ b/guns-management/src/main/java/com/stylefeng/guns/modular/code/controller/UserController.java @@ -4,35 +4,32 @@ import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.stylefeng.guns.core.base.tips.ErrorTip; -import com.stylefeng.guns.core.base.tips.Tip; import com.stylefeng.guns.core.common.annotion.BussinessLog; import com.stylefeng.guns.core.common.constant.Const; import com.stylefeng.guns.core.common.constant.dictmap.UserDict; -import com.stylefeng.guns.core.common.constant.factory.ConstantFactory; import com.stylefeng.guns.core.common.constant.state.ManagerStatus; import com.stylefeng.guns.core.common.exception.BizExceptionEnum; import com.stylefeng.guns.core.exception.GunsException; import com.stylefeng.guns.core.log.LogManager; -import com.stylefeng.guns.core.log.LogObjectHolder; import com.stylefeng.guns.core.log.factory.LogTaskFactory; import com.stylefeng.guns.core.mutidatasource.annotion.DataSource; +import com.stylefeng.guns.core.node.ZTreeNode; import com.stylefeng.guns.core.shiro.ShiroKit; import com.stylefeng.guns.core.shiro.ShiroUser; import com.stylefeng.guns.core.support.HttpKit; import com.stylefeng.guns.core.util.JwtTokenUtil; import com.stylefeng.guns.core.util.ToolUtil; import com.stylefeng.guns.modular.system.dao.UserMapper; -import com.stylefeng.guns.modular.system.dto.Host; -import com.stylefeng.guns.modular.system.dto.Medium; +import com.stylefeng.guns.modular.system.dto.TreeBean; import com.stylefeng.guns.modular.system.factory.UserFactory; import com.stylefeng.guns.modular.system.model.*; -import com.stylefeng.guns.modular.system.service.IBannerService; -import com.stylefeng.guns.modular.system.service.IEncyclopedicKnowledgeService; -import com.stylefeng.guns.modular.system.service.ISysDataTypeService; -import com.stylefeng.guns.modular.system.service.IUserService; +import com.stylefeng.guns.modular.system.service.*; import com.stylefeng.guns.modular.system.transfer.UserDto; +import com.stylefeng.guns.modular.system.util.ListToTreeUtil; import com.stylefeng.guns.modular.system.util.ResultUtil; -import com.stylefeng.guns.modular.system.warpper.UserWarpper; +import com.stylefeng.guns.modular.system.warpper.res.DistrictRes; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.apache.shiro.authc.SimpleAuthenticationInfo; import org.apache.shiro.authc.UsernamePasswordToken; @@ -40,7 +37,6 @@ import org.apache.shiro.crypto.hash.Md5Hash; import org.apache.shiro.subject.Subject; import org.apache.shiro.util.ByteSource; -import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; @@ -51,11 +47,9 @@ import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import javax.swing.text.Position; import javax.validation.Valid; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import static com.stylefeng.guns.core.support.HttpKit.getIp; @@ -81,12 +75,32 @@ @Autowired private ISysDataTypeService typeService; + @Autowired + private IMenuService menuService; + + @Autowired + private IRegionService regionService; @Autowired private UserMapper userMapper; - @ApiOperation(value = "拿token", tags = {"登录"}) +// @ApiOperation(value = "拿token", tags = {"登录"}) + + + @ResponseBody + @GetMapping("/base/region/getDistrict") + @ApiOperation(value = "获取区域数据", tags = {"区域下拉框"}) + @ApiImplicitParams({ + @ApiImplicitParam(name = "parentId", value = "上级数据id,没有传0", required = true) + }) + public ResultUtil<List<DistrictRes>> getDistrict(Integer parentId){ + List<DistrictRes> district = regionService.getDistrict(parentId); + return ResultUtil.success(district); + } + + + @PostMapping("/token/auth") @ResponseBody public Object auth(@RequestParam("username") String username, @@ -143,20 +157,21 @@ } } - @GetMapping(value = "/tt") + @RequestMapping (value = "/tt") @ApiOperation(value = "tt", tags = {"登录"}) @ResponseBody - public void tt() { - System.err.println(ShiroKit.getUser().getName()); + public ResultUtil tt() { + return new ResultUtil(-1,"请登录"); + } @ApiOperation(value = "登录", tags = {"登录"}) @ResponseBody @PostMapping(value = "/login") - public ResultUtil loginVali(Model model) { + public ResultUtil loginVali(String username,String password,Model model) { model.addAttribute("updatePaw", false); - String username = "admin"; - String password = "123456"; +// String username = "admin"; +// String password = "123456"; //验证验证码是否正确 // if (KaptchaUtil.getKaptchaOnOff()) { @@ -170,6 +185,12 @@ User user = userService.selectOne(new EntityWrapper<User>().eq("account", username).ne("status", 3)); + if (user == null){ + return ResultUtil.error("账号不存在"); + } + if (user.getStatus()==2){ + return ResultUtil.error("您的账号已被冻结,请联系管理员"); + } // if(null == user.getUpdatePasswordTime() || (user.getUpdatePasswordTime().getTime() + 7776000000L) <= System.currentTimeMillis()){ // model.addAttribute("tips", "密码已经90天没更新了,请先修改密码!"); @@ -207,7 +228,12 @@ UsernamePasswordToken token = new UsernamePasswordToken(username, password.toCharArray()); token.setRememberMe(false); -// currentUser.login(token); + try { + currentUser.login(token); + + }catch (Exception ignored){ + + } ShiroUser shiroUser = ShiroKit.getUser(); // super.getSession().setAttribute("shiroUser", shiroUser); @@ -218,7 +244,28 @@ ShiroKit.getSession().setAttribute("sessionFlag", true); System.out.println(ShiroKit.getUser().getName()); - return ResultUtil.success("1"); + + + List<TreeBean> root = new ArrayList<>(); + + User user1 = userService.selectById(ShiroKit.getUser().getId()); + List<Long> menuIds = this.menuService.getMenuIdsByRoleId(Integer.valueOf(user1.getRoleid())); + if (ToolUtil.isEmpty(menuIds)) { + List<ZTreeNode> roleTreeList = this.menuService.menuTreeList(); +// List<ZTreeNode> parent = roleTreeList.stream().filter(e -> e.getpId() == 0).collect(Collectors.toList()); + root = ListToTreeUtil.toTree(roleTreeList, "root"); + + }else { + List<ZTreeNode> roleTreeListByUserId = this.menuService.menuTreeListByMenuIds(menuIds); +// List<ZTreeNode> parent = roleTreeListByUserId.stream().filter(e -> e.getpId() == 0).collect(Collectors.toList()); + root = ListToTreeUtil.toTree(roleTreeListByUserId, "root"); + + } + Map<String,Object> map = new HashMap<>(); + map.put("user",user1); + map.put("root",root); + + return ResultUtil.success(map); } @@ -232,13 +279,17 @@ if (result.hasErrors()) { throw new GunsException(BizExceptionEnum.REQUEST_NULL); } + User user1 = userService.selectOne(new EntityWrapper<User>().eq("account", user.getPhone()).ne("status", 3)); + if (user1!=null){ + return ResultUtil.error("当前手机号已存在"); + } // 判断账号是否重复 User theUser = userService.getByAccount(user.getAccount()); if (theUser != null) { throw new GunsException(BizExceptionEnum.USER_ALREADY_REG); } - + user.setAccount(user.getPhone()); // 完善账号信息 user.setSalt(ShiroKit.getRandomSalt(5)); user.setPassword(ShiroKit.md5(user.getPassword(), user.getSalt())); @@ -256,10 +307,10 @@ @ApiOperation(value = "查询管理员", tags = {"后台-系统设置"}) @GetMapping("/list") @ResponseBody - public Object list(String account, @RequestParam()int pageNo, @RequestParam()int pageSize) { + public Object list(String account, @RequestParam()int pageNum, @RequestParam()int pageSize) { // int index = (pageNo-1)*pageSize; // int size = pageSize; - PageHelper.startPage(pageNo,pageSize); + PageHelper.startPage(pageNum,pageSize); List<Map<String, Object>> users = userService.getUsers(account); PageInfo<Map<String, Object>> info=new PageInfo<>(users); @@ -292,6 +343,7 @@ @DataSource(name = "dataSourceBiz") @GetMapping("/pre/edit/{userId}") @ApiOperation(value = "编辑获取信息", tags = {"后台-系统设置"}) + @ResponseBody public User edit(@PathVariable Integer userId, Model model) { User user = this.userService.selectById(userId); @@ -322,11 +374,15 @@ @BussinessLog(value = "冻结-解冻-删除", key = "account", dict = UserDict.class) @ApiOperation(value = "冻结-解冻-删除", tags = {"后台-系统设置"}) @ResponseBody - public ResultUtil frozen(@RequestParam Integer userId,@RequestParam("1:解冻 2:冻结 3:删除") Integer status ) throws NoPermissionException { - User user = userService.selectById(userId); + public ResultUtil frozen(String ids,Integer status ) throws NoPermissionException { + String[] split = ids.split(","); + String res = ""; + + for (String s : split) { + + User user = userService.selectById(s); user.setStatus(status); userService.updateById(user); - String res = ""; switch (status) { case 1: res = "解冻"; @@ -338,6 +394,8 @@ res = "删除"; break; } + + } return ResultUtil.success(res+"成功"); } @@ -345,17 +403,21 @@ @ResponseBody @GetMapping ("/text") @ApiOperation(value = "3系统公告.4隐私5用户协议", tags = {"后台-基础信息管理"}) - public List<Banner> text(){ - Integer [] ids = {3,4,5}; - return bannerService.selectList(new EntityWrapper<Banner>().in("position",ids)); + public ResultUtil text(Integer position){ +// Integer [] ids = {3,4,5}; + return ResultUtil.success(bannerService.selectOne(new EntityWrapper<Banner>().eq("position",position))); } @ResponseBody @PutMapping ("/text/edit") @ApiOperation(value = "编辑系统公告", tags = {"后台-基础信息管理"}) - public ResultUtil textUpdate(Banner banner){ - bannerService.insertOrUpdate(banner); + public ResultUtil textUpdate(@RequestBody Banner banner){ + Banner banner1 = bannerService.selectOne(new EntityWrapper<Banner>().eq("position", banner.getPosition())); + if (banner1!=null){ + banner.setId(banner1.getId()); + } + bannerService.insertOrUpdate(banner); return ResultUtil.success("保存成功"); } @@ -364,12 +426,16 @@ @ResponseBody @GetMapping ("/know/list") @ApiOperation(value = "列表", tags = {"后台-知识百科"},response = EncyclopedicKnowledge.class) - public List<EncyclopedicKnowledge> list(Integer type, String title,@RequestParam int pageNo,@RequestParam int pageSize){ + public Object list(Integer type, String title,@RequestParam int pageNum,@RequestParam int pageSize){ - int index = (pageNo-1)*pageSize; - int size = pageSize; + PageHelper.startPage(pageNum,pageSize); - return knowledgeService.list(type,title,index,size); + + List<EncyclopedicKnowledge> list = knowledgeService.list(type, title); + PageInfo<EncyclopedicKnowledge> info=new PageInfo<>(list); + System.err.println(info); + + return info; } @@ -378,30 +444,64 @@ @GetMapping ("/know/select") @ApiOperation(value = "类型下拉框", tags = {"后台-知识百科"}) public List<SysDataType> select(){ - return typeService.getSysDataType(1); + List<EncyclopedicKnowledge> list = knowledgeService.list(null, null); + List<Integer> ids = new ArrayList<>(); + for (EncyclopedicKnowledge encyclopedicKnowledge : list) { + ids.add(encyclopedicKnowledge.getSysDataTypeId()); + } + List<SysDataType> id = typeService.selectList(new EntityWrapper<SysDataType>().in("id", ids)); + return id; } @ResponseBody @PostMapping ("/know/add") @ApiOperation(value = "添加", tags = {"后台-知识百科"}) - public ResultUtil add(EncyclopedicKnowledge knowledge){ + public ResultUtil add(@RequestBody EncyclopedicKnowledge knowledge){ + SysDataType name = typeService.selectOne(new EntityWrapper<SysDataType>().eq("name", knowledge.getType())); + if (name!=null){ + knowledge.setSysDataTypeId(name.getId()); + }else { + SysDataType sysDataType = new SysDataType(); + sysDataType.setName(knowledge.getType()); + sysDataType.setType(1); + typeService.insert(sysDataType); + knowledge.setSysDataTypeId(sysDataType.getId()); + } knowledge.setInsertTime(new Date()); + knowledge.setCreateBy(Objects.requireNonNull(ShiroKit.getUser()).id); knowledgeService.insert(knowledge); return ResultUtil.success("添加成功"); } + + @Autowired + private ISysDataTypeService dataTypeService; + @ResponseBody @GetMapping ("/know/pre/edit") @ApiOperation(value = "编辑获取信息", tags = {"后台-知识百科"}) public EncyclopedicKnowledge preedit(Integer id){ - return knowledgeService.selectById(id); + EncyclopedicKnowledge encyclopedicKnowledge = knowledgeService.selectById(id); + SysDataType sysDataType = dataTypeService.selectById(encyclopedicKnowledge.getSysDataTypeId()); + encyclopedicKnowledge.setType(sysDataType.getName()); + return encyclopedicKnowledge; } @ResponseBody @PutMapping ("/know/edit") @ApiOperation(value = "修改", tags = {"后台-知识百科"}) - public ResultUtil edit(EncyclopedicKnowledge knowledge){ + public ResultUtil edit(@RequestBody EncyclopedicKnowledge knowledge){ + SysDataType name = typeService.selectOne(new EntityWrapper<SysDataType>().eq("name", knowledge.getType())); + if (name!=null){ + knowledge.setSysDataTypeId(name.getId()); + }else { + SysDataType sysDataType = new SysDataType(); + sysDataType.setName(knowledge.getType()); + sysDataType.setType(1); + typeService.insert(sysDataType); + knowledge.setSysDataTypeId(sysDataType.getId()); + } knowledgeService.updateById(knowledge); return ResultUtil.success("修改成功"); } @@ -409,9 +509,14 @@ @ResponseBody @DeleteMapping ("/know/delete") - @ApiOperation(value = "编辑获取信息", tags = {"后台-知识百科"}) - public ResultUtil delete(Integer id){ - knowledgeService.deleteById(id); + @ApiOperation(value = "删除", tags = {"后台-知识百科"}) + public ResultUtil delete(String ids){ + String[] split = ids.split(","); + for (String id : split) { + + knowledgeService.deleteById(Integer.valueOf(id)); + } + return ResultUtil.success("删除成功"); } -- Gitblit v1.7.1