fetch:权限
This commit is contained in:
@@ -99,7 +99,7 @@ public class SarMenuController extends BaseController<SarMenu> {
|
||||
|
||||
@ApiOperation("删除菜单")
|
||||
@DeleteMapping
|
||||
public ResponseMessage<Object> delMenu(@RequestParam Integer menuId){
|
||||
public ResponseMessage<Object> delMenu(@RequestParam String menuId){
|
||||
return sarMenuEOService.delMenu(menuId);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -54,10 +54,10 @@ public interface ISarMenuService extends IService<SarMenu> {
|
||||
|
||||
/**
|
||||
* 删除菜单
|
||||
* @param menuId:菜单ID
|
||||
* @param menuId :菜单ID
|
||||
* @return ResponseMessage<Object>
|
||||
*/
|
||||
ResponseMessage<Object> delMenu(Integer menuId);
|
||||
ResponseMessage<Object> delMenu(String menuId);
|
||||
|
||||
/**
|
||||
* 通过Ids查询menu
|
||||
|
||||
+2
-2
@@ -222,11 +222,11 @@ public class SarMenuServiceImpl extends ServiceImpl<SarMenuDao, SarMenu> impleme
|
||||
|
||||
/**
|
||||
* 删除菜单
|
||||
* @param menuId:菜单ID
|
||||
* @param menuId :菜单ID
|
||||
* @return ResponseMessage<Object>
|
||||
*/
|
||||
@Override
|
||||
public ResponseMessage<Object> delMenu(Integer menuId) {
|
||||
public ResponseMessage<Object> delMenu(String menuId) {
|
||||
QueryWrapper<SarMenu> sarMenuQueryWrapper=new QueryWrapper<>();
|
||||
sarMenuQueryWrapper.eq("parent_id",menuId);
|
||||
List<SarMenu> children=dao.selectList(sarMenuQueryWrapper);
|
||||
|
||||
+3
@@ -1,6 +1,8 @@
|
||||
package com.adc.da.slrs.sarPersonalCenter.entity;
|
||||
|
||||
import com.adc.da.base.entity.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
@@ -21,6 +23,7 @@ import lombok.experimental.Accessors;
|
||||
@ApiModel(value="SarUserPersonalMenu对象", description="")
|
||||
public class SarUserPersonalMenu extends BaseEntity {
|
||||
|
||||
@TableId(type = IdType.UUID)
|
||||
@ApiModelProperty("id")
|
||||
private String id;
|
||||
|
||||
|
||||
+7
-3
@@ -1,6 +1,7 @@
|
||||
package com.adc.da.slrs.sarPersonalCenter.service;
|
||||
|
||||
import com.adc.da.http.ResponseMessage;
|
||||
import com.adc.da.slrs.sarMenu.entity.SarMenu;
|
||||
import com.adc.da.slrs.sarPersonalCenter.entity.SarUserPersonalMenu;
|
||||
import com.adc.da.slrs.sarPersonalCenter.entity.SarUserPersonalMenuEO;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
@@ -22,8 +23,11 @@ public interface ISarUserPersonalMenuService extends IService<SarUserPersonalMen
|
||||
|
||||
public ResponseMessage<IPage<SarUserPersonalMenu>> updateUserPersonalMenu(SarUserPersonalMenuEO eo);
|
||||
|
||||
public void updateUserPersonalMenuForRole(List<SarUserPersonalMenu> menus,String userId);
|
||||
|
||||
|
||||
public void updateUserPersonalMenuForRole(List<SarMenu> menus, String userId);
|
||||
|
||||
/**
|
||||
* 更新用户权限
|
||||
* @param roleId:角色ID
|
||||
*/
|
||||
void setPersonalMenu(String roleId);
|
||||
}
|
||||
|
||||
+27
-9
@@ -2,14 +2,18 @@ package com.adc.da.slrs.sarPersonalCenter.service.impl;
|
||||
|
||||
import com.adc.da.http.ResponseMessage;
|
||||
import com.adc.da.http.Result;
|
||||
import com.adc.da.slrs.sarMenu.entity.SarMenu;
|
||||
import com.adc.da.slrs.sarPersonalCenter.entity.SarUserPersonalMenu;
|
||||
import com.adc.da.slrs.sarPersonalCenter.dao.SarUserPersonalMenuDao;
|
||||
import com.adc.da.slrs.sarPersonalCenter.entity.SarUserPersonalMenuEO;
|
||||
import com.adc.da.slrs.sarPersonalCenter.service.ISarUserPersonalMenuService;
|
||||
import com.adc.da.slrs.sarUser.service.impl.TsUserServiceImpl;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.scheduling.annotation.Async;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.*;
|
||||
@@ -24,7 +28,8 @@ import java.util.*;
|
||||
*/
|
||||
@Service
|
||||
public class SarUserPersonalMenuServiceImpl extends ServiceImpl<SarUserPersonalMenuDao, SarUserPersonalMenu> implements ISarUserPersonalMenuService {
|
||||
|
||||
@Autowired
|
||||
private TsUserServiceImpl tsUserService;
|
||||
|
||||
@Override
|
||||
public ResponseMessage<IPage<SarUserPersonalMenu>> getUserPersonalMenu(SarUserPersonalMenuEO eo) {
|
||||
@@ -68,16 +73,15 @@ public class SarUserPersonalMenuServiceImpl extends ServiceImpl<SarUserPersonalM
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateUserPersonalMenuForRole(List<SarUserPersonalMenu> menuList,String userId) {
|
||||
|
||||
public void updateUserPersonalMenuForRole(List<SarMenu> menuList,String userId) {
|
||||
Set<String> ids=new HashSet<>();
|
||||
|
||||
for (SarUserPersonalMenu menu : menuList) {
|
||||
if(menu.getMenuId()!=null&&menu.getMenuId().trim().length()>0){
|
||||
for (SarMenu menu : menuList) {
|
||||
if(menu.getId()!=null&&menu.getId().trim().length()>0){
|
||||
|
||||
QueryWrapper<SarUserPersonalMenu> queryWrapper=new QueryWrapper<>();
|
||||
queryWrapper.eq("user_id",userId);
|
||||
queryWrapper.eq("menu_id",menu.getMenuId());
|
||||
queryWrapper.eq("menu_id",menu.getId());
|
||||
List<SarUserPersonalMenu> menus = getBaseMapper().selectList(queryWrapper);
|
||||
if (menus.size()>0) {
|
||||
ids.add(menus.get(0).getId());
|
||||
@@ -86,9 +90,9 @@ public class SarUserPersonalMenuServiceImpl extends ServiceImpl<SarUserPersonalM
|
||||
|
||||
SarUserPersonalMenu sarUserPersonalMenu=new SarUserPersonalMenu();
|
||||
sarUserPersonalMenu.setMenuName(menu.getMenuName());
|
||||
sarUserPersonalMenu.setMenuUrl(menu.getMenuUrl());
|
||||
sarUserPersonalMenu.setUserId(menu.getUserId());
|
||||
sarUserPersonalMenu.setMenuId(menu.getMenuId());
|
||||
sarUserPersonalMenu.setMenuUrl(menu.getHref());
|
||||
sarUserPersonalMenu.setUserId(userId);
|
||||
sarUserPersonalMenu.setMenuId(menu.getId());
|
||||
sarUserPersonalMenu.setState(0);
|
||||
|
||||
getBaseMapper().insert(sarUserPersonalMenu);
|
||||
@@ -101,4 +105,18 @@ public class SarUserPersonalMenuServiceImpl extends ServiceImpl<SarUserPersonalM
|
||||
getBaseMapper().delete(queryWrapper);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新用户权限
|
||||
* @param roleId:角色ID
|
||||
*/
|
||||
@Async
|
||||
@Override
|
||||
public void setPersonalMenu(String roleId) {
|
||||
List<String> userIds=tsUserService.getUserIdsByRoleId(roleId);
|
||||
for(String userId:userIds){
|
||||
List<SarMenu> menus=tsUserService.getMenusByUserId(userId);
|
||||
updateUserPersonalMenuForRole(menus,userId);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -63,4 +63,12 @@ public interface TsPositionDao extends BaseMapper<TsPosition> {
|
||||
* @return List<String>
|
||||
*/
|
||||
List<String> getRoleIdsByPositionIds(List<String> positionIds);
|
||||
|
||||
/**
|
||||
* 通过roleId查询岗位ID列表
|
||||
* @param roleId:角色ID
|
||||
* @return List<String>
|
||||
*/
|
||||
@Select("select position_id from ts_position_role where role_id=#{roleId}")
|
||||
List<String> getPositionIdsByRoleId(String roleId);
|
||||
}
|
||||
|
||||
@@ -66,4 +66,11 @@ public interface ITsPositionService extends IService<TsPosition> {
|
||||
* @return List<String>
|
||||
*/
|
||||
List<String> getRoleIdsByPositionIds(List<String> positionIds);
|
||||
|
||||
/**
|
||||
* 通过roleId查询岗位ID列表
|
||||
* @param roleId:角色ID
|
||||
* @return List<String>
|
||||
*/
|
||||
List<String> getPositionIdsByRoleId(String roleId);
|
||||
}
|
||||
|
||||
+10
@@ -147,4 +147,14 @@ public class TsPositionServiceImpl extends ServiceImpl<TsPositionDao, TsPosition
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过roleId查询岗位ID列表
|
||||
* @param roleId:角色ID
|
||||
* @return List<String>
|
||||
*/
|
||||
@Override
|
||||
public List<String> getPositionIdsByRoleId(String roleId) {
|
||||
return tsPositionDao.getPositionIdsByRoleId(roleId);
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -24,7 +24,7 @@ import java.util.List;
|
||||
*/
|
||||
@RestController
|
||||
@Api(tags = "资源管理")
|
||||
@RequestMapping("/sarResource/ts-resource")
|
||||
@RequestMapping("/api/sarResource/ts-resource")
|
||||
public class TsResourceController extends BaseController<TsResource> {
|
||||
@Autowired
|
||||
private ITsResourceService tsResourceService;
|
||||
@@ -50,7 +50,7 @@ public class TsResourceController extends BaseController<TsResource> {
|
||||
|
||||
@ApiOperation("删除资源")
|
||||
@DeleteMapping
|
||||
public ResponseMessage<Object> delResource(@RequestParam Integer resourceId){
|
||||
public ResponseMessage<Object> delResource(@RequestParam String resourceId){
|
||||
return tsResourceService.delResource(resourceId);
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -22,7 +22,7 @@ public interface ITsResourceService extends IService<TsResource> {
|
||||
|
||||
ResponseMessage<Object> updateResource(TsResource tsResource);
|
||||
|
||||
ResponseMessage<Object> delResource(Integer resourceId);
|
||||
ResponseMessage<Object> delResource(String resourceId);
|
||||
|
||||
/**
|
||||
* 通过Ids查询menu
|
||||
|
||||
+1
-1
@@ -84,7 +84,7 @@ public class TsResourceServiceImpl extends ServiceImpl<TsResourceDao, TsResource
|
||||
* @return ResponseMessage<Object>
|
||||
*/
|
||||
@Override
|
||||
public ResponseMessage<Object> delResource(Integer ResourceId) {
|
||||
public ResponseMessage<Object> delResource(String ResourceId) {
|
||||
QueryWrapper<TsResource> TsResourceQueryWrapper=new QueryWrapper<>();
|
||||
TsResourceQueryWrapper.eq("parent_id",ResourceId);
|
||||
List<TsResource> children=dao.selectList(TsResourceQueryWrapper);
|
||||
|
||||
+10
-5
@@ -5,15 +5,18 @@ import com.adc.da.http.Result;
|
||||
import com.adc.da.slrs.sarMenu.dao.SarMenuDao;
|
||||
import com.adc.da.slrs.sarMenu.entity.SarMenu;
|
||||
import com.adc.da.slrs.sarMenu.service.ISarMenuService;
|
||||
import com.adc.da.slrs.sarPersonalCenter.service.ISarUserPersonalMenuService;
|
||||
import com.adc.da.slrs.sarRole.entity.TsRole;
|
||||
import com.adc.da.slrs.sarRole.dao.TsRoleDao;
|
||||
import com.adc.da.slrs.sarRole.entity.TsRoleMenuVO;
|
||||
import com.adc.da.slrs.sarRole.entity.TsRoleResourceVO;
|
||||
import com.adc.da.slrs.sarRole.service.ITsRoleService;
|
||||
import com.adc.da.slrs.sarUser.service.ITsUserService;
|
||||
import com.adc.da.utils.util.ListUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.scheduling.annotation.EnableAsync;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
@@ -28,13 +31,15 @@ import java.util.Map;
|
||||
* @author zyl
|
||||
* @since 2021-06-22
|
||||
*/
|
||||
@EnableAsync
|
||||
@Service
|
||||
public class TsRoleServiceImpl extends ServiceImpl<TsRoleDao, TsRole> implements ITsRoleService {
|
||||
@Autowired
|
||||
private TsRoleDao tsRoleDao;
|
||||
@Autowired
|
||||
private ISarMenuService sarMenuService;
|
||||
|
||||
@Autowired
|
||||
private ISarUserPersonalMenuService sarUserPersonalMenuService;
|
||||
/**
|
||||
* 查询所有角色
|
||||
* @return List<TsRole>
|
||||
@@ -170,8 +175,7 @@ public class TsRoleServiceImpl extends ServiceImpl<TsRoleDao, TsRole> implements
|
||||
tsRoleDao.delMenu(tsRoleMenuVO.getRoleId(),menuId);
|
||||
}
|
||||
}
|
||||
//修改首页自定义目录
|
||||
// List<SarMenu> menus=sarMenuService.getMenusByIds(tsRoleMenuVO.getMenuIds());
|
||||
sarUserPersonalMenuService.setPersonalMenu(tsRoleMenuVO.getRoleId());
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@@ -223,8 +227,7 @@ public class TsRoleServiceImpl extends ServiceImpl<TsRoleDao, TsRole> implements
|
||||
tsRoleDao.delResource(tsRoleResourceVO.getRoleId(),menuId);
|
||||
}
|
||||
}
|
||||
//修改首页自定义目录
|
||||
// List<SarMenu> menus=sarMenuService.getMenusByIds(tsRoleMenuVO.getMenuIds());
|
||||
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@@ -252,4 +255,6 @@ public class TsRoleServiceImpl extends ServiceImpl<TsRoleDao, TsRole> implements
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -46,4 +46,11 @@ public interface TsUserDao extends BaseMapper<TsUser> {
|
||||
* @return List<TsUser>
|
||||
*/
|
||||
List<TsUser> getUserAndPosition(String institutionId);
|
||||
|
||||
/**
|
||||
* 通过岗位Id列表查询用户ID列表
|
||||
* @param positionIds:岗位ID列表
|
||||
* @return List<String>
|
||||
*/
|
||||
List<String> getUserIdsByPositionIds(List<String> positionIds);
|
||||
}
|
||||
|
||||
@@ -48,4 +48,19 @@ public interface ITsUserService extends IService<TsUser> {
|
||||
List<SarMenu> getMenu();
|
||||
|
||||
List<TsResource> getResource();
|
||||
|
||||
/**
|
||||
* 配置个人菜单
|
||||
* @param roleId :角色ID
|
||||
* @return List<String>
|
||||
*/
|
||||
public List<String> getUserIdsByRoleId(String roleId);
|
||||
|
||||
/**
|
||||
* 通过用户ID查询菜单
|
||||
* @param userId:用户ID
|
||||
* @return List<SarMenu>
|
||||
*/
|
||||
public List<SarMenu> getMenusByUserId(String userId);
|
||||
|
||||
}
|
||||
|
||||
+26
-5
@@ -5,7 +5,6 @@ import com.adc.da.http.Result;
|
||||
import com.adc.da.login.util.UserUtils;
|
||||
import com.adc.da.slrs.sarMenu.entity.SarMenu;
|
||||
import com.adc.da.slrs.sarMenu.service.ISarMenuService;
|
||||
import com.adc.da.slrs.sarPosition.entity.TsPosition;
|
||||
import com.adc.da.slrs.sarPosition.service.ITsPositionService;
|
||||
import com.adc.da.slrs.sarResource.entity.TsResource;
|
||||
import com.adc.da.slrs.sarResource.service.ITsResourceService;
|
||||
@@ -15,15 +14,12 @@ import com.adc.da.slrs.sarUser.dao.TsUserDao;
|
||||
import com.adc.da.slrs.sarUser.entity.UserPositionVO;
|
||||
import com.adc.da.slrs.sarUser.service.ITsUserService;
|
||||
import com.adc.da.sys.entity.UserEO;
|
||||
import com.adc.da.util.LoginUserUtil;
|
||||
import com.adc.da.utils.util.ListUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.awt.*;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -47,6 +43,8 @@ public class TsUserServiceImpl extends ServiceImpl<TsUserDao, TsUser> implements
|
||||
private ISarMenuService sarMenuService;
|
||||
@Autowired
|
||||
private ITsResourceService tsResourceService;
|
||||
// @Autowired
|
||||
// private ISarUserPersonalMenuService sarUserPersonalMenuService;
|
||||
|
||||
/**
|
||||
* 通过机构ID查询人员
|
||||
@@ -123,7 +121,6 @@ public class TsUserServiceImpl extends ServiceImpl<TsUserDao, TsUser> implements
|
||||
public List<SarMenu> getMenu() {
|
||||
UserEO userEO=UserUtils.getUser();
|
||||
String userId= userEO.getUsid();
|
||||
System.out.println(userId);
|
||||
List<String> positionIds=tsUserDao.selectPositionIds(userId);
|
||||
List<String> roleIds=tsPositionService.getRoleIdsByPositionIds(positionIds);
|
||||
List<String> menuIds=tsRoleService.getMenuIdsByRoleIds(roleIds);
|
||||
@@ -144,4 +141,28 @@ public class TsUserServiceImpl extends ServiceImpl<TsUserDao, TsUser> implements
|
||||
List<String> resourceIds=tsRoleService.getResourceIdsByRoleIds(roleIds);
|
||||
return tsResourceService.getResourceByIds(resourceIds);
|
||||
}
|
||||
|
||||
/**
|
||||
* 配置个人菜单
|
||||
* @param roleId :角色ID
|
||||
* @return List<String>
|
||||
*/
|
||||
@Override
|
||||
public List<String> getUserIdsByRoleId(String roleId) {
|
||||
List<String> positionIds=tsPositionService.getPositionIdsByRoleId(roleId);
|
||||
return tsUserDao.getUserIdsByPositionIds(positionIds);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过用户ID查询菜单
|
||||
* @param userId:用户ID
|
||||
* @return List<SarMenu>
|
||||
*/
|
||||
@Override
|
||||
public List<SarMenu> getMenusByUserId(String userId){
|
||||
List<String> positionIds=tsUserDao.selectPositionIds(userId);
|
||||
List<String> roleIds=tsPositionService.getRoleIdsByPositionIds(positionIds);
|
||||
List<String> menuIds=tsRoleService.getMenuIdsByRoleIds(roleIds);
|
||||
return sarMenuService.getMenuByIds(menuIds);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,4 +36,14 @@
|
||||
on up.position_id=p.id
|
||||
where u.institution_id=#{institutionId}
|
||||
</select>
|
||||
|
||||
<select id="getUserIdsByPositionIds" resultType="String">
|
||||
select user_id from ts_user_position
|
||||
where position_id in
|
||||
(
|
||||
<foreach collection="list" item="positionId" separator=",">
|
||||
#{positionId}
|
||||
</foreach>
|
||||
)
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
Reference in New Issue
Block a user