Commit 30447a39 authored by alex yao's avatar alex yao

feat: API积分数据分析

parent e3f31de2
package cn.com.poc.expose.dto.agent_data_analyze;
import java.io.Serializable;
/**
* @author alex.yao
* @date 2024/12/20
*/
public class AgentDataAnalyzeApiChannelDto implements Serializable {
private String dateTime;
private Double count;
public String getDateTime() {
return dateTime;
}
public void setDateTime(String dateTime) {
this.dateTime = dateTime;
}
public Double getCount() {
return count;
}
public void setCount(Double count) {
this.count = count;
}
}
package cn.com.poc.expose.dto.agent_data_analyze;
import cn.com.poc.data_analyze.domain.DataAnalyzeTimeRange;
import java.util.List;
/**
* @author alex.yao
* @date 2024/12/11
*/
public class GetAgentDataApiChannelRequestDto {
private String agentId;
private DataAnalyzeTimeRange timeRange;
public String getAgentId() {
return agentId;
}
public void setAgentId(String agentId) {
this.agentId = agentId;
}
public DataAnalyzeTimeRange getTimeRange() {
return timeRange;
}
public void setTimeRange(DataAnalyzeTimeRange timeRange) {
this.timeRange = timeRange;
}
}
......@@ -56,4 +56,11 @@ public interface AgentDataAnalyzeRest extends BaseRest {
* @param dto 请求参数
*/
List<AgentDataAnalyzeTrendDto> getAgentDataTrend(@RequestBody GetAgentDataTrendRequestDto dto);
/**
* 获取api渠道积分使用数量
*
* @param dto 请求参数
*/
List<AgentDataAnalyzeApiChannelDto> getApiChannelPointUsageCount(@RequestBody GetAgentDataApiChannelRequestDto dto);
}
......@@ -2,12 +2,16 @@ package cn.com.poc.expose.rest.impl;
import cn.com.poc.agent_application.aggregate.AgentApplicationInfoService;
import cn.com.poc.common.utils.BlContext;
import cn.com.poc.common.utils.ListUtils;
import cn.com.poc.data_analyze.constants.DataAnalyzeChannelEnum;
import cn.com.poc.data_analyze.entity.*;
import cn.com.poc.expose.aggregate.AgentDataAnalyzeService;
import cn.com.poc.expose.dto.agent_data_analyze.*;
import cn.com.poc.expose.rest.AgentDataAnalyzeRest;
import cn.com.poc.support.security.oauth.entity.UserBaseEntity;
import cn.com.yict.framemax.core.i18n.I18nMessageException;
import cn.hutool.core.collection.ListUtil;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
......@@ -102,6 +106,22 @@ public class AgentDataAnalyzeRestImpl implements AgentDataAnalyzeRest {
return result;
}
@Override
public List<AgentDataAnalyzeApiChannelDto> getApiChannelPointUsageCount(GetAgentDataApiChannelRequestDto dto) {
checkPermission(dto.getAgentId());
List<String> channels = ListUtil.of(DataAnalyzeChannelEnum.api.getChannel());
List<AgentDataAnalyzeTrendEntity> analyzeTrendEntities = agentDataAnalyzeService.getAgentDataTrend(dto.getAgentId(), channels, dto.getTimeRange());
List<AgentDataAnalyzeApiChannelDto> result = new ArrayList<>();
if (CollectionUtils.isNotEmpty(analyzeTrendEntities)) {
for (AgentDataAnalyzeTrendEntity analyzeTrendEntity : analyzeTrendEntities) {
AgentDataAnalyzeApiChannelDto agentDataAnalyzeApiChannelDto = new AgentDataAnalyzeApiChannelDto();
agentDataAnalyzeApiChannelDto.setDateTime(analyzeTrendEntity.getDate());
agentDataAnalyzeApiChannelDto.setCount(BigDecimal.valueOf(analyzeTrendEntity.getTotalPoints()).setScale(2, RoundingMode.HALF_UP).doubleValue());
result.add(agentDataAnalyzeApiChannelDto);
}
}
return result;
}
private void checkPermission(String agentId) {
UserBaseEntity userBaseEntity = BlContext.getCurrentUserNotException();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment