【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.convert.Convert;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
@ -28,7 +28,7 @@ import static cn.stylefeng.roses.kernel.scanner.api.constants.ScannerConstants.*
* @author fengshuonan * @author fengshuonan
* @date 2022/4/2 14:38 * @date 2022/4/2 14:38
*/ */
public class DevOpsReportImpl implements DevOpsReportApi { public class DefaultDevOpsReportImpl implements DevOpsReportApi {
@Override @Override
public void reportResources(DevOpsReportProperties devOpsReportProperties, List<SysResourcePersistencePojo> sysResourcePersistencePojoList) { 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.hutool.core.util.StrUtil;
import cn.stylefeng.roses.kernel.scanner.ApiResourceScanner; import cn.stylefeng.roses.kernel.scanner.ApiResourceScanner;
import cn.stylefeng.roses.kernel.scanner.DefaultResourceCollector; import cn.stylefeng.roses.kernel.scanner.DefaultResourceCollector;
import cn.stylefeng.roses.kernel.scanner.DevOpsReportImpl; import cn.stylefeng.roses.kernel.scanner.api.DevOpsDetectApi;
import cn.stylefeng.roses.kernel.scanner.api.DevOpsReportApi;
import cn.stylefeng.roses.kernel.scanner.api.ResourceCollectorApi; 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.devops.DevOpsReportProperties;
import cn.stylefeng.roses.kernel.scanner.api.pojo.scanner.ScannerProperties; 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.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.context.properties.ConfigurationProperties;
@ -115,14 +117,27 @@ public class GunsResourceAutoConfiguration {
} }
/** /**
* DevOps * DevOps
* *
* @author fengshuonan * @author fengshuonan
* @date 2022/4/2 14:41 * @date 2022/4/2 14:41
*/ */
@Bean @Bean
public DevOpsReportApi devOpsReportApi() { @ConditionalOnMissingBean(DevOpsDetectApi.class)
return new DevOpsReportImpl(); 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();
} }
} }