From c3e9ef1922656471b934aba4034a8f91a5ba9555 Mon Sep 17 00:00:00 2001 From: 潘志宝 <979469083@qq.com> Date: 星期五, 27 六月 2025 16:07:29 +0800 Subject: [PATCH] HttpCollectorForAsag --- iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/controller/admin/HttpTagController.java | 65 ++++++++++++++++++++------------ 1 files changed, 40 insertions(+), 25 deletions(-) diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/controller/admin/HttpTagController.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/controller/admin/HttpTagController.java index 12e7474..9ed4669 100644 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/controller/admin/HttpTagController.java +++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/controller/admin/HttpTagController.java @@ -1,13 +1,14 @@ package com.iailab.module.data.channel.http.controller.admin; import com.iailab.framework.apilog.core.annotation.ApiAccessLog; +import com.iailab.framework.common.exception.enums.GlobalErrorCodeConstants; import com.iailab.framework.common.pojo.CommonResult; import com.iailab.framework.common.pojo.PageParam; import com.iailab.framework.common.pojo.PageResult; import com.iailab.framework.common.util.object.BeanUtils; import com.iailab.framework.common.util.object.ConvertUtils; import com.iailab.framework.excel.core.util.ExcelUtils; -import com.iailab.module.data.channel.http.collector.ihdb.HttpCollectorForIhd; +import com.iailab.module.data.channel.http.collector.HttpCollector; import com.iailab.module.data.channel.http.entity.HttpTagEntity; import com.iailab.module.data.channel.http.service.HttpTagService; import com.iailab.module.data.channel.http.vo.HttpTagPageReqVO; @@ -15,9 +16,12 @@ import com.iailab.module.data.channel.tag.vo.TagExportExcelVO; import com.iailab.module.data.channel.tag.vo.TagImportExcelVO; import com.iailab.module.data.channel.tag.vo.TagImportRespVO; +import com.iailab.module.data.common.enums.DataQualityEnum; +import com.iailab.module.data.common.enums.IsEnableEnum; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameters; +import org.apache.commons.lang3.StringUtils; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -27,14 +31,13 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; import java.io.IOException; -import java.util.Collections; -import java.util.Date; -import java.util.List; -import java.util.Map; -import java.util.UUID; -import java.util.stream.Collectors; +import java.util.*; +import java.util.concurrent.ArrayBlockingQueue; +import java.util.concurrent.ThreadPoolExecutor; +import java.util.concurrent.TimeUnit; import static com.iailab.framework.apilog.core.enums.OperateTypeEnum.EXPORT; +import static com.iailab.framework.common.pojo.CommonResult.error; import static com.iailab.framework.common.pojo.CommonResult.success; @@ -51,29 +54,41 @@ private HttpTagService tagService; @Resource - private HttpCollectorForIhd httpCollectorForIhd; + private HttpCollector httpCollector; + + ThreadPoolExecutor threadPool = new ThreadPoolExecutor(18, 36, 30, TimeUnit.SECONDS, + new ArrayBlockingQueue<Runnable>(36), new ThreadPoolExecutor.AbortPolicy()); @PreAuthorize("@ss.hasPermission('data:channel-http:query')") @GetMapping("page") public CommonResult<PageResult<HttpTagRespVO>> page(@Valid HttpTagPageReqVO reqVO) { - PageResult<HttpTagEntity> page = tagService.queryPage(reqVO); - PageResult<HttpTagRespVO> pageResultVO = new PageResult<>(); - List<String> tagNames = page.getList().stream() - .map(HttpTagEntity::getTagName) - .collect(Collectors.toList()); - Map<String, Object> dataMap = httpCollectorForIhd.getLastValues(tagNames); + PageResult<HttpTagRespVO> pageResult = BeanUtils.toBean(page, HttpTagRespVO.class); + try { + /*pageResult.getList().forEach(item -> { + item.setDataValue(httpCollector.getTagValue(item.getApiId(), item.getTagName())); + item.setDataTime(new Date()); + item.setDataQuality(DataQualityEnum.getEumByValue(item.getDataValue()).getDesc()); + });*/ + } catch (Exception ex) { + ex.printStackTrace(); + } + return success(pageResult); + } - List<HttpTagRespVO> vos = page.getList().stream().map(entity -> { - - HttpTagRespVO vo = BeanUtils.toBean(entity,HttpTagRespVO.class); - vo.setDataValue(Double.parseDouble(dataMap.get(entity.getTagName()).toString())); - return vo; - }).collect(Collectors.toList()); - - pageResultVO.setList(vos); - - return success(pageResultVO); + @PostMapping("/tag-value") + public CommonResult<HttpTagRespVO> getTagValue(@RequestBody HttpTagRespVO reqVO) { + HttpTagRespVO result = new HttpTagRespVO(); + if (StringUtils.isBlank(reqVO.getTagName())) { + return CommonResult.error(GlobalErrorCodeConstants.BAD_REQUEST); + } + if (StringUtils.isBlank(reqVO.getApiId())) { + return CommonResult.error(GlobalErrorCodeConstants.BAD_REQUEST); + } + result.setDataValue(httpCollector.getTagValue(reqVO.getApiId(), reqVO.getTagName())); + result.setDataTime(new Date()); + result.setDataQuality(DataQualityEnum.getEumByValue(reqVO.getDataValue()).getDesc()); + return success(result); } @PreAuthorize("@ss.hasPermission('data:channel-http:query')") @@ -130,7 +145,7 @@ public void importTemplate(HttpServletResponse response) throws IOException { // 手动创建导出 demo List<TagImportExcelVO> list = Collections.singletonList( - TagImportExcelVO.builder().tagName("Tag名称").tagDesc("Tag描述").dataType("String").enabled(1) + TagImportExcelVO.builder().tagName("Tag名称").tagDesc("Tag描述").dataType("String").enabled(IsEnableEnum.ENABLE.getCode()) .build() ); // 输出 -- Gitblit v1.9.3