feat(domain): 添加数据权限控制和菜单路径参数支持
parent
94212f98d2
commit
c2f56b82b2
|
|
@ -16,6 +16,7 @@ import com.zcloud.domain.dto.clientobject.DomainDepartmentListCO;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
|
@ -43,6 +44,7 @@ public class DomainDepartmentController {
|
||||||
|
|
||||||
@ApiOperation("分页")
|
@ApiOperation("分页")
|
||||||
@PostMapping("/list")
|
@PostMapping("/list")
|
||||||
|
@PreAuthorize("@pms.hasAnyPermission('lybmgl')")
|
||||||
public PageResponse<DomainDepartmentListCO> page(@RequestBody DomainDepartmentPageQry qry) {
|
public PageResponse<DomainDepartmentListCO> page(@RequestBody DomainDepartmentPageQry qry) {
|
||||||
return domainDepartmentService.listPage(qry);
|
return domainDepartmentService.listPage(qry);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,7 @@ import com.zcloud.domain.dto.clientobject.DomainGroupInfoCO;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
|
@ -49,6 +50,7 @@ public class DomainGroupController {
|
||||||
|
|
||||||
@ApiOperation("领域组分页")
|
@ApiOperation("领域组分页")
|
||||||
@PostMapping("/list")
|
@PostMapping("/list")
|
||||||
|
@PreAuthorize("@pms.hasAnyPermission('lyzgl')")
|
||||||
public PageResponse<DomainGroupCO> page(@RequestBody DomainGroupPageQry qry) {
|
public PageResponse<DomainGroupCO> page(@RequestBody DomainGroupPageQry qry) {
|
||||||
return domainGroupService.listPage(qry);
|
return domainGroupService.listPage(qry);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,7 @@ import com.zcloud.domain.dto.clientobject.ProjectTaskDetailsCO;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
|
@ -42,12 +43,14 @@ public class ProjectTaskController {
|
||||||
|
|
||||||
@ApiOperation("课题任务分页")
|
@ApiOperation("课题任务分页")
|
||||||
@PostMapping("/projectpage")
|
@PostMapping("/projectpage")
|
||||||
|
@PreAuthorize("@pms.hasAnyPermission('gfd-ktrw','qyd-ktrw')")
|
||||||
public PageResponse<ProjectTaskCO> listPage(@RequestBody ProjectTaskPageQry qry) {
|
public PageResponse<ProjectTaskCO> listPage(@RequestBody ProjectTaskPageQry qry) {
|
||||||
return projectTaskService.listPage(qry);
|
return projectTaskService.listPage(qry);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("课题评分分页")
|
@ApiOperation("课题评分分页")
|
||||||
@PostMapping("/projectScorepage")
|
@PostMapping("/projectScorepage")
|
||||||
|
@PreAuthorize("@pms.hasAnyPermission('gfd-ktpf','qyd-ktpf')")
|
||||||
public PageResponse<ProjectTaskCO> projectScorepage(@RequestBody ProjectTaskPageQry qry) {
|
public PageResponse<ProjectTaskCO> projectScorepage(@RequestBody ProjectTaskPageQry qry) {
|
||||||
return projectTaskService.listPage(qry);
|
return projectTaskService.listPage(qry);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -59,12 +59,13 @@ public class DomainGroupUpdateExe {
|
||||||
if(CollUtil.isNotEmpty(oldUserIdList)){
|
if(CollUtil.isNotEmpty(oldUserIdList)){
|
||||||
//获取删除的用户id,newUserIdList中不在oldUserIdList中的用户id
|
//获取删除的用户id,newUserIdList中不在oldUserIdList中的用户id
|
||||||
List<Long> deleteUserIdList = oldUserIdList.stream().filter(userId -> !newUserIdList.contains(userId)).collect(Collectors.toList());
|
List<Long> deleteUserIdList = oldUserIdList.stream().filter(userId -> !newUserIdList.contains(userId)).collect(Collectors.toList());
|
||||||
//
|
if(CollUtil.isNotEmpty(deleteUserIdList)){
|
||||||
List<ProjectTaskGroupUserDO> projectTaskGroupUserDOList =projectTaskGroupUserRepository.getListByUserIdList(deleteUserIdList);
|
List<ProjectTaskGroupUserDO> projectTaskGroupUserDOList =projectTaskGroupUserRepository.getListByUserIdList(deleteUserIdList);
|
||||||
if(CollUtil.isNotEmpty(projectTaskGroupUserDOList)){
|
if(CollUtil.isNotEmpty(projectTaskGroupUserDOList)){
|
||||||
//获取按照userId去重,然后获取所有用户名称
|
//获取按照userId去重,然后获取所有用户名称
|
||||||
List<String> userNameList = projectTaskGroupUserDOList.stream().map(ProjectTaskGroupUserDO::getUserName).distinct().collect(Collectors.toList());
|
List<String> userNameList = projectTaskGroupUserDOList.stream().map(ProjectTaskGroupUserDO::getUserName).distinct().collect(Collectors.toList());
|
||||||
throw new BizException(userNameList+"下有未完成课题任务,不能删除");
|
throw new BizException(userNameList+"下有未完成课题任务,不能删除");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -24,5 +24,8 @@ public class DomainDepartmentPageQry extends PageQuery {
|
||||||
* - `ne`: 不等比较查询,对应SQL的!=操作符
|
* - `ne`: 不等比较查询,对应SQL的!=操作符
|
||||||
*/
|
*/
|
||||||
private String departmentName;
|
private String departmentName;
|
||||||
|
|
||||||
|
private String menuPath;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -28,5 +28,8 @@ public class DomainGroupPageQry extends PageQuery {
|
||||||
private String domainType;
|
private String domainType;
|
||||||
@ApiModelProperty(value = "领域管理组名称")
|
@ApiModelProperty(value = "领域管理组名称")
|
||||||
private String domainGroupName;
|
private String domainGroupName;
|
||||||
|
|
||||||
|
private String menuPath;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,8 @@ package com.zcloud.domain.persistence.mapper;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.jjb.saas.framework.datascope.annotation.DataScope;
|
||||||
|
import com.jjb.saas.framework.datascope.annotation.DataScopes;
|
||||||
import com.zcloud.domain.persistence.dataobject.DomainDepartmentDO;
|
import com.zcloud.domain.persistence.dataobject.DomainDepartmentDO;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
|
|
@ -15,11 +17,14 @@ import java.util.Map;
|
||||||
* @Date 2026-01-27 11:28:51
|
* @Date 2026-01-27 11:28:51
|
||||||
*/
|
*/
|
||||||
@Mapper
|
@Mapper
|
||||||
|
@DataScopes({
|
||||||
|
@DataScope(method = "listPage", menuPerms = ""),
|
||||||
|
})
|
||||||
public interface DomainDepartmentMapper extends BaseMapper<DomainDepartmentDO> {
|
public interface DomainDepartmentMapper extends BaseMapper<DomainDepartmentDO> {
|
||||||
|
|
||||||
DomainDepartmentDO getInfoById(Long id);
|
DomainDepartmentDO getInfoById(Long id);
|
||||||
|
|
||||||
IPage<DomainDepartmentDO> listPage(IPage<DomainDepartmentDO> iPage, Map<String, Object> params);
|
IPage<DomainDepartmentDO> listPage(IPage<DomainDepartmentDO> iPage, Map<String, Object> params, String menuPerms);
|
||||||
|
|
||||||
List<DomainDepartmentDO> listAll();
|
List<DomainDepartmentDO> listAll();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,8 @@ package com.zcloud.domain.persistence.mapper;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.jjb.saas.framework.datascope.annotation.DataScope;
|
||||||
|
import com.jjb.saas.framework.datascope.annotation.DataScopes;
|
||||||
import com.zcloud.domain.persistence.dataobject.DomainGroupDO;
|
import com.zcloud.domain.persistence.dataobject.DomainGroupDO;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
|
|
@ -15,9 +17,12 @@ import java.util.Map;
|
||||||
* @Date 2026-01-27 11:29:27
|
* @Date 2026-01-27 11:29:27
|
||||||
*/
|
*/
|
||||||
@Mapper
|
@Mapper
|
||||||
|
@DataScopes({
|
||||||
|
@DataScope(method = "listPage", menuPerms = ""),
|
||||||
|
})
|
||||||
public interface DomainGroupMapper extends BaseMapper<DomainGroupDO> {
|
public interface DomainGroupMapper extends BaseMapper<DomainGroupDO> {
|
||||||
|
|
||||||
IPage<DomainGroupDO> listPage(IPage<DomainGroupDO> iPage, Map<String, Object> params);
|
IPage<DomainGroupDO> listPage(IPage<DomainGroupDO> iPage, Map<String, Object> params, String menuPerms);
|
||||||
|
|
||||||
DomainGroupDO getInfoById(Long id);
|
DomainGroupDO getInfoById(Long id);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,8 @@ package com.zcloud.domain.persistence.mapper;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.jjb.saas.framework.datascope.annotation.DataScope;
|
||||||
|
import com.jjb.saas.framework.datascope.annotation.DataScopes;
|
||||||
import com.zcloud.domain.persistence.dataobject.ProjectTaskDO;
|
import com.zcloud.domain.persistence.dataobject.ProjectTaskDO;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
|
|
@ -16,9 +18,12 @@ import java.util.Map;
|
||||||
* @Date 2026-01-29 11:28:41
|
* @Date 2026-01-29 11:28:41
|
||||||
*/
|
*/
|
||||||
@Mapper
|
@Mapper
|
||||||
|
@DataScopes({
|
||||||
|
@DataScope(method = "listPage", menuPerms = ""),
|
||||||
|
})
|
||||||
public interface ProjectTaskMapper extends BaseMapper<ProjectTaskDO> {
|
public interface ProjectTaskMapper extends BaseMapper<ProjectTaskDO> {
|
||||||
|
|
||||||
IPage<ProjectTaskDO> listPage(IPage<ProjectTaskDO> iPage, Map<String, Object> params);
|
IPage<ProjectTaskDO> listPage(IPage<ProjectTaskDO> iPage, Map<String, Object> params, String menuPerms);
|
||||||
|
|
||||||
ProjectTaskDO getInfoById(Long id);
|
ProjectTaskDO getInfoById(Long id);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.jjb.saas.framework.repository.common.PageHelper;
|
import com.jjb.saas.framework.repository.common.PageHelper;
|
||||||
import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl;
|
import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl;
|
||||||
|
import com.zcloud.domain.domain.enums.MenuEnum;
|
||||||
import com.zcloud.domain.persistence.dataobject.DomainDepartmentDO;
|
import com.zcloud.domain.persistence.dataobject.DomainDepartmentDO;
|
||||||
import com.zcloud.domain.persistence.mapper.DomainDepartmentMapper;
|
import com.zcloud.domain.persistence.mapper.DomainDepartmentMapper;
|
||||||
import com.zcloud.domain.persistence.repository.DomainDepartmentRepository;
|
import com.zcloud.domain.persistence.repository.DomainDepartmentRepository;
|
||||||
|
|
@ -32,7 +33,11 @@ public class DomainDepartmentRepositoryImpl extends BaseRepositoryImpl<DomainDep
|
||||||
@Override
|
@Override
|
||||||
public PageResponse<DomainDepartmentDO> listPage(Map<String, Object> params) {
|
public PageResponse<DomainDepartmentDO> listPage(Map<String, Object> params) {
|
||||||
IPage<DomainDepartmentDO> iPage = new Query<DomainDepartmentDO>().getPage(params);
|
IPage<DomainDepartmentDO> iPage = new Query<DomainDepartmentDO>().getPage(params);
|
||||||
IPage<DomainDepartmentDO> result = domainDepartmentMapper.listPage(iPage, params);
|
String menuPerms = "";
|
||||||
|
if (!org.springframework.util.ObjectUtils.isEmpty(params.get("menuPath"))){
|
||||||
|
menuPerms = MenuEnum.getMenuKeyByPath(params.get("menuPath").toString());
|
||||||
|
}
|
||||||
|
IPage<DomainDepartmentDO> result = domainDepartmentMapper.listPage(iPage, params,menuPerms);
|
||||||
return PageHelper.pageToResponse(result, result.getRecords());
|
return PageHelper.pageToResponse(result, result.getRecords());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.jjb.saas.framework.repository.common.PageHelper;
|
import com.jjb.saas.framework.repository.common.PageHelper;
|
||||||
import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl;
|
import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl;
|
||||||
|
import com.zcloud.domain.domain.enums.MenuEnum;
|
||||||
import com.zcloud.domain.persistence.dataobject.DomainGroupDO;
|
import com.zcloud.domain.persistence.dataobject.DomainGroupDO;
|
||||||
import com.zcloud.domain.persistence.mapper.DomainGroupMapper;
|
import com.zcloud.domain.persistence.mapper.DomainGroupMapper;
|
||||||
import com.zcloud.domain.persistence.repository.DomainGroupRepository;
|
import com.zcloud.domain.persistence.repository.DomainGroupRepository;
|
||||||
|
|
@ -31,7 +32,11 @@ public class DomainGroupRepositoryImpl extends BaseRepositoryImpl<DomainGroupMap
|
||||||
@Override
|
@Override
|
||||||
public PageResponse<DomainGroupDO> listPage(Map<String, Object> params) {
|
public PageResponse<DomainGroupDO> listPage(Map<String, Object> params) {
|
||||||
IPage<DomainGroupDO> iPage = new Query<DomainGroupDO>().getPage(params);
|
IPage<DomainGroupDO> iPage = new Query<DomainGroupDO>().getPage(params);
|
||||||
IPage<DomainGroupDO> result = domainGroupMapper.listPage(iPage, params);
|
String menuPerms = "";
|
||||||
|
if (!org.springframework.util.ObjectUtils.isEmpty(params.get("menuPath"))){
|
||||||
|
menuPerms = MenuEnum.getMenuKeyByPath(params.get("menuPath").toString());
|
||||||
|
}
|
||||||
|
IPage<DomainGroupDO> result = domainGroupMapper.listPage(iPage, params,menuPerms);
|
||||||
return PageHelper.pageToResponse(result, result.getRecords());
|
return PageHelper.pageToResponse(result, result.getRecords());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.jjb.saas.framework.auth.utils.AuthContext;
|
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||||
import com.jjb.saas.framework.repository.common.PageHelper;
|
import com.jjb.saas.framework.repository.common.PageHelper;
|
||||||
import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl;
|
import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl;
|
||||||
|
import com.zcloud.domain.domain.enums.MenuEnum;
|
||||||
import com.zcloud.domain.domain.enums.ProjectTaskExecuteStatusEnum;
|
import com.zcloud.domain.domain.enums.ProjectTaskExecuteStatusEnum;
|
||||||
import com.zcloud.domain.domain.model.CorpInfoE;
|
import com.zcloud.domain.domain.model.CorpInfoE;
|
||||||
import com.zcloud.domain.persistence.dataobject.ProjectTaskDO;
|
import com.zcloud.domain.persistence.dataobject.ProjectTaskDO;
|
||||||
|
|
@ -44,8 +45,12 @@ public class ProjectTaskRepositoryImpl extends BaseRepositoryImpl<ProjectTaskMap
|
||||||
params.put("corpinfoId", AuthContext.getTenantId());
|
params.put("corpinfoId", AuthContext.getTenantId());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
String menuPerms = "";
|
||||||
|
if (!org.springframework.util.ObjectUtils.isEmpty(params.get("menuPath"))){
|
||||||
|
menuPerms = MenuEnum.getMenuKeyByPath(params.get("menuPath").toString());
|
||||||
|
}
|
||||||
IPage<ProjectTaskDO> iPage = new Query<ProjectTaskDO>().getPage(params);
|
IPage<ProjectTaskDO> iPage = new Query<ProjectTaskDO>().getPage(params);
|
||||||
IPage<ProjectTaskDO> result = projectTaskMapper.listPage(iPage, params);
|
IPage<ProjectTaskDO> result = projectTaskMapper.listPage(iPage, params,menuPerms);
|
||||||
return PageHelper.pageToResponse(result, result.getRecords());
|
return PageHelper.pageToResponse(result, result.getRecords());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue