From e4088140d20cf66127d8f433e4920bd95e4a0164 Mon Sep 17 00:00:00 2001 From: fengshuonan Date: Wed, 9 Aug 2023 21:16:50 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=908.0=E3=80=91=E3=80=90res=E3=80=91?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E8=B5=84=E6=BA=90=E6=B1=87=E6=8A=A5=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kernel/scanner/api/ResourceReportApi.java | 5 ++-- .../api/constants/ScannerConstants.java | 14 ++++++++++- .../pojo/resource/ReportResourceParam.java | 3 +++ .../controller/ResourceReceiveController.java | 24 +++++++++++++++++-- 4 files changed, 41 insertions(+), 5 deletions(-) diff --git a/kernel-d-scanner/scanner-api/src/main/java/cn/stylefeng/roses/kernel/scanner/api/ResourceReportApi.java b/kernel-d-scanner/scanner-api/src/main/java/cn/stylefeng/roses/kernel/scanner/api/ResourceReportApi.java index 4cfdaab6c..6c6ae0eed 100644 --- a/kernel-d-scanner/scanner-api/src/main/java/cn/stylefeng/roses/kernel/scanner/api/ResourceReportApi.java +++ b/kernel-d-scanner/scanner-api/src/main/java/cn/stylefeng/roses/kernel/scanner/api/ResourceReportApi.java @@ -24,6 +24,7 @@ */ package cn.stylefeng.roses.kernel.scanner.api; +import cn.stylefeng.roses.kernel.scanner.api.constants.ScannerConstants; import cn.stylefeng.roses.kernel.scanner.api.pojo.resource.ReportResourceParam; import cn.stylefeng.roses.kernel.scanner.api.pojo.resource.SysResourcePersistencePojo; import org.springframework.web.bind.annotation.RequestBody; @@ -51,7 +52,7 @@ public interface ResourceReportApi { * @author fengshuonan * @since 2020/10/19 22:02 */ - @RequestMapping(value = "/resourceService/reportResources", method = RequestMethod.POST) + @RequestMapping(value = ScannerConstants.REPORT_RES_URL, method = RequestMethod.POST) void reportResources(@RequestBody ReportResourceParam reportResourceReq); /** @@ -65,7 +66,7 @@ public interface ResourceReportApi { * @author fengshuonan * @since 2020/10/19 22:02 */ - @RequestMapping(value = "/resourceService/reportResourcesAndGetResult", method = RequestMethod.POST) + @RequestMapping(value = ScannerConstants.REPORT_RES_AND_GET_RESULT_URL, method = RequestMethod.POST) List reportResourcesAndGetResult(@RequestBody ReportResourceParam reportResourceReq); } diff --git a/kernel-d-scanner/scanner-api/src/main/java/cn/stylefeng/roses/kernel/scanner/api/constants/ScannerConstants.java b/kernel-d-scanner/scanner-api/src/main/java/cn/stylefeng/roses/kernel/scanner/api/constants/ScannerConstants.java index 50828ab9d..30beae4a2 100644 --- a/kernel-d-scanner/scanner-api/src/main/java/cn/stylefeng/roses/kernel/scanner/api/constants/ScannerConstants.java +++ b/kernel-d-scanner/scanner-api/src/main/java/cn/stylefeng/roses/kernel/scanner/api/constants/ScannerConstants.java @@ -84,10 +84,22 @@ public interface ScannerConstants { /** * 不需要解析的字段 */ - List DONT_PARSE_FIELD = ListUtil.list(false, "serialVersionUID", "delFlag", "createTime", "createUser", "updateTime", "updateUser"); + List DONT_PARSE_FIELD = ListUtil.list(false, "serialVersionUID", "delFlag", "createTime", "createUser", "updateTime", + "updateUser"); /** * 用在为validateGroups字段的标识,@Validate注解,不带class类时候的标识 */ String DEFAULT_VALIDATED = "default-all"; + + /** + * 向资源中心汇报资源的接口 + */ + String REPORT_RES_URL = "/resourceService/reportResources"; + + /** + * 向资源中心汇报资源并获取结果的接口 + */ + String REPORT_RES_AND_GET_RESULT_URL = "/resourceService/reportResourcesAndGetResult"; + } diff --git a/kernel-d-scanner/scanner-api/src/main/java/cn/stylefeng/roses/kernel/scanner/api/pojo/resource/ReportResourceParam.java b/kernel-d-scanner/scanner-api/src/main/java/cn/stylefeng/roses/kernel/scanner/api/pojo/resource/ReportResourceParam.java index 84f3df98b..55d303466 100644 --- a/kernel-d-scanner/scanner-api/src/main/java/cn/stylefeng/roses/kernel/scanner/api/pojo/resource/ReportResourceParam.java +++ b/kernel-d-scanner/scanner-api/src/main/java/cn/stylefeng/roses/kernel/scanner/api/pojo/resource/ReportResourceParam.java @@ -55,6 +55,9 @@ public class ReportResourceParam extends BaseRequest { @ChineseDescription("资源集合") private Map> resourceDefinitions; + public ReportResourceParam() { + } + public ReportResourceParam(String projectCode, Map> resourceDefinitions) { this.projectCode = projectCode; this.resourceDefinitions = resourceDefinitions; diff --git a/kernel-s-system/system-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/resource/controller/ResourceReceiveController.java b/kernel-s-system/system-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/resource/controller/ResourceReceiveController.java index f4dea47f1..355e486f3 100644 --- a/kernel-s-system/system-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/resource/controller/ResourceReceiveController.java +++ b/kernel-s-system/system-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/resource/controller/ResourceReceiveController.java @@ -5,11 +5,14 @@ import cn.stylefeng.roses.kernel.rule.pojo.response.SuccessResponseData; import cn.stylefeng.roses.kernel.scanner.api.ResourceReportApi; import cn.stylefeng.roses.kernel.scanner.api.annotation.ApiResource; import cn.stylefeng.roses.kernel.scanner.api.annotation.PostResource; +import cn.stylefeng.roses.kernel.scanner.api.constants.ScannerConstants; import cn.stylefeng.roses.kernel.scanner.api.pojo.resource.ReportResourceParam; +import cn.stylefeng.roses.kernel.scanner.api.pojo.resource.SysResourcePersistencePojo; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import java.util.List; /** * 接收微服务远程资源 @@ -18,9 +21,15 @@ import javax.annotation.Resource; * @since 2023/8/9 0:30 */ @RestController -@ApiResource(name = "接收微服务远程资源") +@ApiResource(name = "接收微服务远程资源", requiredPermission = true, + requirePermissionCode = ResourceReceiveController.RES_REQUEST_PERMISSION_CODE) public class ResourceReceiveController { + /** + * 接口访问权限标识 + */ + public static final String RES_REQUEST_PERMISSION_CODE = "SYS_CONFIG"; + @Resource private ResourceReportApi resourceReportApi; @@ -30,10 +39,21 @@ public class ResourceReceiveController { * @author fengshuonan * @date 2021/8/26 17:28 */ - @PostResource(name = "接受资源", path = "/resourceService/reportResources") + @PostResource(name = "接受资源", path = ScannerConstants.REPORT_RES_URL) public ResponseData reportResources(@RequestBody ReportResourceParam reportResourceReq) { resourceReportApi.reportResources(reportResourceReq); return new SuccessResponseData<>(); } + /** + * 接受资源并获取返回的结果 + * + * @author fengshuonan + * @since 2023/8/9 20:38 + */ + @PostResource(name = "接受资源并获取返回的结果", path = ScannerConstants.REPORT_RES_AND_GET_RESULT_URL) + public List reportResourcesAndGetResult(@RequestBody ReportResourceParam reportResourceReq) { + return resourceReportApi.reportResourcesAndGetResult(reportResourceReq); + } + } \ No newline at end of file