diff --git a/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/controller/app/appmodule/AppAppModuleController.java b/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/controller/app/appmodule/AppAppModuleController.java index 4503f3c..91ba5ad 100644 --- a/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/controller/app/appmodule/AppAppModuleController.java +++ b/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/controller/app/appmodule/AppAppModuleController.java @@ -7,9 +7,11 @@ import com.zteits.urbanops.module.system.controller.app.appmodule.vo.AppModuleVO import com.zteits.urbanops.module.system.convert.appmodule.AppModuleConvert; import com.zteits.urbanops.module.system.dal.dataobject.appmodule.AppModuleDO; import com.zteits.urbanops.module.system.service.appmodule.AppModuleService; +import com.zteits.urbanops.module.system.service.permission.PermissionService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.annotation.Resource; +import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; @@ -21,6 +23,7 @@ import java.util.Comparator; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; +import java.util.Set; import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; @@ -34,11 +37,28 @@ import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; @RestController @RequestMapping("/member/app-module") @Validated +@Slf4j public class AppAppModuleController { + /** + * 园林巡查员角色ID + */ + private static final Long ROLE_ID_PATROL = 178L; + /** + * 全域督察员角色ID + */ + private static final Long ROLE_ID_INSPECTOR = 183L; + /** + * 巡查工单模块ID + */ + private static final Long MODULE_ID_PATROL_WORKORDER = 7L; + @Resource private AppModuleService appModuleService; + @Resource + private PermissionService permissionService; + @GetMapping("/list") @Operation(summary = "获取 App 功能模块列表", description = "获取用户可见的功能模块列表") public CommonResult> getAppModuleList(AppModuleListReqVO reqVO) { @@ -48,6 +68,15 @@ public class AppAppModuleController { // 查询用户可见的模块列表 List list = appModuleService.getVisibleAppModuleList(userId, reqVO); + // 如果用户同时拥有园林巡查员(178)和全域督察员(183)角色,则隐藏巡查工单菜单,只显示督查工单菜单 + if (userId != null) { + Set roleIds = permissionService.getUserRoleIdListByUserId(userId); + if (roleIds.contains(ROLE_ID_PATROL) && roleIds.contains(ROLE_ID_INSPECTOR)) { + log.info("[getAppModuleList] 用户({})同时拥有巡查员和督察员角色,隐藏巡查工单菜单", userId); + list.removeIf(module -> MODULE_ID_PATROL_WORKORDER.equals(module.getId())); + } + } + // 填充统计数据(根据extra中的statisticKey配置) // appModuleService.fillModuleStatistics(list, userId);