瀏覽代碼

Merge remote-tracking branch 'origin/dev/20200426_2nd' into dev/20200426_2nd

zhoutg 5 年之前
父節點
當前提交
266a41e6ef

+ 5 - 0
src/main/java/com/diagbot/facade/BasDeptInfoFacade.java

@@ -20,6 +20,11 @@ import java.util.List;
 @Component
 public class BasDeptInfoFacade extends BasDeptInfoServiceImpl {
 
+    /**
+     * 获取医院科室下拉列表信息
+     *
+     * @return
+     */
     public List<BasDeptInfoDTO> listForUser() {
         List<BasDeptInfoDTO> basDeptInfoDTOList = new ArrayList<>();
         List<BasDeptInfo> basDeptInfoList = this.list(new QueryWrapper<BasDeptInfo>()

+ 43 - 3
src/main/java/com/diagbot/facade/SysRoleFacade.java

@@ -9,6 +9,7 @@ import com.diagbot.dto.SysRoleMenuDTO;
 import com.diagbot.entity.SysRole;
 import com.diagbot.entity.SysRoleMenu;
 import com.diagbot.entity.SysRolePermission;
+import com.diagbot.entity.SysUserRole;
 import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.service.impl.SysRoleMenuServiceImpl;
 import com.diagbot.service.impl.SysRolePermissionServiceImpl;
@@ -22,7 +23,6 @@ import com.diagbot.vo.SysMenuSaveVO;
 import com.diagbot.vo.SysPermissionSaveVO;
 import com.diagbot.vo.SysRoleMenuQueryVO;
 import com.diagbot.vo.SysRoleMenuSaveVO;
-import com.diagbot.vo.SysRoleQueryVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Component;
@@ -31,6 +31,7 @@ import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * @Description:
@@ -47,6 +48,17 @@ public class SysRoleFacade extends SysRoleServiceImpl {
     @Qualifier("sysRolePermissionServiceImpl")
     private SysRolePermissionServiceImpl sysRolePermissionService;
 
+    @Autowired
+    private SysUserRoleFacade sysUserRoleFacade;
+
+    @Autowired
+    private TokenFacade tokenFacade;
+
+    /**
+     * 获取角色列表信息
+     *
+     * @return 角色列表信息
+     */
     public List<SysRoleDTO> listFac() {
         List<SysRole> sysRoleList = this.list(new QueryWrapper<SysRole>()
                 .eq("is_deleted", IsDeleteEnum.N.getKey())
@@ -55,6 +67,11 @@ public class SysRoleFacade extends SysRoleServiceImpl {
         return BeanUtil.listCopyTo(sysRoleList, SysRoleDTO.class);
     }
 
+    /**
+     * 获取角色下拉列表信息
+     *
+     * @return 角色下拉列表信息
+     */
     public List<SysRoleDTO> listForUser() {
         List<SysRole> sysRoleList = this.list(new QueryWrapper<SysRole>()
                 .eq("is_deleted", IsDeleteEnum.N.getKey())
@@ -62,6 +79,12 @@ public class SysRoleFacade extends SysRoleServiceImpl {
         return BeanUtil.listCopyTo(sysRoleList, SysRoleDTO.class);
     }
 
+    /**
+     * 获取角色菜权限单等数据
+     *
+     * @param sysRoleMenuQueryVO 获取角色菜权限单入参
+     * @return 是否成功
+     */
     public List<SysRoleMenuDTO> getRoleMenu(SysRoleMenuQueryVO sysRoleMenuQueryVO) {
         List<SysMenuPermissionDTO> sysMenuPermissionDTOList = this.getMenuPermission(sysRoleMenuQueryVO);
         List<SysRoleMenuDTO> sysRoleMenuDTOList = new ArrayList<>();
@@ -115,10 +138,21 @@ public class SysRoleFacade extends SysRoleServiceImpl {
         }
     }
 
+    /**
+     * 修改角色菜单权限数据
+     *
+     * @param sysRoleMenuSaveVO 修改角色菜单权限数据入参
+     * @return 是否成功
+     */
     public Boolean saveRoleMenu(SysRoleMenuSaveVO sysRoleMenuSaveVO) {
         Date now = DateUtil.now();
         String userId = SysUserUtils.getCurrentPrincipleID();
-        //删除
+        //查询该角色的所有用户
+        List<Long> userIds = sysUserRoleFacade.list(new QueryWrapper<SysUserRole>()
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("role_id", sysRoleMenuSaveVO.getRoleId())
+        ).stream().distinct().map(SysUserRole::getUserId).collect(Collectors.toList());
+        //删除角色菜单和角色权限
         sysRoleMenuService.update(new UpdateWrapper<SysRoleMenu>()
                 .eq("is_deleted", IsDeleteEnum.N.getKey())
                 .eq("role_id", sysRoleMenuSaveVO.getRoleId())
@@ -133,7 +167,7 @@ public class SysRoleFacade extends SysRoleServiceImpl {
                 .set("modifier", userId)
                 .set("gmt_modified", now)
         );
-        //新增
+        //新增角色菜单和角色权限
         if (ListUtil.isNotEmpty(sysRoleMenuSaveVO.getSysMenuSaveVOList())) {
             List<SysRoleMenu> sysRoleMenuList = new ArrayList<>();
             for (SysMenuSaveVO sysMenuSaveVO : sysRoleMenuSaveVO.getSysMenuSaveVOList()) {
@@ -162,6 +196,12 @@ public class SysRoleFacade extends SysRoleServiceImpl {
             }
             sysRolePermissionService.saveBatch(sysRolePermissionList);
         }
+        //清楚该角色的所有用户的token缓存
+        if (ListUtil.isNotEmpty(userIds)) {
+            for (Long id : userIds) {
+                tokenFacade.deleteToken(id.toString());
+            }
+        }
         return true;
     }
 }

+ 51 - 3
src/main/java/com/diagbot/facade/SysUserFacade.java

@@ -335,11 +335,24 @@ public class SysUserFacade extends SysUserServiceImpl {
     }
 
     //-------------用户维护BEGAIN------------------------
+
+    /**
+     * 用户列表翻页信息查询
+     *
+     * @param sysUserQueryVO 用户列表翻页信息入参
+     * @return 用户列表翻页信息
+     */
     public IPage<SysUserQueryDTO> userPageFac(SysUserQueryVO sysUserQueryVO) {
         sysUserQueryVO.setHospitalId(Long.valueOf(SysUserUtils.getCurrentHospitalID()));
         return this.userPage(sysUserQueryVO);
     }
 
+    /**
+     * 获取用户科室
+     *
+     * @param sysUserBaseVO 获取用户科室入参
+     * @return 用户科室信息
+     */
     public SysUserDeptDTO getUserDepts(SysUserBaseVO sysUserBaseVO) {
         checkUser(sysUserBaseVO.getUserId());
         SysUserDeptDTO sysUserDeptDTO = new SysUserDeptDTO();
@@ -374,6 +387,12 @@ public class SysUserFacade extends SysUserServiceImpl {
         return sysUserDeptDTO;
     }
 
+    /**
+     * 获取用户角色
+     *
+     * @param sysUserBaseVO 获取用户角色入参
+     * @return 用户角色信息
+     */
     public SysUserRoleDTO getUserRoles(SysUserBaseVO sysUserBaseVO) {
         checkUser(sysUserBaseVO.getUserId());
         SysUserRoleDTO sysUserRoleDTO = new SysUserRoleDTO();
@@ -408,6 +427,12 @@ public class SysUserFacade extends SysUserServiceImpl {
         return sysUserRoleDTO;
     }
 
+    /**
+     * 用户启用
+     *
+     * @param sysUserBaseVO 用户启用入参
+     * @return 是否成功
+     */
     public Boolean enable(SysUserBaseVO sysUserBaseVO) {
         checkUser(sysUserBaseVO.getUserId());
         Date now = DateUtil.now();
@@ -422,6 +447,12 @@ public class SysUserFacade extends SysUserServiceImpl {
         );
     }
 
+    /**
+     * 用户停用
+     *
+     * @param sysUserBaseVO 用户停用入参
+     * @return 是否成功
+     */
     public Boolean disable(SysUserBaseVO sysUserBaseVO) {
         checkUser(sysUserBaseVO.getUserId());
         Date now = DateUtil.now();
@@ -436,11 +467,17 @@ public class SysUserFacade extends SysUserServiceImpl {
         );
     }
 
+    /**
+     * 编辑用户科室
+     *
+     * @param sysUserDeptVO 编辑用户科室入参
+     * @return 是否成功
+     */
     public Boolean editUserDepts(SysUserDeptVO sysUserDeptVO) {
         checkUser(sysUserDeptVO.getUserId());
         Date now = DateUtil.now();
         String userId = SysUserUtils.getCurrentPrincipleID();
-        //删除原部门
+        //删除原科室
         sysUserDeptService.update(new UpdateWrapper<SysUserDept>()
                 .eq("is_deleted", IsDeleteEnum.N.getKey())
                 .eq("user_id", sysUserDeptVO.getUserId())
@@ -448,7 +485,7 @@ public class SysUserFacade extends SysUserServiceImpl {
                 .set("modifier", userId)
                 .set("gmt_modified", now)
         );
-        //新增新部门
+        //新增新科室
         if (ListUtil.isNotEmpty(sysUserDeptVO.getDeptIds())) {
             List<SysUserDept> sysUserDeptList = new ArrayList<>();
             for (String deptId : sysUserDeptVO.getDeptIds()) {
@@ -473,6 +510,12 @@ public class SysUserFacade extends SysUserServiceImpl {
         );
     }
 
+    /**
+     * 编辑用户角色
+     *
+     * @param sysUserRoleVO 编辑用户角色入参
+     * @return 是否成功
+     */
     public Boolean editUserRoles(SysUserRoleVO sysUserRoleVO) {
         checkUser(sysUserRoleVO.getUserId());
         Date now = DateUtil.now();
@@ -512,8 +555,13 @@ public class SysUserFacade extends SysUserServiceImpl {
         return true;
     }
 
+    /**
+     * 确认用户是否是管理员下的用户
+     *
+     * @param userId 用户Id
+     */
     private void checkUser(Long userId) {
-        //确认用户是否是管理员下的用户
+        //确认用户是否是管理员统一医院下的用户
         Integer cnt = sysUserHospitalFacade.count(new QueryWrapper<SysUserHospital>()
                 .eq("is_deleted", IsDeleteEnum.N.getKey())
                 .eq("user_id", userId)