内部工作组左侧属性修改

This commit is contained in:
梁琦涛
2023-11-08 17:45:52 +08:00
parent 0eb1d3e6ff
commit c3d69e74a1
3 changed files with 63 additions and 15 deletions
@@ -7,9 +7,11 @@ import com.jero.common.aspect.annotation.AutoLog;
import com.jero.common.constant.CommonConstant; import com.jero.common.constant.CommonConstant;
import com.jero.common.exception.JeroBootException; import com.jero.common.exception.JeroBootException;
import com.jero.common.system.base.controller.JeroController; import com.jero.common.system.base.controller.JeroController;
import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.ImportExcelUtil; import com.jero.common.util.ImportExcelUtil;
import com.jero.common.util.MessageUtils; import com.jero.common.util.MessageUtils;
import com.jero.modules.laws.common.constant.ResultCommon; import com.jero.modules.laws.common.constant.ResultCommon;
import com.jero.modules.sys.entity.LawsWorkingGroup;
import com.jero.modules.sys.entity.LawsWorkingGroupUser; import com.jero.modules.sys.entity.LawsWorkingGroupUser;
import com.jero.modules.sys.entity.LawsWorkingGroupUserImport; import com.jero.modules.sys.entity.LawsWorkingGroupUserImport;
import com.jero.modules.sys.service.ILawsWorkingGroupUserService; import com.jero.modules.sys.service.ILawsWorkingGroupUserService;
@@ -21,6 +23,7 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.formula.functions.T; import org.apache.poi.ss.formula.functions.T;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions; import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.jeecgframework.poi.excel.ExcelImportUtil; import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.def.NormalExcelConstants; import org.jeecgframework.poi.excel.def.NormalExcelConstants;
@@ -58,6 +61,7 @@ public class LawsWorkingGroupUserController extends JeroController<LawsWorkingGr
private ISysUserService sysUserService; private ISysUserService sysUserService;
/** /**
* 分页列表查询 * 分页列表查询
*/ */
@@ -101,6 +105,9 @@ public class LawsWorkingGroupUserController extends JeroController<LawsWorkingGr
if (StringUtils.isBlank(lawsWorkingGroupUser.getWorkingGroupId()) || StringUtils.isBlank(lawsWorkingGroupUser.getUserId())) { if (StringUtils.isBlank(lawsWorkingGroupUser.getWorkingGroupId()) || StringUtils.isBlank(lawsWorkingGroupUser.getUserId())) {
throw new JeroBootException(ResultCommon.PLEASE_SELECT_PERSONNEL_AND_WORKGROUP); throw new JeroBootException(ResultCommon.PLEASE_SELECT_PERSONNEL_AND_WORKGROUP);
} }
// 校验是否有权限
lawsWorkingGroupUserService.checkAuth(lawsWorkingGroupUser.getWorkingGroupId());
String userId = lawsWorkingGroupUser.getUserId(); String userId = lawsWorkingGroupUser.getUserId();
List<String> asList = Arrays.asList(userId.split(",")); List<String> asList = Arrays.asList(userId.split(","));
LambdaQueryWrapper<LawsWorkingGroupUser> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<LawsWorkingGroupUser> wrapper = new LambdaQueryWrapper<>();
@@ -108,7 +115,7 @@ public class LawsWorkingGroupUserController extends JeroController<LawsWorkingGr
wrapper.in(LawsWorkingGroupUser::getUserId, asList); wrapper.in(LawsWorkingGroupUser::getUserId, asList);
wrapper.eq(LawsWorkingGroupUser::getWorkingGroupId, lawsWorkingGroupUser.getWorkingGroupId()); wrapper.eq(LawsWorkingGroupUser::getWorkingGroupId, lawsWorkingGroupUser.getWorkingGroupId());
List<LawsWorkingGroupUser> list = lawsWorkingGroupUserService.list(wrapper); List<LawsWorkingGroupUser> list = lawsWorkingGroupUserService.list(wrapper);
if (CollectionUtils.isEmpty(list)) { if (!CollectionUtils.isEmpty(list)) {
String workNo; String workNo;
List<String> collect = list.stream().map(LawsWorkingGroupUser::getUserId).distinct().collect(Collectors.toList()); List<String> collect = list.stream().map(LawsWorkingGroupUser::getUserId).distinct().collect(Collectors.toList());
StringJoiner joiner = new StringJoiner(","); StringJoiner joiner = new StringJoiner(",");
@@ -144,6 +151,12 @@ public class LawsWorkingGroupUserController extends JeroController<LawsWorkingGr
if (!map.containsKey("id") || StringUtils.isEmpty(map.get("id"))) { if (!map.containsKey("id") || StringUtils.isEmpty(map.get("id"))) {
throw new JeroBootException(ResultCommon.PLEASE_SELECT_DATA); throw new JeroBootException(ResultCommon.PLEASE_SELECT_DATA);
} }
LawsWorkingGroupUser lawsWorkingGroupUser = lawsWorkingGroupUserService.getById(map.get("id"));
if(Objects.isNull(lawsWorkingGroupUser)){
throw new JeroBootException(ResultCommon.NO_CORRESPONDING_DATA_FOUND);
}
// 校验是否有权限
lawsWorkingGroupUserService.checkAuth(lawsWorkingGroupUser.getWorkingGroupId());
lawsWorkingGroupUserService.deleteById(map.get("id")); lawsWorkingGroupUserService.deleteById(map.get("id"));
return Result.OK(MessageUtils.getMessage(ResultCommon.OK)); return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
} }
@@ -165,6 +178,10 @@ public class LawsWorkingGroupUserController extends JeroController<LawsWorkingGr
if (StringUtils.isBlank(workingGroupId)) { if (StringUtils.isBlank(workingGroupId)) {
throw new JeroBootException(ResultCommon.PLEASE_SELECT_A_WORKGROUP_TO_IMPORT); throw new JeroBootException(ResultCommon.PLEASE_SELECT_A_WORKGROUP_TO_IMPORT);
} }
// 校验是否有权限
lawsWorkingGroupUserService.checkAuth(workingGroupId);
// 上传文件名格式不正确 // 上传文件名格式不正确
if (fileName.lastIndexOf(".") != -1 && !".xlsx".equals(fileName.substring(fileName.lastIndexOf(".")))) { if (fileName.lastIndexOf(".") != -1 && !".xlsx".equals(fileName.substring(fileName.lastIndexOf(".")))) {
throw new JeroBootException(ResultCommon.PLEASE_USE_A_FILE_WITH_THE_SUFFIX_XLSX); throw new JeroBootException(ResultCommon.PLEASE_USE_A_FILE_WITH_THE_SUFFIX_XLSX);
@@ -89,4 +89,13 @@ public interface ILawsWorkingGroupUserService extends IService<LawsWorkingGroupU
* @return * @return
*/ */
List<String> lawsWorkingGroupUserSearch(String realname, String username, String userRoleName, String userPostName); List<String> lawsWorkingGroupUserSearch(String realname, String username, String userRoleName, String userPostName);
/**
* 校验用户有无权限
* @author LQT
* @date 2023/11/8 17:27
* @param workingGroupId 工作id
* @return void
*/
void checkAuth(String workingGroupId);
} }
@@ -2,10 +2,19 @@ package com.jero.modules.sys.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.constant.CommonConstant; import com.jero.common.constant.CommonConstant;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.query.QueryGenerator;
import com.jero.common.system.vo.LoginUser;
import com.jero.modules.laws.common.constant.ResultCommon;
import com.jero.modules.sys.entity.LawsWorkingGroup;
import com.jero.modules.sys.entity.LawsWorkingGroupUser; import com.jero.modules.sys.entity.LawsWorkingGroupUser;
import com.jero.modules.sys.mapper.LawsWorkingGroupUserMapper; import com.jero.modules.sys.mapper.LawsWorkingGroupUserMapper;
import com.jero.modules.sys.service.ILawsWorkingGroupService;
import com.jero.modules.sys.service.ILawsWorkingGroupUserService; import com.jero.modules.sys.service.ILawsWorkingGroupUserService;
import com.jero.modules.system.entity.SysRole; import com.jero.modules.system.entity.SysRole;
import com.jero.modules.system.entity.SysUser; import com.jero.modules.system.entity.SysUser;
@@ -14,25 +23,16 @@ import com.jero.modules.system.service.ISysRoleService;
import com.jero.modules.system.service.ISysUserRoleService; import com.jero.modules.system.service.ISysUserRoleService;
import com.jero.modules.system.service.ISysUserService; import com.jero.modules.system.service.ISysUserService;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import com.jero.common.exception.JeroBootException;
import java.util.ArrayList;
import java.util.List;
import java.util.Date;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.system.query.QueryGenerator;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import com.baomidou.mybatisplus.core.metadata.IPage; import java.util.*;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import java.util.function.Function;
import java.util.stream.Collectors;
/** /**
@@ -51,6 +51,8 @@ public class LawsWorkingGroupUserServiceImpl extends ServiceImpl<LawsWorkingGrou
private ISysRoleService sysRoleService; private ISysRoleService sysRoleService;
@Autowired @Autowired
private ISysUserRoleService sysUserRoleService; private ISysUserRoleService sysUserRoleService;
@Resource
private ILawsWorkingGroupService lawsWorkingGroupService;
/** /**
@@ -125,7 +127,27 @@ public class LawsWorkingGroupUserServiceImpl extends ServiceImpl<LawsWorkingGrou
return userRoles.stream().map(SysUser::getId).distinct().collect(Collectors.toList()); return userRoles.stream().map(SysUser::getId).distinct().collect(Collectors.toList());
} }
/** @Override
public void checkAuth(String workingGroupId) {
// 验证当前登录人员是否可以维护人员
LawsWorkingGroup lawsWorkingGroup = lawsWorkingGroupService.queryById(workingGroupId);
if(Objects.isNull(lawsWorkingGroup)){
throw new JeroBootException(ResultCommon.NO_CORRESPONDING_DATA_FOUND);
}
LawsWorkingGroup lawsWorkingGroupPid = lawsWorkingGroupService.queryById(lawsWorkingGroup.getPid());
if(Objects.isNull(lawsWorkingGroupPid)){
throw new JeroBootException(ResultCommon.NO_CORRESPONDING_DATA_FOUND);
}
if(!Objects.equals(lawsWorkingGroupPid.getLevel(),2)){
throw new JeroBootException(ResultCommon.HORIZONTAL_TRANSGRESSION);
}
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if(!Objects.equals(lawsWorkingGroupPid.getUserId(),loginUser.getId())){
throw new JeroBootException(ResultCommon.HORIZONTAL_TRANSGRESSION);
}
}
/**
* 列表查询 * 列表查询
*/ */
@Override @Override