车型项目库数据 非管理员和非标准管理员,只能查看自己负责的数据

This commit is contained in:
Xia Zekun
2024-04-16 16:40:17 +08:00
committed by lijiarao
parent bd3767e449
commit 357af0625c
@@ -12,6 +12,7 @@ import com.jero.common.exception.JeroBootException;
import com.jero.common.system.query.QueryGenerator;
import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.MessageUtils;
import com.jero.modules.laws.common.constant.FieldCommon;
import com.jero.modules.laws.common.util.CurrentUserUtil;
import com.jero.modules.projectLibrary.common.AssessCommon;
import com.jero.modules.projectLibrary.entity.LawsAssess;
@@ -22,6 +23,7 @@ import com.jero.modules.projectLibrary.mapper.LawsProjectLibraryMapper;
import com.jero.modules.projectLibrary.service.ILawsAssessService;
import com.jero.modules.projectLibrary.service.ILawsEvaluationNotMetService;
import com.jero.modules.projectLibrary.service.ILawsProjectLibraryService;
import com.jero.modules.sys.utils.UserUtils;
import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.service.ISysUserService;
import lombok.Cleanup;
@@ -33,6 +35,7 @@ import org.jeecgframework.poi.excel.ExcelExportUtil;
import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.entity.ExportParams;
import org.jeecgframework.poi.excel.entity.ImportParams;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
@@ -64,6 +67,11 @@ public class LawsProjectLibraryServiceImpl extends ServiceImpl<LawsProjectLibrar
private ILawsAssessService lawsAssessService;
@Resource
private ILawsEvaluationNotMetService notMetService;
@Resource
private ISysUserService sysUserRoleService;
@Value("#{'${adminRoleCode}'.split(',')}")
private List<String> adminRoleCodeList;
/**
* 分页查询
@@ -71,6 +79,22 @@ public class LawsProjectLibraryServiceImpl extends ServiceImpl<LawsProjectLibrar
@Override
public IPage<LawsProjectLibrary> queryPage(LawsProjectLibrary lawsProjectLibrary, Integer pageNo, Integer pageSize,
HttpServletRequest req) {
// 获取当前用户
String userId = UserUtils.getUserId();
SysUser currentUser = sysUserService.getById(userId);
String username = currentUser.getUsername();
// 获取当前用户的角色roleCode
List<String> roleList = sysUserRoleService.getRole(username);
//根据角色判断是否有权限全查看
boolean isAdmin = false;
if (roleList != null && roleList.stream().anyMatch(adminRoleCodeList::contains)) {
isAdmin = true;
}
// 如果没有全查看的权限,那就只能查看自己的
if (!isAdmin) {
lawsProjectLibrary.setProjectLeader(userId);
}
QueryWrapper<LawsProjectLibrary> queryWrapper = QueryGenerator.initQueryWrapper(lawsProjectLibrary, req.getParameterMap());
Page<LawsProjectLibrary> page = new Page<>(pageNo, pageSize);
Page<LawsProjectLibrary> libraryPage = page(page, queryWrapper);