From e8a075df8b6c0bd27be949ed1ccc66dda892e2e1 Mon Sep 17 00:00:00 2001 From: fangcheng Date: Thu, 9 Mar 2017 13:31:11 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=A8=E6=88=B7=E8=A7=92=E8=89=B2=E6=A0=91?= =?UTF-8?q?=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lyms/cm/controller/sys/SysUsersController.java | 62 ++++++++++- .../com/lyms/cm/service/sys/SysUsersService.java | 26 ++--- .../cm/service/sys/impl/SysUsersServiceImpl.java | 65 +++++++---- .../main/webapp/WEB-INF/views/role/role_edit.html | 52 +-------- .../main/webapp/WEB-INF/views/user/user_edit.html | 123 ++++++++++++++++++++- 5 files changed, 234 insertions(+), 94 deletions(-) diff --git a/center.manager/src/main/java/com/lyms/cm/controller/sys/SysUsersController.java b/center.manager/src/main/java/com/lyms/cm/controller/sys/SysUsersController.java index 617b3d0..a223208 100644 --- a/center.manager/src/main/java/com/lyms/cm/controller/sys/SysUsersController.java +++ b/center.manager/src/main/java/com/lyms/cm/controller/sys/SysUsersController.java @@ -1,5 +1,6 @@ package com.lyms.cm.controller.sys; +import java.util.List; import java.util.Map; import org.apache.commons.lang3.StringUtils; @@ -13,9 +14,15 @@ import org.springframework.web.bind.annotation.ResponseBody; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.plugins.Page; +import com.lyms.cm.entity.sys.SysRoles; +import com.lyms.cm.entity.sys.SysUserRoleMaps; import com.lyms.cm.entity.sys.SysUsers; +import com.lyms.cm.service.sys.SysRolesService; +import com.lyms.cm.service.sys.SysUserRoleMapsService; import com.lyms.cm.service.sys.SysUsersService; import com.lyms.constants.OperationName; +import com.lyms.util.InstanceUtils; +import com.lyms.util.StrUtils; import com.lyms.web.bean.AjaxResult; import com.lyms.web.controller.BaseController; @@ -33,6 +40,12 @@ public class SysUsersController extends BaseController { @Autowired private SysUsersService userService; + + @Autowired + private SysRolesService sysRolesService; + @Autowired + private SysUserRoleMapsService sysUserRoleMapsService; + /** * 创建用户 @@ -45,12 +58,14 @@ public class SysUsersController extends BaseController { @RequestMapping(value = "/create", method = RequestMethod.POST) @ResponseBody public AjaxResult create(SysUsers user, AjaxResult ajaxResult) { - if(userService.isExistAccount(user.getAccount())){ + if(!userService.isAllowUpdate(user.getAccount(),null)){ ajaxResult.setSuccess(true); ajaxResult.setMessage("新增失败!" + user.getAccount() + " 已经存在,请修改登录账号!"); return ajaxResult; } - boolean tag = userService.addUser(user); + String userid = StrUtils.uuid(); + user.setId(userid); + boolean tag = userService.addUser(user,getUserRoleList(userid, getParameter("roles"))); return handleAjaxResult(ajaxResult, tag, OperationName.CREATE); } @@ -91,7 +106,18 @@ public class SysUsersController extends BaseController { if (!StringUtils.isBlank(id)) { SysUsers user = userService.selectById(id); model.addAttribute("user", user); + //当前用户角色数据 + List urList = sysUserRoleMapsService + .selectList(new EntityWrapper().where("user_id={0}", "'" + id + "'")); + StringBuilder urSB = new StringBuilder(); + for(SysUserRoleMaps urEntity : urList){ + urSB.append("," + urEntity.getRoleId()); + } + model.addAttribute("userRoles", urSB.toString().replaceFirst(",", "")); } + //所有角色数据 + List roleList = sysRolesService.selectList(new EntityWrapper().where("ifDel=0")); + model.addAttribute("roleString",toJson(roleList)); return "/user/user_edit"; } @@ -101,12 +127,12 @@ public class SysUsersController extends BaseController { @RequestMapping(value = "/update", method = { RequestMethod.POST }) @ResponseBody public AjaxResult update(SysUsers user, AjaxResult ajaxResult) { - if(userService.isExistAccount(user.getAccount())){ + if(!userService.isAllowUpdate(user.getAccount(),user.getId())){ ajaxResult.setSuccess(true); ajaxResult.setMessage("修改失败! " + user.getAccount()+" 已经存在,请修改登录账号!"); return ajaxResult; } - boolean tag = userService.updateUser(user); + boolean tag = userService.updateUser(user,getUserRoleList(user.getId(), getParameter("roles"))); return handleAjaxResult(ajaxResult, tag, OperationName.UPDATE); } @@ -122,5 +148,33 @@ public class SysUsersController extends BaseController { int tag = userService.deleteLogicById(id); return handleAjaxResult(ajaxResult, tag, OperationName.DELETE); } + + /** + *
  • @Description:获取用户角色对应关系列表 + *
  • @param roleId + *
  • @param permissionIds + *
  • @return + *
  • 创建人:方承 + *
  • 创建时间:2017年3月9日 + *
  • 修改人: + *
  • 修改时间: + */ + private List getUserRoleList(String userId, String roles) { + List urList = InstanceUtils.newArrayList(); + if (StrUtils.isNotEmpty(roles)) { + String[] roleArray = roles.split(","); + for (String roleId : roleArray) { + if (StrUtils.isNotEmpty(roleId)) { + SysUserRoleMaps urentity = new SysUserRoleMaps(); + urentity.setId(StrUtils.uuid()); + urentity.setIfdel(0); + urentity.setRoleId(roleId); + urentity.setUserId(userId); + urList.add(urentity); + } + } + } + return urList; + } } diff --git a/center.manager/src/main/java/com/lyms/cm/service/sys/SysUsersService.java b/center.manager/src/main/java/com/lyms/cm/service/sys/SysUsersService.java index 1fdb74d..80b6b5f 100644 --- a/center.manager/src/main/java/com/lyms/cm/service/sys/SysUsersService.java +++ b/center.manager/src/main/java/com/lyms/cm/service/sys/SysUsersService.java @@ -1,7 +1,9 @@ package com.lyms.cm.service.sys; import java.io.Serializable; +import java.util.List; +import com.lyms.cm.entity.sys.SysUserRoleMaps; import com.lyms.cm.entity.sys.SysUsers; import com.lyms.exception.SystemException; import com.lyms.web.service.BaseService; @@ -23,7 +25,7 @@ public interface SysUsersService extends BaseService { * @return * @author maliang */ - public boolean addUser(SysUsers user) throws SystemException; + public boolean addUser(SysUsers user,List userRoleMaps) throws SystemException; /** * 修改用户信息 @@ -32,7 +34,7 @@ public interface SysUsersService extends BaseService { * @return * @author maliang */ - public boolean updateUser(SysUsers user) throws SystemException; + public boolean updateUser(SysUsers user,List userRoleMaps) throws SystemException; /** * 根据ID获取用户信息 @@ -43,17 +45,6 @@ public interface SysUsersService extends BaseService { */ // public SysUsers getUserById(String userId) throws SystemException; - /** - * 启用/停用 - *

    - * 根据用户ID操作 - *

    - * - * @param userId - * @return - * @author maliang - */ - public boolean enabled(String userId) throws SystemException; /** * 删除用户信息 @@ -73,14 +64,15 @@ public interface SysUsersService extends BaseService { /** - *

  • @Description:是否存在登录号 - *
  • @param username + *
  • @Description:是否允许添加和修改 + *
  • @param account 登录账户 + *
  • @param userid 如果不为null,则是修改, 否则为新增 *
  • @return *
  • 创建人:方承 - *
  • 创建时间:2017年3月8日 + *
  • 创建时间:2017年3月9日 *
  • 修改人: *
  • 修改时间: */ - public boolean isExistAccount(String username); + public boolean isAllowUpdate(String account,String userid); } diff --git a/center.manager/src/main/java/com/lyms/cm/service/sys/impl/SysUsersServiceImpl.java b/center.manager/src/main/java/com/lyms/cm/service/sys/impl/SysUsersServiceImpl.java index 87cb110..85bbcba 100644 --- a/center.manager/src/main/java/com/lyms/cm/service/sys/impl/SysUsersServiceImpl.java +++ b/center.manager/src/main/java/com/lyms/cm/service/sys/impl/SysUsersServiceImpl.java @@ -1,6 +1,7 @@ package com.lyms.cm.service.sys.impl; import java.io.Serializable; +import java.util.List; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -9,10 +10,14 @@ import org.springframework.transaction.annotation.Transactional; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.service.impl.ServiceImpl; +import com.lyms.cm.dao.sys.SysUserRoleMapsMapper; import com.lyms.cm.dao.sys.SysUsersMapper; +import com.lyms.cm.entity.sys.SysRolePermissionMaps; +import com.lyms.cm.entity.sys.SysUserRoleMaps; import com.lyms.cm.entity.sys.SysUsers; import com.lyms.cm.enums.StatusEnum; import com.lyms.cm.enums.ValidityEnum; +import com.lyms.cm.service.sys.SysUserRoleMapsService; import com.lyms.cm.service.sys.SysUsersService; import com.lyms.exception.SystemException; import com.lyms.util.MD5Utils; @@ -31,6 +36,10 @@ public class SysUsersServiceImpl extends ServiceImpl i @Autowired private SysUsersMapper userMapper; + + @Autowired + private SysUserRoleMapsService sysUserRoleMapsService; + /** * 系统默认密码 @@ -58,11 +67,10 @@ public class SysUsersServiceImpl extends ServiceImpl i @Override @Transactional - public boolean addUser(SysUsers user) throws SystemException { + public boolean addUser(SysUsers user,List userRoleMapsList) throws SystemException { if (empty(user)) return false; // 设置user ID - user.setId(StrUtils.uuid()); user.setIfdel(0); if (null == user.getType()) {//没有勾选管理,就是用户 user.setType(1); @@ -74,12 +82,15 @@ public class SysUsersServiceImpl extends ServiceImpl i this.initPwd(user); Integer tag = userMapper.insert(user); + if (!userRoleMapsList.isEmpty()) { + sysUserRoleMapsService.insertBatch(userRoleMapsList); + } return tag != null && tag >= 1; } @Override @Transactional - public boolean updateUser(SysUsers user) throws SystemException { + public boolean updateUser(SysUsers user,List userRoleMapsList) throws SystemException { if (empty(user)) return false; if (null == user.getType()) {//没有勾选管理,就是用户 @@ -94,6 +105,12 @@ public class SysUsersServiceImpl extends ServiceImpl i } Integer tag = userMapper.updateById(user); + EntityWrapper ew = new EntityWrapper(); + ew.where("user_id={0}", "'" + user.getId() + "'"); + sysUserRoleMapsService.delete(ew); + if (!userRoleMapsList.isEmpty()) { + sysUserRoleMapsService.insertBatch(userRoleMapsList); + } return tag != null && tag >= 1; } @@ -103,22 +120,6 @@ public class SysUsersServiceImpl extends ServiceImpl i * userMapper.selectById(userId); } */ - @Override - @Transactional - public boolean enabled(String userId) throws SystemException { - // TODO 编写SQL 修改 - SysUsers user = this.selectById(userId); - if (empty(user)) - return false; - - // 判断当前用户的启用,禁用情况 - if (StatusEnum.isEnabled(user.getEnable())) { - user.setEnable(StatusEnum.DISENABLED.getStatus()); - } else { - user.setEnable(StatusEnum.ENABLED.getStatus()); - } - return this.updateUser(user); - } @Override @Transactional @@ -148,8 +149,30 @@ public class SysUsersServiceImpl extends ServiceImpl i } @Override - public boolean isExistAccount(String username) { - SysUsers entity = selectOne(new EntityWrapper().where("account={0}", "'" + username + "'")); + public boolean isAllowUpdate(String account,String userid) { + boolean flag = true; + if(StrUtils.isNotEmpty(userid) ){//修改用户 + SysUsers oldDbUser = selectById(userid); + if(!oldDbUser.getAccount().equalsIgnoreCase(account)){//登录账号改变 + flag = !isExistAccount(account); + } + }else{//新增 + flag = !isExistAccount(account); + } + return flag; + } + + /** + *
  • @Description:是否存在登录名 + *
  • @param account + *
  • @return + *
  • 创建人:方承 + *
  • 创建时间:2017年3月9日 + *
  • 修改人: + *
  • 修改时间: + */ + private boolean isExistAccount(String account){ + SysUsers entity = selectOne(new EntityWrapper().where("account={0}", "'" + account + "'").and("ifDel=0")); if (null == entity) { return false; } diff --git a/center.manager/src/main/webapp/WEB-INF/views/role/role_edit.html b/center.manager/src/main/webapp/WEB-INF/views/role/role_edit.html index 2ed5df2..759b78a 100644 --- a/center.manager/src/main/webapp/WEB-INF/views/role/role_edit.html +++ b/center.manager/src/main/webapp/WEB-INF/views/role/role_edit.html @@ -7,50 +7,6 @@ var reNodes = ${perString}; + + +#end #override("body")
    -
    - - +
    + + +
    @@ -51,11 +158,11 @@
    是否禁用(选中禁用,不选中可用)
    @@ -80,6 +187,12 @@
    +
    +
    + +