From c2f56b82b23ef7009df0ff9d72d624569bccc7fd Mon Sep 17 00:00:00 2001 From: zhaokai Date: Wed, 25 Feb 2026 10:19:05 +0800 Subject: [PATCH] =?UTF-8?q?feat(domain):=20=E6=B7=BB=E5=8A=A0=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E6=9D=83=E9=99=90=E6=8E=A7=E5=88=B6=E5=92=8C=E8=8F=9C?= =?UTF-8?q?=E5=8D=95=E8=B7=AF=E5=BE=84=E5=8F=82=E6=95=B0=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/web/DomainDepartmentController.java | 2 ++ .../zcloud/domain/web/DomainGroupController.java | 2 ++ .../zcloud/domain/web/ProjectTaskController.java | 3 +++ .../zcloud/domain/command/DomainGroupUpdateExe.java | 13 +++++++------ .../zcloud/domain/dto/DomainDepartmentPageQry.java | 3 +++ .../com/zcloud/domain/dto/DomainGroupPageQry.java | 3 +++ .../persistence/mapper/DomainDepartmentMapper.java | 7 ++++++- .../persistence/mapper/DomainGroupMapper.java | 7 ++++++- .../persistence/mapper/ProjectTaskMapper.java | 7 ++++++- .../impl/DomainDepartmentRepositoryImpl.java | 7 ++++++- .../repository/impl/DomainGroupRepositoryImpl.java | 7 ++++++- .../repository/impl/ProjectTaskRepositoryImpl.java | 7 ++++++- 12 files changed, 56 insertions(+), 12 deletions(-) diff --git a/web-adapter/src/main/java/com/zcloud/domain/web/DomainDepartmentController.java b/web-adapter/src/main/java/com/zcloud/domain/web/DomainDepartmentController.java index bd8cd99..0ea93c9 100644 --- a/web-adapter/src/main/java/com/zcloud/domain/web/DomainDepartmentController.java +++ b/web-adapter/src/main/java/com/zcloud/domain/web/DomainDepartmentController.java @@ -16,6 +16,7 @@ import com.zcloud.domain.dto.clientobject.DomainDepartmentListCO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; +import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -43,6 +44,7 @@ public class DomainDepartmentController { @ApiOperation("分页") @PostMapping("/list") + @PreAuthorize("@pms.hasAnyPermission('lybmgl')") public PageResponse page(@RequestBody DomainDepartmentPageQry qry) { return domainDepartmentService.listPage(qry); } diff --git a/web-adapter/src/main/java/com/zcloud/domain/web/DomainGroupController.java b/web-adapter/src/main/java/com/zcloud/domain/web/DomainGroupController.java index bdd0d55..f0f95e3 100644 --- a/web-adapter/src/main/java/com/zcloud/domain/web/DomainGroupController.java +++ b/web-adapter/src/main/java/com/zcloud/domain/web/DomainGroupController.java @@ -17,6 +17,7 @@ import com.zcloud.domain.dto.clientobject.DomainGroupInfoCO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; +import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -49,6 +50,7 @@ public class DomainGroupController { @ApiOperation("领域组分页") @PostMapping("/list") + @PreAuthorize("@pms.hasAnyPermission('lyzgl')") public PageResponse page(@RequestBody DomainGroupPageQry qry) { return domainGroupService.listPage(qry); } diff --git a/web-adapter/src/main/java/com/zcloud/domain/web/ProjectTaskController.java b/web-adapter/src/main/java/com/zcloud/domain/web/ProjectTaskController.java index 3e8721b..ec625a8 100644 --- a/web-adapter/src/main/java/com/zcloud/domain/web/ProjectTaskController.java +++ b/web-adapter/src/main/java/com/zcloud/domain/web/ProjectTaskController.java @@ -16,6 +16,7 @@ import com.zcloud.domain.dto.clientobject.ProjectTaskDetailsCO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; +import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -42,12 +43,14 @@ public class ProjectTaskController { @ApiOperation("课题任务分页") @PostMapping("/projectpage") + @PreAuthorize("@pms.hasAnyPermission('gfd-ktrw','qyd-ktrw')") public PageResponse listPage(@RequestBody ProjectTaskPageQry qry) { return projectTaskService.listPage(qry); } @ApiOperation("课题评分分页") @PostMapping("/projectScorepage") + @PreAuthorize("@pms.hasAnyPermission('gfd-ktpf','qyd-ktpf')") public PageResponse projectScorepage(@RequestBody ProjectTaskPageQry qry) { return projectTaskService.listPage(qry); } diff --git a/web-app/src/main/java/com/zcloud/domain/command/DomainGroupUpdateExe.java b/web-app/src/main/java/com/zcloud/domain/command/DomainGroupUpdateExe.java index 2698074..6773dbf 100644 --- a/web-app/src/main/java/com/zcloud/domain/command/DomainGroupUpdateExe.java +++ b/web-app/src/main/java/com/zcloud/domain/command/DomainGroupUpdateExe.java @@ -59,12 +59,13 @@ public class DomainGroupUpdateExe { if(CollUtil.isNotEmpty(oldUserIdList)){ //获取删除的用户id,newUserIdList中不在oldUserIdList中的用户id List deleteUserIdList = oldUserIdList.stream().filter(userId -> !newUserIdList.contains(userId)).collect(Collectors.toList()); - // - List projectTaskGroupUserDOList =projectTaskGroupUserRepository.getListByUserIdList(deleteUserIdList); - if(CollUtil.isNotEmpty(projectTaskGroupUserDOList)){ - //获取按照userId去重,然后获取所有用户名称 - List userNameList = projectTaskGroupUserDOList.stream().map(ProjectTaskGroupUserDO::getUserName).distinct().collect(Collectors.toList()); - throw new BizException(userNameList+"下有未完成课题任务,不能删除"); + if(CollUtil.isNotEmpty(deleteUserIdList)){ + List projectTaskGroupUserDOList =projectTaskGroupUserRepository.getListByUserIdList(deleteUserIdList); + if(CollUtil.isNotEmpty(projectTaskGroupUserDOList)){ + //获取按照userId去重,然后获取所有用户名称 + List userNameList = projectTaskGroupUserDOList.stream().map(ProjectTaskGroupUserDO::getUserName).distinct().collect(Collectors.toList()); + throw new BizException(userNameList+"下有未完成课题任务,不能删除"); + } } } diff --git a/web-client/src/main/java/com/zcloud/domain/dto/DomainDepartmentPageQry.java b/web-client/src/main/java/com/zcloud/domain/dto/DomainDepartmentPageQry.java index 74a1fa0..704d1da 100644 --- a/web-client/src/main/java/com/zcloud/domain/dto/DomainDepartmentPageQry.java +++ b/web-client/src/main/java/com/zcloud/domain/dto/DomainDepartmentPageQry.java @@ -24,5 +24,8 @@ public class DomainDepartmentPageQry extends PageQuery { * - `ne`: 不等比较查询,对应SQL的!=操作符 */ private String departmentName; + + private String menuPath; + } diff --git a/web-client/src/main/java/com/zcloud/domain/dto/DomainGroupPageQry.java b/web-client/src/main/java/com/zcloud/domain/dto/DomainGroupPageQry.java index fcd4c1b..484366e 100644 --- a/web-client/src/main/java/com/zcloud/domain/dto/DomainGroupPageQry.java +++ b/web-client/src/main/java/com/zcloud/domain/dto/DomainGroupPageQry.java @@ -28,5 +28,8 @@ public class DomainGroupPageQry extends PageQuery { private String domainType; @ApiModelProperty(value = "领域管理组名称") private String domainGroupName; + + private String menuPath; + } diff --git a/web-infrastructure/src/main/java/com/zcloud/domain/persistence/mapper/DomainDepartmentMapper.java b/web-infrastructure/src/main/java/com/zcloud/domain/persistence/mapper/DomainDepartmentMapper.java index ec481f7..2ba530d 100644 --- a/web-infrastructure/src/main/java/com/zcloud/domain/persistence/mapper/DomainDepartmentMapper.java +++ b/web-infrastructure/src/main/java/com/zcloud/domain/persistence/mapper/DomainDepartmentMapper.java @@ -2,6 +2,8 @@ package com.zcloud.domain.persistence.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; 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 org.apache.ibatis.annotations.Mapper; @@ -15,11 +17,14 @@ import java.util.Map; * @Date 2026-01-27 11:28:51 */ @Mapper +@DataScopes({ + @DataScope(method = "listPage", menuPerms = ""), +}) public interface DomainDepartmentMapper extends BaseMapper { DomainDepartmentDO getInfoById(Long id); - IPage listPage(IPage iPage, Map params); + IPage listPage(IPage iPage, Map params, String menuPerms); List listAll(); } diff --git a/web-infrastructure/src/main/java/com/zcloud/domain/persistence/mapper/DomainGroupMapper.java b/web-infrastructure/src/main/java/com/zcloud/domain/persistence/mapper/DomainGroupMapper.java index 6bec0f1..9dd4ea5 100644 --- a/web-infrastructure/src/main/java/com/zcloud/domain/persistence/mapper/DomainGroupMapper.java +++ b/web-infrastructure/src/main/java/com/zcloud/domain/persistence/mapper/DomainGroupMapper.java @@ -2,6 +2,8 @@ package com.zcloud.domain.persistence.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; 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 org.apache.ibatis.annotations.Mapper; @@ -15,9 +17,12 @@ import java.util.Map; * @Date 2026-01-27 11:29:27 */ @Mapper +@DataScopes({ + @DataScope(method = "listPage", menuPerms = ""), +}) public interface DomainGroupMapper extends BaseMapper { - IPage listPage(IPage iPage, Map params); + IPage listPage(IPage iPage, Map params, String menuPerms); DomainGroupDO getInfoById(Long id); diff --git a/web-infrastructure/src/main/java/com/zcloud/domain/persistence/mapper/ProjectTaskMapper.java b/web-infrastructure/src/main/java/com/zcloud/domain/persistence/mapper/ProjectTaskMapper.java index 01f2396..b2d0ff0 100644 --- a/web-infrastructure/src/main/java/com/zcloud/domain/persistence/mapper/ProjectTaskMapper.java +++ b/web-infrastructure/src/main/java/com/zcloud/domain/persistence/mapper/ProjectTaskMapper.java @@ -2,6 +2,8 @@ package com.zcloud.domain.persistence.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; 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 org.apache.ibatis.annotations.Mapper; @@ -16,9 +18,12 @@ import java.util.Map; * @Date 2026-01-29 11:28:41 */ @Mapper +@DataScopes({ + @DataScope(method = "listPage", menuPerms = ""), +}) public interface ProjectTaskMapper extends BaseMapper { - IPage listPage(IPage iPage, Map params); + IPage listPage(IPage iPage, Map params, String menuPerms); ProjectTaskDO getInfoById(Long id); diff --git a/web-infrastructure/src/main/java/com/zcloud/domain/persistence/repository/impl/DomainDepartmentRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/domain/persistence/repository/impl/DomainDepartmentRepositoryImpl.java index ad25f49..eca1acb 100644 --- a/web-infrastructure/src/main/java/com/zcloud/domain/persistence/repository/impl/DomainDepartmentRepositoryImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/domain/persistence/repository/impl/DomainDepartmentRepositoryImpl.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.jjb.saas.framework.repository.common.PageHelper; 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.mapper.DomainDepartmentMapper; import com.zcloud.domain.persistence.repository.DomainDepartmentRepository; @@ -32,7 +33,11 @@ public class DomainDepartmentRepositoryImpl extends BaseRepositoryImpl listPage(Map params) { IPage iPage = new Query().getPage(params); - IPage result = domainDepartmentMapper.listPage(iPage, params); + String menuPerms = ""; + if (!org.springframework.util.ObjectUtils.isEmpty(params.get("menuPath"))){ + menuPerms = MenuEnum.getMenuKeyByPath(params.get("menuPath").toString()); + } + IPage result = domainDepartmentMapper.listPage(iPage, params,menuPerms); return PageHelper.pageToResponse(result, result.getRecords()); } diff --git a/web-infrastructure/src/main/java/com/zcloud/domain/persistence/repository/impl/DomainGroupRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/domain/persistence/repository/impl/DomainGroupRepositoryImpl.java index f47f6ce..61c1af2 100644 --- a/web-infrastructure/src/main/java/com/zcloud/domain/persistence/repository/impl/DomainGroupRepositoryImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/domain/persistence/repository/impl/DomainGroupRepositoryImpl.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.jjb.saas.framework.repository.common.PageHelper; 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.mapper.DomainGroupMapper; import com.zcloud.domain.persistence.repository.DomainGroupRepository; @@ -31,7 +32,11 @@ public class DomainGroupRepositoryImpl extends BaseRepositoryImpl listPage(Map params) { IPage iPage = new Query().getPage(params); - IPage result = domainGroupMapper.listPage(iPage, params); + String menuPerms = ""; + if (!org.springframework.util.ObjectUtils.isEmpty(params.get("menuPath"))){ + menuPerms = MenuEnum.getMenuKeyByPath(params.get("menuPath").toString()); + } + IPage result = domainGroupMapper.listPage(iPage, params,menuPerms); return PageHelper.pageToResponse(result, result.getRecords()); } diff --git a/web-infrastructure/src/main/java/com/zcloud/domain/persistence/repository/impl/ProjectTaskRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/domain/persistence/repository/impl/ProjectTaskRepositoryImpl.java index bfcf533..653d05a 100644 --- a/web-infrastructure/src/main/java/com/zcloud/domain/persistence/repository/impl/ProjectTaskRepositoryImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/domain/persistence/repository/impl/ProjectTaskRepositoryImpl.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.jjb.saas.framework.auth.utils.AuthContext; import com.jjb.saas.framework.repository.common.PageHelper; 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.model.CorpInfoE; import com.zcloud.domain.persistence.dataobject.ProjectTaskDO; @@ -44,8 +45,12 @@ public class ProjectTaskRepositoryImpl extends BaseRepositoryImpl iPage = new Query().getPage(params); - IPage result = projectTaskMapper.listPage(iPage, params); + IPage result = projectTaskMapper.listPage(iPage, params,menuPerms); return PageHelper.pageToResponse(result, result.getRecords()); }