[fix] 进出口流量转换成B、KB、MB、GB

This commit is contained in:
wujiawei 2024-01-25 13:13:38 +08:00
parent 369246e5c7
commit 27219eea2d
5 changed files with 39 additions and 8 deletions

View File

@ -1,13 +1,13 @@
spring: spring:
lazy: lazy:
netty: netty:
inet-host: 127.0.0.1 # inet-host: 127.0.0.1
inet-port: 7001 # inet-port: 7001
inet-path: wu-lazy-cloud-heartbeat-server
inet-host: 124.222.48.62 # 服务端地址
inet-port: 30676 #服务端端口
# inet-path: wu-lazy-cloud-heartbeat-server # inet-path: wu-lazy-cloud-heartbeat-server
# inet-host: 124.222.48.62 # 服务端地址 client-id: wujiawei # 客户端ID
# inet-port: 30676 #服务端端口
# inet-path: wu-lazy-cloud-heartbeat-server
client-id: local # 客户端ID
data: data:
redis: redis:
host: 192.168.17.221 host: 192.168.17.221

View File

@ -1,5 +1,6 @@
package wu.framework.lazy.cloud.heartbeat.server.application.dto; package wu.framework.lazy.cloud.heartbeat.server.application.dto;
import com.wu.framework.inner.layer.util.ByteSizeUtil;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
@ -63,4 +64,12 @@ public class VisitorFlowDTO {
@Schema(description = "当前访客下所有端口的流量") @Schema(description = "当前访客下所有端口的流量")
private List<VisitorPortFlowDTO> visitorPortFlowDTOList; private List<VisitorPortFlowDTO> visitorPortFlowDTOList;
public String getInFlow() {
return ByteSizeUtil.convertSize(inFlow);
}
public String getOutFlow() {
return ByteSizeUtil.convertSize(outFlow);
}
} }

View File

@ -1,5 +1,6 @@
package wu.framework.lazy.cloud.heartbeat.server.application.dto; package wu.framework.lazy.cloud.heartbeat.server.application.dto;
import com.wu.framework.inner.layer.util.ByteSizeUtil;
import lombok.Data; import lombok.Data;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
@ -77,4 +78,19 @@ public class VisitorPortFlowDTO {
@Schema(description ="访客端口",name ="visitorPort",example = "") @Schema(description ="访客端口",name ="visitorPort",example = "")
private Integer visitorPort; private Integer visitorPort;
public Integer getInFlowSize() {
return inFlow;
}
public Integer getOutFlowSize() {
return outFlow;
}
public String getInFlow() {
return ByteSizeUtil.convertSize(inFlow);
}
public String getOutFlow() {
return ByteSizeUtil.convertSize(outFlow);
}
} }

View File

@ -1,6 +1,7 @@
package wu.framework.lazy.cloud.heartbeat.server.application.impl; package wu.framework.lazy.cloud.heartbeat.server.application.impl;
import com.wu.framework.database.lazy.web.plus.stereotype.LazyApplication; import com.wu.framework.database.lazy.web.plus.stereotype.LazyApplication;
import org.springframework.util.ObjectUtils;
import wu.framework.lazy.cloud.heartbeat.server.application.VisitorPortFlowApplication; import wu.framework.lazy.cloud.heartbeat.server.application.VisitorPortFlowApplication;
import com.wu.framework.response.Result; import com.wu.framework.response.Result;
import wu.framework.lazy.cloud.heartbeat.server.application.assembler.VisitorPortFlowDTOAssembler; import wu.framework.lazy.cloud.heartbeat.server.application.assembler.VisitorPortFlowDTOAssembler;
@ -165,12 +166,12 @@ public class VisitorPortFlowApplicationImpl implements VisitorPortFlowApplicatio
Map<String/*客户端ID*/, Integer/*客户端进口流量*/> client_in_flow = visitorPortFlowDTOList.stream() Map<String/*客户端ID*/, Integer/*客户端进口流量*/> client_in_flow = visitorPortFlowDTOList.stream()
.collect( .collect(
Collectors.groupingBy(VisitorPortFlowDTO::getClientId, Collectors.groupingBy(VisitorPortFlowDTO::getClientId,
Collectors.summingInt(VisitorPortFlowDTO::getInFlow))); Collectors.summingInt(VisitorPortFlowDTO::getInFlowSize)));
Map<String/*客户端ID*/, Integer/*客户端出口流量*/> client_out_flow = visitorPortFlowDTOList.stream() Map<String/*客户端ID*/, Integer/*客户端出口流量*/> client_out_flow = visitorPortFlowDTOList.stream()
.collect( .collect(
Collectors.groupingBy(VisitorPortFlowDTO::getClientId, Collectors.groupingBy(VisitorPortFlowDTO::getClientId,
Collectors.summingInt(VisitorPortFlowDTO::getOutFlow))); Collectors.summingInt(VisitorPortFlowDTO::getOutFlowSize)));
return visitorPortFlowLazyPage.convert(visitorPortFlow1 -> { return visitorPortFlowLazyPage.convert(visitorPortFlow1 -> {
String clientId = visitorPortFlow1.getClientId(); String clientId = visitorPortFlow1.getClientId();

View File

@ -1,11 +1,13 @@
package wu.framework.lazy.cloud.heartbeat.server.infrastructure.persistence; package wu.framework.lazy.cloud.heartbeat.server.infrastructure.persistence;
import org.springframework.util.ObjectUtils;
import wu.framework.lazy.cloud.heartbeat.server.domain.model.visitor.flow.VisitorPortFlow; import wu.framework.lazy.cloud.heartbeat.server.domain.model.visitor.flow.VisitorPortFlow;
import wu.framework.lazy.cloud.heartbeat.server.infrastructure.converter.VisitorPortFlowConverter; import wu.framework.lazy.cloud.heartbeat.server.infrastructure.converter.VisitorPortFlowConverter;
import wu.framework.lazy.cloud.heartbeat.server.domain.model.visitor.flow.VisitorPortFlowRepository; import wu.framework.lazy.cloud.heartbeat.server.domain.model.visitor.flow.VisitorPortFlowRepository;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import java.util.ArrayList;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import com.wu.framework.inner.lazy.database.expand.database.persistence.stream.wrapper.LazyWrappers; import com.wu.framework.inner.lazy.database.expand.database.persistence.stream.wrapper.LazyWrappers;
@ -176,6 +178,9 @@ public class VisitorPortFlowRepositoryImpl implements VisitorPortFlowRepository
*/ */
@Override @Override
public List<VisitorPortFlow> findListByClientIds(List<String> clientIdList) { public List<VisitorPortFlow> findListByClientIds(List<String> clientIdList) {
if(ObjectUtils.isEmpty(clientIdList)){
return new ArrayList<>();
}
return lazyLambdaStream.selectList(LazyWrappers.<VisitorPortFlowDO>lambdaWrapper() return lazyLambdaStream.selectList(LazyWrappers.<VisitorPortFlowDO>lambdaWrapper()
.in(VisitorPortFlowDO::getClientId,clientIdList), VisitorPortFlow.class); .in(VisitorPortFlowDO::getClientId,clientIdList), VisitorPortFlow.class);
} }