diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/UsersController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/UsersController.java index ed5188a..97374da 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/UsersController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/UsersController.java @@ -18,6 +18,7 @@ import org.springframework.http.MediaType; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import javax.management.relation.Role; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.*; @@ -222,7 +223,7 @@ public class UsersController extends BaseController { return; } - if(list.get(0).getEnable().equals(2)) { + if(!list.get(0).getEnable().equals(1)) { ResultUtils.buildParameterErrorResultAndWrite(httpServletResponse, "该账户已被禁用"); return; } @@ -673,20 +674,13 @@ public class UsersController extends BaseController { @RequestParam(value = "roleIds",required = false) String roleIds, @RequestParam(value = "orgId",required = false) Integer orgId, @RequestParam(value = "deptId",required = false) Integer deptId) { - - - - //获取登录用户 LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); Users user = usersService.getUsers(loginState.getId()); if (user != null) { - //检查账户是否存在 - UsersQuery usersQuery = new UsersQuery(); - usersQuery.setPhone(phone); - List usersList = usersService.queryUsers(usersQuery); - if (usersList.size() == 0) { + Users users = usersService.getUsers(id); + if(null == users) { Map map = new HashMap<>(); map.put(ResultUtils.ERROR_CODE, ConstantInterface.PARAMETER_ERROR); map.put(ResultUtils.ERROR_MSG, "用户不存在"); @@ -694,11 +688,34 @@ public class UsersController extends BaseController { return; } - Users users = usersList.get(0); - users.setId(id); + + //修改了手机号,不能修改已存在的手机号 + if(!phone.equals(users.getPhone())) { + //检查账户是否存在 + UsersQuery usersQuery = new UsersQuery(); + usersQuery.setPhone(phone); + usersQuery.setYn(YnEnums.YES.getId()); + List usersList = usersService.queryUsers(usersQuery); + if (0 < usersList.size()) { + Map map = new HashMap<>(); + map.put(ResultUtils.ERROR_CODE, ConstantInterface.PARAMETER_ERROR); + map.put(ResultUtils.ERROR_MSG, "手机号已存在"); + writeJson(response, JsonUtil.obj2JsonString(map)); + return; + } + + + LoginContext loginContext = LoginUtil.register(phone, token, typeId); + if(!loginContext.getErrorcode().equals(0)) { + ResultUtils.buildResultAndWrite(response, ErrorCodeConstants.SYSTEM_ERROR, loginContext.getErrormsg()); + return; + } + users.setPhone(phone); + users.setLogincenterId(loginContext.getId()); + } + users.setName(name); users.setAccount(account); - users.setPhone(phone); users.setEnable(enable); users.setRemarks(remarks); users.setModified(new Date()); @@ -710,30 +727,41 @@ public class UsersController extends BaseController { //如有角色,则对用户角色中间表先删除后新增 if(null != roleIds) { - - Integer _userId = usersList.get(0).getId(); - UserRoleMapsQuery userRoleMapsQuery = new UserRoleMapsQuery(); - userRoleMapsQuery.setUserId(_userId); - List roleMapsList = userRoleMapsService.queryUserRoleMaps(userRoleMapsQuery); - for (UserRoleMaps userRoleMaps : roleMapsList) { - userRoleMaps.setYn(YnEnums.NO.getId()); - userRoleMapsService.updateUserRoleMaps(userRoleMaps); + String[] roleArrayIds = roleIds.split(","); + //判断角色是否有更新 + Boolean flag = false; + for (String s : roleArrayIds) { + for(Roles role : users.getRoles()) { + if(s.equals(role.getId().toString())) continue; + flag = true; + } + if(flag) break; } - - UserRoleMaps userRoleMaps = new UserRoleMaps(); - String[] roleArrayIds = roleIds.split(","); - for (String tmp : roleArrayIds) { - Roles roles = rolesService.getRoles(Integer.valueOf(tmp)); - if (roles == null || roles.getYn() == YnEnums.NO.getId()) { - continue; + if(flag) { + Integer _userId = users.getId(); + UserRoleMapsQuery userRoleMapsQuery = new UserRoleMapsQuery(); + userRoleMapsQuery.setUserId(_userId); + List roleMapsList = userRoleMapsService.queryUserRoleMaps(userRoleMapsQuery); + for (UserRoleMaps userRoleMaps : roleMapsList) { + userRoleMaps.setYn(YnEnums.NO.getId()); + userRoleMapsService.updateUserRoleMaps(userRoleMaps); } - if (user.getId() != null) { - userRoleMaps.setRoleId(Integer.valueOf(Integer.valueOf(tmp))); - userRoleMaps.setUserId(_userId); - userRoleMaps.setYn(YnEnums.YES.getId()); - userRoleMapsService.addUserRoleMaps(userRoleMaps); + + UserRoleMaps userRoleMaps = new UserRoleMaps(); + for (String tmp : roleArrayIds) { + Roles roles = rolesService.getRoles(Integer.valueOf(tmp)); + if (roles == null || roles.getYn() == YnEnums.NO.getId()) { + continue; + } + + if (user.getId() != null) { + userRoleMaps.setRoleId(Integer.valueOf(Integer.valueOf(tmp))); + userRoleMaps.setUserId(_userId); + userRoleMaps.setYn(YnEnums.YES.getId()); + userRoleMapsService.addUserRoleMaps(userRoleMaps); + } } } }