From acd62c1684cbde71954252ffdf89d0918491e6fc Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期三, 02 四月 2025 19:48:10 +0800 Subject: [PATCH] 代码提交 --- smartor/src/main/java/com/smartor/service/IServiceExternalService.java | 5 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java | 8 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java | 41 +- ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java | 6 ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDept.java | 14 ruoyi-admin/src/main/resources/application-druid.yml | 16 smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java | 22 + ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java | 20 ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataScopeAspect.java | 7 ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java | 10 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java | 785 ++++++++++++++++++++++++------------------------ ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java | 6 12 files changed, 485 insertions(+), 455 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java index 0549669..c5070cb 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java @@ -5,6 +5,7 @@ import com.ruoyi.common.core.domain.entity.SysUserRole; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; @@ -52,6 +53,9 @@ @Autowired private ISysDeptService deptService; + + @Value("${isAdmin}") + private List<Long> isAdmin; //@PreAuthorize("@ss.hasPermi('system:role:list')") @GetMapping("/list") @@ -118,7 +122,7 @@ if (roleService.updateRole(role) > 0) { // 鏇存柊缂撳瓨鐢ㄦ埛鏉冮檺 LoginUser loginUser = getLoginUser(); - if (StringUtils.isNotNull(loginUser.getUser()) && !loginUser.getUser().isAdmin()) { + if (StringUtils.isNotNull(loginUser.getUser()) && !isAdmin.contains(loginUser.getUser().getUserId())) { loginUser.setPermissions(permissionService.getMenuPermission(loginUser.getUser())); loginUser.setUser(userService.selectUserByUserName(loginUser.getUser().getUserName())); tokenService.setLoginUser(loginUser); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java index 339331e..fdf2888 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java @@ -21,6 +21,7 @@ import com.smartor.mapper.SysUserDeptMapper; import org.apache.commons.lang3.ArrayUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -52,6 +53,9 @@ @Autowired private SysUserDeptMapper sysUserDeptMapper; + + @Value("${isAdmin}") + private List<Long> isAdmin; /** * 鑾峰彇鐢ㄦ埛鍒楄〃 @@ -99,7 +103,7 @@ userService.checkUserDataScope(userId); AjaxResult ajax = AjaxResult.success(); List<SysRole> roles = roleService.selectRoleAll(); - ajax.put("roles", SysUser.isAdmin(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList())); + ajax.put("roles", isAdmin.contains(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList())); ajax.put("posts", postService.selectPostAll()); if (StringUtils.isNotNull(userId)) { SysUser sysUser = userService.selectUserById(userId); @@ -213,7 +217,7 @@ SysUser user = userService.selectUserById(userId); List<SysRole> roles = roleService.selectRolesByUserId(userId); ajax.put("user", user); - ajax.put("roles", SysUser.isAdmin(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList())); + ajax.put("roles", isAdmin.contains(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList())); return ajax; } @@ -225,7 +229,7 @@ @PostMapping("/authRole") public AjaxResult insertAuthRole(Long userId, Long[] roleIds) { userService.checkUserDataScope(userId); - userService.insertUserAuth(userId, roleIds,getOrgid()); + userService.insertUserAuth(userId, roleIds, getOrgid()); return success(); } diff --git a/ruoyi-admin/src/main/resources/application-druid.yml b/ruoyi-admin/src/main/resources/application-druid.yml index 56bb6fe..fa70094 100644 --- a/ruoyi-admin/src/main/resources/application-druid.yml +++ b/ruoyi-admin/src/main/resources/application-druid.yml @@ -13,10 +13,10 @@ # 鍏徃 # url: jdbc:mysql://192.168.2.9:3308/smartor?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 # 涓芥按 -# url: jdbc:mysql://127.0.0.1:3308/smartor-lisui?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 -# username: smartor -# password: Smartor.2023 -# driverClassName: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://127.0.0.1:3308/smartor-lisui?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 + username: smartor + password: Smartor.2023 + driverClassName: com.mysql.cj.jdbc.Driver # # 鏂板崕 # url: jdbc:mysql://192.168.191.181:3308/smartor?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 # username: smartor @@ -24,10 +24,10 @@ # driverClassName: com.mysql.cj.jdbc.Driver # 鍏徃浜� - url: jdbc:mysql://116.62.18.175:6002/smartor_lisui?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 - username: hxsoft - password: Hxerp2000 - driverClassName: com.mysql.cj.jdbc.Driver +# url: jdbc:mysql://116.62.18.175:6002/smartor_lisui?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 +# username: hxsoft +# password: Hxerp2000 +# driverClassName: com.mysql.cj.jdbc.Driver # 浠庡簱鏁版嵁婧� diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDept.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDept.java index 3c03bda..efd0e22 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDept.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDept.java @@ -1,18 +1,12 @@ package com.ruoyi.common.core.domain.entity; -import java.util.ArrayList; -import java.util.List; -import javax.validation.constraints.Email; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; - +import com.ruoyi.common.core.domain.BaseEntity; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; -import com.ruoyi.common.core.domain.BaseEntity; + +import java.util.ArrayList; +import java.util.List; /** * 閮ㄩ棬琛� sys_dept diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java index 16d9393..f868860 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java @@ -10,6 +10,7 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import org.springframework.beans.factory.annotation.Value; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; import com.ruoyi.common.annotation.Excel; @@ -18,6 +19,7 @@ import com.ruoyi.common.annotation.Excels; import com.ruoyi.common.core.domain.BaseEntity; import com.ruoyi.common.xss.Xss; +import org.springframework.stereotype.Component; /** * 鐢ㄦ埛瀵硅薄 sys_user @@ -25,9 +27,13 @@ * @author ruoyi */ @Data +@Component @ApiModel(value = "SysUser", description = "鐢ㄦ埛瀵硅薄") public class SysUser extends BaseEntity { private static final long serialVersionUID = 1L; +// +// @Value("${isAdmin}") +// private List<Long> isAdmin; /** * 鐢ㄦ埛ID @@ -301,13 +307,13 @@ this.userId = userId; } - public boolean isAdmin() { - return isAdmin(this.userId); - } - - public static boolean isAdmin(Long userId) { - return userId != null && 1L == userId; - } +// public boolean isAdmin() { +// return isAdmin(this.userId); +// } +// +// public boolean isAdmin(Long userId) { +// return isAdmin.contains(userId); +// } public Long getDeptId() { return this.deptId; diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataScopeAspect.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataScopeAspect.java index 746530f..7a1b25c 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataScopeAspect.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataScopeAspect.java @@ -5,6 +5,7 @@ import org.aspectj.lang.JoinPoint; import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Before; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import com.ruoyi.common.annotation.DataScope; import com.ruoyi.common.core.domain.BaseEntity; @@ -55,6 +56,10 @@ */ public static final String DATA_SCOPE = "dataScope"; + + @Value("${isAdmin}") + private List<Long> isAdmin; + @Before("@annotation(controllerDataScope)") public void doBefore(JoinPoint point, DataScope controllerDataScope) throws Throwable { @@ -70,7 +75,7 @@ { SysUser currentUser = loginUser.getUser(); // 濡傛灉鏄秴绾х鐞嗗憳锛屽垯涓嶈繃婊ゆ暟鎹� - if (StringUtils.isNotNull(currentUser) && !currentUser.isAdmin()) + if (StringUtils.isNotNull(currentUser) && !isAdmin.contains(loginUser.getUser().getUserId())) { String permission = StringUtils.defaultIfEmpty(controllerDataScope.permission(), PermissionContextHolder.getContext()); dataScopeFilter(joinPoint, currentUser, controllerDataScope.deptAlias(), diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java index bdd0df7..bba5e52 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java @@ -5,6 +5,7 @@ import java.util.List; import java.util.stream.Collectors; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import com.ruoyi.common.annotation.DataScope; import com.ruoyi.common.constant.UserConstants; @@ -23,7 +24,7 @@ /** * 閮ㄩ棬绠$悊 鏈嶅姟瀹炵幇 - * + * * @author ruoyi */ @Service @@ -35,9 +36,12 @@ @Autowired private SysRoleMapper roleMapper; + @Value("${isAdmin}") + private List<Long> isAdmin; + /** * 鏌ヨ閮ㄩ棬绠$悊鏁版嵁 - * + * * @param dept 閮ㄩ棬淇℃伅 * @return 閮ㄩ棬淇℃伅闆嗗悎 */ @@ -50,7 +54,7 @@ /** * 鏌ヨ閮ㄩ棬鏍戠粨鏋勪俊鎭� - * + * * @param dept 閮ㄩ棬淇℃伅 * @return 閮ㄩ棬鏍戜俊鎭泦鍚� */ @@ -63,7 +67,7 @@ /** * 鏋勫缓鍓嶇鎵�闇�瑕佹爲缁撴瀯 - * + * * @param depts 閮ㄩ棬鍒楄〃 * @return 鏍戠粨鏋勫垪琛� */ @@ -90,7 +94,7 @@ /** * 鏋勫缓鍓嶇鎵�闇�瑕佷笅鎷夋爲缁撴瀯 - * + * * @param depts 閮ㄩ棬鍒楄〃 * @return 涓嬫媺鏍戠粨鏋勫垪琛� */ @@ -103,7 +107,7 @@ /** * 鏍规嵁瑙掕壊ID鏌ヨ閮ㄩ棬鏍戜俊鎭� - * + * * @param roleId 瑙掕壊ID * @return 閫変腑閮ㄩ棬鍒楄〃 */ @@ -116,7 +120,7 @@ /** * 鏍规嵁閮ㄩ棬ID鏌ヨ淇℃伅 - * + * * @param deptId 閮ㄩ棬ID * @return 閮ㄩ棬淇℃伅 */ @@ -128,7 +132,7 @@ /** * 鏍规嵁ID鏌ヨ鎵�鏈夊瓙閮ㄩ棬锛堟甯哥姸鎬侊級 - * + * * @param deptId 閮ㄩ棬ID * @return 瀛愰儴闂ㄦ暟 */ @@ -140,7 +144,7 @@ /** * 鏄惁瀛樺湪瀛愯妭鐐� - * + * * @param deptId 閮ㄩ棬ID * @return 缁撴灉 */ @@ -153,7 +157,7 @@ /** * 鏌ヨ閮ㄩ棬鏄惁瀛樺湪鐢ㄦ埛 - * + * * @param deptId 閮ㄩ棬ID * @return 缁撴灉 true 瀛樺湪 false 涓嶅瓨鍦� */ @@ -166,7 +170,7 @@ /** * 鏍¢獙閮ㄩ棬鍚嶇О鏄惁鍞竴 - * + * * @param dept 閮ㄩ棬淇℃伅 * @return 缁撴灉 */ @@ -184,13 +188,14 @@ /** * 鏍¢獙閮ㄩ棬鏄惁鏈夋暟鎹潈闄� - * + * * @param deptId 閮ㄩ棬id */ @Override public void checkDeptDataScope(Long deptId) { - if (!SysUser.isAdmin(SecurityUtils.getUserId())) +// if (!SysUser.isAdmin(SecurityUtils.getUserId())) + if (!isAdmin.contains(SecurityUtils.getUserId())) { SysDept dept = new SysDept(); dept.setDeptId(deptId); @@ -204,7 +209,7 @@ /** * 鏂板淇濆瓨閮ㄩ棬淇℃伅 - * + * * @param dept 閮ㄩ棬淇℃伅 * @return 缁撴灉 */ @@ -223,7 +228,7 @@ /** * 淇敼淇濆瓨閮ㄩ棬淇℃伅 - * + * * @param dept 閮ㄩ棬淇℃伅 * @return 缁撴灉 */ @@ -251,7 +256,7 @@ /** * 淇敼璇ラ儴闂ㄧ殑鐖剁骇閮ㄩ棬鐘舵�� - * + * * @param dept 褰撳墠閮ㄩ棬 */ private void updateParentDeptStatusNormal(SysDept dept) @@ -263,7 +268,7 @@ /** * 淇敼瀛愬厓绱犲叧绯� - * + * * @param deptId 琚慨鏀圭殑閮ㄩ棬ID * @param newAncestors 鏂扮殑鐖禝D闆嗗悎 * @param oldAncestors 鏃х殑鐖禝D闆嗗悎 @@ -283,7 +288,7 @@ /** * 鍒犻櫎閮ㄩ棬绠$悊淇℃伅 - * + * * @param deptId 閮ㄩ棬ID * @return 缁撴灉 */ diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java index f9b0186..1edc702 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java @@ -72,417 +72,404 @@ public List<SysMenu> selectMenuList(SysMenu menu, Long userId) { List<SysMenu> menuList = null; // 绠$悊鍛樻樉绀烘墍鏈夎彍鍗曚俊鎭� - if (SysUser.isAdmin(userId)) { - menuList = menuMapper.selectMenuList(menu); - } else { - menu.getParams().put("userId", userId); - menuList = menuMapper.selectMenuListByUserId(menu); - } - return menuList; - } - - /** - * 鏍规嵁鐢ㄦ埛ID鏌ヨ鏉冮檺 - * - * @param userId 鐢ㄦ埛ID - * @return 鏉冮檺鍒楄〃 - */ - @Override - public Set<String> selectMenuPermsByUserId(Long userId) { - List<String> perms = menuMapper.selectMenuPermsByUserId(userId); - Set<String> permsSet = new HashSet<>(); - for (String perm : perms) { - if (StringUtils.isNotEmpty(perm)) { - permsSet.addAll(Arrays.asList(perm.trim().split(","))); +// if (SysUser.isAdmin(userId)) { + if (userId != null && isAdmin.contains(userId)) { + menuList = menuMapper.selectMenuList(menu); + } else { + menu.getParams().put("userId", userId); + menuList = menuMapper.selectMenuListByUserId(menu); } + return menuList; } - return permsSet; - } - /** - * 鏍规嵁瑙掕壊ID鏌ヨ鏉冮檺 - * - * @param roleId 瑙掕壊ID - * @return 鏉冮檺鍒楄〃 - */ - @Override - public Set<String> selectMenuPermsByRoleId(Long roleId) { - List<String> perms = menuMapper.selectMenuPermsByRoleId(roleId); - Set<String> permsSet = new HashSet<>(); - for (String perm : perms) { - if (StringUtils.isNotEmpty(perm)) { - permsSet.addAll(Arrays.asList(perm.trim().split(","))); - } - } - return permsSet; - } - - /** - * 鏍规嵁鐢ㄦ埛ID鏌ヨ鑿滃崟 - * - * @param userId 鐢ㄦ埛鍚嶇О - * @return 鑿滃崟鍒楄〃 - */ - @Override - public List<SysMenu> selectMenuTreeByUserId(Long userId) { - List<SysMenu> menus = null; -// if (SecurityUtils.isAdmin(userId)) { - if (userId != null && isAdmin.contains(userId)) { - menus = menuMapper.selectMenuTreeAll(); - } else { - menus = menuMapper.selectMenuTreeByUserId(userId); - } - return getChildPerms(menus, 0); - } - - /** - * 鏍规嵁瑙掕壊ID鏌ヨ鑿滃崟鏍戜俊鎭� - * - * @param roleId 瑙掕壊ID - * @return 閫変腑鑿滃崟鍒楄〃 - */ - @Override - public List<Long> selectMenuListByRoleId(Long roleId) { - SysRole role = roleMapper.selectRoleById(roleId); - return menuMapper.selectMenuListByRoleId(roleId, role.isMenuCheckStrictly()); - } - - /** - * 鏋勫缓鍓嶇璺敱鎵�闇�瑕佺殑鑿滃崟 - * - * @param menus 鑿滃崟鍒楄〃 - * @return 璺敱鍒楄〃 - */ - @Override - public List<RouterVo> buildMenus(List<SysMenu> menus) { - log.error("buildMenus鐨勫叆鍙備负锛歿}", menus); - List<RouterVo> routers = new LinkedList<RouterVo>(); - for (SysMenu menu : menus) { - RouterVo router = new RouterVo(); - router.setHidden("1".equals(menu.getVisible())); - router.setName(getRouteName(menu)); - router.setPath(getRouterPath(menu)); - router.setComponent(getComponent(menu)); - router.setQuery(menu.getQuery()); - router.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon(), StringUtils.equals("1", menu.getIsCache()), menu.getPath())); - List<SysMenu> cMenus = menu.getChildren(); - if (!cMenus.isEmpty() && cMenus.size() > 0 && UserConstants.TYPE_DIR.equals(menu.getMenuType())) { - router.setAlwaysShow(true); - router.setRedirect("noRedirect"); - router.setChildren(buildMenus(cMenus)); - } else if (isMenuFrame(menu)) { - router.setMeta(null); - List<RouterVo> childrenList = new ArrayList<RouterVo>(); - RouterVo children = new RouterVo(); - children.setPath(menu.getPath()); - children.setComponent(menu.getComponent()); - children.setName(StringUtils.capitalize(menu.getPath())); - children.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon(), StringUtils.equals("1", menu.getIsCache()), menu.getPath())); - children.setQuery(menu.getQuery()); - childrenList.add(children); - router.setChildren(childrenList); - } else if (menu.getParentId().intValue() == 0 && isInnerLink(menu)) { - router.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon())); - router.setPath("/"); - List<RouterVo> childrenList = new ArrayList<RouterVo>(); - RouterVo children = new RouterVo(); - String routerPath = innerLinkReplaceEach(menu.getPath()); - children.setPath(routerPath); - children.setComponent(UserConstants.INNER_LINK); - children.setName(StringUtils.capitalize(routerPath)); - children.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon(), menu.getPath())); - childrenList.add(children); - router.setChildren(childrenList); - } - routers.add(router); - } - log.error("----------routers鐨勫叆鍙備负锛歿}", routers); - for (RouterVo routerVo : routers) { - List<String> childName = new ArrayList<>(); - List<RouterVo> childrens = routerVo.getChildren(); - if (CollectionUtils.isNotEmpty(childrens)) { - for (RouterVo routerVo1 : childrens) { - if (!routerVo1.getHidden()) { - childName.add(routerVo1.getMeta().getTitle()); - } + /** + * 鏍规嵁鐢ㄦ埛ID鏌ヨ鏉冮檺 + * + * @param userId 鐢ㄦ埛ID + * @return 鏉冮檺鍒楄〃 + */ + @Override public Set<String> selectMenuPermsByUserId (Long userId){ + List<String> perms = menuMapper.selectMenuPermsByUserId(userId); + Set<String> permsSet = new HashSet<>(); + for (String perm : perms) { + if (StringUtils.isNotEmpty(perm)) { + permsSet.addAll(Arrays.asList(perm.trim().split(","))); } } - routerVo.setChildName(childName); + return permsSet; } - return routers; - } - /** - * 鏋勫缓鍓嶇鎵�闇�瑕佹爲缁撴瀯 - * - * @param menus 鑿滃崟鍒楄〃 - * @return 鏍戠粨鏋勫垪琛� - */ - @Override - public List<SysMenu> buildMenuTree(List<SysMenu> menus) { - List<SysMenu> returnList = new ArrayList<SysMenu>(); - List<Long> tempList = menus.stream().map(SysMenu::getMenuId).collect(Collectors.toList()); - for (Iterator<SysMenu> iterator = menus.iterator(); iterator.hasNext(); ) { - SysMenu menu = (SysMenu) iterator.next(); - // 濡傛灉鏄《绾ц妭鐐�, 閬嶅巻璇ョ埗鑺傜偣鐨勬墍鏈夊瓙鑺傜偣 - if (!tempList.contains(menu.getParentId())) { - recursionFn(menus, menu); - returnList.add(menu); + /** + * 鏍规嵁瑙掕壊ID鏌ヨ鏉冮檺 + * + * @param roleId 瑙掕壊ID + * @return 鏉冮檺鍒楄〃 + */ + @Override public Set<String> selectMenuPermsByRoleId (Long roleId){ + List<String> perms = menuMapper.selectMenuPermsByRoleId(roleId); + Set<String> permsSet = new HashSet<>(); + for (String perm : perms) { + if (StringUtils.isNotEmpty(perm)) { + permsSet.addAll(Arrays.asList(perm.trim().split(","))); + } + } + return permsSet; + } + + /** + * 鏍规嵁鐢ㄦ埛ID鏌ヨ鑿滃崟 + * + * @param userId 鐢ㄦ埛鍚嶇О + * @return 鑿滃崟鍒楄〃 + */ + @Override public List<SysMenu> selectMenuTreeByUserId (Long userId){ + List<SysMenu> menus = null; +// if (SecurityUtils.isAdmin(userId)) { + if (userId != null && isAdmin.contains(userId)) { + menus = menuMapper.selectMenuTreeAll(); + } else { + menus = menuMapper.selectMenuTreeByUserId(userId); + } + return getChildPerms(menus, 0); + } + + /** + * 鏍规嵁瑙掕壊ID鏌ヨ鑿滃崟鏍戜俊鎭� + * + * @param roleId 瑙掕壊ID + * @return 閫変腑鑿滃崟鍒楄〃 + */ + @Override public List<Long> selectMenuListByRoleId (Long roleId){ + SysRole role = roleMapper.selectRoleById(roleId); + return menuMapper.selectMenuListByRoleId(roleId, role.isMenuCheckStrictly()); + } + + /** + * 鏋勫缓鍓嶇璺敱鎵�闇�瑕佺殑鑿滃崟 + * + * @param menus 鑿滃崟鍒楄〃 + * @return 璺敱鍒楄〃 + */ + @Override public List<RouterVo> buildMenus (List < SysMenu > menus) { + log.error("buildMenus鐨勫叆鍙備负锛歿}", menus); + List<RouterVo> routers = new LinkedList<RouterVo>(); + for (SysMenu menu : menus) { + RouterVo router = new RouterVo(); + router.setHidden("1".equals(menu.getVisible())); + router.setName(getRouteName(menu)); + router.setPath(getRouterPath(menu)); + router.setComponent(getComponent(menu)); + router.setQuery(menu.getQuery()); + router.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon(), StringUtils.equals("1", menu.getIsCache()), menu.getPath())); + List<SysMenu> cMenus = menu.getChildren(); + if (!cMenus.isEmpty() && cMenus.size() > 0 && UserConstants.TYPE_DIR.equals(menu.getMenuType())) { + router.setAlwaysShow(true); + router.setRedirect("noRedirect"); + router.setChildren(buildMenus(cMenus)); + } else if (isMenuFrame(menu)) { + router.setMeta(null); + List<RouterVo> childrenList = new ArrayList<RouterVo>(); + RouterVo children = new RouterVo(); + children.setPath(menu.getPath()); + children.setComponent(menu.getComponent()); + children.setName(StringUtils.capitalize(menu.getPath())); + children.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon(), StringUtils.equals("1", menu.getIsCache()), menu.getPath())); + children.setQuery(menu.getQuery()); + childrenList.add(children); + router.setChildren(childrenList); + } else if (menu.getParentId().intValue() == 0 && isInnerLink(menu)) { + router.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon())); + router.setPath("/"); + List<RouterVo> childrenList = new ArrayList<RouterVo>(); + RouterVo children = new RouterVo(); + String routerPath = innerLinkReplaceEach(menu.getPath()); + children.setPath(routerPath); + children.setComponent(UserConstants.INNER_LINK); + children.setName(StringUtils.capitalize(routerPath)); + children.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon(), menu.getPath())); + childrenList.add(children); + router.setChildren(childrenList); + } + routers.add(router); + } + log.error("----------routers鐨勫叆鍙備负锛歿}", routers); + for (RouterVo routerVo : routers) { + List<String> childName = new ArrayList<>(); + List<RouterVo> childrens = routerVo.getChildren(); + if (CollectionUtils.isNotEmpty(childrens)) { + for (RouterVo routerVo1 : childrens) { + if (!routerVo1.getHidden()) { + childName.add(routerVo1.getMeta().getTitle()); + } + } + } + routerVo.setChildName(childName); + } + return routers; + } + + /** + * 鏋勫缓鍓嶇鎵�闇�瑕佹爲缁撴瀯 + * + * @param menus 鑿滃崟鍒楄〃 + * @return 鏍戠粨鏋勫垪琛� + */ + @Override public List<SysMenu> buildMenuTree (List < SysMenu > menus) { + List<SysMenu> returnList = new ArrayList<SysMenu>(); + List<Long> tempList = menus.stream().map(SysMenu::getMenuId).collect(Collectors.toList()); + for (Iterator<SysMenu> iterator = menus.iterator(); iterator.hasNext(); ) { + SysMenu menu = (SysMenu) iterator.next(); + // 濡傛灉鏄《绾ц妭鐐�, 閬嶅巻璇ョ埗鑺傜偣鐨勬墍鏈夊瓙鑺傜偣 + if (!tempList.contains(menu.getParentId())) { + recursionFn(menus, menu); + returnList.add(menu); + } + } + if (returnList.isEmpty()) { + returnList = menus; + } + return returnList; + } + + /** + * 鏋勫缓鍓嶇鎵�闇�瑕佷笅鎷夋爲缁撴瀯 + * + * @param menus 鑿滃崟鍒楄〃 + * @return 涓嬫媺鏍戠粨鏋勫垪琛� + */ + @Override public List<TreeSelect> buildMenuTreeSelect (List < SysMenu > menus) { + List<SysMenu> menuTrees = buildMenuTree(menus); + return menuTrees.stream().map(TreeSelect::new).collect(Collectors.toList()); + } + + /** + * 鏍规嵁鑿滃崟ID鏌ヨ淇℃伅 + * + * @param menuId 鑿滃崟ID + * @return 鑿滃崟淇℃伅 + */ + @Override public SysMenu selectMenuById (Long menuId){ + return menuMapper.selectMenuById(menuId); + } + + /** + * 鏄惁瀛樺湪鑿滃崟瀛愯妭鐐� + * + * @param menuId 鑿滃崟ID + * @return 缁撴灉 + */ + @Override public boolean hasChildByMenuId (Long menuId){ + int result = menuMapper.hasChildByMenuId(menuId); + return result > 0; + } + + /** + * 鏌ヨ鑿滃崟浣跨敤鏁伴噺 + * + * @param menuId 鑿滃崟ID + * @return 缁撴灉 + */ + @Override public boolean checkMenuExistRole (Long menuId){ + int result = roleMenuMapper.checkMenuExistRole(menuId); + return result > 0; + } + + /** + * 鏂板淇濆瓨鑿滃崟淇℃伅 + * + * @param menu 鑿滃崟淇℃伅 + * @return 缁撴灉 + */ + @Override public int insertMenu (SysMenu menu){ + return menuMapper.insertMenu(menu); + } + + /** + * 淇敼淇濆瓨鑿滃崟淇℃伅 + * + * @param menu 鑿滃崟淇℃伅 + * @return 缁撴灉 + */ + @Override public int updateMenu (SysMenu menu){ + return menuMapper.updateMenu(menu); + } + + /** + * 鍒犻櫎鑿滃崟绠$悊淇℃伅 + * + * @param menuId 鑿滃崟ID + * @return 缁撴灉 + */ + @Override public int deleteMenuById (Long menuId){ + return menuMapper.deleteMenuById(menuId); + } + + /** + * 鏍¢獙鑿滃崟鍚嶇О鏄惁鍞竴 + * + * @param menu 鑿滃崟淇℃伅 + * @return 缁撴灉 + */ + @Override public String checkMenuNameUnique (SysMenu menu){ + Long menuId = StringUtils.isNull(menu.getMenuId()) ? -1L : menu.getMenuId(); + SysMenu info = menuMapper.checkMenuNameUnique(menu.getMenuName(), menu.getParentId()); + if (StringUtils.isNotNull(info) && info.getMenuId().longValue() != menuId.longValue()) { + return UserConstants.NOT_UNIQUE; + } + return UserConstants.UNIQUE; + } + + /** + * 鑾峰彇璺敱鍚嶇О + * + * @param menu 鑿滃崟淇℃伅 + * @return 璺敱鍚嶇О + */ + public String getRouteName (SysMenu menu){ + String routerName = StringUtils.capitalize(menu.getPath()); + // 闈炲閾惧苟涓旀槸涓�绾х洰褰曪紙绫诲瀷涓虹洰褰曪級 + if (isMenuFrame(menu)) { + routerName = StringUtils.EMPTY; + } + return routerName; + } + + /** + * 鑾峰彇璺敱鍦板潃 + * + * @param menu 鑿滃崟淇℃伅 + * @return 璺敱鍦板潃 + */ + public String getRouterPath (SysMenu menu){ + String routerPath = menu.getPath(); + // 鍐呴摼鎵撳紑澶栫綉鏂瑰紡 + if (menu.getParentId().intValue() != 0 && isInnerLink(menu)) { + routerPath = innerLinkReplaceEach(routerPath); + } + // 闈炲閾惧苟涓旀槸涓�绾х洰褰曪紙绫诲瀷涓虹洰褰曪級 + if (0 == menu.getParentId().intValue() && UserConstants.TYPE_DIR.equals(menu.getMenuType()) && UserConstants.NO_FRAME.equals(menu.getIsFrame())) { + routerPath = "/" + menu.getPath(); + } + // 闈炲閾惧苟涓旀槸涓�绾х洰褰曪紙绫诲瀷涓鸿彍鍗曪級 + else if (isMenuFrame(menu)) { + routerPath = "/"; + } + return routerPath; + } + + /** + * 鑾峰彇缁勪欢淇℃伅 + * + * @param menu 鑿滃崟淇℃伅 + * @return 缁勪欢淇℃伅 + */ + public String getComponent (SysMenu menu){ + String component = UserConstants.LAYOUT; + if (StringUtils.isNotEmpty(menu.getComponent()) && !isMenuFrame(menu)) { + component = menu.getComponent(); + } else if (StringUtils.isEmpty(menu.getComponent()) && menu.getParentId().intValue() != 0 && isInnerLink(menu)) { + component = UserConstants.INNER_LINK; + } else if (StringUtils.isEmpty(menu.getComponent()) && isParentView(menu)) { + component = UserConstants.PARENT_VIEW; + } + return component; + } + + /** + * 鏄惁涓鸿彍鍗曞唴閮ㄨ烦杞� + * + * @param menu 鑿滃崟淇℃伅 + * @return 缁撴灉 + */ + public boolean isMenuFrame (SysMenu menu){ + return menu.getParentId().intValue() == 0 && UserConstants.TYPE_MENU.equals(menu.getMenuType()) && menu.getIsFrame().equals(UserConstants.NO_FRAME); + } + + /** + * 鏄惁涓哄唴閾剧粍浠� + * + * @param menu 鑿滃崟淇℃伅 + * @return 缁撴灉 + */ + public boolean isInnerLink (SysMenu menu){ + return menu.getIsFrame().equals(UserConstants.NO_FRAME) && StringUtils.ishttp(menu.getPath()); + } + + /** + * 鏄惁涓簆arent_view缁勪欢 + * + * @param menu 鑿滃崟淇℃伅 + * @return 缁撴灉 + */ + public boolean isParentView (SysMenu menu){ + return menu.getParentId().intValue() != 0 && UserConstants.TYPE_DIR.equals(menu.getMenuType()); + } + + /** + * 鏍规嵁鐖惰妭鐐圭殑ID鑾峰彇鎵�鏈夊瓙鑺傜偣 + * + * @param list 鍒嗙被琛� + * @param parentId 浼犲叆鐨勭埗鑺傜偣ID + * @return String + */ + public List<SysMenu> getChildPerms (List < SysMenu > list,int parentId){ + List<SysMenu> returnList = new ArrayList<SysMenu>(); + for (Iterator<SysMenu> iterator = list.iterator(); iterator.hasNext(); ) { + SysMenu t = (SysMenu) iterator.next(); + // 涓�銆佹牴鎹紶鍏ョ殑鏌愪釜鐖惰妭鐐笽D,閬嶅巻璇ョ埗鑺傜偣鐨勬墍鏈夊瓙鑺傜偣 + if (t.getParentId() == parentId) { + recursionFn(list, t); + returnList.add(t); + } + } + return returnList; + } + + /** + * 閫掑綊鍒楄〃 + * + * @param list 鍒嗙被琛� + * @param t 瀛愯妭鐐� + */ + private void recursionFn (List < SysMenu > list, SysMenu t){ + // 寰楀埌瀛愯妭鐐瑰垪琛� + List<SysMenu> childList = getChildList(list, t); + t.setChildren(childList); + for (SysMenu tChild : childList) { + if (hasChild(list, tChild)) { + recursionFn(list, tChild); + } } } - if (returnList.isEmpty()) { - returnList = menus; - } - return returnList; - } - /** - * 鏋勫缓鍓嶇鎵�闇�瑕佷笅鎷夋爲缁撴瀯 - * - * @param menus 鑿滃崟鍒楄〃 - * @return 涓嬫媺鏍戠粨鏋勫垪琛� - */ - @Override - public List<TreeSelect> buildMenuTreeSelect(List<SysMenu> menus) { - List<SysMenu> menuTrees = buildMenuTree(menus); - return menuTrees.stream().map(TreeSelect::new).collect(Collectors.toList()); - } - - /** - * 鏍规嵁鑿滃崟ID鏌ヨ淇℃伅 - * - * @param menuId 鑿滃崟ID - * @return 鑿滃崟淇℃伅 - */ - @Override - public SysMenu selectMenuById(Long menuId) { - return menuMapper.selectMenuById(menuId); - } - - /** - * 鏄惁瀛樺湪鑿滃崟瀛愯妭鐐� - * - * @param menuId 鑿滃崟ID - * @return 缁撴灉 - */ - @Override - public boolean hasChildByMenuId(Long menuId) { - int result = menuMapper.hasChildByMenuId(menuId); - return result > 0; - } - - /** - * 鏌ヨ鑿滃崟浣跨敤鏁伴噺 - * - * @param menuId 鑿滃崟ID - * @return 缁撴灉 - */ - @Override - public boolean checkMenuExistRole(Long menuId) { - int result = roleMenuMapper.checkMenuExistRole(menuId); - return result > 0; - } - - /** - * 鏂板淇濆瓨鑿滃崟淇℃伅 - * - * @param menu 鑿滃崟淇℃伅 - * @return 缁撴灉 - */ - @Override - public int insertMenu(SysMenu menu) { - return menuMapper.insertMenu(menu); - } - - /** - * 淇敼淇濆瓨鑿滃崟淇℃伅 - * - * @param menu 鑿滃崟淇℃伅 - * @return 缁撴灉 - */ - @Override - public int updateMenu(SysMenu menu) { - return menuMapper.updateMenu(menu); - } - - /** - * 鍒犻櫎鑿滃崟绠$悊淇℃伅 - * - * @param menuId 鑿滃崟ID - * @return 缁撴灉 - */ - @Override - public int deleteMenuById(Long menuId) { - return menuMapper.deleteMenuById(menuId); - } - - /** - * 鏍¢獙鑿滃崟鍚嶇О鏄惁鍞竴 - * - * @param menu 鑿滃崟淇℃伅 - * @return 缁撴灉 - */ - @Override - public String checkMenuNameUnique(SysMenu menu) { - Long menuId = StringUtils.isNull(menu.getMenuId()) ? -1L : menu.getMenuId(); - SysMenu info = menuMapper.checkMenuNameUnique(menu.getMenuName(), menu.getParentId()); - if (StringUtils.isNotNull(info) && info.getMenuId().longValue() != menuId.longValue()) { - return UserConstants.NOT_UNIQUE; - } - return UserConstants.UNIQUE; - } - - /** - * 鑾峰彇璺敱鍚嶇О - * - * @param menu 鑿滃崟淇℃伅 - * @return 璺敱鍚嶇О - */ - public String getRouteName(SysMenu menu) { - String routerName = StringUtils.capitalize(menu.getPath()); - // 闈炲閾惧苟涓旀槸涓�绾х洰褰曪紙绫诲瀷涓虹洰褰曪級 - if (isMenuFrame(menu)) { - routerName = StringUtils.EMPTY; - } - return routerName; - } - - /** - * 鑾峰彇璺敱鍦板潃 - * - * @param menu 鑿滃崟淇℃伅 - * @return 璺敱鍦板潃 - */ - public String getRouterPath(SysMenu menu) { - String routerPath = menu.getPath(); - // 鍐呴摼鎵撳紑澶栫綉鏂瑰紡 - if (menu.getParentId().intValue() != 0 && isInnerLink(menu)) { - routerPath = innerLinkReplaceEach(routerPath); - } - // 闈炲閾惧苟涓旀槸涓�绾х洰褰曪紙绫诲瀷涓虹洰褰曪級 - if (0 == menu.getParentId().intValue() && UserConstants.TYPE_DIR.equals(menu.getMenuType()) && UserConstants.NO_FRAME.equals(menu.getIsFrame())) { - routerPath = "/" + menu.getPath(); - } - // 闈炲閾惧苟涓旀槸涓�绾х洰褰曪紙绫诲瀷涓鸿彍鍗曪級 - else if (isMenuFrame(menu)) { - routerPath = "/"; - } - return routerPath; - } - - /** - * 鑾峰彇缁勪欢淇℃伅 - * - * @param menu 鑿滃崟淇℃伅 - * @return 缁勪欢淇℃伅 - */ - public String getComponent(SysMenu menu) { - String component = UserConstants.LAYOUT; - if (StringUtils.isNotEmpty(menu.getComponent()) && !isMenuFrame(menu)) { - component = menu.getComponent(); - } else if (StringUtils.isEmpty(menu.getComponent()) && menu.getParentId().intValue() != 0 && isInnerLink(menu)) { - component = UserConstants.INNER_LINK; - } else if (StringUtils.isEmpty(menu.getComponent()) && isParentView(menu)) { - component = UserConstants.PARENT_VIEW; - } - return component; - } - - /** - * 鏄惁涓鸿彍鍗曞唴閮ㄨ烦杞� - * - * @param menu 鑿滃崟淇℃伅 - * @return 缁撴灉 - */ - public boolean isMenuFrame(SysMenu menu) { - return menu.getParentId().intValue() == 0 && UserConstants.TYPE_MENU.equals(menu.getMenuType()) && menu.getIsFrame().equals(UserConstants.NO_FRAME); - } - - /** - * 鏄惁涓哄唴閾剧粍浠� - * - * @param menu 鑿滃崟淇℃伅 - * @return 缁撴灉 - */ - public boolean isInnerLink(SysMenu menu) { - return menu.getIsFrame().equals(UserConstants.NO_FRAME) && StringUtils.ishttp(menu.getPath()); - } - - /** - * 鏄惁涓簆arent_view缁勪欢 - * - * @param menu 鑿滃崟淇℃伅 - * @return 缁撴灉 - */ - public boolean isParentView(SysMenu menu) { - return menu.getParentId().intValue() != 0 && UserConstants.TYPE_DIR.equals(menu.getMenuType()); - } - - /** - * 鏍规嵁鐖惰妭鐐圭殑ID鑾峰彇鎵�鏈夊瓙鑺傜偣 - * - * @param list 鍒嗙被琛� - * @param parentId 浼犲叆鐨勭埗鑺傜偣ID - * @return String - */ - public List<SysMenu> getChildPerms(List<SysMenu> list, int parentId) { - List<SysMenu> returnList = new ArrayList<SysMenu>(); - for (Iterator<SysMenu> iterator = list.iterator(); iterator.hasNext(); ) { - SysMenu t = (SysMenu) iterator.next(); - // 涓�銆佹牴鎹紶鍏ョ殑鏌愪釜鐖惰妭鐐笽D,閬嶅巻璇ョ埗鑺傜偣鐨勬墍鏈夊瓙鑺傜偣 - if (t.getParentId() == parentId) { - recursionFn(list, t); - returnList.add(t); + /** + * 寰楀埌瀛愯妭鐐瑰垪琛� + */ + private List<SysMenu> getChildList (List < SysMenu > list, SysMenu t){ + List<SysMenu> tlist = new ArrayList<SysMenu>(); + Iterator<SysMenu> it = list.iterator(); + while (it.hasNext()) { + SysMenu n = (SysMenu) it.next(); + if (n.getParentId().longValue() == t.getMenuId().longValue()) { + tlist.add(n); + } } + return tlist; } - return returnList; - } - /** - * 閫掑綊鍒楄〃 - * - * @param list 鍒嗙被琛� - * @param t 瀛愯妭鐐� - */ - private void recursionFn(List<SysMenu> list, SysMenu t) { - // 寰楀埌瀛愯妭鐐瑰垪琛� - List<SysMenu> childList = getChildList(list, t); - t.setChildren(childList); - for (SysMenu tChild : childList) { - if (hasChild(list, tChild)) { - recursionFn(list, tChild); - } + /** + * 鍒ゆ柇鏄惁鏈夊瓙鑺傜偣 + */ + private boolean hasChild (List < SysMenu > list, SysMenu t){ + return getChildList(list, t).size() > 0; + } + + /** + * 鍐呴摼鍩熷悕鐗规畩瀛楃鏇挎崲 + * + * @return 鏇挎崲鍚庣殑鍐呴摼鍩熷悕 + */ + public String innerLinkReplaceEach (String path){ + return StringUtils.replaceEach(path, new String[]{Constants.HTTP, Constants.HTTPS, Constants.WWW, "."}, new String[]{"", "", "", "/"}); } } - - /** - * 寰楀埌瀛愯妭鐐瑰垪琛� - */ - private List<SysMenu> getChildList(List<SysMenu> list, SysMenu t) { - List<SysMenu> tlist = new ArrayList<SysMenu>(); - Iterator<SysMenu> it = list.iterator(); - while (it.hasNext()) { - SysMenu n = (SysMenu) it.next(); - if (n.getParentId().longValue() == t.getMenuId().longValue()) { - tlist.add(n); - } - } - return tlist; - } - - /** - * 鍒ゆ柇鏄惁鏈夊瓙鑺傜偣 - */ - private boolean hasChild(List<SysMenu> list, SysMenu t) { - return getChildList(list, t).size() > 0; - } - - /** - * 鍐呴摼鍩熷悕鐗规畩瀛楃鏇挎崲 - * - * @return 鏇挎崲鍚庣殑鍐呴摼鍩熷悕 - */ - public String innerLinkReplaceEach(String path) { - return StringUtils.replaceEach(path, new String[]{Constants.HTTP, Constants.HTTPS, Constants.WWW, "."}, new String[]{"", "", "", "/"}); - } -} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java index dd84d2b..28880dc 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java @@ -17,6 +17,7 @@ import com.ruoyi.system.mapper.SysUserRoleMapper; import com.ruoyi.system.service.ISysRoleService; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -41,6 +42,9 @@ @Autowired private SysRoleDeptMapper roleDeptMapper; + + @Value("${isAdmin}") + private List<Long> isAdmin; /** * 鏍规嵁鏉′欢鍒嗛〉鏌ヨ瑙掕壊鏁版嵁 @@ -194,7 +198,7 @@ @Override public void checkRoleDataScope(Long roleId) { - if (!SysUser.isAdmin(SecurityUtils.getUserId())) + if (!isAdmin.contains(SecurityUtils.getUserId())) { SysRole role = new SysRole(); role.setRoleId(roleId); diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java index e71efa3..9143807 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java @@ -17,6 +17,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; @@ -60,6 +61,9 @@ @Autowired protected Validator validator; + + @Value("${isAdmin}") + private List<Long> isAdmin; /** * 鏍规嵁鏉′欢鍒嗛〉鏌ヨ鐢ㄦ埛鍒楄〃 @@ -353,7 +357,7 @@ */ @Override public void checkUserAllowed(SysUser user) { - if (StringUtils.isNotNull(user.getUserId()) && user.isAdmin()) { + if (StringUtils.isNotNull(user.getUserId()) && isAdmin.contains(user.getUserId())) { throw new ServiceException("涓嶅厑璁告搷浣滆秴绾х鐞嗗憳鐢ㄦ埛"); } } @@ -365,7 +369,7 @@ */ @Override public void checkUserDataScope(Long userId) { - if (!SysUser.isAdmin(SecurityUtils.getUserId())) { + if (!isAdmin.contains(SecurityUtils.getUserId())) { SysUser user = new SysUser(); user.setUserId(userId); List<SysUser> users = SpringUtils.getAopProxy(this).selectUserList(user); diff --git a/smartor/src/main/java/com/smartor/service/IServiceExternalService.java b/smartor/src/main/java/com/smartor/service/IServiceExternalService.java index 07efb06..e75cdb6 100644 --- a/smartor/src/main/java/com/smartor/service/IServiceExternalService.java +++ b/smartor/src/main/java/com/smartor/service/IServiceExternalService.java @@ -92,4 +92,9 @@ * 鏂板鎵嬫湳淇℃伅 */ public Boolean addOperationInfo(@RequestBody Map dataMap); + + /** + * 鏂板鍖荤枟缁勫尰鐢� + */ + public Boolean addMedicalTeam(Map dataMap); } diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java index 90b5937..037a99a 100644 --- a/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java +++ b/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java @@ -543,8 +543,8 @@ icd10.setGuid(externalDiseaseInfo.getZuZhiJGID()); icd10.setLastflag(externalDiseaseInfo.getMOJIBZ()); icd10.setChimedflag("" + externalDiseaseInfo.getZhongYiZDBZ()); + icd10.setUpdateTime(new Date()); if (CollectionUtils.isNotEmpty(icd10s)) { - icd10.setUpdateTime(new Date()); icd10.setIcdid(icd10s.get(0).getIcdid()); icd10Mapper.updateIcd10(icd10); } else { @@ -561,7 +561,7 @@ Map<String, Object> bqxx = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("BingQuXX") : null; ExternalWardArea externalWardArea = BeanUtil.mapToBean(bqxx, ExternalWardArea.class, true); SysDept sysDept = new SysDept(); - sysDept.setGuid(externalWardArea.getZuZhiJGID()); + sysDept.setOrgid(externalWardArea.getZuZhiJGID()); sysDept.setHisDeptId(externalWardArea.getBingQuID()); sysDept.setDeptName(externalWardArea.getBingQuMC()); @@ -571,19 +571,26 @@ sysDept.setDeptCode(externalWardArea.getBingQuID()); sysDept.setCreateBy(externalWardArea.getChuangJianRXM()); sysDept.setType(externalWardArea.getBingQuLXDM()); - sysDept.setCreateTime(externalWardArea.getCreateTime()); sysDept.setUpdateTime(externalWardArea.getUpdateTime()); sysDept.setUpdateBy(externalWardArea.getUpdateBy()); if (StringUtils.isNotEmpty(externalWardArea.getShiJianDM()) && externalWardArea.getShiJianDM().equals("3")) { sysDept.setStatus("1"); } if (StringUtils.isNotEmpty(externalWardArea.getShiJianDM()) && externalWardArea.getShiJianDM().equals("1")) { + sysDept.setCreateTime(externalWardArea.getCreateTime()); int i = sysDeptMapper.insertDept(sysDept); log.error("ServiceExternalServiceImpl---addWardAreaInfo鏄惁鏂板鎴愬姛锛歿}", i); } else { int i = sysDeptMapper.updateDept(sysDept); log.error("ServiceExternalServiceImpl---addWardAreaInfo鏄惁淇敼鎴愬姛锛歿}", i); } + return true; + } + + @Override + public Boolean addMedicalTeam(Map dataMap) { + log.error("ServiceExternalServiceImpl---addMedicalTeam鐨勬柊澧炵殑鍊间负锛歿}", dataMap); + return true; } @@ -796,17 +803,19 @@ if (ObjectUtils.isNotEmpty(externalInHospPatientLiaisonInfo)) patArchive.setRelativetelcode(externalInHospPatientLiaisonInfo.getLianXiRDH()); patArchive.setInhospno(externalInHospPatientInfo.getBingAnHao()); - patArchive.setCreateTime(new Date()); + patArchive.setIdcardtype(externalInHospPatientInfo.getZhengJianLXMC()); if (CollectionUtils.isNotEmpty(patArchives)) { //濡傛灉涓嶄负绌猴紝鐩存帴灏嗘煡璇㈠嚭鏉ョ殑瀵硅薄杩斿洖 PatArchive patArchive1 = patArchives.get(0); String orgid = patArchive1.getOrgid(); if (StringUtils.isNotEmpty(orgid)) { + patArchive.setUpdateTime(new Date()); patArchive.setId(patArchive1.getId()); patArchiveMapper.updatePatArchive(patArchive); } } else { + patArchive.setCreateTime(new Date()); patArchiveMapper.insertPatArchiveSingle(patArchive); } //鏂板睘淇℃伅 @@ -997,8 +1006,11 @@ log.error("鍙栨秷鍑洪櫌鍏ュ弬绫诲瀷涓猴細{}", type); return cancelOutHospInfo(dataMap); case "JG_ZZ_BingQu": - log.error("鐥呭尯淇℃伅鍏ュ弬绫诲瀷涓鸿緟锛歿}", type); + log.error("鐥呭尯淇℃伅鍏ュ弬绫诲瀷涓猴細{}", type); return addWardAreaInfo(dataMap); + case "JG_ZZ_YiLiaoZYS": + log.error("鍖荤枟缁勫尰鐢熶负锛歿}", type); + return addMedicalTeam(dataMap); } return true; } -- Gitblit v1.9.3