fetch:权限

This commit is contained in:
root
2021-07-01 10:50:56 +08:00
parent b543a9502d
commit 349737cd67
17 changed files with 139 additions and 31 deletions
@@ -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;
@@ -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);
}
@@ -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);
}
}
}