|
@@ -9,6 +9,7 @@ import com.cec.plugins.enumerate.EstimateEnum;
|
|
|
import com.cec.plugins.service.RedisClientEvaluate;
|
|
import com.cec.plugins.service.RedisClientEvaluate;
|
|
|
import com.cec.plugins.service.RedisClientSource;
|
|
import com.cec.plugins.service.RedisClientSource;
|
|
|
import com.cec.plugins.service.TaskService;
|
|
import com.cec.plugins.service.TaskService;
|
|
|
|
|
+import com.cec.plugins.service.task.TaskCollectService;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.scheduling.annotation.Async;
|
|
import org.springframework.scheduling.annotation.Async;
|
|
@@ -37,9 +38,8 @@ import java.util.stream.Collectors;
|
|
|
@RequestMapping("/config/api/v1")
|
|
@RequestMapping("/config/api/v1")
|
|
|
public class CollectController {
|
|
public class CollectController {
|
|
|
|
|
|
|
|
- private final RedisClientSource redisClientSource;
|
|
|
|
|
- private final RedisClientEvaluate redisClientEvaluate;
|
|
|
|
|
private final TaskService taskService;
|
|
private final TaskService taskService;
|
|
|
|
|
+ private final TaskCollectService taskCollectService;
|
|
|
|
|
|
|
|
/** 数据采集配置下发接口 */
|
|
/** 数据采集配置下发接口 */
|
|
|
@PostMapping("/sendPolicy")
|
|
@PostMapping("/sendPolicy")
|
|
@@ -51,7 +51,7 @@ public class CollectController {
|
|
|
// 上报结果
|
|
// 上报结果
|
|
|
reported(policy);
|
|
reported(policy);
|
|
|
// 开始上报采集数据
|
|
// 开始上报采集数据
|
|
|
- reportPolicy(policy);
|
|
|
|
|
|
|
+ taskCollectService.startReported(policy);
|
|
|
return ResultData.success();
|
|
return ResultData.success();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -67,35 +67,4 @@ public class CollectController {
|
|
|
data.setReason("执行成功");
|
|
data.setReason("执行成功");
|
|
|
taskService.reportPlatform("/config/api/v1/receivetaskstatus", data);
|
|
taskService.reportPlatform("/config/api/v1/receivetaskstatus", data);
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
- /** 上报采集数据 */
|
|
|
|
|
- @Async
|
|
|
|
|
- public void reportPolicy(DtoPolicy policyDto) {
|
|
|
|
|
- DtoPolicy.ReportPolicy report = new DtoPolicy.ReportPolicy();
|
|
|
|
|
- // 拷贝父类(BaseData)的属性
|
|
|
|
|
- BeanUtils.copyProperties(policyDto, report);
|
|
|
|
|
- List<DtoPolicy.ReportPolicyConfig> configList = new ArrayList<>();
|
|
|
|
|
- for (DtoPolicy.PolicyConfig config : policyDto.getPolicy()) {
|
|
|
|
|
- DtoPolicy.ReportPolicyConfig reportItem = new DtoPolicy.ReportPolicyConfig();
|
|
|
|
|
- BeanUtils.copyProperties(config, reportItem);
|
|
|
|
|
- for (DtoPolicy.PolicyItem policy : config.getCollect()) {
|
|
|
|
|
- DtoPolicy.ReportPolicyItem item = new DtoPolicy.ReportPolicyItem();
|
|
|
|
|
- BeanUtils.copyProperties(policy, item);
|
|
|
|
|
- item.setValue(redisClientSource.getCacheStr(item.getKey()));
|
|
|
|
|
- EstimateEnum estimateEnum = EstimateEnum.findEstimateEnum(item.getKey());
|
|
|
|
|
- item.setGroup(Optional.ofNullable(estimateEnum).map(EstimateEnum::getGroup).orElse(""));
|
|
|
|
|
- item.setScore(StrUtil.emptyToDefault(redisClientEvaluate.getCacheStr(item.getKey()), "0"));
|
|
|
|
|
- reportItem.addCollect(item);
|
|
|
|
|
- }
|
|
|
|
|
- // 计算平均值
|
|
|
|
|
- Double avg = reportItem.getCollect().stream()
|
|
|
|
|
- .map(DtoPolicy.ReportPolicyItem::getScore)
|
|
|
|
|
- .map(item -> Convert.toDouble(item, 0D))
|
|
|
|
|
- .collect(Collectors.averagingDouble(Double::doubleValue));
|
|
|
|
|
- reportItem.setScore(Convert.toStr(avg));
|
|
|
|
|
- configList.add(reportItem);
|
|
|
|
|
- }
|
|
|
|
|
- report.setData(configList);
|
|
|
|
|
- taskService.reportPlatform("/data/api/v1/collectData", report);
|
|
|
|
|
- }
|
|
|
|
|
}
|
|
}
|