diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/LazyProxyFlowApplication.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/LazyProxyFlowApplication.java new file mode 100644 index 0000000..283ddb2 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/LazyProxyFlowApplication.java @@ -0,0 +1,120 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.application; + +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.proxy.flow.*; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.visitor.flow.LazyVisitorPortFlowQueryListCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.dto.LazyClientProxyFlowDTO; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.dto.LazyProxyFlowDTO; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.dto.LazyVisitorFlowDTO; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.domain.model.lazy.proxy.flow.LazyProxyFlow; +import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; +import org.wu.framework.web.response.Result; + +import java.util.List; + +/** + * describe 代理流量 + * + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyApplication + **/ + +public interface LazyProxyFlowApplication { + + + /** + * describe 新增代理流量 + * + * @param lazyProxyFlowStoryCommand 新增代理流量 + * @return {@link Result} 代理流量新增后领域对象 + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + Result story(LazyProxyFlowStoryCommand lazyProxyFlowStoryCommand); + + /** + * 流量增长存储 + * + * @param lazyProxyFlowStoryCommand 代理流量 + */ + Result flowIncreaseStory(LazyProxyFlowStoryCommand lazyProxyFlowStoryCommand); + + /** + * describe 批量新增代理流量 + * + * @param lazyProxyFlowStoryCommandList 批量新增代理流量 + * @return {@link Result>} 代理流量新增后领域对象集合 + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + Result> batchStory(List lazyProxyFlowStoryCommandList); + + /** + * describe 更新代理流量 + * + * @param lazyProxyFlowUpdateCommand 更新代理流量 + * @return {@link Result} 代理流量领域对象 + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + Result updateOne(LazyProxyFlowUpdateCommand lazyProxyFlowUpdateCommand); + + /** + * describe 查询单个代理流量 + * + * @param lazyProxyFlowQueryOneCommand 查询单个代理流量 + * @return {@link Result} 代理流量DTO对象 + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + Result findOne(LazyProxyFlowQueryOneCommand lazyProxyFlowQueryOneCommand); + + /** + * describe 查询多个代理流量 + * + * @param lazyProxyFlowQueryListCommand 查询多个代理流量 + * @return {@link Result >} 代理流量DTO对象 + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + Result> findList(LazyProxyFlowQueryListCommand lazyProxyFlowQueryListCommand); + + /** + * describe 分页查询多个代理流量 + * + * @param lazyProxyFlowQueryListCommand 分页查询多个代理流量 + * @return {@link Result >} 分页代理流量DTO对象 + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + Result> findPage(int size, int current, LazyProxyFlowQueryListCommand lazyProxyFlowQueryListCommand); + + /** + * describe 删除代理流量 + * + * @param lazyProxyFlowRemoveCommand 删除代理流量 + * @return {@link Result} 代理流量 + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + Result remove(LazyProxyFlowRemoveCommand lazyProxyFlowRemoveCommand); + + /** + * 根据客户端查询流量 + * + * @param size 分页大小 + * @param current 分页 + * @param lazyProxyFlowQueryListCommand 查询条件 + * @return {@link Result>} 分页访客端流量DTO对象 + */ + Result> findClientFlowPage(int size, int current, LazyProxyFlowQueryListCommand lazyProxyFlowQueryListCommand); + + +} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/LazyProxyPerDayFlowApplication.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/LazyProxyPerDayFlowApplication.java new file mode 100644 index 0000000..d8eef68 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/LazyProxyPerDayFlowApplication.java @@ -0,0 +1,109 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.application; + +import org.wu.framework.web.response.Result; +import org.wu.framework.web.response.ResultFactory; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.domain.model.lazy.proxy.per.day.flow.LazyProxyPerDayFlow; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.proxy.per.day.flow.LazyProxyPerDayFlowRemoveCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.proxy.per.day.flow.LazyProxyPerDayFlowStoryCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.proxy.per.day.flow.LazyProxyPerDayFlowUpdateCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.proxy.per.day.flow.LazyProxyPerDayFlowQueryListCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.proxy.per.day.flow.LazyProxyPerDayFlowQueryOneCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.dto.LazyProxyPerDayFlowDTO; +import java.util.List; +import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; +/** + * describe 每日统计代理流量 + * + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyApplication + **/ + +public interface LazyProxyPerDayFlowApplication { + + + /** + * describe 新增每日统计代理流量 + * + * @param lazyProxyPerDayFlowStoryCommand 新增每日统计代理流量 + * @return {@link Result} 每日统计代理流量新增后领域对象 + + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + Result story(LazyProxyPerDayFlowStoryCommand lazyProxyPerDayFlowStoryCommand); + + /** + * describe 批量新增每日统计代理流量 + * + * @param lazyProxyPerDayFlowStoryCommandList 批量新增每日统计代理流量 + * @return {@link Result>} 每日统计代理流量新增后领域对象集合 + + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + Result> batchStory(List lazyProxyPerDayFlowStoryCommandList); + + /** + * describe 更新每日统计代理流量 + * + * @param lazyProxyPerDayFlowUpdateCommand 更新每日统计代理流量 + * @return {@link Result} 每日统计代理流量领域对象 + + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + Result updateOne(LazyProxyPerDayFlowUpdateCommand lazyProxyPerDayFlowUpdateCommand); + + /** + * describe 查询单个每日统计代理流量 + * + * @param lazyProxyPerDayFlowQueryOneCommand 查询单个每日统计代理流量 + * @return {@link Result} 每日统计代理流量DTO对象 + + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + Result findOne(LazyProxyPerDayFlowQueryOneCommand lazyProxyPerDayFlowQueryOneCommand); + + /** + * describe 查询多个每日统计代理流量 + * + * @param lazyProxyPerDayFlowQueryListCommand 查询多个每日统计代理流量 + * @return {@link Result >} 每日统计代理流量DTO对象 + + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + Result > findList(LazyProxyPerDayFlowQueryListCommand lazyProxyPerDayFlowQueryListCommand); + + /** + * describe 分页查询多个每日统计代理流量 + * + * @param lazyProxyPerDayFlowQueryListCommand 分页查询多个每日统计代理流量 + * @return {@link Result >} 分页每日统计代理流量DTO对象 + + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + Result > findPage(int size,int current,LazyProxyPerDayFlowQueryListCommand lazyProxyPerDayFlowQueryListCommand); + + /** + * describe 删除每日统计代理流量 + * + * @param lazyProxyPerDayFlowRemoveCommand 删除每日统计代理流量 + * @return {@link Result} 每日统计代理流量 + + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + Result remove(LazyProxyPerDayFlowRemoveCommand lazyProxyPerDayFlowRemoveCommand); + +} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/assembler/LazyProxyFlowDTOAssembler.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/assembler/LazyProxyFlowDTOAssembler.java new file mode 100644 index 0000000..b57163b --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/assembler/LazyProxyFlowDTOAssembler.java @@ -0,0 +1,93 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.application.assembler; + +import org.framework.lazy.cloud.network.heartbeat.server.standalone.domain.model.lazy.proxy.flow.LazyProxyFlow; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.proxy.flow.LazyProxyFlowRemoveCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.proxy.flow.LazyProxyFlowStoryCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.proxy.flow.LazyProxyFlowUpdateCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.proxy.flow.LazyProxyFlowQueryListCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.proxy.flow.LazyProxyFlowQueryOneCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.dto.LazyProxyFlowDTO; +import org.mapstruct.factory.Mappers; +import org.mapstruct.Mapper; +/** + * describe 代理流量 + * + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyAssembler + **/ +@Mapper +public interface LazyProxyFlowDTOAssembler { + + + /** + * describe MapStruct 创建的代理对象 + * + + + + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + LazyProxyFlowDTOAssembler INSTANCE = Mappers.getMapper(LazyProxyFlowDTOAssembler.class); + /** + * describe 应用层存储入参转换成 领域对象 + * + * @param lazyProxyFlowStoryCommand 保存代理流量对象 + * @return {@link LazyProxyFlow} 代理流量领域对象 + + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + LazyProxyFlow toLazyProxyFlow(LazyProxyFlowStoryCommand lazyProxyFlowStoryCommand); + /** + * describe 应用层更新入参转换成 领域对象 + * + * @param lazyProxyFlowUpdateCommand 更新代理流量对象 + * @return {@link LazyProxyFlow} 代理流量领域对象 + + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + LazyProxyFlow toLazyProxyFlow(LazyProxyFlowUpdateCommand lazyProxyFlowUpdateCommand); + /** + * describe 应用层查询入参转换成 领域对象 + * + * @param lazyProxyFlowQueryOneCommand 查询单个代理流量对象参数 + * @return {@link LazyProxyFlow} 代理流量领域对象 + + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + LazyProxyFlow toLazyProxyFlow(LazyProxyFlowQueryOneCommand lazyProxyFlowQueryOneCommand); + /** + * describe 应用层查询入参转换成 领域对象 + * + * @param lazyProxyFlowQueryListCommand 查询集合代理流量对象参数 + * @return {@link LazyProxyFlow} 代理流量领域对象 + + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + LazyProxyFlow toLazyProxyFlow(LazyProxyFlowQueryListCommand lazyProxyFlowQueryListCommand); + /** + * describe 应用层删除入参转换成 领域对象 + * + * @param lazyProxyFlowRemoveCommand 删除代理流量对象参数 + * @return {@link LazyProxyFlow} 代理流量领域对象 + + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + LazyProxyFlow toLazyProxyFlow(LazyProxyFlowRemoveCommand lazyProxyFlowRemoveCommand); + /** + * describe 持久层领域对象转换成DTO对象 + * + * @param lazyProxyFlow 代理流量领域对象 + * @return {@link LazyProxyFlowDTO} 代理流量DTO对象 + + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + LazyProxyFlowDTO fromLazyProxyFlow(LazyProxyFlow lazyProxyFlow); +} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/assembler/LazyProxyPerDayFlowDTOAssembler.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/assembler/LazyProxyPerDayFlowDTOAssembler.java new file mode 100644 index 0000000..0adc44e --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/assembler/LazyProxyPerDayFlowDTOAssembler.java @@ -0,0 +1,93 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.application.assembler; + +import org.framework.lazy.cloud.network.heartbeat.server.standalone.domain.model.lazy.proxy.per.day.flow.LazyProxyPerDayFlow; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.proxy.per.day.flow.LazyProxyPerDayFlowRemoveCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.proxy.per.day.flow.LazyProxyPerDayFlowStoryCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.proxy.per.day.flow.LazyProxyPerDayFlowUpdateCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.proxy.per.day.flow.LazyProxyPerDayFlowQueryListCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.proxy.per.day.flow.LazyProxyPerDayFlowQueryOneCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.dto.LazyProxyPerDayFlowDTO; +import org.mapstruct.factory.Mappers; +import org.mapstruct.Mapper; +/** + * describe 每日统计代理流量 + * + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyAssembler + **/ +@Mapper +public interface LazyProxyPerDayFlowDTOAssembler { + + + /** + * describe MapStruct 创建的代理对象 + * + + + + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + LazyProxyPerDayFlowDTOAssembler INSTANCE = Mappers.getMapper(LazyProxyPerDayFlowDTOAssembler.class); + /** + * describe 应用层存储入参转换成 领域对象 + * + * @param lazyProxyPerDayFlowStoryCommand 保存每日统计代理流量对象 + * @return {@link LazyProxyPerDayFlow} 每日统计代理流量领域对象 + + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + LazyProxyPerDayFlow toLazyProxyPerDayFlow(LazyProxyPerDayFlowStoryCommand lazyProxyPerDayFlowStoryCommand); + /** + * describe 应用层更新入参转换成 领域对象 + * + * @param lazyProxyPerDayFlowUpdateCommand 更新每日统计代理流量对象 + * @return {@link LazyProxyPerDayFlow} 每日统计代理流量领域对象 + + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + LazyProxyPerDayFlow toLazyProxyPerDayFlow(LazyProxyPerDayFlowUpdateCommand lazyProxyPerDayFlowUpdateCommand); + /** + * describe 应用层查询入参转换成 领域对象 + * + * @param lazyProxyPerDayFlowQueryOneCommand 查询单个每日统计代理流量对象参数 + * @return {@link LazyProxyPerDayFlow} 每日统计代理流量领域对象 + + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + LazyProxyPerDayFlow toLazyProxyPerDayFlow(LazyProxyPerDayFlowQueryOneCommand lazyProxyPerDayFlowQueryOneCommand); + /** + * describe 应用层查询入参转换成 领域对象 + * + * @param lazyProxyPerDayFlowQueryListCommand 查询集合每日统计代理流量对象参数 + * @return {@link LazyProxyPerDayFlow} 每日统计代理流量领域对象 + + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + LazyProxyPerDayFlow toLazyProxyPerDayFlow(LazyProxyPerDayFlowQueryListCommand lazyProxyPerDayFlowQueryListCommand); + /** + * describe 应用层删除入参转换成 领域对象 + * + * @param lazyProxyPerDayFlowRemoveCommand 删除每日统计代理流量对象参数 + * @return {@link LazyProxyPerDayFlow} 每日统计代理流量领域对象 + + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + LazyProxyPerDayFlow toLazyProxyPerDayFlow(LazyProxyPerDayFlowRemoveCommand lazyProxyPerDayFlowRemoveCommand); + /** + * describe 持久层领域对象转换成DTO对象 + * + * @param lazyProxyPerDayFlow 每日统计代理流量领域对象 + * @return {@link LazyProxyPerDayFlowDTO} 每日统计代理流量DTO对象 + + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + LazyProxyPerDayFlowDTO fromLazyProxyPerDayFlow(LazyProxyPerDayFlow lazyProxyPerDayFlow); +} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/proxy/flow/LazyProxyFlowQueryListCommand.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/proxy/flow/LazyProxyFlowQueryListCommand.java new file mode 100644 index 0000000..9dd8111 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/proxy/flow/LazyProxyFlowQueryListCommand.java @@ -0,0 +1,108 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.proxy.flow; + +import lombok.Data; +import lombok.experimental.Accessors; +import io.swagger.v3.oas.annotations.media.Schema; +import java.lang.String; +import java.time.LocalDateTime; +import java.lang.Long; +import java.lang.Integer; +import java.lang.Boolean; +/** + * describe 代理流量 + * + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyQueryListCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_proxy_flow_query_List_command",description = "代理流量") +public class LazyProxyFlowQueryListCommand { + + + /** + * + * 客户端ID + */ + @Schema(description ="客户端ID",name ="clientId",example = "") + private String clientId; + + /** + * + * + */ + @Schema(description ="",name ="createTime",example = "") + private LocalDateTime createTime; + + /** + * + * 主键 + */ + @Schema(description ="主键",name ="id",example = "") + private Long id; + + /** + * + * 当前访客当前进口流量 + */ + @Schema(description ="当前访客当前进口流量",name ="inFlow",example = "") + private Integer inFlow; + + /** + * + * 目标ip + */ + @Schema(description ="目标ip",name ="ip",example = "") + private String ip; + + /** + * + * 是否删除 + */ + @Schema(description ="是否删除",name ="isDeleted",example = "") + private Boolean isDeleted; + + /** + * + * 当前访客出口流量 + */ + @Schema(description ="当前访客出口流量",name ="outFlow",example = "") + private Integer outFlow; + + /** + * + * 目标端口 + */ + @Schema(description ="目标端口",name ="port",example = "") + private Integer port; + + /** + * + * 协议类型 + */ + @Schema(description ="协议类型",name ="protocolType",example = "") + private String protocolType; + + /** + * + * 代理类型 + */ + @Schema(description ="代理类型",name ="proxyType",example = "") + private String proxyType; + + /** + * + * 服务端ID + */ + @Schema(description ="服务端ID",name ="serverId",example = "") + private String serverId; + + /** + * + * + */ + @Schema(description ="",name ="updateTime",example = "") + private LocalDateTime updateTime; + +} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/proxy/flow/LazyProxyFlowQueryOneCommand.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/proxy/flow/LazyProxyFlowQueryOneCommand.java new file mode 100644 index 0000000..61c1b26 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/proxy/flow/LazyProxyFlowQueryOneCommand.java @@ -0,0 +1,108 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.proxy.flow; + +import lombok.Data; +import lombok.experimental.Accessors; +import io.swagger.v3.oas.annotations.media.Schema; +import java.lang.String; +import java.time.LocalDateTime; +import java.lang.Long; +import java.lang.Integer; +import java.lang.Boolean; +/** + * describe 代理流量 + * + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyQueryOneCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_proxy_flow_query_one_command",description = "代理流量") +public class LazyProxyFlowQueryOneCommand { + + + /** + * + * 客户端ID + */ + @Schema(description ="客户端ID",name ="clientId",example = "") + private String clientId; + + /** + * + * + */ + @Schema(description ="",name ="createTime",example = "") + private LocalDateTime createTime; + + /** + * + * 主键 + */ + @Schema(description ="主键",name ="id",example = "") + private Long id; + + /** + * + * 当前访客当前进口流量 + */ + @Schema(description ="当前访客当前进口流量",name ="inFlow",example = "") + private Integer inFlow; + + /** + * + * 目标ip + */ + @Schema(description ="目标ip",name ="ip",example = "") + private String ip; + + /** + * + * 是否删除 + */ + @Schema(description ="是否删除",name ="isDeleted",example = "") + private Boolean isDeleted; + + /** + * + * 当前访客出口流量 + */ + @Schema(description ="当前访客出口流量",name ="outFlow",example = "") + private Integer outFlow; + + /** + * + * 目标端口 + */ + @Schema(description ="目标端口",name ="port",example = "") + private Integer port; + + /** + * + * 协议类型 + */ + @Schema(description ="协议类型",name ="protocolType",example = "") + private String protocolType; + + /** + * + * 代理类型 + */ + @Schema(description ="代理类型",name ="proxyType",example = "") + private String proxyType; + + /** + * + * 服务端ID + */ + @Schema(description ="服务端ID",name ="serverId",example = "") + private String serverId; + + /** + * + * + */ + @Schema(description ="",name ="updateTime",example = "") + private LocalDateTime updateTime; + +} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/proxy/flow/LazyProxyFlowRemoveCommand.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/proxy/flow/LazyProxyFlowRemoveCommand.java new file mode 100644 index 0000000..1268651 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/proxy/flow/LazyProxyFlowRemoveCommand.java @@ -0,0 +1,108 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.proxy.flow; + +import lombok.Data; +import lombok.experimental.Accessors; +import io.swagger.v3.oas.annotations.media.Schema; +import java.lang.String; +import java.time.LocalDateTime; +import java.lang.Long; +import java.lang.Integer; +import java.lang.Boolean; +/** + * describe 代理流量 + * + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyRemoveCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_proxy_flow_remove_command",description = "代理流量") +public class LazyProxyFlowRemoveCommand { + + + /** + * + * 客户端ID + */ + @Schema(description ="客户端ID",name ="clientId",example = "") + private String clientId; + + /** + * + * + */ + @Schema(description ="",name ="createTime",example = "") + private LocalDateTime createTime; + + /** + * + * 主键 + */ + @Schema(description ="主键",name ="id",example = "") + private Long id; + + /** + * + * 当前访客当前进口流量 + */ + @Schema(description ="当前访客当前进口流量",name ="inFlow",example = "") + private Integer inFlow; + + /** + * + * 目标ip + */ + @Schema(description ="目标ip",name ="ip",example = "") + private String ip; + + /** + * + * 是否删除 + */ + @Schema(description ="是否删除",name ="isDeleted",example = "") + private Boolean isDeleted; + + /** + * + * 当前访客出口流量 + */ + @Schema(description ="当前访客出口流量",name ="outFlow",example = "") + private Integer outFlow; + + /** + * + * 目标端口 + */ + @Schema(description ="目标端口",name ="port",example = "") + private Integer port; + + /** + * + * 协议类型 + */ + @Schema(description ="协议类型",name ="protocolType",example = "") + private String protocolType; + + /** + * + * 代理类型 + */ + @Schema(description ="代理类型",name ="proxyType",example = "") + private String proxyType; + + /** + * + * 服务端ID + */ + @Schema(description ="服务端ID",name ="serverId",example = "") + private String serverId; + + /** + * + * + */ + @Schema(description ="",name ="updateTime",example = "") + private LocalDateTime updateTime; + +} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/proxy/flow/LazyProxyFlowStoryCommand.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/proxy/flow/LazyProxyFlowStoryCommand.java new file mode 100644 index 0000000..ba78959 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/proxy/flow/LazyProxyFlowStoryCommand.java @@ -0,0 +1,108 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.proxy.flow; + +import lombok.Data; +import lombok.experimental.Accessors; +import io.swagger.v3.oas.annotations.media.Schema; +import java.lang.String; +import java.time.LocalDateTime; +import java.lang.Long; +import java.lang.Integer; +import java.lang.Boolean; +/** + * describe 代理流量 + * + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyStoryCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_proxy_flow_story_command",description = "代理流量") +public class LazyProxyFlowStoryCommand { + + + /** + * + * 客户端ID + */ + @Schema(description ="客户端ID",name ="clientId",example = "") + private String clientId; + + /** + * + * + */ + @Schema(description ="",name ="createTime",example = "") + private LocalDateTime createTime; + + /** + * + * 主键 + */ + @Schema(description ="主键",name ="id",example = "") + private Long id; + + /** + * + * 当前访客当前进口流量 + */ + @Schema(description ="当前访客当前进口流量",name ="inFlow",example = "") + private Integer inFlow; + + /** + * + * 目标ip + */ + @Schema(description ="目标ip",name ="ip",example = "") + private String ip; + + /** + * + * 是否删除 + */ + @Schema(description ="是否删除",name ="isDeleted",example = "") + private Boolean isDeleted; + + /** + * + * 当前访客出口流量 + */ + @Schema(description ="当前访客出口流量",name ="outFlow",example = "") + private Integer outFlow; + + /** + * + * 目标端口 + */ + @Schema(description ="目标端口",name ="port",example = "") + private Integer port; + + /** + * + * 协议类型 + */ + @Schema(description ="协议类型",name ="protocolType",example = "") + private String protocolType; + + /** + * + * 代理类型 + */ + @Schema(description ="代理类型",name ="proxyType",example = "") + private String proxyType; + + /** + * + * 服务端ID + */ + @Schema(description ="服务端ID",name ="serverId",example = "") + private String serverId; + + /** + * + * + */ + @Schema(description ="",name ="updateTime",example = "") + private LocalDateTime updateTime; + +} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/proxy/flow/LazyProxyFlowUpdateCommand.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/proxy/flow/LazyProxyFlowUpdateCommand.java new file mode 100644 index 0000000..aa85bbb --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/proxy/flow/LazyProxyFlowUpdateCommand.java @@ -0,0 +1,108 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.proxy.flow; + +import lombok.Data; +import lombok.experimental.Accessors; +import io.swagger.v3.oas.annotations.media.Schema; +import java.lang.String; +import java.time.LocalDateTime; +import java.lang.Long; +import java.lang.Integer; +import java.lang.Boolean; +/** + * describe 代理流量 + * + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyUpdateCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_proxy_flow_update_command",description = "代理流量") +public class LazyProxyFlowUpdateCommand { + + + /** + * + * 客户端ID + */ + @Schema(description ="客户端ID",name ="clientId",example = "") + private String clientId; + + /** + * + * + */ + @Schema(description ="",name ="createTime",example = "") + private LocalDateTime createTime; + + /** + * + * 主键 + */ + @Schema(description ="主键",name ="id",example = "") + private Long id; + + /** + * + * 当前访客当前进口流量 + */ + @Schema(description ="当前访客当前进口流量",name ="inFlow",example = "") + private Integer inFlow; + + /** + * + * 目标ip + */ + @Schema(description ="目标ip",name ="ip",example = "") + private String ip; + + /** + * + * 是否删除 + */ + @Schema(description ="是否删除",name ="isDeleted",example = "") + private Boolean isDeleted; + + /** + * + * 当前访客出口流量 + */ + @Schema(description ="当前访客出口流量",name ="outFlow",example = "") + private Integer outFlow; + + /** + * + * 目标端口 + */ + @Schema(description ="目标端口",name ="port",example = "") + private Integer port; + + /** + * + * 协议类型 + */ + @Schema(description ="协议类型",name ="protocolType",example = "") + private String protocolType; + + /** + * + * 代理类型 + */ + @Schema(description ="代理类型",name ="proxyType",example = "") + private String proxyType; + + /** + * + * 服务端ID + */ + @Schema(description ="服务端ID",name ="serverId",example = "") + private String serverId; + + /** + * + * + */ + @Schema(description ="",name ="updateTime",example = "") + private LocalDateTime updateTime; + +} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/proxy/per/day/flow/LazyProxyPerDayFlowQueryListCommand.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/proxy/per/day/flow/LazyProxyPerDayFlowQueryListCommand.java new file mode 100644 index 0000000..f2908de --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/proxy/per/day/flow/LazyProxyPerDayFlowQueryListCommand.java @@ -0,0 +1,115 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.proxy.per.day.flow; + +import lombok.Data; +import lombok.experimental.Accessors; +import io.swagger.v3.oas.annotations.media.Schema; +import java.lang.String; +import java.time.LocalDateTime; +import java.lang.Long; +import java.lang.Integer; +import java.lang.Boolean; +/** + * describe 每日统计代理流量 + * + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyQueryListCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_proxy_per_day_flow_query_List_command",description = "每日统计代理流量") +public class LazyProxyPerDayFlowQueryListCommand { + + + /** + * + * 客户端ID + */ + @Schema(description ="客户端ID",name ="clientId",example = "") + private String clientId; + + /** + * + * 创建时间 + */ + @Schema(description ="创建时间",name ="createTime",example = "") + private LocalDateTime createTime; + + /** + * + * 日期 + */ + @Schema(description ="日期",name ="day",example = "") + private String day; + + /** + * + * 主键 + */ + @Schema(description ="主键",name ="id",example = "") + private Long id; + + /** + * + * 当前访客当前进口流量 + */ + @Schema(description ="当前访客当前进口流量",name ="inFlow",example = "") + private Integer inFlow; + + /** + * + * 目标ip + */ + @Schema(description ="目标ip",name ="ip",example = "") + private String ip; + + /** + * + * 是否删除 + */ + @Schema(description ="是否删除",name ="isDeleted",example = "") + private Boolean isDeleted; + + /** + * + * 当前访客出口流量 + */ + @Schema(description ="当前访客出口流量",name ="outFlow",example = "") + private Integer outFlow; + + /** + * + * 目标端口 + */ + @Schema(description ="目标端口",name ="port",example = "") + private Integer port; + + /** + * + * 协议类型 + */ + @Schema(description ="协议类型",name ="protocolType",example = "") + private String protocolType; + + /** + * + * 代理类型 + */ + @Schema(description ="代理类型",name ="proxyType",example = "") + private String proxyType; + + /** + * + * 服务端ID + */ + @Schema(description ="服务端ID",name ="serverId",example = "") + private String serverId; + + /** + * + * 修改时间 + */ + @Schema(description ="修改时间",name ="updateTime",example = "") + private LocalDateTime updateTime; + +} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/proxy/per/day/flow/LazyProxyPerDayFlowQueryOneCommand.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/proxy/per/day/flow/LazyProxyPerDayFlowQueryOneCommand.java new file mode 100644 index 0000000..e279010 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/proxy/per/day/flow/LazyProxyPerDayFlowQueryOneCommand.java @@ -0,0 +1,115 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.proxy.per.day.flow; + +import lombok.Data; +import lombok.experimental.Accessors; +import io.swagger.v3.oas.annotations.media.Schema; +import java.lang.String; +import java.time.LocalDateTime; +import java.lang.Long; +import java.lang.Integer; +import java.lang.Boolean; +/** + * describe 每日统计代理流量 + * + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyQueryOneCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_proxy_per_day_flow_query_one_command",description = "每日统计代理流量") +public class LazyProxyPerDayFlowQueryOneCommand { + + + /** + * + * 客户端ID + */ + @Schema(description ="客户端ID",name ="clientId",example = "") + private String clientId; + + /** + * + * 创建时间 + */ + @Schema(description ="创建时间",name ="createTime",example = "") + private LocalDateTime createTime; + + /** + * + * 日期 + */ + @Schema(description ="日期",name ="day",example = "") + private String day; + + /** + * + * 主键 + */ + @Schema(description ="主键",name ="id",example = "") + private Long id; + + /** + * + * 当前访客当前进口流量 + */ + @Schema(description ="当前访客当前进口流量",name ="inFlow",example = "") + private Integer inFlow; + + /** + * + * 目标ip + */ + @Schema(description ="目标ip",name ="ip",example = "") + private String ip; + + /** + * + * 是否删除 + */ + @Schema(description ="是否删除",name ="isDeleted",example = "") + private Boolean isDeleted; + + /** + * + * 当前访客出口流量 + */ + @Schema(description ="当前访客出口流量",name ="outFlow",example = "") + private Integer outFlow; + + /** + * + * 目标端口 + */ + @Schema(description ="目标端口",name ="port",example = "") + private Integer port; + + /** + * + * 协议类型 + */ + @Schema(description ="协议类型",name ="protocolType",example = "") + private String protocolType; + + /** + * + * 代理类型 + */ + @Schema(description ="代理类型",name ="proxyType",example = "") + private String proxyType; + + /** + * + * 服务端ID + */ + @Schema(description ="服务端ID",name ="serverId",example = "") + private String serverId; + + /** + * + * 修改时间 + */ + @Schema(description ="修改时间",name ="updateTime",example = "") + private LocalDateTime updateTime; + +} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/proxy/per/day/flow/LazyProxyPerDayFlowRemoveCommand.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/proxy/per/day/flow/LazyProxyPerDayFlowRemoveCommand.java new file mode 100644 index 0000000..d5049b0 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/proxy/per/day/flow/LazyProxyPerDayFlowRemoveCommand.java @@ -0,0 +1,115 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.proxy.per.day.flow; + +import lombok.Data; +import lombok.experimental.Accessors; +import io.swagger.v3.oas.annotations.media.Schema; +import java.lang.String; +import java.time.LocalDateTime; +import java.lang.Long; +import java.lang.Integer; +import java.lang.Boolean; +/** + * describe 每日统计代理流量 + * + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyRemoveCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_proxy_per_day_flow_remove_command",description = "每日统计代理流量") +public class LazyProxyPerDayFlowRemoveCommand { + + + /** + * + * 客户端ID + */ + @Schema(description ="客户端ID",name ="clientId",example = "") + private String clientId; + + /** + * + * 创建时间 + */ + @Schema(description ="创建时间",name ="createTime",example = "") + private LocalDateTime createTime; + + /** + * + * 日期 + */ + @Schema(description ="日期",name ="day",example = "") + private String day; + + /** + * + * 主键 + */ + @Schema(description ="主键",name ="id",example = "") + private Long id; + + /** + * + * 当前访客当前进口流量 + */ + @Schema(description ="当前访客当前进口流量",name ="inFlow",example = "") + private Integer inFlow; + + /** + * + * 目标ip + */ + @Schema(description ="目标ip",name ="ip",example = "") + private String ip; + + /** + * + * 是否删除 + */ + @Schema(description ="是否删除",name ="isDeleted",example = "") + private Boolean isDeleted; + + /** + * + * 当前访客出口流量 + */ + @Schema(description ="当前访客出口流量",name ="outFlow",example = "") + private Integer outFlow; + + /** + * + * 目标端口 + */ + @Schema(description ="目标端口",name ="port",example = "") + private Integer port; + + /** + * + * 协议类型 + */ + @Schema(description ="协议类型",name ="protocolType",example = "") + private String protocolType; + + /** + * + * 代理类型 + */ + @Schema(description ="代理类型",name ="proxyType",example = "") + private String proxyType; + + /** + * + * 服务端ID + */ + @Schema(description ="服务端ID",name ="serverId",example = "") + private String serverId; + + /** + * + * 修改时间 + */ + @Schema(description ="修改时间",name ="updateTime",example = "") + private LocalDateTime updateTime; + +} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/proxy/per/day/flow/LazyProxyPerDayFlowStoryCommand.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/proxy/per/day/flow/LazyProxyPerDayFlowStoryCommand.java new file mode 100644 index 0000000..7778b2a --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/proxy/per/day/flow/LazyProxyPerDayFlowStoryCommand.java @@ -0,0 +1,115 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.proxy.per.day.flow; + +import lombok.Data; +import lombok.experimental.Accessors; +import io.swagger.v3.oas.annotations.media.Schema; +import java.lang.String; +import java.time.LocalDateTime; +import java.lang.Long; +import java.lang.Integer; +import java.lang.Boolean; +/** + * describe 每日统计代理流量 + * + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyStoryCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_proxy_per_day_flow_story_command",description = "每日统计代理流量") +public class LazyProxyPerDayFlowStoryCommand { + + + /** + * + * 客户端ID + */ + @Schema(description ="客户端ID",name ="clientId",example = "") + private String clientId; + + /** + * + * 创建时间 + */ + @Schema(description ="创建时间",name ="createTime",example = "") + private LocalDateTime createTime; + + /** + * + * 日期 + */ + @Schema(description ="日期",name ="day",example = "") + private String day; + + /** + * + * 主键 + */ + @Schema(description ="主键",name ="id",example = "") + private Long id; + + /** + * + * 当前访客当前进口流量 + */ + @Schema(description ="当前访客当前进口流量",name ="inFlow",example = "") + private Integer inFlow; + + /** + * + * 目标ip + */ + @Schema(description ="目标ip",name ="ip",example = "") + private String ip; + + /** + * + * 是否删除 + */ + @Schema(description ="是否删除",name ="isDeleted",example = "") + private Boolean isDeleted; + + /** + * + * 当前访客出口流量 + */ + @Schema(description ="当前访客出口流量",name ="outFlow",example = "") + private Integer outFlow; + + /** + * + * 目标端口 + */ + @Schema(description ="目标端口",name ="port",example = "") + private Integer port; + + /** + * + * 协议类型 + */ + @Schema(description ="协议类型",name ="protocolType",example = "") + private String protocolType; + + /** + * + * 代理类型 + */ + @Schema(description ="代理类型",name ="proxyType",example = "") + private String proxyType; + + /** + * + * 服务端ID + */ + @Schema(description ="服务端ID",name ="serverId",example = "") + private String serverId; + + /** + * + * 修改时间 + */ + @Schema(description ="修改时间",name ="updateTime",example = "") + private LocalDateTime updateTime; + +} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/proxy/per/day/flow/LazyProxyPerDayFlowUpdateCommand.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/proxy/per/day/flow/LazyProxyPerDayFlowUpdateCommand.java new file mode 100644 index 0000000..b4b9900 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/proxy/per/day/flow/LazyProxyPerDayFlowUpdateCommand.java @@ -0,0 +1,115 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.proxy.per.day.flow; + +import lombok.Data; +import lombok.experimental.Accessors; +import io.swagger.v3.oas.annotations.media.Schema; +import java.lang.String; +import java.time.LocalDateTime; +import java.lang.Long; +import java.lang.Integer; +import java.lang.Boolean; +/** + * describe 每日统计代理流量 + * + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyUpdateCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_proxy_per_day_flow_update_command",description = "每日统计代理流量") +public class LazyProxyPerDayFlowUpdateCommand { + + + /** + * + * 客户端ID + */ + @Schema(description ="客户端ID",name ="clientId",example = "") + private String clientId; + + /** + * + * 创建时间 + */ + @Schema(description ="创建时间",name ="createTime",example = "") + private LocalDateTime createTime; + + /** + * + * 日期 + */ + @Schema(description ="日期",name ="day",example = "") + private String day; + + /** + * + * 主键 + */ + @Schema(description ="主键",name ="id",example = "") + private Long id; + + /** + * + * 当前访客当前进口流量 + */ + @Schema(description ="当前访客当前进口流量",name ="inFlow",example = "") + private Integer inFlow; + + /** + * + * 目标ip + */ + @Schema(description ="目标ip",name ="ip",example = "") + private String ip; + + /** + * + * 是否删除 + */ + @Schema(description ="是否删除",name ="isDeleted",example = "") + private Boolean isDeleted; + + /** + * + * 当前访客出口流量 + */ + @Schema(description ="当前访客出口流量",name ="outFlow",example = "") + private Integer outFlow; + + /** + * + * 目标端口 + */ + @Schema(description ="目标端口",name ="port",example = "") + private Integer port; + + /** + * + * 协议类型 + */ + @Schema(description ="协议类型",name ="protocolType",example = "") + private String protocolType; + + /** + * + * 代理类型 + */ + @Schema(description ="代理类型",name ="proxyType",example = "") + private String proxyType; + + /** + * + * 服务端ID + */ + @Schema(description ="服务端ID",name ="serverId",example = "") + private String serverId; + + /** + * + * 修改时间 + */ + @Schema(description ="修改时间",name ="updateTime",example = "") + private LocalDateTime updateTime; + +} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/dto/LazyClientProxyFlowDTO.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/dto/LazyClientProxyFlowDTO.java new file mode 100644 index 0000000..a038524 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/dto/LazyClientProxyFlowDTO.java @@ -0,0 +1,122 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.application.dto; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.experimental.Accessors; +import org.wu.framework.core.utils.ByteSizeUtil; + +import java.time.LocalDateTime; +import java.util.List; + +/** + * describe 代理流量 + * + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyDTO + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_proxy_flow_command_dto", description = "代理流量") +public class LazyClientProxyFlowDTO { + + + /** + * 客户端ID + */ + @Schema(description = "客户端ID", name = "clientId", example = "") + private String clientId; + + /** + * + */ + @Schema(description = "", name = "createTime", example = "") + private LocalDateTime createTime; + + /** + * 主键 + */ + @Schema(description = "主键", name = "id", example = "") + private Long id; + + /** + * 当前访客当前进口流量 + */ + @Schema(description = "当前访客当前进口流量", name = "inFlow", example = "") + private Integer inFlow; + + /** + * 目标ip + */ + @Schema(description = "目标ip", name = "ip", example = "") + private String ip; + + /** + * 是否删除 + */ + @Schema(description = "是否删除", name = "isDeleted", example = "") + private Boolean isDeleted; + + /** + * 当前访客出口流量 + */ + @Schema(description = "当前访客出口流量", name = "outFlow", example = "") + private Integer outFlow; + + /** + * 目标端口 + */ + @Schema(description = "目标端口", name = "port", example = "") + private Integer port; + + /** + * 协议类型 + */ + @Schema(description = "协议类型", name = "protocolType", example = "") + private String protocolType; + + /** + * 代理类型 + */ + @Schema(description = "代理类型", name = "proxyType", example = "") + private String proxyType; + + /** + * 服务端ID + */ + @Schema(description = "服务端ID", name = "serverId", example = "") + private String serverId; + + /** + * + */ + @Schema(description = "", name = "updateTime", example = "") + private LocalDateTime updateTime; + + public Integer getInFlowSize() { + if (inFlow == null) return 0; + return inFlow; + } + + public Integer getOutFlowSize() { + if (outFlow == null) return 0; + return outFlow; + } + + public String getInFlow() { + if (inFlow == null) return "0b"; + return ByteSizeUtil.convertSize(inFlow); + } + + public String getOutFlow() { + if (outFlow == null) return "0b"; + return ByteSizeUtil.convertSize(outFlow); + } + + /** + * 当前访客下所有端口的流量 + */ + @Schema(description = "当前访客下所有端口的流量") + private List lazyProxyFlowDTOList; + +} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/dto/LazyProxyFlowDTO.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/dto/LazyProxyFlowDTO.java new file mode 100644 index 0000000..952f27f --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/dto/LazyProxyFlowDTO.java @@ -0,0 +1,114 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.application.dto; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.experimental.Accessors; +import org.wu.framework.core.utils.ByteSizeUtil; + +import java.time.LocalDateTime; + +/** + * describe 代理流量 + * + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyDTO + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_proxy_flow_command_dto", description = "代理流量") +public class LazyProxyFlowDTO { + + + /** + * 客户端ID + */ + @Schema(description = "客户端ID", name = "clientId", example = "") + private String clientId; + + /** + * + */ + @Schema(description = "", name = "createTime", example = "") + private LocalDateTime createTime; + + /** + * 主键 + */ + @Schema(description = "主键", name = "id", example = "") + private Long id; + + /** + * 当前访客当前进口流量 + */ + @Schema(description = "当前访客当前进口流量", name = "inFlow", example = "") + private Integer inFlow; + + /** + * 目标ip + */ + @Schema(description = "目标ip", name = "ip", example = "") + private String ip; + + /** + * 是否删除 + */ + @Schema(description = "是否删除", name = "isDeleted", example = "") + private Boolean isDeleted; + + /** + * 当前访客出口流量 + */ + @Schema(description = "当前访客出口流量", name = "outFlow", example = "") + private Integer outFlow; + + /** + * 目标端口 + */ + @Schema(description = "目标端口", name = "port", example = "") + private Integer port; + + /** + * 协议类型 + */ + @Schema(description = "协议类型", name = "protocolType", example = "") + private String protocolType; + + /** + * 代理类型 + */ + @Schema(description = "代理类型", name = "proxyType", example = "") + private String proxyType; + + /** + * 服务端ID + */ + @Schema(description = "服务端ID", name = "serverId", example = "") + private String serverId; + + /** + * + */ + @Schema(description = "", name = "updateTime", example = "") + private LocalDateTime updateTime; + + public Integer getInFlowSize() { + if (inFlow == null) return 0; + return inFlow; + } + + public Integer getOutFlowSize() { + if (outFlow == null) return 0; + return outFlow; + } + + public String getInFlow() { + if (inFlow == null) return "0b"; + return ByteSizeUtil.convertSize(inFlow); + } + + public String getOutFlow() { + if (outFlow == null) return "0b"; + return ByteSizeUtil.convertSize(outFlow); + } +} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/dto/LazyProxyPerDayFlowDTO.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/dto/LazyProxyPerDayFlowDTO.java new file mode 100644 index 0000000..824f667 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/dto/LazyProxyPerDayFlowDTO.java @@ -0,0 +1,115 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.application.dto; + +import lombok.Data; +import lombok.experimental.Accessors; +import io.swagger.v3.oas.annotations.media.Schema; +import java.lang.String; +import java.time.LocalDateTime; +import java.lang.Long; +import java.lang.Integer; +import java.lang.Boolean; +/** + * describe 每日统计代理流量 + * + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyDTO + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_proxy_per_day_flow_command_dto",description = "每日统计代理流量") +public class LazyProxyPerDayFlowDTO { + + + /** + * + * 客户端ID + */ + @Schema(description ="客户端ID",name ="clientId",example = "") + private String clientId; + + /** + * + * 创建时间 + */ + @Schema(description ="创建时间",name ="createTime",example = "") + private LocalDateTime createTime; + + /** + * + * 日期 + */ + @Schema(description ="日期",name ="day",example = "") + private String day; + + /** + * + * 主键 + */ + @Schema(description ="主键",name ="id",example = "") + private Long id; + + /** + * + * 当前访客当前进口流量 + */ + @Schema(description ="当前访客当前进口流量",name ="inFlow",example = "") + private Integer inFlow; + + /** + * + * 目标ip + */ + @Schema(description ="目标ip",name ="ip",example = "") + private String ip; + + /** + * + * 是否删除 + */ + @Schema(description ="是否删除",name ="isDeleted",example = "") + private Boolean isDeleted; + + /** + * + * 当前访客出口流量 + */ + @Schema(description ="当前访客出口流量",name ="outFlow",example = "") + private Integer outFlow; + + /** + * + * 目标端口 + */ + @Schema(description ="目标端口",name ="port",example = "") + private Integer port; + + /** + * + * 协议类型 + */ + @Schema(description ="协议类型",name ="protocolType",example = "") + private String protocolType; + + /** + * + * 代理类型 + */ + @Schema(description ="代理类型",name ="proxyType",example = "") + private String proxyType; + + /** + * + * 服务端ID + */ + @Schema(description ="服务端ID",name ="serverId",example = "") + private String serverId; + + /** + * + * 修改时间 + */ + @Schema(description ="修改时间",name ="updateTime",example = "") + private LocalDateTime updateTime; + +} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/impl/LazyProxyFlowApplicationImpl.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/impl/LazyProxyFlowApplicationImpl.java new file mode 100644 index 0000000..7f38127 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/impl/LazyProxyFlowApplicationImpl.java @@ -0,0 +1,298 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.application.impl; + +import jakarta.annotation.Resource; +import org.framework.lazy.cloud.network.heartbeat.server.properties.ServerNodeProperties; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.LazyProxyFlowApplication; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.assembler.LazyProxyFlowDTOAssembler; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.assembler.LazyProxyPerDayFlowDTOAssembler; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.proxy.flow.*; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.proxy.per.day.flow.LazyProxyPerDayFlowStoryCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.dto.LazyClientProxyFlowDTO; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.dto.LazyProxyFlowDTO; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.dto.LazyVisitorFlowDTO; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.domain.model.lazy.proxy.flow.LazyProxyFlow; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.domain.model.lazy.proxy.flow.LazyProxyFlowRepository; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.domain.model.lazy.proxy.per.day.flow.LazyProxyPerDayFlow; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.domain.model.lazy.proxy.per.day.flow.LazyProxyPerDayFlowRepository; +import org.wu.framework.core.utils.ObjectUtils; +import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; +import org.wu.framework.lazy.orm.web.plus.stereotype.LazyApplication; +import org.wu.framework.web.response.Result; +import org.wu.framework.web.response.ResultFactory; + +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * describe 代理流量 + * + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyApplicationImpl + **/ +@LazyApplication +public class LazyProxyFlowApplicationImpl implements LazyProxyFlowApplication { + + @Resource + LazyProxyFlowRepository lazyProxyFlowRepository; + @Resource + LazyProxyPerDayFlowRepository lazyProxyPerDayFlowRepository; + + @Resource + ServerNodeProperties serverNodeProperties; + + /** + * describe 新增代理流量 + * + * @param lazyProxyFlowStoryCommand 新增代理流量 + * @return {@link Result} 代理流量新增后领域对象 + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + @Override + public Result story(LazyProxyFlowStoryCommand lazyProxyFlowStoryCommand) { + LazyProxyFlow lazyProxyFlow = LazyProxyFlowDTOAssembler.INSTANCE.toLazyProxyFlow(lazyProxyFlowStoryCommand); + String serverId = serverNodeProperties.getNodeId(); + lazyProxyFlow.setServerId(serverId); + return lazyProxyFlowRepository.story(lazyProxyFlow); + } + + /** + * 流量增长存储 + * 访客 ID 访客 端口必须 + * + * @param lazyProxyFlowStoryCommand 代理流量 + * @return + */ + @Override + public Result flowIncreaseStory(LazyProxyFlowStoryCommand lazyProxyFlowStoryCommand) { + String clientId = lazyProxyFlowStoryCommand.getClientId(); + String ip = lazyProxyFlowStoryCommand.getIp(); + String protocolType = lazyProxyFlowStoryCommand.getProtocolType(); + String proxyType = lazyProxyFlowStoryCommand.getProxyType(); + Integer port = lazyProxyFlowStoryCommand.getPort(); + String serverId = serverNodeProperties.getNodeId(); + lazyProxyFlowStoryCommand.setServerId(serverId); + + Integer realOutFlow = ObjectUtils.isEmpty(lazyProxyFlowStoryCommand.getOutFlow()) ? 0 : lazyProxyFlowStoryCommand.getOutFlow(); + Integer realInFlow = ObjectUtils.isEmpty(lazyProxyFlowStoryCommand.getInFlow()) ? 0 : lazyProxyFlowStoryCommand.getInFlow(); + // 查询是否存在已有流量 而后进行统计汇总 + LazyProxyFlow findOneLazyProxyFlowQuery = new LazyProxyFlow(); + findOneLazyProxyFlowQuery.setClientId(clientId); + findOneLazyProxyFlowQuery.setPort(port); + findOneLazyProxyFlowQuery.setIp(ip); + findOneLazyProxyFlowQuery.setProtocolType(protocolType); + findOneLazyProxyFlowQuery.setProxyType(proxyType); + + findOneLazyProxyFlowQuery.setServerId(serverId); + lazyProxyFlowRepository.findOne(findOneLazyProxyFlowQuery).accept(existVisitorFlow -> { + Integer inFlow = existVisitorFlow.getInFlow(); + Integer outFlow = existVisitorFlow.getOutFlow(); + if (!ObjectUtils.isEmpty(inFlow)) { + lazyProxyFlowStoryCommand.setInFlow(realInFlow + inFlow); + } + if (!ObjectUtils.isEmpty(outFlow)) { + lazyProxyFlowStoryCommand.setOutFlow(realOutFlow + outFlow); + } + }); + LazyProxyFlow lazyLazyProxyFlow = LazyProxyFlowDTOAssembler.INSTANCE.toLazyProxyFlow(lazyProxyFlowStoryCommand); + lazyProxyFlowRepository.story(lazyLazyProxyFlow); + + // 日流量统计 + LazyProxyPerDayFlowStoryCommand lazyProxyPerDayFlowStoryCommand = new LazyProxyPerDayFlowStoryCommand(); + lazyProxyPerDayFlowStoryCommand.setClientId(clientId); + lazyProxyPerDayFlowStoryCommand.setPort(port); + lazyProxyPerDayFlowStoryCommand.setIp(ip); + lazyProxyPerDayFlowStoryCommand.setProtocolType(protocolType); + lazyProxyPerDayFlowStoryCommand.setProxyType(proxyType); + lazyProxyPerDayFlowStoryCommand.setDay(LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); + + lazyProxyPerDayFlowStoryCommand.setOutFlow(realOutFlow); + lazyProxyPerDayFlowStoryCommand.setInFlow(realInFlow); + lazyProxyPerDayFlowStoryCommand.setServerId(serverId); + + LazyProxyPerDayFlow findOneLazyProxyPerDayFlowQuery = new LazyProxyPerDayFlow(); + findOneLazyProxyPerDayFlowQuery.setClientId(clientId); + findOneLazyProxyPerDayFlowQuery.setPort(port); + findOneLazyProxyPerDayFlowQuery.setDay(LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); + findOneLazyProxyPerDayFlowQuery.setServerId(serverId); + findOneLazyProxyPerDayFlowQuery.setIp(ip); + findOneLazyProxyPerDayFlowQuery.setProtocolType(protocolType); + findOneLazyProxyPerDayFlowQuery.setProxyType(proxyType); + + lazyProxyPerDayFlowRepository.findOne(findOneLazyProxyPerDayFlowQuery).accept(existLazyProxyPerDayFlow -> { + Integer inFlow = existLazyProxyPerDayFlow.getInFlow(); + Integer outFlow = existLazyProxyPerDayFlow.getOutFlow(); + if (!ObjectUtils.isEmpty(inFlow)) { + lazyProxyPerDayFlowStoryCommand.setInFlow(realInFlow + inFlow); + } + if (!ObjectUtils.isEmpty(outFlow)) { + lazyProxyPerDayFlowStoryCommand.setOutFlow(realOutFlow + outFlow); + } + }); + LazyProxyPerDayFlow lazyVisitorPortPerDayFlow = LazyProxyPerDayFlowDTOAssembler.INSTANCE.toLazyProxyPerDayFlow(lazyProxyPerDayFlowStoryCommand); + lazyProxyPerDayFlowRepository.story(lazyVisitorPortPerDayFlow); + + return ResultFactory.successOf(); + + } + + + /** + * describe 批量新增代理流量 + * + * @param lazyProxyFlowStoryCommandList 批量新增代理流量 + * @return {@link Result>} 代理流量新增后领域对象集合 + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + @Override + public Result> batchStory(List lazyProxyFlowStoryCommandList) { + + List lazyProxyFlowList = lazyProxyFlowStoryCommandList + .stream() + .map(lazyProxyFlowStoryCommand -> { + LazyProxyFlow lazyProxyFlow = LazyProxyFlowDTOAssembler.INSTANCE.toLazyProxyFlow(lazyProxyFlowStoryCommand); + String serverId = serverNodeProperties.getNodeId(); + lazyProxyFlow.setServerId(serverId); + return lazyProxyFlow; + } + + ) + .collect(Collectors.toList()); + return lazyProxyFlowRepository.batchStory(lazyProxyFlowList); + } + + /** + * describe 更新代理流量 + * + * @param lazyProxyFlowUpdateCommand 更新代理流量 + * @return {@link Result} 代理流量领域对象 + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + @Override + public Result updateOne(LazyProxyFlowUpdateCommand lazyProxyFlowUpdateCommand) { + LazyProxyFlow lazyProxyFlow = LazyProxyFlowDTOAssembler.INSTANCE.toLazyProxyFlow(lazyProxyFlowUpdateCommand); + return lazyProxyFlowRepository.story(lazyProxyFlow); + } + + /** + * describe 查询单个代理流量 + * + * @param lazyProxyFlowQueryOneCommand 查询单个代理流量 + * @return {@link Result} 代理流量DTO对象 + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + @Override + public Result findOne(LazyProxyFlowQueryOneCommand lazyProxyFlowQueryOneCommand) { + LazyProxyFlow lazyProxyFlow = LazyProxyFlowDTOAssembler.INSTANCE.toLazyProxyFlow(lazyProxyFlowQueryOneCommand); + return lazyProxyFlowRepository.findOne(lazyProxyFlow).convert(LazyProxyFlowDTOAssembler.INSTANCE::fromLazyProxyFlow); + } + + /** + * describe 查询多个代理流量 + * + * @param lazyProxyFlowQueryListCommand 查询多个代理流量 + * @return {@link Result>} 代理流量DTO对象 + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + @Override + public Result> findList(LazyProxyFlowQueryListCommand lazyProxyFlowQueryListCommand) { + LazyProxyFlow lazyProxyFlow = LazyProxyFlowDTOAssembler.INSTANCE.toLazyProxyFlow(lazyProxyFlowQueryListCommand); + return lazyProxyFlowRepository.findList(lazyProxyFlow).convert(lazyProxyFlows -> lazyProxyFlows.stream().map(LazyProxyFlowDTOAssembler.INSTANCE::fromLazyProxyFlow).collect(Collectors.toList())); + } + + /** + * describe 分页查询多个代理流量 + * + * @param lazyProxyFlowQueryListCommand 分页查询多个代理流量 + * @return {@link Result>} 分页代理流量DTO对象 + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + @Override + public Result> findPage(int size, int current, LazyProxyFlowQueryListCommand lazyProxyFlowQueryListCommand) { + LazyProxyFlow lazyProxyFlow = LazyProxyFlowDTOAssembler.INSTANCE.toLazyProxyFlow(lazyProxyFlowQueryListCommand); + return lazyProxyFlowRepository.findPage(size, current, lazyProxyFlow).convert(page -> page.convert(LazyProxyFlowDTOAssembler.INSTANCE::fromLazyProxyFlow)); + } + + /** + * describe 删除代理流量 + * + * @param lazyProxyFlowRemoveCommand 删除代理流量 + * @return {@link Result} 代理流量 + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + @Override + public Result remove(LazyProxyFlowRemoveCommand lazyProxyFlowRemoveCommand) { + LazyProxyFlow lazyProxyFlow = LazyProxyFlowDTOAssembler.INSTANCE.toLazyProxyFlow(lazyProxyFlowRemoveCommand); + return lazyProxyFlowRepository.remove(lazyProxyFlow); + } + + /** + * 根据客户端查询流量 + * + * @param size 分页大小 + * @param current 分页 + * @param lazyProxyFlowQueryListCommand 查询条件 + * @return {@link Result>} 分页访客端流量DTO对象 + */ + @Override + public Result> findClientFlowPage(int size, int current, LazyProxyFlowQueryListCommand lazyProxyFlowQueryListCommand) { + LazyProxyFlow lazyLazyProxyFlow = LazyProxyFlowDTOAssembler.INSTANCE.toLazyProxyFlow(lazyProxyFlowQueryListCommand); + String serverId = serverNodeProperties.getNodeId(); + lazyLazyProxyFlow.setServerId(serverId); + return lazyProxyFlowRepository.findPageGroupByClientId(size, current, lazyLazyProxyFlow).convert(lazyProxyFlowLazyPage -> { + List clientIdList = lazyProxyFlowLazyPage + .getRecords() + .stream() + .map(LazyProxyFlow::getClientId) + .toList(); + List lazyLazyProxyFlowList = lazyProxyFlowRepository.findListByClientIds(clientIdList, serverId); + + + // 根据客户端进行分组 + + List lazyLazyProxyFlowDTOList = lazyLazyProxyFlowList.stream().map(LazyProxyFlowDTOAssembler.INSTANCE::fromLazyProxyFlow).toList(); + + + Map> client_port_flow_map = lazyLazyProxyFlowDTOList.stream().collect(Collectors.groupingBy(LazyProxyFlowDTO::getClientId)); + + Map client_in_flow = lazyLazyProxyFlowDTOList.stream() + .collect( + Collectors.groupingBy(LazyProxyFlowDTO::getClientId, + Collectors.summingInt(LazyProxyFlowDTO::getInFlowSize))); + + Map client_out_flow = lazyLazyProxyFlowDTOList.stream() + .collect( + Collectors.groupingBy(LazyProxyFlowDTO::getClientId, + Collectors.summingInt(LazyProxyFlowDTO::getOutFlowSize))); + + return lazyProxyFlowLazyPage.convert(lazyProxyFlow -> { + String clientId = lazyProxyFlow.getClientId(); + LazyClientProxyFlowDTO lazyClientProxyFlowDTO = new LazyClientProxyFlowDTO(); + lazyClientProxyFlowDTO.setClientId(clientId); + lazyClientProxyFlowDTO.setInFlow(client_in_flow.getOrDefault(clientId, 0)); + lazyClientProxyFlowDTO.setOutFlow(client_out_flow.getOrDefault(clientId, 0)); + lazyClientProxyFlowDTO.setLazyProxyFlowDTOList(client_port_flow_map.getOrDefault(clientId, new ArrayList<>())); + return lazyClientProxyFlowDTO; + }); + }); + } + +} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/impl/LazyProxyPerDayFlowApplicationImpl.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/impl/LazyProxyPerDayFlowApplicationImpl.java new file mode 100644 index 0000000..2386248 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/impl/LazyProxyPerDayFlowApplicationImpl.java @@ -0,0 +1,144 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.application.impl; + +import org.wu.framework.lazy.orm.web.plus.stereotype.LazyApplication; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.LazyProxyPerDayFlowApplication; +import org.springframework.web.bind.annotation.*; +import org.wu.framework.web.response.Result; +import org.wu.framework.web.response.ResultFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.domain.model.lazy.proxy.per.day.flow.LazyProxyPerDayFlow; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.proxy.per.day.flow.LazyProxyPerDayFlowRemoveCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.proxy.per.day.flow.LazyProxyPerDayFlowStoryCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.proxy.per.day.flow.LazyProxyPerDayFlowUpdateCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.proxy.per.day.flow.LazyProxyPerDayFlowQueryListCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.proxy.per.day.flow.LazyProxyPerDayFlowQueryOneCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.assembler.LazyProxyPerDayFlowDTOAssembler; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.dto.LazyProxyPerDayFlowDTO; +import java.util.stream.Collectors; +import jakarta.annotation.Resource; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.domain.model.lazy.proxy.per.day.flow.LazyProxyPerDayFlowRepository; +import java.util.List; +import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; +/** + * describe 每日统计代理流量 + * + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyApplicationImpl + **/ +@LazyApplication +public class LazyProxyPerDayFlowApplicationImpl implements LazyProxyPerDayFlowApplication { + + @Resource + LazyProxyPerDayFlowRepository lazyProxyPerDayFlowRepository; + /** + * describe 新增每日统计代理流量 + * + * @param lazyProxyPerDayFlowStoryCommand 新增每日统计代理流量 + * @return {@link Result} 每日统计代理流量新增后领域对象 + + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + @Override + public Result story(LazyProxyPerDayFlowStoryCommand lazyProxyPerDayFlowStoryCommand) { + LazyProxyPerDayFlow lazyProxyPerDayFlow = LazyProxyPerDayFlowDTOAssembler.INSTANCE.toLazyProxyPerDayFlow(lazyProxyPerDayFlowStoryCommand); + return lazyProxyPerDayFlowRepository.story(lazyProxyPerDayFlow); + } + /** + * describe 批量新增每日统计代理流量 + * + * @param lazyProxyPerDayFlowStoryCommandList 批量新增每日统计代理流量 + * @return {@link Result>} 每日统计代理流量新增后领域对象集合 + + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + @Override + public Result> batchStory(List lazyProxyPerDayFlowStoryCommandList) { + List lazyProxyPerDayFlowList = lazyProxyPerDayFlowStoryCommandList.stream().map( LazyProxyPerDayFlowDTOAssembler.INSTANCE::toLazyProxyPerDayFlow).collect(Collectors.toList()); + return lazyProxyPerDayFlowRepository.batchStory(lazyProxyPerDayFlowList); + } + /** + * describe 更新每日统计代理流量 + * + * @param lazyProxyPerDayFlowUpdateCommand 更新每日统计代理流量 + * @return {@link Result} 每日统计代理流量领域对象 + + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + @Override + public Result updateOne(LazyProxyPerDayFlowUpdateCommand lazyProxyPerDayFlowUpdateCommand) { + LazyProxyPerDayFlow lazyProxyPerDayFlow = LazyProxyPerDayFlowDTOAssembler.INSTANCE.toLazyProxyPerDayFlow(lazyProxyPerDayFlowUpdateCommand); + return lazyProxyPerDayFlowRepository.story(lazyProxyPerDayFlow); + } + + /** + * describe 查询单个每日统计代理流量 + * + * @param lazyProxyPerDayFlowQueryOneCommand 查询单个每日统计代理流量 + * @return {@link Result} 每日统计代理流量DTO对象 + + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + @Override + public Result findOne(LazyProxyPerDayFlowQueryOneCommand lazyProxyPerDayFlowQueryOneCommand) { + LazyProxyPerDayFlow lazyProxyPerDayFlow = LazyProxyPerDayFlowDTOAssembler.INSTANCE.toLazyProxyPerDayFlow(lazyProxyPerDayFlowQueryOneCommand); + return lazyProxyPerDayFlowRepository.findOne(lazyProxyPerDayFlow).convert(LazyProxyPerDayFlowDTOAssembler.INSTANCE::fromLazyProxyPerDayFlow); + } + + /** + * describe 查询多个每日统计代理流量 + * + * @param lazyProxyPerDayFlowQueryListCommand 查询多个每日统计代理流量 + * @return {@link Result>} 每日统计代理流量DTO对象 + + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + @Override + public Result> findList(LazyProxyPerDayFlowQueryListCommand lazyProxyPerDayFlowQueryListCommand) { + LazyProxyPerDayFlow lazyProxyPerDayFlow = LazyProxyPerDayFlowDTOAssembler.INSTANCE.toLazyProxyPerDayFlow(lazyProxyPerDayFlowQueryListCommand); + return lazyProxyPerDayFlowRepository.findList(lazyProxyPerDayFlow) .convert(lazyProxyPerDayFlows -> lazyProxyPerDayFlows.stream().map(LazyProxyPerDayFlowDTOAssembler.INSTANCE::fromLazyProxyPerDayFlow).collect(Collectors.toList())) ; + } + + /** + * describe 分页查询多个每日统计代理流量 + * + * @param lazyProxyPerDayFlowQueryListCommand 分页查询多个每日统计代理流量 + * @return {@link Result>} 分页每日统计代理流量DTO对象 + + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + @Override + public Result> findPage(int size,int current,LazyProxyPerDayFlowQueryListCommand lazyProxyPerDayFlowQueryListCommand) { + LazyProxyPerDayFlow lazyProxyPerDayFlow = LazyProxyPerDayFlowDTOAssembler.INSTANCE.toLazyProxyPerDayFlow(lazyProxyPerDayFlowQueryListCommand); + return lazyProxyPerDayFlowRepository.findPage(size,current,lazyProxyPerDayFlow) .convert(page -> page.convert(LazyProxyPerDayFlowDTOAssembler.INSTANCE::fromLazyProxyPerDayFlow)) ; + } + + /** + * describe 删除每日统计代理流量 + * + * @param lazyProxyPerDayFlowRemoveCommand 删除每日统计代理流量 + * @return {@link Result} 每日统计代理流量 + + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + @Override + public Result remove(LazyProxyPerDayFlowRemoveCommand lazyProxyPerDayFlowRemoveCommand) { + LazyProxyPerDayFlow lazyProxyPerDayFlow = LazyProxyPerDayFlowDTOAssembler.INSTANCE.toLazyProxyPerDayFlow(lazyProxyPerDayFlowRemoveCommand); + return lazyProxyPerDayFlowRepository.remove(lazyProxyPerDayFlow); + } + +} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/controller/LazyProxyFlowProvider.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/controller/LazyProxyFlowProvider.java new file mode 100644 index 0000000..03159a1 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/controller/LazyProxyFlowProvider.java @@ -0,0 +1,155 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.controller; + +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.LazyProxyFlowApplication; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.proxy.flow.*; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.dto.LazyClientProxyFlowDTO; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.dto.LazyProxyFlowDTO; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.dto.LazyVisitorFlowDTO; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.domain.model.lazy.proxy.flow.LazyProxyFlow; +import org.springframework.web.bind.annotation.*; +import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; +import org.wu.framework.web.response.Result; +import org.wu.framework.web.spring.EasyController; + +import java.util.List; + +/** + * describe 代理流量 + * + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyController + **/ +@Tag(name = "代理流量提供者") +@EasyController("/lazy/proxy/flow") +public class LazyProxyFlowProvider { + + @Resource + private LazyProxyFlowApplication lazyProxyFlowApplication; + + /** + * describe 新增代理流量 + * + * @param lazyProxyFlowStoryCommand 新增代理流量 + * @return {@link Result} 代理流量新增后领域对象 + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + @Operation(summary = "新增代理流量") + @PostMapping("/story") + public Result story(@RequestBody LazyProxyFlowStoryCommand lazyProxyFlowStoryCommand) { + return lazyProxyFlowApplication.story(lazyProxyFlowStoryCommand); + } + + /** + * describe 批量新增代理流量 + * + * @param lazyProxyFlowStoryCommandList 批量新增代理流量 + * @return {@link Result>} 代理流量新增后领域对象集合 + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + @Operation(summary = "批量新增代理流量") + @PostMapping("/batchStory") + public Result> batchStory(@RequestBody List lazyProxyFlowStoryCommandList) { + return lazyProxyFlowApplication.batchStory(lazyProxyFlowStoryCommandList); + } + + /** + * describe 更新代理流量 + * + * @param lazyProxyFlowUpdateCommand 更新代理流量 + * @return {@link Result} 代理流量领域对象 + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + @Operation(summary = "更新代理流量") + @PutMapping("/updateOne") + public Result updateOne(@RequestBody LazyProxyFlowUpdateCommand lazyProxyFlowUpdateCommand) { + return lazyProxyFlowApplication.updateOne(lazyProxyFlowUpdateCommand); + } + + /** + * describe 查询单个代理流量 + * + * @param lazyProxyFlowQueryOneCommand 查询单个代理流量 + * @return {@link Result} 代理流量DTO对象 + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + @Operation(summary = "查询单个代理流量") + @GetMapping("/findOne") + public Result findOne(@ModelAttribute LazyProxyFlowQueryOneCommand lazyProxyFlowQueryOneCommand) { + return lazyProxyFlowApplication.findOne(lazyProxyFlowQueryOneCommand); + } + + /** + * describe 查询多个代理流量 + * + * @param lazyProxyFlowQueryListCommand 查询多个代理流量 + * @return {@link Result>} 代理流量DTO对象 + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + @Operation(summary = "查询多个代理流量") + @GetMapping("/findList") + public Result> findList(@ModelAttribute LazyProxyFlowQueryListCommand lazyProxyFlowQueryListCommand) { + return lazyProxyFlowApplication.findList(lazyProxyFlowQueryListCommand); + } + + /** + * describe 分页查询多个代理流量 + * + * @param lazyProxyFlowQueryListCommand 分页查询多个代理流量 + * @return {@link Result>} 分页代理流量DTO对象 + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + @Operation(summary = "分页查询多个代理流量") + @GetMapping("/findPage") + public Result> findPage(@Parameter(description = "分页大小") @RequestParam(defaultValue = "10", value = "size") int size, + @Parameter(description = "当前页数") @RequestParam(defaultValue = "1", value = "current") int current, @ModelAttribute LazyProxyFlowQueryListCommand lazyProxyFlowQueryListCommand) { + return lazyProxyFlowApplication.findPage(size, current, lazyProxyFlowQueryListCommand); + } + + /** + * 根据客户端查询流量 + * + * @param size 分页大小 + * @param current 分页 + * @param lazyProxyFlowQueryListCommand 查询条件 + * @return {@link Result>} 分页访客端流量DTO对象 + */ + @Operation(summary = "分页查询多个访客端流量") + @GetMapping("/findClientFlowPage") + public Result> findClientFlowPage(@Parameter(description = "分页大小") @RequestParam(defaultValue = "10", value = "size") int size, + @Parameter(description = "当前页数") @RequestParam(defaultValue = "1", value = "current") int current, + @ModelAttribute LazyProxyFlowQueryListCommand lazyProxyFlowQueryListCommand) { + return lazyProxyFlowApplication.findClientFlowPage(size, current, lazyProxyFlowQueryListCommand); + } + + /** + * describe 删除代理流量 + * + * @param lazyProxyFlowRemoveCommand 删除代理流量 + * @return {@link Result} 代理流量 + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + @Operation(summary = "删除代理流量") + @DeleteMapping("/remove") + public Result remove(@ModelAttribute LazyProxyFlowRemoveCommand lazyProxyFlowRemoveCommand) { + return lazyProxyFlowApplication.remove(lazyProxyFlowRemoveCommand); + } +} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/controller/LazyProxyPerDayFlowProvider.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/controller/LazyProxyPerDayFlowProvider.java new file mode 100644 index 0000000..b0f578d --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/controller/LazyProxyPerDayFlowProvider.java @@ -0,0 +1,142 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.controller; + +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import org.wu.framework.web.spring.EasyController; +import org.springframework.web.bind.annotation.*; +import org.wu.framework.web.response.Result; +import org.wu.framework.web.response.ResultFactory; +import org.springframework.beans.factory.annotation.Autowired; +import jakarta.annotation.Resource; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.domain.model.lazy.proxy.per.day.flow.LazyProxyPerDayFlow; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.proxy.per.day.flow.LazyProxyPerDayFlowRemoveCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.proxy.per.day.flow.LazyProxyPerDayFlowStoryCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.proxy.per.day.flow.LazyProxyPerDayFlowUpdateCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.proxy.per.day.flow.LazyProxyPerDayFlowQueryListCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.proxy.per.day.flow.LazyProxyPerDayFlowQueryOneCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.LazyProxyPerDayFlowApplication; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.dto.LazyProxyPerDayFlowDTO; +import java.util.List; +import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; +/** + * describe 每日统计代理流量 + * + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyController + **/ +@Tag(name = "每日统计代理流量提供者") +@EasyController("/lazy/proxy/per/day/flow") +public class LazyProxyPerDayFlowProvider { + + @Resource + private LazyProxyPerDayFlowApplication lazyProxyPerDayFlowApplication; + + /** + * describe 新增每日统计代理流量 + * + * @param lazyProxyPerDayFlowStoryCommand 新增每日统计代理流量 + * @return {@link Result} 每日统计代理流量新增后领域对象 + + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + @Operation(summary = "新增每日统计代理流量") + @PostMapping("/story") + public Result story(@RequestBody LazyProxyPerDayFlowStoryCommand lazyProxyPerDayFlowStoryCommand){ + return lazyProxyPerDayFlowApplication.story(lazyProxyPerDayFlowStoryCommand); + } + /** + * describe 批量新增每日统计代理流量 + * + * @param lazyProxyPerDayFlowStoryCommandList 批量新增每日统计代理流量 + * @return {@link Result>} 每日统计代理流量新增后领域对象集合 + + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + @Operation(summary = "批量新增每日统计代理流量") + @PostMapping("/batchStory") + public Result> batchStory(@RequestBody List lazyProxyPerDayFlowStoryCommandList){ + return lazyProxyPerDayFlowApplication.batchStory(lazyProxyPerDayFlowStoryCommandList); + } + /** + * describe 更新每日统计代理流量 + * + * @param lazyProxyPerDayFlowUpdateCommand 更新每日统计代理流量 + * @return {@link Result} 每日统计代理流量领域对象 + + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + @Operation(summary = "更新每日统计代理流量") + @PutMapping("/updateOne") + public Result updateOne(@RequestBody LazyProxyPerDayFlowUpdateCommand lazyProxyPerDayFlowUpdateCommand){ + return lazyProxyPerDayFlowApplication.updateOne(lazyProxyPerDayFlowUpdateCommand); + } + /** + * describe 查询单个每日统计代理流量 + * + * @param lazyProxyPerDayFlowQueryOneCommand 查询单个每日统计代理流量 + * @return {@link Result} 每日统计代理流量DTO对象 + + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + @Operation(summary = "查询单个每日统计代理流量") + @GetMapping("/findOne") + public Result findOne(@ModelAttribute LazyProxyPerDayFlowQueryOneCommand lazyProxyPerDayFlowQueryOneCommand){ + return lazyProxyPerDayFlowApplication.findOne(lazyProxyPerDayFlowQueryOneCommand); + } + /** + * describe 查询多个每日统计代理流量 + * + * @param lazyProxyPerDayFlowQueryListCommand 查询多个每日统计代理流量 + * @return {@link Result>} 每日统计代理流量DTO对象 + + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + @Operation(summary = "查询多个每日统计代理流量") + @GetMapping("/findList") + public Result> findList(@ModelAttribute LazyProxyPerDayFlowQueryListCommand lazyProxyPerDayFlowQueryListCommand){ + return lazyProxyPerDayFlowApplication.findList(lazyProxyPerDayFlowQueryListCommand); + } + /** + * describe 分页查询多个每日统计代理流量 + * + * @param lazyProxyPerDayFlowQueryListCommand 分页查询多个每日统计代理流量 + * @return {@link Result>} 分页每日统计代理流量DTO对象 + + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + @Operation(summary = "分页查询多个每日统计代理流量") + @GetMapping("/findPage") + public Result> findPage(@Parameter(description ="分页大小") @RequestParam(defaultValue = "10", value = "size") int size, + @Parameter(description ="当前页数") @RequestParam(defaultValue = "1", value = "current") int current,@ModelAttribute LazyProxyPerDayFlowQueryListCommand lazyProxyPerDayFlowQueryListCommand){ + return lazyProxyPerDayFlowApplication.findPage(size,current,lazyProxyPerDayFlowQueryListCommand); + } + /** + * describe 删除每日统计代理流量 + * + * @param lazyProxyPerDayFlowRemoveCommand 删除每日统计代理流量 + * @return {@link Result} 每日统计代理流量 + + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + @Operation(summary = "删除每日统计代理流量") + @DeleteMapping("/remove") + public Result remove(@ModelAttribute LazyProxyPerDayFlowRemoveCommand lazyProxyPerDayFlowRemoveCommand){ + return lazyProxyPerDayFlowApplication.remove(lazyProxyPerDayFlowRemoveCommand); + } +} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/domain/model/lazy/proxy/flow/LazyProxyFlow.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/domain/model/lazy/proxy/flow/LazyProxyFlow.java new file mode 100644 index 0000000..8e3d7dc --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/domain/model/lazy/proxy/flow/LazyProxyFlow.java @@ -0,0 +1,108 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.domain.model.lazy.proxy.flow; + +import lombok.Data; +import lombok.experimental.Accessors; +import io.swagger.v3.oas.annotations.media.Schema; +import java.lang.String; +import java.time.LocalDateTime; +import java.lang.Long; +import java.lang.Integer; +import java.lang.Boolean; +/** + * describe 代理流量 + * + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyDomain + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_proxy_flow",description = "代理流量") +public class LazyProxyFlow { + + + /** + * + * 客户端ID + */ + @Schema(description ="客户端ID",name ="clientId",example = "") + private String clientId; + + /** + * + * + */ + @Schema(description ="",name ="createTime",example = "") + private LocalDateTime createTime; + + /** + * + * 主键 + */ + @Schema(description ="主键",name ="id",example = "") + private Long id; + + /** + * + * 当前访客当前进口流量 + */ + @Schema(description ="当前访客当前进口流量",name ="inFlow",example = "") + private Integer inFlow; + + /** + * + * 目标ip + */ + @Schema(description ="目标ip",name ="ip",example = "") + private String ip; + + /** + * + * 是否删除 + */ + @Schema(description ="是否删除",name ="isDeleted",example = "") + private Boolean isDeleted; + + /** + * + * 当前访客出口流量 + */ + @Schema(description ="当前访客出口流量",name ="outFlow",example = "") + private Integer outFlow; + + /** + * + * 目标端口 + */ + @Schema(description ="目标端口",name ="port",example = "") + private Integer port; + + /** + * + * 协议类型 + */ + @Schema(description ="协议类型",name ="protocolType",example = "") + private String protocolType; + + /** + * + * 代理类型 + */ + @Schema(description ="代理类型",name ="proxyType",example = "") + private String proxyType; + + /** + * + * 服务端ID + */ + @Schema(description ="服务端ID",name ="serverId",example = "") + private String serverId; + + /** + * + * + */ + @Schema(description ="",name ="updateTime",example = "") + private LocalDateTime updateTime; + +} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/domain/model/lazy/proxy/flow/LazyProxyFlowRepository.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/domain/model/lazy/proxy/flow/LazyProxyFlowRepository.java new file mode 100644 index 0000000..afa521e --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/domain/model/lazy/proxy/flow/LazyProxyFlowRepository.java @@ -0,0 +1,126 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.domain.model.lazy.proxy.flow; + +import org.framework.lazy.cloud.network.heartbeat.server.standalone.domain.model.lazy.visitor.flow.LazyVisitorPortFlow; +import org.wu.framework.web.response.Result; +import org.wu.framework.web.response.ResultFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.domain.model.lazy.proxy.flow.LazyProxyFlow; +import java.util.List; +import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; +/** + * describe 代理流量 + * + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyDomainRepository + **/ + +public interface LazyProxyFlowRepository { + + + /** + * describe 新增代理流量 + * + * @param lazyProxyFlow 新增代理流量 + * @return {@link Result} 代理流量新增后领域对象 + + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + Result story(LazyProxyFlow lazyProxyFlow); + + /** + * describe 批量新增代理流量 + * + * @param lazyProxyFlowList 批量新增代理流量 + * @return {@link Result>} 代理流量新增后领域对象集合 + + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + Result> batchStory(List lazyProxyFlowList); + + /** + * describe 查询单个代理流量 + * + * @param lazyProxyFlow 查询单个代理流量 + * @return {@link Result} 代理流量DTO对象 + + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + Result findOne(LazyProxyFlow lazyProxyFlow); + + /** + * describe 查询多个代理流量 + * + * @param lazyProxyFlow 查询多个代理流量 + * @return {@link Result>} 代理流量DTO对象 + + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + Result> findList(LazyProxyFlow lazyProxyFlow); + + /** + * describe 分页查询多个代理流量 + * + * @param size 当前页数 + * @param current 当前页 + * @param lazyProxyFlow 分页查询多个代理流量 + * @return {@link Result>} 分页代理流量领域对象 + + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + Result> findPage(int size,int current,LazyProxyFlow lazyProxyFlow); + + /** + * describe 删除代理流量 + * + * @param lazyProxyFlow 删除代理流量 + * @return {@link Result} 代理流量 + + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + Result remove(LazyProxyFlow lazyProxyFlow); + + /** + * describe 是否存在代理流量 + * + * @param lazyProxyFlow 是否存在代理流量 + * @return {@link Result} 代理流量是否存在 + + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + Result exists(LazyProxyFlow lazyProxyFlow); + + /** + * 根据客户端查询流量 + * + * @param size 分页大小 + * @param current 分页 + * @param lazyProxyFlow 查询条件 + * @return {@link Result>} 分页访客端流量DTO对象 + */ + Result> findPageGroupByClientId(int size, int current, LazyProxyFlow lazyProxyFlow); + + /** + * 根据客户端ID查询出 客户端所有的进出口流量 + * + * @param clientIdList 客户端ID + * @param serverId 服务ID + * @return 客户端所有的进出口流量 + */ + List findListByClientIds(List clientIdList, String serverId); + +} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/domain/model/lazy/proxy/per/day/flow/LazyProxyPerDayFlow.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/domain/model/lazy/proxy/per/day/flow/LazyProxyPerDayFlow.java new file mode 100644 index 0000000..45f8132 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/domain/model/lazy/proxy/per/day/flow/LazyProxyPerDayFlow.java @@ -0,0 +1,115 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.domain.model.lazy.proxy.per.day.flow; + +import lombok.Data; +import lombok.experimental.Accessors; +import io.swagger.v3.oas.annotations.media.Schema; +import java.lang.String; +import java.time.LocalDateTime; +import java.lang.Long; +import java.lang.Integer; +import java.lang.Boolean; +/** + * describe 每日统计代理流量 + * + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyDomain + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_proxy_per_day_flow",description = "每日统计代理流量") +public class LazyProxyPerDayFlow { + + + /** + * + * 客户端ID + */ + @Schema(description ="客户端ID",name ="clientId",example = "") + private String clientId; + + /** + * + * 创建时间 + */ + @Schema(description ="创建时间",name ="createTime",example = "") + private LocalDateTime createTime; + + /** + * + * 日期 + */ + @Schema(description ="日期",name ="day",example = "") + private String day; + + /** + * + * 主键 + */ + @Schema(description ="主键",name ="id",example = "") + private Long id; + + /** + * + * 当前访客当前进口流量 + */ + @Schema(description ="当前访客当前进口流量",name ="inFlow",example = "") + private Integer inFlow; + + /** + * + * 目标ip + */ + @Schema(description ="目标ip",name ="ip",example = "") + private String ip; + + /** + * + * 是否删除 + */ + @Schema(description ="是否删除",name ="isDeleted",example = "") + private Boolean isDeleted; + + /** + * + * 当前访客出口流量 + */ + @Schema(description ="当前访客出口流量",name ="outFlow",example = "") + private Integer outFlow; + + /** + * + * 目标端口 + */ + @Schema(description ="目标端口",name ="port",example = "") + private Integer port; + + /** + * + * 协议类型 + */ + @Schema(description ="协议类型",name ="protocolType",example = "") + private String protocolType; + + /** + * + * 代理类型 + */ + @Schema(description ="代理类型",name ="proxyType",example = "") + private String proxyType; + + /** + * + * 服务端ID + */ + @Schema(description ="服务端ID",name ="serverId",example = "") + private String serverId; + + /** + * + * 修改时间 + */ + @Schema(description ="修改时间",name ="updateTime",example = "") + private LocalDateTime updateTime; + +} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/domain/model/lazy/proxy/per/day/flow/LazyProxyPerDayFlowRepository.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/domain/model/lazy/proxy/per/day/flow/LazyProxyPerDayFlowRepository.java new file mode 100644 index 0000000..2b1c444 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/domain/model/lazy/proxy/per/day/flow/LazyProxyPerDayFlowRepository.java @@ -0,0 +1,106 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.domain.model.lazy.proxy.per.day.flow; + +import org.wu.framework.web.response.Result; +import org.wu.framework.web.response.ResultFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.domain.model.lazy.proxy.per.day.flow.LazyProxyPerDayFlow; +import java.util.List; +import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; +/** + * describe 每日统计代理流量 + * + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyDomainRepository + **/ + +public interface LazyProxyPerDayFlowRepository { + + + /** + * describe 新增每日统计代理流量 + * + * @param lazyProxyPerDayFlow 新增每日统计代理流量 + * @return {@link Result} 每日统计代理流量新增后领域对象 + + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + Result story(LazyProxyPerDayFlow lazyProxyPerDayFlow); + + /** + * describe 批量新增每日统计代理流量 + * + * @param lazyProxyPerDayFlowList 批量新增每日统计代理流量 + * @return {@link Result>} 每日统计代理流量新增后领域对象集合 + + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + Result> batchStory(List lazyProxyPerDayFlowList); + + /** + * describe 查询单个每日统计代理流量 + * + * @param lazyProxyPerDayFlow 查询单个每日统计代理流量 + * @return {@link Result} 每日统计代理流量DTO对象 + + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + Result findOne(LazyProxyPerDayFlow lazyProxyPerDayFlow); + + /** + * describe 查询多个每日统计代理流量 + * + * @param lazyProxyPerDayFlow 查询多个每日统计代理流量 + * @return {@link Result>} 每日统计代理流量DTO对象 + + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + Result> findList(LazyProxyPerDayFlow lazyProxyPerDayFlow); + + /** + * describe 分页查询多个每日统计代理流量 + * + * @param size 当前页数 + * @param current 当前页 + * @param lazyProxyPerDayFlow 分页查询多个每日统计代理流量 + * @return {@link Result>} 分页每日统计代理流量领域对象 + + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + Result> findPage(int size,int current,LazyProxyPerDayFlow lazyProxyPerDayFlow); + + /** + * describe 删除每日统计代理流量 + * + * @param lazyProxyPerDayFlow 删除每日统计代理流量 + * @return {@link Result} 每日统计代理流量 + + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + Result remove(LazyProxyPerDayFlow lazyProxyPerDayFlow); + + /** + * describe 是否存在每日统计代理流量 + * + * @param lazyProxyPerDayFlow 是否存在每日统计代理流量 + * @return {@link Result} 每日统计代理流量是否存在 + + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + Result exists(LazyProxyPerDayFlow lazyProxyPerDayFlow); + +} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/converter/LazyProxyFlowConverter.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/converter/LazyProxyFlowConverter.java new file mode 100644 index 0000000..bcd8e95 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/converter/LazyProxyFlowConverter.java @@ -0,0 +1,48 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.infrastructure.converter; + +import org.framework.lazy.cloud.network.heartbeat.server.standalone.domain.model.lazy.proxy.flow.LazyProxyFlow; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.infrastructure.entity.LazyProxyFlowDO; +import org.mapstruct.factory.Mappers; +import org.mapstruct.Mapper; +/** + * describe 代理流量 + * + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyInfrastructureConverter + **/ +@Mapper +public interface LazyProxyFlowConverter { + + + /** + * describe MapStruct 创建的代理对象 + * + + + + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + LazyProxyFlowConverter INSTANCE = Mappers.getMapper(LazyProxyFlowConverter.class); + /** + * describe 实体对象 转换成领域对象 + * + * @param lazyProxyFlowDO 代理流量实体对象 + * @return {@link LazyProxyFlow} 代理流量领域对象 + + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + LazyProxyFlow toLazyProxyFlow(LazyProxyFlowDO lazyProxyFlowDO); + /** + * describe 领域对象 转换成实体对象 + * + * @param lazyProxyFlow 代理流量领域对象 + * @return {@link LazyProxyFlowDO} 代理流量实体对象 + + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + LazyProxyFlowDO fromLazyProxyFlow(LazyProxyFlow lazyProxyFlow); +} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/converter/LazyProxyPerDayFlowConverter.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/converter/LazyProxyPerDayFlowConverter.java new file mode 100644 index 0000000..679a738 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/converter/LazyProxyPerDayFlowConverter.java @@ -0,0 +1,48 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.infrastructure.converter; + +import org.framework.lazy.cloud.network.heartbeat.server.standalone.domain.model.lazy.proxy.per.day.flow.LazyProxyPerDayFlow; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.infrastructure.entity.LazyProxyPerDayFlowDO; +import org.mapstruct.factory.Mappers; +import org.mapstruct.Mapper; +/** + * describe 每日统计代理流量 + * + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyInfrastructureConverter + **/ +@Mapper +public interface LazyProxyPerDayFlowConverter { + + + /** + * describe MapStruct 创建的代理对象 + * + + + + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + LazyProxyPerDayFlowConverter INSTANCE = Mappers.getMapper(LazyProxyPerDayFlowConverter.class); + /** + * describe 实体对象 转换成领域对象 + * + * @param lazyProxyPerDayFlowDO 每日统计代理流量实体对象 + * @return {@link LazyProxyPerDayFlow} 每日统计代理流量领域对象 + + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + LazyProxyPerDayFlow toLazyProxyPerDayFlow(LazyProxyPerDayFlowDO lazyProxyPerDayFlowDO); + /** + * describe 领域对象 转换成实体对象 + * + * @param lazyProxyPerDayFlow 每日统计代理流量领域对象 + * @return {@link LazyProxyPerDayFlowDO} 每日统计代理流量实体对象 + + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + LazyProxyPerDayFlowDO fromLazyProxyPerDayFlow(LazyProxyPerDayFlow lazyProxyPerDayFlow); +} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/entity/LazyProxyFlowDO.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/entity/LazyProxyFlowDO.java new file mode 100644 index 0000000..47caafe --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/entity/LazyProxyFlowDO.java @@ -0,0 +1,129 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.infrastructure.entity; + +import lombok.Data; +import lombok.experimental.Accessors; +import org.wu.framework.lazy.orm.core.stereotype.LazyTableIndex; +import org.wu.framework.core.stereotype.LayerField; +import org.wu.framework.core.stereotype.LayerField.LayerFieldType; +import org.wu.framework.lazy.orm.core.stereotype.LazyTable; +import org.wu.framework.lazy.orm.core.stereotype.LazyTableField; +import org.wu.framework.lazy.orm.core.stereotype.*; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.media.Schema; +import java.lang.String; +import java.time.LocalDateTime; +import org.wu.framework.lazy.orm.core.stereotype.LazyTableFieldId; +import java.lang.Long; +import java.lang.Integer; +import java.lang.Boolean; +/** + * describe 代理流量 + * + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyInfrastructureEntity + **/ +@Data +@Accessors(chain = true) +@LazyTable(tableName = "lazy_proxy_flow",comment = "代理流量") +@Schema(title = "lazy_proxy_flow",description = "代理流量") +public class LazyProxyFlowDO { + + + /** + * + * 客户端ID + */ + @Schema(description ="客户端ID",name ="clientId",example = "") + @LazyTableField(name="client_id",comment="客户端ID",notNull=true,columnType="varchar(50)") + private String clientId; + + /** + * + * + */ + @Schema(description ="",name ="createTime",example = "") + @LazyTableField(name="create_time",comment="",defaultValue="CURRENT_TIMESTAMP",upsertStrategy = LazyFieldStrategy.NEVER,columnType="datetime",extra="") + private LocalDateTime createTime; + + /** + * + * 主键 + */ + @Schema(description ="主键",name ="id",example = "") + @LazyTableFieldId(name = "id", comment = "主键") + private Long id; + + /** + * + * 当前访客当前进口流量 + */ + @Schema(description ="当前访客当前进口流量",name ="inFlow",example = "") + @LazyTableField(name="in_flow",comment="当前访客当前进口流量",columnType="int") + private Integer inFlow; + + /** + * + * 目标ip + */ + @Schema(description ="目标ip",name ="ip",example = "") + @LazyTableField(name="ip",comment="目标ip",columnType="varchar(255)") + private String ip; + + /** + * + * 是否删除 + */ + @Schema(description ="是否删除",name ="isDeleted",example = "") + @LazyTableField(name="is_deleted",comment="是否删除",defaultValue="'0'",upsertStrategy = LazyFieldStrategy.NEVER,columnType="tinyint") + private Boolean isDeleted; + + /** + * + * 当前访客出口流量 + */ + @Schema(description ="当前访客出口流量",name ="outFlow",example = "") + @LazyTableField(name="out_flow",comment="当前访客出口流量",columnType="int") + private Integer outFlow; + + /** + * + * 目标端口 + */ + @Schema(description ="目标端口",name ="port",example = "") + @LazyTableField(name="port",comment="目标端口",columnType="int") + private Integer port; + + /** + * + * 协议类型 + */ + @Schema(description ="协议类型",name ="protocolType",example = "") + @LazyTableField(name="protocol_type",comment="协议类型",columnType="varchar(255)") + private String protocolType; + + /** + * + * 代理类型 + */ + @Schema(description ="代理类型",name ="proxyType",example = "") + @LazyTableField(name="proxy_type",comment="代理类型",columnType="varchar(255)") + private String proxyType; + + /** + * + * 服务端ID + */ + @Schema(description ="服务端ID",name ="serverId",example = "") + @LazyTableField(name="server_id",comment="服务端ID",notNull=true,columnType="varchar(255)") + private String serverId; + + /** + * + * + */ + @Schema(description ="",name ="updateTime",example = "") + @LazyTableField(name="update_time",comment="",defaultValue="CURRENT_TIMESTAMP",upsertStrategy = LazyFieldStrategy.NEVER,columnType="datetime",extra=" on update CURRENT_TIMESTAMP") + private LocalDateTime updateTime; + +} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/entity/LazyProxyPerDayFlowDO.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/entity/LazyProxyPerDayFlowDO.java new file mode 100644 index 0000000..48af7c0 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/entity/LazyProxyPerDayFlowDO.java @@ -0,0 +1,137 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.infrastructure.entity; + +import lombok.Data; +import lombok.experimental.Accessors; +import org.wu.framework.lazy.orm.core.stereotype.LazyTableIndex; +import org.wu.framework.core.stereotype.LayerField; +import org.wu.framework.core.stereotype.LayerField.LayerFieldType; +import org.wu.framework.lazy.orm.core.stereotype.LazyTable; +import org.wu.framework.lazy.orm.core.stereotype.LazyTableField; +import org.wu.framework.lazy.orm.core.stereotype.*; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.media.Schema; +import java.lang.String; +import java.time.LocalDateTime; +import org.wu.framework.lazy.orm.core.stereotype.LazyTableFieldId; +import java.lang.Long; +import java.lang.Integer; +import java.lang.Boolean; +/** + * describe 每日统计代理流量 + * + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyInfrastructureEntity + **/ +@Data +@Accessors(chain = true) +@LazyTable(tableName = "lazy_proxy_per_day_flow",comment = "每日统计代理流量") +@Schema(title = "lazy_proxy_per_day_flow",description = "每日统计代理流量") +public class LazyProxyPerDayFlowDO { + + + /** + * + * 客户端ID + */ + @Schema(description ="客户端ID",name ="clientId",example = "") + @LazyTableField(name="client_id",comment="客户端ID",columnType="varchar(50)") + private String clientId; + + /** + * + * 创建时间 + */ + @Schema(description ="创建时间",name ="createTime",example = "") + @LazyTableField(name="create_time",comment="创建时间",defaultValue="CURRENT_TIMESTAMP",upsertStrategy = LazyFieldStrategy.NEVER,columnType="datetime",extra="") + private LocalDateTime createTime; + + /** + * + * 日期 + */ + @Schema(description ="日期",name ="day",example = "") + @LazyTableField(name="day",comment="日期",columnType="varchar(255)") + private String day; + + /** + * + * 主键 + */ + @Schema(description ="主键",name ="id",example = "") + @LazyTableFieldId(name = "id", comment = "主键") + private Long id; + + /** + * + * 当前访客当前进口流量 + */ + @Schema(description ="当前访客当前进口流量",name ="inFlow",example = "") + @LazyTableField(name="in_flow",comment="当前访客当前进口流量",columnType="int") + private Integer inFlow; + + /** + * + * 目标ip + */ + @Schema(description ="目标ip",name ="ip",example = "") + @LazyTableField(name="ip",comment="目标ip",columnType="varchar(255)") + private String ip; + + /** + * + * 是否删除 + */ + @Schema(description ="是否删除",name ="isDeleted",example = "") + @LazyTableField(name="is_deleted",comment="是否删除",defaultValue="'0'",upsertStrategy = LazyFieldStrategy.NEVER,columnType="tinyint") + private Boolean isDeleted; + + /** + * + * 当前访客出口流量 + */ + @Schema(description ="当前访客出口流量",name ="outFlow",example = "") + @LazyTableField(name="out_flow",comment="当前访客出口流量",columnType="int") + private Integer outFlow; + + /** + * + * 目标端口 + */ + @Schema(description ="目标端口",name ="port",example = "") + @LazyTableField(name="port",comment="目标端口",columnType="int") + private Integer port; + + /** + * + * 协议类型 + */ + @Schema(description ="协议类型",name ="protocolType",example = "") + @LazyTableField(name="protocol_type",comment="协议类型",columnType="varchar(255)") + private String protocolType; + + /** + * + * 代理类型 + */ + @Schema(description ="代理类型",name ="proxyType",example = "") + @LazyTableField(name="proxy_type",comment="代理类型",columnType="varchar(255)") + private String proxyType; + + /** + * + * 服务端ID + */ + @Schema(description ="服务端ID",name ="serverId",example = "") + @LazyTableField(name="server_id",comment="服务端ID",notNull=true,columnType="varchar(255)") + private String serverId; + + /** + * + * 修改时间 + */ + @Schema(description ="修改时间",name ="updateTime",example = "") + @LazyTableField(name="update_time",comment="修改时间",defaultValue="CURRENT_TIMESTAMP",upsertStrategy = LazyFieldStrategy.NEVER,columnType="datetime",extra=" on update CURRENT_TIMESTAMP") + private LocalDateTime updateTime; + +} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/jpa/lazy/LazyProxyFlowLazyJpaRepository.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/jpa/lazy/LazyProxyFlowLazyJpaRepository.java new file mode 100644 index 0000000..c7d69e9 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/jpa/lazy/LazyProxyFlowLazyJpaRepository.java @@ -0,0 +1,18 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.infrastructure.jpa.lazy; + +import org.wu.framework.lazy.orm.database.jpa.repository.LazyJpaRepository; +import org.wu.framework.lazy.orm.database.jpa.repository.annotation.*; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.infrastructure.entity.LazyProxyFlowDO; +/** + * describe 代理流量 + * + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyInfrastructureLazyJpa + **/ +@LazyRepository +public interface LazyProxyFlowLazyJpaRepository extends LazyJpaRepository { + + + +} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/jpa/lazy/LazyProxyPerDayFlowLazyJpaRepository.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/jpa/lazy/LazyProxyPerDayFlowLazyJpaRepository.java new file mode 100644 index 0000000..cfd6c1d --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/jpa/lazy/LazyProxyPerDayFlowLazyJpaRepository.java @@ -0,0 +1,18 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.infrastructure.jpa.lazy; + +import org.wu.framework.lazy.orm.database.jpa.repository.LazyJpaRepository; +import org.wu.framework.lazy.orm.database.jpa.repository.annotation.*; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.infrastructure.entity.LazyProxyPerDayFlowDO; +/** + * describe 每日统计代理流量 + * + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyInfrastructureLazyJpa + **/ +@LazyRepository +public interface LazyProxyPerDayFlowLazyJpaRepository extends LazyJpaRepository { + + + +} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/mapper/LazyProxyFlowMapper.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/mapper/LazyProxyFlowMapper.java new file mode 100644 index 0000000..e93b36d --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/mapper/LazyProxyFlowMapper.java @@ -0,0 +1,15 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.infrastructure.mapper; + +/** + * describe 代理流量 + * + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyInfrastructureMapper + **/ + +public interface LazyProxyFlowMapper { + + + +} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/mapper/LazyProxyPerDayFlowMapper.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/mapper/LazyProxyPerDayFlowMapper.java new file mode 100644 index 0000000..e67b8b2 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/mapper/LazyProxyPerDayFlowMapper.java @@ -0,0 +1,15 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.infrastructure.mapper; + +/** + * describe 每日统计代理流量 + * + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyInfrastructureMapper + **/ + +public interface LazyProxyPerDayFlowMapper { + + + +} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/persistence/LazyProxyFlowRepositoryImpl.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/persistence/LazyProxyFlowRepositoryImpl.java new file mode 100644 index 0000000..dcb52cc --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/persistence/LazyProxyFlowRepositoryImpl.java @@ -0,0 +1,188 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.infrastructure.persistence; + +import jakarta.annotation.Resource; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.domain.model.lazy.proxy.flow.LazyProxyFlow; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.domain.model.lazy.proxy.flow.LazyProxyFlowRepository; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.infrastructure.converter.LazyProxyFlowConverter; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.infrastructure.entity.LazyProxyFlowDO; +import org.springframework.stereotype.Repository; +import org.wu.framework.core.utils.ObjectUtils; +import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; +import org.wu.framework.lazy.orm.database.lambda.stream.lambda.LazyLambdaStream; +import org.wu.framework.lazy.orm.database.lambda.stream.wrapper.LazyWrappers; +import org.wu.framework.web.response.Result; +import org.wu.framework.web.response.ResultFactory; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * describe 代理流量 + * + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyInfrastructurePersistence + **/ +@Repository +public class LazyProxyFlowRepositoryImpl implements LazyProxyFlowRepository { + + @Resource + LazyLambdaStream lazyLambdaStream; + + /** + * describe 新增代理流量 + * + * @param lazyProxyFlow 新增代理流量 + * @return {@link Result} 代理流量新增后领域对象 + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + @Override + public Result story(LazyProxyFlow lazyProxyFlow) { + LazyProxyFlowDO lazyProxyFlowDO = LazyProxyFlowConverter.INSTANCE.fromLazyProxyFlow(lazyProxyFlow); + lazyLambdaStream.upsert(lazyProxyFlowDO); + return ResultFactory.successOf(); + } + + /** + * describe 批量新增代理流量 + * + * @param lazyProxyFlowList 批量新增代理流量 + * @return {@link Result>} 代理流量新增后领域对象集合 + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + @Override + public Result> batchStory(List lazyProxyFlowList) { + List lazyProxyFlowDOList = lazyProxyFlowList.stream().map(LazyProxyFlowConverter.INSTANCE::fromLazyProxyFlow).collect(Collectors.toList()); + lazyLambdaStream.upsert(lazyProxyFlowDOList); + return ResultFactory.successOf(); + } + + /** + * describe 查询单个代理流量 + * + * @param lazyProxyFlow 查询单个代理流量 + * @return {@link Result} 代理流量领域对象 + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + @Override + public Result findOne(LazyProxyFlow lazyProxyFlow) { + LazyProxyFlowDO lazyProxyFlowDO = LazyProxyFlowConverter.INSTANCE.fromLazyProxyFlow(lazyProxyFlow); + LazyProxyFlow lazyProxyFlowOne = lazyLambdaStream.selectOne(LazyWrappers.lambdaWrapperBean(lazyProxyFlowDO), LazyProxyFlow.class); + return ResultFactory.successOf(lazyProxyFlowOne); + } + + /** + * describe 查询多个代理流量 + * + * @param lazyProxyFlow 查询多个代理流量 + * @return {@link Result>} 代理流量领域对象 + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + @Override + public Result> findList(LazyProxyFlow lazyProxyFlow) { + LazyProxyFlowDO lazyProxyFlowDO = LazyProxyFlowConverter.INSTANCE.fromLazyProxyFlow(lazyProxyFlow); + List lazyProxyFlowList = lazyLambdaStream.selectList(LazyWrappers.lambdaWrapperBean(lazyProxyFlowDO), LazyProxyFlow.class); + return ResultFactory.successOf(lazyProxyFlowList); + } + + /** + * describe 分页查询多个代理流量 + * + * @param size 当前页数 + * @param current 当前页 + * @param lazyProxyFlow 分页查询多个代理流量 + * @return {@link Result>} 分页代理流量领域对象 + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + @Override + public Result> findPage(int size, int current, LazyProxyFlow lazyProxyFlow) { + LazyProxyFlowDO lazyProxyFlowDO = LazyProxyFlowConverter.INSTANCE.fromLazyProxyFlow(lazyProxyFlow); + LazyPage lazyPage = new LazyPage<>(current, size); + LazyPage lazyProxyFlowLazyPage = lazyLambdaStream.selectPage(LazyWrappers.lambdaWrapperBean(lazyProxyFlowDO), lazyPage, LazyProxyFlow.class); + return ResultFactory.successOf(lazyProxyFlowLazyPage); + } + + /** + * describe 删除代理流量 + * + * @param lazyProxyFlow 删除代理流量 + * @return {@link Result} 代理流量 + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + @Override + public Result remove(LazyProxyFlow lazyProxyFlow) { + LazyProxyFlowDO lazyProxyFlowDO = LazyProxyFlowConverter.INSTANCE.fromLazyProxyFlow(lazyProxyFlow); + lazyLambdaStream.delete(LazyWrappers.lambdaWrapperBean(lazyProxyFlowDO)); + return ResultFactory.successOf(); + } + + /** + * describe 是否存在代理流量 + * + * @param lazyProxyFlow 代理流量领域对象 + * @return {@link Result} 是否存在 true 存在,false 不存在 + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + @Override + public Result exists(LazyProxyFlow lazyProxyFlow) { + LazyProxyFlowDO lazyProxyFlowDO = LazyProxyFlowConverter.INSTANCE.fromLazyProxyFlow(lazyProxyFlow); + Boolean exists = lazyLambdaStream.exists(LazyWrappers.lambdaWrapperBean(lazyProxyFlowDO)); + return ResultFactory.successOf(exists); + } + + /** + * 根据客户端查询流量 + * + * @param size 分页大小 + * @param current 分页 + * @param lazyProxyFlow 查询条件 + * @return {@link Result>} 分页访客端流量DTO对象 + */ + @Override + public Result> findPageGroupByClientId(int size, int current, LazyProxyFlow lazyProxyFlow) { + LazyProxyFlowDO lazyProxyFlowDO = LazyProxyFlowConverter.INSTANCE.fromLazyProxyFlow(lazyProxyFlow); + LazyPage lazyPage = new LazyPage<>(current, size); + LazyPage visitorFlowLazyPage = lazyLambdaStream + .selectPage( + LazyWrappers.lambdaWrapperBean(lazyProxyFlowDO) + .groupBy(LazyProxyFlowDO::getClientId), + lazyPage, + LazyProxyFlow.class); + return ResultFactory.successOf(visitorFlowLazyPage); + } + + /** + * 根据客户端ID查询出 客户端所有的进出口流量 + * + * @param clientIdList 客户端ID + * @param serverId 服务端ID + * @return 客户端所有的进出口流量 + */ + @Override + public List findListByClientIds(List clientIdList, String serverId) { + if (ObjectUtils.isEmpty(clientIdList)) { + return new ArrayList<>(); + } + return lazyLambdaStream.selectList( + LazyWrappers.lambdaWrapper() + .in(LazyProxyFlowDO::getClientId, clientIdList) + .eq(LazyProxyFlowDO::getServerId, serverId), + LazyProxyFlow.class); + } + +} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/persistence/LazyProxyPerDayFlowRepositoryImpl.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/persistence/LazyProxyPerDayFlowRepositoryImpl.java new file mode 100644 index 0000000..aa9d9de --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/persistence/LazyProxyPerDayFlowRepositoryImpl.java @@ -0,0 +1,152 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.infrastructure.persistence; + +import org.framework.lazy.cloud.network.heartbeat.server.standalone.infrastructure.entity.LazyProxyPerDayFlowDO; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.infrastructure.converter.LazyProxyPerDayFlowConverter; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.infrastructure.mapper.LazyProxyPerDayFlowMapper; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.domain.model.lazy.proxy.per.day.flow.LazyProxyPerDayFlowRepository; +import org.springframework.stereotype.Repository; +import java.util.stream.Collectors; +import org.wu.framework.lazy.orm.database.lambda.stream.wrapper.LazyWrappers; +import org.wu.framework.web.response.Result; +import org.wu.framework.web.response.ResultFactory; +import jakarta.annotation.Resource; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.domain.model.lazy.proxy.per.day.flow.LazyProxyPerDayFlow; +import org.wu.framework.lazy.orm.database.lambda.stream.lambda.LazyLambdaStream; +import java.util.List; +import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; +/** + * describe 每日统计代理流量 + * + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyInfrastructurePersistence + **/ +@Repository +public class LazyProxyPerDayFlowRepositoryImpl implements LazyProxyPerDayFlowRepository { + + @Resource + LazyLambdaStream lazyLambdaStream; + + /** + * describe 新增每日统计代理流量 + * + * @param lazyProxyPerDayFlow 新增每日统计代理流量 + * @return {@link Result} 每日统计代理流量新增后领域对象 + + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + @Override + public Result story(LazyProxyPerDayFlow lazyProxyPerDayFlow) { + LazyProxyPerDayFlowDO lazyProxyPerDayFlowDO = LazyProxyPerDayFlowConverter.INSTANCE.fromLazyProxyPerDayFlow(lazyProxyPerDayFlow); + lazyLambdaStream.upsert(lazyProxyPerDayFlowDO); + return ResultFactory.successOf(); + } + + /** + * describe 批量新增每日统计代理流量 + * + * @param lazyProxyPerDayFlowList 批量新增每日统计代理流量 + * @return {@link Result>} 每日统计代理流量新增后领域对象集合 + + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + @Override + public Result> batchStory(List lazyProxyPerDayFlowList) { + List lazyProxyPerDayFlowDOList = lazyProxyPerDayFlowList.stream().map(LazyProxyPerDayFlowConverter.INSTANCE::fromLazyProxyPerDayFlow).collect(Collectors.toList()); + lazyLambdaStream.upsert(lazyProxyPerDayFlowDOList); + return ResultFactory.successOf(); + } + + /** + * describe 查询单个每日统计代理流量 + * + * @param lazyProxyPerDayFlow 查询单个每日统计代理流量 + * @return {@link Result} 每日统计代理流量领域对象 + + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + @Override + public Result findOne(LazyProxyPerDayFlow lazyProxyPerDayFlow) { + LazyProxyPerDayFlowDO lazyProxyPerDayFlowDO = LazyProxyPerDayFlowConverter.INSTANCE.fromLazyProxyPerDayFlow(lazyProxyPerDayFlow); + LazyProxyPerDayFlow lazyProxyPerDayFlowOne = lazyLambdaStream.selectOne(LazyWrappers.lambdaWrapperBean(lazyProxyPerDayFlowDO), LazyProxyPerDayFlow.class); + return ResultFactory.successOf(lazyProxyPerDayFlowOne); + } + + /** + * describe 查询多个每日统计代理流量 + * + * @param lazyProxyPerDayFlow 查询多个每日统计代理流量 + * @return {@link Result>} 每日统计代理流量领域对象 + + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + @Override + public Result> findList(LazyProxyPerDayFlow lazyProxyPerDayFlow) { + LazyProxyPerDayFlowDO lazyProxyPerDayFlowDO = LazyProxyPerDayFlowConverter.INSTANCE.fromLazyProxyPerDayFlow(lazyProxyPerDayFlow); + List lazyProxyPerDayFlowList = lazyLambdaStream.selectList(LazyWrappers.lambdaWrapperBean(lazyProxyPerDayFlowDO), LazyProxyPerDayFlow.class); + return ResultFactory.successOf(lazyProxyPerDayFlowList); + } + + /** + * describe 分页查询多个每日统计代理流量 + * + * @param size 当前页数 + * @param current 当前页 + * @param lazyProxyPerDayFlow 分页查询多个每日统计代理流量 + * @return {@link Result>} 分页每日统计代理流量领域对象 + + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + @Override + public Result> findPage(int size,int current,LazyProxyPerDayFlow lazyProxyPerDayFlow) { + LazyProxyPerDayFlowDO lazyProxyPerDayFlowDO = LazyProxyPerDayFlowConverter.INSTANCE.fromLazyProxyPerDayFlow(lazyProxyPerDayFlow); + LazyPage lazyPage = new LazyPage<>(current,size); + LazyPage lazyProxyPerDayFlowLazyPage = lazyLambdaStream.selectPage(LazyWrappers.lambdaWrapperBean(lazyProxyPerDayFlowDO),lazyPage, LazyProxyPerDayFlow.class); + return ResultFactory.successOf(lazyProxyPerDayFlowLazyPage); + } + + /** + * describe 删除每日统计代理流量 + * + * @param lazyProxyPerDayFlow 删除每日统计代理流量 + * @return {@link Result} 每日统计代理流量 + + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + @Override + public Result remove(LazyProxyPerDayFlow lazyProxyPerDayFlow) { + LazyProxyPerDayFlowDO lazyProxyPerDayFlowDO = LazyProxyPerDayFlowConverter.INSTANCE.fromLazyProxyPerDayFlow(lazyProxyPerDayFlow); + // lazyLambdaStream.delete(LazyWrappers.lambdaWrapperBean(lazyProxyPerDayFlowDO)); + return ResultFactory.successOf(); + } + + /** + * describe 是否存在每日统计代理流量 + * + * @param lazyProxyPerDayFlow 每日统计代理流量领域对象 + * @return {@link Result} 是否存在 true 存在,false 不存在 + + * @author Jia wei Wu + * @date 2025/06/06 11:39 晚上 + **/ + + @Override + public Result exists(LazyProxyPerDayFlow lazyProxyPerDayFlow) { + LazyProxyPerDayFlowDO lazyProxyPerDayFlowDO = LazyProxyPerDayFlowConverter.INSTANCE.fromLazyProxyPerDayFlow(lazyProxyPerDayFlow); + Boolean exists=lazyLambdaStream.exists(LazyWrappers.lambdaWrapperBean(lazyProxyPerDayFlowDO)); + return ResultFactory.successOf(exists); + } + +} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/xml/LazyProxyFlowMapper.xml b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/xml/LazyProxyFlowMapper.xml new file mode 100644 index 0000000..2d7b691 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/xml/LazyProxyFlowMapper.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/xml/LazyProxyPerDayFlowMapper.xml b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/xml/LazyProxyPerDayFlowMapper.xml new file mode 100644 index 0000000..73245d1 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/xml/LazyProxyPerDayFlowMapper.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file