package com.iailab.module.data.channel.http.collector; /** * @author PanZhibao * @Description * @createTime 2024年11月20日 */ import com.iailab.framework.common.constant.CommonConstant; import com.iailab.module.data.channel.http.collector.asdb.HttpCollectorForAsdb; import com.iailab.module.data.channel.http.collector.asdb.HttpCollectorForAsMediaType; import com.iailab.module.data.channel.http.collector.asdb.HttpCollectorForAsdy; import com.iailab.module.data.channel.http.collector.ihdb.HttpCollectorForIhd; import com.iailab.module.data.channel.http.entity.HttpApiEntity; import com.iailab.module.data.channel.http.service.HttpApiService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @Slf4j @Component public class HttpCollector { @Autowired private HttpApiService httpApiService; @Autowired private HttpCollectorForIhd httpCollectorForIhd; @Autowired private HttpCollectorForAsdb httpCollectorForAsdb; @Autowired private HttpCollectorForAsMediaType httpCollectorForAsMediaType; @Autowired private HttpCollectorForAsdy httpCollectorForAsdy; public Object getTagValue(String apiId, String tag) { HttpApiEntity httpApi = httpApiService.getFromCatch(apiId); if (httpApi == null) { return CommonConstant.BAD_VALUE; } List tagNames = new ArrayList<>(); tagNames.add(tag); Map valueMap = new HashMap(); switch (SourceApiEnum.getEumByCode(httpApi.getCode())) { case iHyperDB: valueMap = httpCollectorForIhd.getLastValues(apiId, tagNames); break; case ASDB: valueMap = httpCollectorForAsdb.getTagValues(apiId, tagNames); break; case ASDY: valueMap = httpCollectorForAsdy.getTagValues(apiId, tagNames); break; case ASDC: case ASDE: case ASDM: valueMap = httpCollectorForAsMediaType.getTagValues(apiId, tagNames); break; default: break; } if (valueMap.get(tag) == null) { return CommonConstant.BAD_VALUE; } return valueMap.get(tag); } }