From 764f045c785959117db3d27d744e63d2dad6240c Mon Sep 17 00:00:00 2001 From: 44323 <443237572@qq.com> Date: 星期一, 13 十一月 2023 09:04:41 +0800 Subject: [PATCH] 后台bug修改 --- cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/UserMgrController.java | 173 +++++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 119 insertions(+), 54 deletions(-) diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/UserMgrController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/UserMgrController.java index 0664128..bf7ce4a 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/UserMgrController.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/UserMgrController.java @@ -2,6 +2,7 @@ import cn.hutool.crypto.SecureUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.dsh.course.mapper.UserMapper; import com.dsh.guns.config.UserExt; @@ -22,11 +23,13 @@ import com.dsh.guns.core.util.SinataUtil; import com.dsh.guns.modular.system.controller.util.MD5; import com.dsh.guns.modular.system.factory.UserFactory; -import com.dsh.guns.modular.system.model.Role; -import com.dsh.guns.modular.system.model.User; +import com.dsh.guns.modular.system.model.*; +import com.dsh.guns.modular.system.service.IDeptService; import com.dsh.guns.modular.system.service.IRoleService; +import com.dsh.guns.modular.system.service.IStoreService; import com.dsh.guns.modular.system.service.IUserService; import com.dsh.guns.modular.system.transfer.UserDto; +import com.dsh.guns.modular.system.util.OBSUploadUtil; import com.dsh.guns.modular.system.util.OssUploadUtil; import com.dsh.guns.modular.system.util.ResultUtil; import org.springframework.beans.factory.annotation.Autowired; @@ -40,6 +43,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; import java.util.*; +import java.util.stream.Collectors; /** * 系统管理员控制器 @@ -61,7 +65,8 @@ @Autowired private IRoleService roleService; - + @Autowired + private IDeptService deptService; /** @@ -78,6 +83,7 @@ */ @RequestMapping("/user_add") public String addView(Model model) { + model.addAttribute("role",UserExt.getUser().getObjectType()); model.addAttribute("language",UserExt.getLanguage()); LambdaQueryWrapper<Role> roleLambdaQueryWrapper = new LambdaQueryWrapper<>(); if(UserExt.getUser().getObjectType()!=1){ @@ -86,6 +92,9 @@ roleLambdaQueryWrapper.eq(Role::getObjType,UserExt.getUser().getObjectType()); List<Role> list = roleService.list(roleLambdaQueryWrapper); model.addAttribute("list",list); + // 部门列表 + List<Dept> depts = deptService.list(new QueryWrapper<>()); + model.addAttribute("depts",depts); return PREFIX + "user_add.html"; } @@ -106,11 +115,12 @@ } /** - * 跳转到编辑管理员页面 + * 跳转到编辑管理员页面 type=1编辑 type=2 查看详情 */ @Permission - @RequestMapping("/user_edit/{userId}") - public String userEdit(@PathVariable Integer userId, Model model) { + @RequestMapping("/user_edit/{userId}/{type}") + public String userEdit(@PathVariable Integer userId,@PathVariable Integer type, Model model) { + model.addAttribute("role",UserExt.getUser().getObjectType()); if (Objects.isNull(userId)) { throw new GunsException(BizExceptionEnum.REQUEST_NULL); } @@ -128,6 +138,10 @@ List<Role> list = roleService.list(roleLambdaQueryWrapper); model.addAttribute("list",list); model.addAttribute("language",UserExt.getLanguage()); + // 部门列表 + List<Dept> depts = deptService.list(new QueryWrapper<>()); + model.addAttribute("depts",depts); + model.addAttribute("type",type); return PREFIX + "user_edit.html"; } @@ -178,32 +192,68 @@ } } + @Autowired + private IStoreService storeService; /** * 查询管理员列表 */ @RequestMapping("/list") @Permission @ResponseBody - public Object list(@RequestParam(required = false) String name, @RequestParam(required = false) String createTime, @RequestParam(required = false) Integer deptid) { - //创建日期 - String beginTime = null; - String endTime = null; - if (SinataUtil.isNotEmpty(createTime)){ - String[] timeArray = createTime.split(" - "); - beginTime = timeArray[0]; - endTime = timeArray[1]; + public List<UserListVO> list(String name, String phone, String idCard, Integer isSales, Integer state) { + UserQuery userQuery = new UserQuery(); + userQuery.setName(name); + userQuery.setPhone(phone); + userQuery.setIdCard(idCard); + userQuery.setIsSales(isSales); + userQuery.setStatus(state); + + // 根据当前登陆人类型来查询员工列表 + Integer objectType = UserExt.getUser().getObjectType(); + Integer objectId = UserExt.getUser().getObjectId(); + switch (objectType){ + case 1: + // 平台查询所有 + List<UserListVO> res= userService.searchUsers(userQuery); + return res; + case 2: + // 运营商查询运营商账号的员工和属于该运营商门店的员工 + userQuery.setObjectType(2); + userQuery.setObjectId(objectId); + // 获取属于这个运营商的门店的店长ids + List<Integer> storeStaffIds = storeService.list(new QueryWrapper<TStore>().eq("operatorId", objectId) + .ne("state", 3)).stream().map(TStore::getStoreStaffId).collect(Collectors.toList()); + userQuery.setStoreIds(storeStaffIds); + List<UserListVO> res1= userService.searchUsers(userQuery); + return res1; + case 3: + // 门店只查询门店员工 + TStore store = storeService.getById(objectId); + List<Integer> storeIds = userQuery.getStoreIds(); + storeIds.add(store.getStoreStaffId()); + List<UserListVO> res2= userService.searchUsers(userQuery); + return res2; } - User user = UserExt.getUser(); - Role role = roleService.getBaseMapper().selectById(user.getRoleid()); - if ("administrator".equals(role.getTips())) { - Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage(); - page.setRecords(userService.getUserListPage(page,null, name, beginTime, endTime, deptid)); - return super.packForBT(page); - } else { - Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage(); - page.setRecords(userService.getUserListPage(page,null, name, beginTime, endTime, deptid)); - return super.packForBT(page); - } + return new ArrayList<>(); +// //创建日期 +// String beginTime = null; +// String endTime = null; +// if (SinataUtil.isNotEmpty(createTime)){ +// String[] timeArray = createTime.split(" - "); +// beginTime = timeArray[0]; +// endTime = timeArray[1]; +// } +// User user = UserExt.getUser(); +// Role role = roleService.getBaseMapper().selectById(user.getRoleid()); +// if ("administrator".equals(role.getTips())) { +// Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage(); +// page.setRecords(userService.getUserListPage(page,null, name, beginTime, endTime, deptid)); +// return super.packForBT(page); +// } else { +// Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage(); +// page.setRecords(userService.getUserListPage(page,null, name, beginTime, endTime, deptid)); +// return super.packForBT(page); +// } } /** @@ -213,39 +263,51 @@ @BussinessLog(value = "添加管理员", key = "account", dict = UserDict.class) @Permission(Const.ADMIN_NAME) @ResponseBody - public Tip add(@Valid UserDto user, BindingResult result) { + public Object add(@Valid UserDto user, BindingResult result) { if (result.hasErrors()) { throw new GunsException(BizExceptionEnum.REQUEST_NULL); } // 判断账号是否重复 - //Check if the account is duplicated User theUser = new User(); - if (user.getAccount()!=""){ - theUser = userService.getByAccount(user.getAccount()); - + if (user.getPhone()!=""){ + theUser = userService.getByAccount(user.getPhone()); } - System.out.println("=====theUser======="+theUser); - if (theUser != null&&user.getAccount()!="") { - throw new GunsException(BizExceptionEnum.USER_ALREADY_REG); + if (theUser != null){ + return 5001; } // 完善账号信息 - // Complete account information user.setPassword(SecureUtil.md5(user.getPassword())); user.setStatus(ManagerStatus.OK.getCode()); user.setCreatetime(new Date()); - User objectUser = UserFactory.createUser(user); - objectUser.setObjectType(UserExt.getUser().getObjectType()); + objectUser.setObjectType(Integer.valueOf(user.getRoleid())); objectUser.setObjectId(UserExt.getUser().getObjectId()); objectUser.setRoleid(user.getRoleid()); objectUser.setAccount(user.getPhone()); + objectUser.setName(user.getName()); + objectUser.setPhone(user.getPhone()); + objectUser.setBirthday(user.getBirthday()); + objectUser.setDeptid(user.getDeptid()); + objectUser.setIdCard(user.getIdCard()); + objectUser.setSex(user.getSex()); + objectUser.setStatus(1); objectUser.setPassword(SecureUtil.md5("a123456")); - //查找平台所属公司 - //Search for the company that owns the platform. + objectUser.setCreatetime(new Date()); + // 运营商添加员工 + if (UserExt.getUser().getObjectType() == 2){ + objectUser.setObjectType(UserExt.getUser().getObjectType()); + objectUser.setRoleid("2"); + objectUser.setObjectId(UserExt.getUser().getObjectId()); + } + // 门店添加员工 + if (UserExt.getUser().getObjectType() == 3){ + objectUser.setObjectType(UserExt.getUser().getObjectType()); + objectUser.setRoleid("3"); + objectUser.setObjectId(UserExt.getUser().getObjectId()); + } this.userService.save(objectUser); - return SUCCESS_TIP; } @@ -257,27 +319,30 @@ @RequestMapping("/edit") @BussinessLog(value = "修改管理员", key = "account", dict = UserDict.class) @ResponseBody - public Tip edit(@Valid UserDto user, BindingResult result) throws NoPermissionException { + public Object edit(@Valid UserDto user, BindingResult result) throws NoPermissionException { if (result.hasErrors()) { throw new GunsException(BizExceptionEnum.REQUEST_NULL); } - - User oldUser = userService.getById(user.getId()); -// UserExt.hasRole(Const.ADMIN_NAME) - if (false) { - this.userService.updateById(UserFactory.editUser(user, oldUser)); - return SUCCESS_TIP; - } else { - assertAuth(user.getId()); - User shiroUser = UserExt.getUser(); - if (shiroUser.getId().equals(user.getId()) || shiroUser.getId()==1) { - this.userService.updateById(UserFactory.editUser(user, oldUser)); - return SUCCESS_TIP; - } else { - throw new GunsException(BizExceptionEnum.NO_PERMITION); + // 判断是否更改电话 + if (!oldUser.getPhone().equals(user.getPhone())){ + User phone = userService.getOne(new QueryWrapper<User>().eq("phone", user.getPhone())); + if (phone == null){ + oldUser.setPhone(user.getPhone()); + }else{ + return 5001; } } + oldUser.setName(user.getName()); + oldUser.setBirthday(user.getBirthday()); + oldUser.setRoleid(user.getRoleid()); + oldUser.setDeptid(user.getDeptid()); + oldUser.setIdCard(user.getIdCard()); + oldUser.setSex(user.getSex()); + if (user.getAvatar()!=null && (!user.getAvatar().equals(""))) + oldUser.setAvatar(user.getAvatar()); + this.userService.updateById(oldUser); + return SUCCESS_TIP; } /** -- Gitblit v1.7.1