【7.2.5】【scanner】更新资源汇报方式

pull/40/MERGE
fengshuonan 2022-10-18 00:11:26 +08:00
parent b42aecf521
commit abe7737c61
4 changed files with 78 additions and 7 deletions

View File

@ -0,0 +1,22 @@
package cn.stylefeng.roses.kernel.scanner.api;
import cn.stylefeng.roses.kernel.scanner.api.pojo.devops.DevOpsReportResourceParam;
/**
* API
*
* @author fengshuonan
* @date 2022/10/17 23:54
*/
public interface DevOpsDetectApi {
/**
*
*
* @param devOpsReportResourceParam
* @author fengshuonan
* @date 2022/10/17 23:56
*/
void saveResource(DevOpsReportResourceParam devOpsReportResourceParam);
}

View File

@ -1,4 +1,4 @@
package cn.stylefeng.roses.kernel.scanner;
package cn.stylefeng.roses.kernel.scanner.devops;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.ObjectUtil;
@ -28,7 +28,7 @@ import static cn.stylefeng.roses.kernel.scanner.api.constants.ScannerConstants.*
* @author fengshuonan
* @date 2022/4/2 14:38
*/
public class DevOpsReportImpl implements DevOpsReportApi {
public class DefaultDevOpsReportImpl implements DevOpsReportApi {
@Override
public void reportResources(DevOpsReportProperties devOpsReportProperties, List<SysResourcePersistencePojo> sysResourcePersistencePojoList) {

View File

@ -0,0 +1,34 @@
package cn.stylefeng.roses.kernel.scanner.devops;
import cn.stylefeng.roses.kernel.scanner.api.DevOpsDetectApi;
import cn.stylefeng.roses.kernel.scanner.api.DevOpsReportApi;
import cn.stylefeng.roses.kernel.scanner.api.pojo.devops.DevOpsReportProperties;
import cn.stylefeng.roses.kernel.scanner.api.pojo.devops.DevOpsReportResourceParam;
import cn.stylefeng.roses.kernel.scanner.api.pojo.resource.SysResourcePersistencePojo;
import javax.annotation.Resource;
import java.util.List;
/**
* devopsdevops
*
* @author fengshuonan
* @date 2022/10/18 0:04
*/
public class LocalizedDevOpsReportImpl implements DevOpsReportApi {
@Resource
private DevOpsDetectApi devOpsDetectApi;
@Override
public void reportResources(DevOpsReportProperties devOpsReportProperties, List<SysResourcePersistencePojo> sysResourcePersistencePojoList) {
// 组装请求参数
DevOpsReportResourceParam devOpsReportResourceParam = new DevOpsReportResourceParam(
devOpsReportProperties.getProjectUniqueCode(), null, sysResourcePersistencePojoList, devOpsReportProperties.getFieldMetadataClassPath());
// 进行post请求汇报资源
devOpsDetectApi.saveResource(devOpsReportResourceParam);
}
}

View File

@ -27,12 +27,14 @@ package cn.stylefeng.roses.kernel.scanner.starter;
import cn.hutool.core.util.StrUtil;
import cn.stylefeng.roses.kernel.scanner.ApiResourceScanner;
import cn.stylefeng.roses.kernel.scanner.DefaultResourceCollector;
import cn.stylefeng.roses.kernel.scanner.DevOpsReportImpl;
import cn.stylefeng.roses.kernel.scanner.api.DevOpsReportApi;
import cn.stylefeng.roses.kernel.scanner.api.DevOpsDetectApi;
import cn.stylefeng.roses.kernel.scanner.api.ResourceCollectorApi;
import cn.stylefeng.roses.kernel.scanner.api.pojo.devops.DevOpsReportProperties;
import cn.stylefeng.roses.kernel.scanner.api.pojo.scanner.ScannerProperties;
import cn.stylefeng.roses.kernel.scanner.devops.DefaultDevOpsReportImpl;
import cn.stylefeng.roses.kernel.scanner.devops.LocalizedDevOpsReportImpl;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.context.properties.ConfigurationProperties;
@ -115,14 +117,27 @@ public class GunsResourceAutoConfiguration {
}
/**
* DevOps
* DevOps
*
* @author fengshuonan
* @date 2022/4/2 14:41
*/
@Bean
public DevOpsReportApi devOpsReportApi() {
return new DevOpsReportImpl();
@ConditionalOnMissingBean(DevOpsDetectApi.class)
public DefaultDevOpsReportImpl defaultDevOpsReport() {
return new DefaultDevOpsReportImpl();
}
/**
* DevOps
*
* @author fengshuonan
* @date 2022/10/18 0:03
*/
@Bean
@ConditionalOnBean(DevOpsDetectApi.class)
public LocalizedDevOpsReportImpl localizedDevOpsReport() {
return new LocalizedDevOpsReportImpl();
}
}