From 7026924403af3d377cf51b7b7ebb0ebcf2bba7dc Mon Sep 17 00:00:00 2001 From: 潘志宝 <979469083@qq.com> Date: 星期五, 20 六月 2025 10:55:45 +0800 Subject: [PATCH] 异步 tag-value --- iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/controller/admin/HttpTagController.java | 39 ++++++++++++++++++++++++++++++++++----- 1 files changed, 34 insertions(+), 5 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 0731d9e..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,6 +1,7 @@ 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; @@ -20,6 +21,7 @@ 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.*; @@ -30,7 +32,12 @@ import javax.validation.Valid; import java.io.IOException; 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; @@ -49,19 +56,41 @@ @Resource 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> pageResult = BeanUtils.toBean(page, HttpTagRespVO.class); - pageResult.getList().forEach(item -> { - item.setDataValue(httpCollector.getTagValue(item.getApiId(), item.getTagName())); - item.setDataTime(new Date()); - item.setDataQuality(DataQualityEnum.getEumByValue(item.getDataValue()).getDesc()); - }); + 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); } + @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')") @GetMapping("list") public CommonResult<List<HttpTagEntity>> list(){ -- Gitblit v1.9.3