[fix] 添加代理流量统计

This commit is contained in:
wujiawei 2025-06-07 00:26:37 +08:00
parent ddb709c3a8
commit 556cb3fd1b
37 changed files with 3884 additions and 0 deletions

View File

@ -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<LazyProxyFlow>} 代理流量新增后领域对象
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
Result<LazyProxyFlow> story(LazyProxyFlowStoryCommand lazyProxyFlowStoryCommand);
/**
* 流量增长存储
*
* @param lazyProxyFlowStoryCommand 代理流量
*/
Result<LazyProxyFlow> flowIncreaseStory(LazyProxyFlowStoryCommand lazyProxyFlowStoryCommand);
/**
* describe 批量新增代理流量
*
* @param lazyProxyFlowStoryCommandList 批量新增代理流量
* @return {@link Result<List<LazyProxyFlow>>} 代理流量新增后领域对象集合
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
Result<List<LazyProxyFlow>> batchStory(List<LazyProxyFlowStoryCommand> lazyProxyFlowStoryCommandList);
/**
* describe 更新代理流量
*
* @param lazyProxyFlowUpdateCommand 更新代理流量
* @return {@link Result<LazyProxyFlow>} 代理流量领域对象
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
Result<LazyProxyFlow> updateOne(LazyProxyFlowUpdateCommand lazyProxyFlowUpdateCommand);
/**
* describe 查询单个代理流量
*
* @param lazyProxyFlowQueryOneCommand 查询单个代理流量
* @return {@link Result<LazyProxyFlowDTO>} 代理流量DTO对象
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
Result<LazyProxyFlowDTO> findOne(LazyProxyFlowQueryOneCommand lazyProxyFlowQueryOneCommand);
/**
* describe 查询多个代理流量
*
* @param lazyProxyFlowQueryListCommand 查询多个代理流量
* @return {@link Result <List<LazyProxyFlowDTO>>} 代理流量DTO对象
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
Result<List<LazyProxyFlowDTO>> findList(LazyProxyFlowQueryListCommand lazyProxyFlowQueryListCommand);
/**
* describe 分页查询多个代理流量
*
* @param lazyProxyFlowQueryListCommand 分页查询多个代理流量
* @return {@link Result <LazyPage<LazyProxyFlowDTO>>} 分页代理流量DTO对象
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
Result<LazyPage<LazyProxyFlowDTO>> findPage(int size, int current, LazyProxyFlowQueryListCommand lazyProxyFlowQueryListCommand);
/**
* describe 删除代理流量
*
* @param lazyProxyFlowRemoveCommand 删除代理流量
* @return {@link Result<LazyProxyFlow>} 代理流量
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
Result<LazyProxyFlow> remove(LazyProxyFlowRemoveCommand lazyProxyFlowRemoveCommand);
/**
* 根据客户端查询流量
*
* @param size 分页大小
* @param current 分页
* @param lazyProxyFlowQueryListCommand 查询条件
* @return {@link Result<LazyPage< LazyClientProxyFlowDTO >>} 分页访客端流量DTO对象
*/
Result<LazyPage<LazyClientProxyFlowDTO>> findClientFlowPage(int size, int current, LazyProxyFlowQueryListCommand lazyProxyFlowQueryListCommand);
}

View File

@ -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<LazyProxyPerDayFlow>} 每日统计代理流量新增后领域对象
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
Result<LazyProxyPerDayFlow> story(LazyProxyPerDayFlowStoryCommand lazyProxyPerDayFlowStoryCommand);
/**
* describe 批量新增每日统计代理流量
*
* @param lazyProxyPerDayFlowStoryCommandList 批量新增每日统计代理流量
* @return {@link Result<List<LazyProxyPerDayFlow>>} 每日统计代理流量新增后领域对象集合
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
Result<List<LazyProxyPerDayFlow>> batchStory(List<LazyProxyPerDayFlowStoryCommand> lazyProxyPerDayFlowStoryCommandList);
/**
* describe 更新每日统计代理流量
*
* @param lazyProxyPerDayFlowUpdateCommand 更新每日统计代理流量
* @return {@link Result<LazyProxyPerDayFlow>} 每日统计代理流量领域对象
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
Result<LazyProxyPerDayFlow> updateOne(LazyProxyPerDayFlowUpdateCommand lazyProxyPerDayFlowUpdateCommand);
/**
* describe 查询单个每日统计代理流量
*
* @param lazyProxyPerDayFlowQueryOneCommand 查询单个每日统计代理流量
* @return {@link Result<LazyProxyPerDayFlowDTO>} 每日统计代理流量DTO对象
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
Result<LazyProxyPerDayFlowDTO> findOne(LazyProxyPerDayFlowQueryOneCommand lazyProxyPerDayFlowQueryOneCommand);
/**
* describe 查询多个每日统计代理流量
*
* @param lazyProxyPerDayFlowQueryListCommand 查询多个每日统计代理流量
* @return {@link Result <List<LazyProxyPerDayFlowDTO>>} 每日统计代理流量DTO对象
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
Result <List<LazyProxyPerDayFlowDTO>> findList(LazyProxyPerDayFlowQueryListCommand lazyProxyPerDayFlowQueryListCommand);
/**
* describe 分页查询多个每日统计代理流量
*
* @param lazyProxyPerDayFlowQueryListCommand 分页查询多个每日统计代理流量
* @return {@link Result <LazyPage<LazyProxyPerDayFlowDTO>>} 分页每日统计代理流量DTO对象
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
Result <LazyPage<LazyProxyPerDayFlowDTO>> findPage(int size,int current,LazyProxyPerDayFlowQueryListCommand lazyProxyPerDayFlowQueryListCommand);
/**
* describe 删除每日统计代理流量
*
* @param lazyProxyPerDayFlowRemoveCommand 删除每日统计代理流量
* @return {@link Result<LazyProxyPerDayFlow>} 每日统计代理流量
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
Result<LazyProxyPerDayFlow> remove(LazyProxyPerDayFlowRemoveCommand lazyProxyPerDayFlowRemoveCommand);
}

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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<LazyProxyFlowDTO> lazyProxyFlowDTOList;
}

View File

@ -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);
}
}

View File

@ -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;
}

View File

@ -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<LazyProxyFlow>} 代理流量新增后领域对象
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
@Override
public Result<LazyProxyFlow> 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<LazyProxyFlow> 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<List<LazyProxyFlow>>} 代理流量新增后领域对象集合
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
@Override
public Result<List<LazyProxyFlow>> batchStory(List<LazyProxyFlowStoryCommand> lazyProxyFlowStoryCommandList) {
List<LazyProxyFlow> 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<LazyProxyFlow>} 代理流量领域对象
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
@Override
public Result<LazyProxyFlow> updateOne(LazyProxyFlowUpdateCommand lazyProxyFlowUpdateCommand) {
LazyProxyFlow lazyProxyFlow = LazyProxyFlowDTOAssembler.INSTANCE.toLazyProxyFlow(lazyProxyFlowUpdateCommand);
return lazyProxyFlowRepository.story(lazyProxyFlow);
}
/**
* describe 查询单个代理流量
*
* @param lazyProxyFlowQueryOneCommand 查询单个代理流量
* @return {@link Result<LazyProxyFlowDTO>} 代理流量DTO对象
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
@Override
public Result<LazyProxyFlowDTO> findOne(LazyProxyFlowQueryOneCommand lazyProxyFlowQueryOneCommand) {
LazyProxyFlow lazyProxyFlow = LazyProxyFlowDTOAssembler.INSTANCE.toLazyProxyFlow(lazyProxyFlowQueryOneCommand);
return lazyProxyFlowRepository.findOne(lazyProxyFlow).convert(LazyProxyFlowDTOAssembler.INSTANCE::fromLazyProxyFlow);
}
/**
* describe 查询多个代理流量
*
* @param lazyProxyFlowQueryListCommand 查询多个代理流量
* @return {@link Result<List<LazyProxyFlowDTO>>} 代理流量DTO对象
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
@Override
public Result<List<LazyProxyFlowDTO>> 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<LazyPage<LazyProxyFlowDTO>>} 分页代理流量DTO对象
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
@Override
public Result<LazyPage<LazyProxyFlowDTO>> 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<LazyProxyFlow>} 代理流量
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
@Override
public Result<LazyProxyFlow> remove(LazyProxyFlowRemoveCommand lazyProxyFlowRemoveCommand) {
LazyProxyFlow lazyProxyFlow = LazyProxyFlowDTOAssembler.INSTANCE.toLazyProxyFlow(lazyProxyFlowRemoveCommand);
return lazyProxyFlowRepository.remove(lazyProxyFlow);
}
/**
* 根据客户端查询流量
*
* @param size 分页大小
* @param current 分页
* @param lazyProxyFlowQueryListCommand 查询条件
* @return {@link Result<LazyPage< LazyVisitorFlowDTO >>} 分页访客端流量DTO对象
*/
@Override
public Result<LazyPage<LazyClientProxyFlowDTO>> 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<String> clientIdList = lazyProxyFlowLazyPage
.getRecords()
.stream()
.map(LazyProxyFlow::getClientId)
.toList();
List<LazyProxyFlow> lazyLazyProxyFlowList = lazyProxyFlowRepository.findListByClientIds(clientIdList, serverId);
// 根据客户端进行分组
List<LazyProxyFlowDTO> lazyLazyProxyFlowDTOList = lazyLazyProxyFlowList.stream().map(LazyProxyFlowDTOAssembler.INSTANCE::fromLazyProxyFlow).toList();
Map<String/*客户端ID*/, List<LazyProxyFlowDTO>> client_port_flow_map = lazyLazyProxyFlowDTOList.stream().collect(Collectors.groupingBy(LazyProxyFlowDTO::getClientId));
Map<String/*客户端ID*/, Integer/*客户端进口流量*/> client_in_flow = lazyLazyProxyFlowDTOList.stream()
.collect(
Collectors.groupingBy(LazyProxyFlowDTO::getClientId,
Collectors.summingInt(LazyProxyFlowDTO::getInFlowSize)));
Map<String/*客户端ID*/, Integer/*客户端出口流量*/> 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;
});
});
}
}

View File

@ -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<LazyProxyPerDayFlow>} 每日统计代理流量新增后领域对象
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
@Override
public Result<LazyProxyPerDayFlow> story(LazyProxyPerDayFlowStoryCommand lazyProxyPerDayFlowStoryCommand) {
LazyProxyPerDayFlow lazyProxyPerDayFlow = LazyProxyPerDayFlowDTOAssembler.INSTANCE.toLazyProxyPerDayFlow(lazyProxyPerDayFlowStoryCommand);
return lazyProxyPerDayFlowRepository.story(lazyProxyPerDayFlow);
}
/**
* describe 批量新增每日统计代理流量
*
* @param lazyProxyPerDayFlowStoryCommandList 批量新增每日统计代理流量
* @return {@link Result<List<LazyProxyPerDayFlow>>} 每日统计代理流量新增后领域对象集合
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
@Override
public Result<List<LazyProxyPerDayFlow>> batchStory(List<LazyProxyPerDayFlowStoryCommand> lazyProxyPerDayFlowStoryCommandList) {
List<LazyProxyPerDayFlow> lazyProxyPerDayFlowList = lazyProxyPerDayFlowStoryCommandList.stream().map( LazyProxyPerDayFlowDTOAssembler.INSTANCE::toLazyProxyPerDayFlow).collect(Collectors.toList());
return lazyProxyPerDayFlowRepository.batchStory(lazyProxyPerDayFlowList);
}
/**
* describe 更新每日统计代理流量
*
* @param lazyProxyPerDayFlowUpdateCommand 更新每日统计代理流量
* @return {@link Result<LazyProxyPerDayFlow>} 每日统计代理流量领域对象
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
@Override
public Result<LazyProxyPerDayFlow> updateOne(LazyProxyPerDayFlowUpdateCommand lazyProxyPerDayFlowUpdateCommand) {
LazyProxyPerDayFlow lazyProxyPerDayFlow = LazyProxyPerDayFlowDTOAssembler.INSTANCE.toLazyProxyPerDayFlow(lazyProxyPerDayFlowUpdateCommand);
return lazyProxyPerDayFlowRepository.story(lazyProxyPerDayFlow);
}
/**
* describe 查询单个每日统计代理流量
*
* @param lazyProxyPerDayFlowQueryOneCommand 查询单个每日统计代理流量
* @return {@link Result<LazyProxyPerDayFlowDTO>} 每日统计代理流量DTO对象
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
@Override
public Result<LazyProxyPerDayFlowDTO> findOne(LazyProxyPerDayFlowQueryOneCommand lazyProxyPerDayFlowQueryOneCommand) {
LazyProxyPerDayFlow lazyProxyPerDayFlow = LazyProxyPerDayFlowDTOAssembler.INSTANCE.toLazyProxyPerDayFlow(lazyProxyPerDayFlowQueryOneCommand);
return lazyProxyPerDayFlowRepository.findOne(lazyProxyPerDayFlow).convert(LazyProxyPerDayFlowDTOAssembler.INSTANCE::fromLazyProxyPerDayFlow);
}
/**
* describe 查询多个每日统计代理流量
*
* @param lazyProxyPerDayFlowQueryListCommand 查询多个每日统计代理流量
* @return {@link Result<List<LazyProxyPerDayFlowDTO>>} 每日统计代理流量DTO对象
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
@Override
public Result<List<LazyProxyPerDayFlowDTO>> 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<LazyPage<LazyProxyPerDayFlowDTO>>} 分页每日统计代理流量DTO对象
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
@Override
public Result<LazyPage<LazyProxyPerDayFlowDTO>> 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<LazyProxyPerDayFlow>} 每日统计代理流量
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
@Override
public Result<LazyProxyPerDayFlow> remove(LazyProxyPerDayFlowRemoveCommand lazyProxyPerDayFlowRemoveCommand) {
LazyProxyPerDayFlow lazyProxyPerDayFlow = LazyProxyPerDayFlowDTOAssembler.INSTANCE.toLazyProxyPerDayFlow(lazyProxyPerDayFlowRemoveCommand);
return lazyProxyPerDayFlowRepository.remove(lazyProxyPerDayFlow);
}
}

View File

@ -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<LazyProxyFlow>} 代理流量新增后领域对象
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
@Operation(summary = "新增代理流量")
@PostMapping("/story")
public Result<LazyProxyFlow> story(@RequestBody LazyProxyFlowStoryCommand lazyProxyFlowStoryCommand) {
return lazyProxyFlowApplication.story(lazyProxyFlowStoryCommand);
}
/**
* describe 批量新增代理流量
*
* @param lazyProxyFlowStoryCommandList 批量新增代理流量
* @return {@link Result<List<LazyProxyFlow>>} 代理流量新增后领域对象集合
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
@Operation(summary = "批量新增代理流量")
@PostMapping("/batchStory")
public Result<List<LazyProxyFlow>> batchStory(@RequestBody List<LazyProxyFlowStoryCommand> lazyProxyFlowStoryCommandList) {
return lazyProxyFlowApplication.batchStory(lazyProxyFlowStoryCommandList);
}
/**
* describe 更新代理流量
*
* @param lazyProxyFlowUpdateCommand 更新代理流量
* @return {@link Result<LazyProxyFlow>} 代理流量领域对象
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
@Operation(summary = "更新代理流量")
@PutMapping("/updateOne")
public Result<LazyProxyFlow> updateOne(@RequestBody LazyProxyFlowUpdateCommand lazyProxyFlowUpdateCommand) {
return lazyProxyFlowApplication.updateOne(lazyProxyFlowUpdateCommand);
}
/**
* describe 查询单个代理流量
*
* @param lazyProxyFlowQueryOneCommand 查询单个代理流量
* @return {@link Result<LazyProxyFlowDTO>} 代理流量DTO对象
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
@Operation(summary = "查询单个代理流量")
@GetMapping("/findOne")
public Result<LazyProxyFlowDTO> findOne(@ModelAttribute LazyProxyFlowQueryOneCommand lazyProxyFlowQueryOneCommand) {
return lazyProxyFlowApplication.findOne(lazyProxyFlowQueryOneCommand);
}
/**
* describe 查询多个代理流量
*
* @param lazyProxyFlowQueryListCommand 查询多个代理流量
* @return {@link Result<List<LazyProxyFlowDTO>>} 代理流量DTO对象
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
@Operation(summary = "查询多个代理流量")
@GetMapping("/findList")
public Result<List<LazyProxyFlowDTO>> findList(@ModelAttribute LazyProxyFlowQueryListCommand lazyProxyFlowQueryListCommand) {
return lazyProxyFlowApplication.findList(lazyProxyFlowQueryListCommand);
}
/**
* describe 分页查询多个代理流量
*
* @param lazyProxyFlowQueryListCommand 分页查询多个代理流量
* @return {@link Result<LazyPage<LazyProxyFlowDTO>>} 分页代理流量DTO对象
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
@Operation(summary = "分页查询多个代理流量")
@GetMapping("/findPage")
public Result<LazyPage<LazyProxyFlowDTO>> 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<LazyPage< LazyVisitorFlowDTO >>} 分页访客端流量DTO对象
*/
@Operation(summary = "分页查询多个访客端流量")
@GetMapping("/findClientFlowPage")
public Result<LazyPage<LazyClientProxyFlowDTO>> 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<LazyProxyFlow>} 代理流量
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
@Operation(summary = "删除代理流量")
@DeleteMapping("/remove")
public Result<LazyProxyFlow> remove(@ModelAttribute LazyProxyFlowRemoveCommand lazyProxyFlowRemoveCommand) {
return lazyProxyFlowApplication.remove(lazyProxyFlowRemoveCommand);
}
}

View File

@ -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<LazyProxyPerDayFlow>} 每日统计代理流量新增后领域对象
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
@Operation(summary = "新增每日统计代理流量")
@PostMapping("/story")
public Result<LazyProxyPerDayFlow> story(@RequestBody LazyProxyPerDayFlowStoryCommand lazyProxyPerDayFlowStoryCommand){
return lazyProxyPerDayFlowApplication.story(lazyProxyPerDayFlowStoryCommand);
}
/**
* describe 批量新增每日统计代理流量
*
* @param lazyProxyPerDayFlowStoryCommandList 批量新增每日统计代理流量
* @return {@link Result<List<LazyProxyPerDayFlow>>} 每日统计代理流量新增后领域对象集合
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
@Operation(summary = "批量新增每日统计代理流量")
@PostMapping("/batchStory")
public Result<List<LazyProxyPerDayFlow>> batchStory(@RequestBody List<LazyProxyPerDayFlowStoryCommand> lazyProxyPerDayFlowStoryCommandList){
return lazyProxyPerDayFlowApplication.batchStory(lazyProxyPerDayFlowStoryCommandList);
}
/**
* describe 更新每日统计代理流量
*
* @param lazyProxyPerDayFlowUpdateCommand 更新每日统计代理流量
* @return {@link Result<LazyProxyPerDayFlow>} 每日统计代理流量领域对象
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
@Operation(summary = "更新每日统计代理流量")
@PutMapping("/updateOne")
public Result<LazyProxyPerDayFlow> updateOne(@RequestBody LazyProxyPerDayFlowUpdateCommand lazyProxyPerDayFlowUpdateCommand){
return lazyProxyPerDayFlowApplication.updateOne(lazyProxyPerDayFlowUpdateCommand);
}
/**
* describe 查询单个每日统计代理流量
*
* @param lazyProxyPerDayFlowQueryOneCommand 查询单个每日统计代理流量
* @return {@link Result<LazyProxyPerDayFlowDTO>} 每日统计代理流量DTO对象
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
@Operation(summary = "查询单个每日统计代理流量")
@GetMapping("/findOne")
public Result<LazyProxyPerDayFlowDTO> findOne(@ModelAttribute LazyProxyPerDayFlowQueryOneCommand lazyProxyPerDayFlowQueryOneCommand){
return lazyProxyPerDayFlowApplication.findOne(lazyProxyPerDayFlowQueryOneCommand);
}
/**
* describe 查询多个每日统计代理流量
*
* @param lazyProxyPerDayFlowQueryListCommand 查询多个每日统计代理流量
* @return {@link Result<List<LazyProxyPerDayFlowDTO>>} 每日统计代理流量DTO对象
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
@Operation(summary = "查询多个每日统计代理流量")
@GetMapping("/findList")
public Result<List<LazyProxyPerDayFlowDTO>> findList(@ModelAttribute LazyProxyPerDayFlowQueryListCommand lazyProxyPerDayFlowQueryListCommand){
return lazyProxyPerDayFlowApplication.findList(lazyProxyPerDayFlowQueryListCommand);
}
/**
* describe 分页查询多个每日统计代理流量
*
* @param lazyProxyPerDayFlowQueryListCommand 分页查询多个每日统计代理流量
* @return {@link Result<LazyPage<LazyProxyPerDayFlowDTO>>} 分页每日统计代理流量DTO对象
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
@Operation(summary = "分页查询多个每日统计代理流量")
@GetMapping("/findPage")
public Result<LazyPage<LazyProxyPerDayFlowDTO>> 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<LazyProxyPerDayFlow>} 每日统计代理流量
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
@Operation(summary = "删除每日统计代理流量")
@DeleteMapping("/remove")
public Result<LazyProxyPerDayFlow> remove(@ModelAttribute LazyProxyPerDayFlowRemoveCommand lazyProxyPerDayFlowRemoveCommand){
return lazyProxyPerDayFlowApplication.remove(lazyProxyPerDayFlowRemoveCommand);
}
}

View File

@ -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;
}

View File

@ -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<LazyProxyFlow>} 代理流量新增后领域对象
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
Result<LazyProxyFlow> story(LazyProxyFlow lazyProxyFlow);
/**
* describe 批量新增代理流量
*
* @param lazyProxyFlowList 批量新增代理流量
* @return {@link Result<List<LazyProxyFlow>>} 代理流量新增后领域对象集合
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
Result<List<LazyProxyFlow>> batchStory(List<LazyProxyFlow> lazyProxyFlowList);
/**
* describe 查询单个代理流量
*
* @param lazyProxyFlow 查询单个代理流量
* @return {@link Result<LazyProxyFlow>} 代理流量DTO对象
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
Result<LazyProxyFlow> findOne(LazyProxyFlow lazyProxyFlow);
/**
* describe 查询多个代理流量
*
* @param lazyProxyFlow 查询多个代理流量
* @return {@link Result<List<LazyProxyFlow>>} 代理流量DTO对象
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
Result<List<LazyProxyFlow>> findList(LazyProxyFlow lazyProxyFlow);
/**
* describe 分页查询多个代理流量
*
* @param size 当前页数
* @param current 当前页
* @param lazyProxyFlow 分页查询多个代理流量
* @return {@link Result<LazyPage<LazyProxyFlow>>} 分页代理流量领域对象
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
Result<LazyPage<LazyProxyFlow>> findPage(int size,int current,LazyProxyFlow lazyProxyFlow);
/**
* describe 删除代理流量
*
* @param lazyProxyFlow 删除代理流量
* @return {@link Result<LazyProxyFlow>} 代理流量
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
Result<LazyProxyFlow> remove(LazyProxyFlow lazyProxyFlow);
/**
* describe 是否存在代理流量
*
* @param lazyProxyFlow 是否存在代理流量
* @return {@link Result<Boolean>} 代理流量是否存在
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
Result<Boolean> exists(LazyProxyFlow lazyProxyFlow);
/**
* 根据客户端查询流量
*
* @param size 分页大小
* @param current 分页
* @param lazyProxyFlow 查询条件
* @return {@link Result<LazyPage<LazyProxyFlow>>} 分页访客端流量DTO对象
*/
Result<LazyPage<LazyProxyFlow>> findPageGroupByClientId(int size, int current, LazyProxyFlow lazyProxyFlow);
/**
* 根据客户端ID查询出 客户端所有的进出口流量
*
* @param clientIdList 客户端ID
* @param serverId 服务ID
* @return 客户端所有的进出口流量
*/
List<LazyProxyFlow> findListByClientIds(List<String> clientIdList, String serverId);
}

View File

@ -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;
}

View File

@ -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<LazyProxyPerDayFlow>} 每日统计代理流量新增后领域对象
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
Result<LazyProxyPerDayFlow> story(LazyProxyPerDayFlow lazyProxyPerDayFlow);
/**
* describe 批量新增每日统计代理流量
*
* @param lazyProxyPerDayFlowList 批量新增每日统计代理流量
* @return {@link Result<List<LazyProxyPerDayFlow>>} 每日统计代理流量新增后领域对象集合
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
Result<List<LazyProxyPerDayFlow>> batchStory(List<LazyProxyPerDayFlow> lazyProxyPerDayFlowList);
/**
* describe 查询单个每日统计代理流量
*
* @param lazyProxyPerDayFlow 查询单个每日统计代理流量
* @return {@link Result<LazyProxyPerDayFlow>} 每日统计代理流量DTO对象
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
Result<LazyProxyPerDayFlow> findOne(LazyProxyPerDayFlow lazyProxyPerDayFlow);
/**
* describe 查询多个每日统计代理流量
*
* @param lazyProxyPerDayFlow 查询多个每日统计代理流量
* @return {@link Result<List<LazyProxyPerDayFlow>>} 每日统计代理流量DTO对象
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
Result<List<LazyProxyPerDayFlow>> findList(LazyProxyPerDayFlow lazyProxyPerDayFlow);
/**
* describe 分页查询多个每日统计代理流量
*
* @param size 当前页数
* @param current 当前页
* @param lazyProxyPerDayFlow 分页查询多个每日统计代理流量
* @return {@link Result<LazyPage<LazyProxyPerDayFlow>>} 分页每日统计代理流量领域对象
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
Result<LazyPage<LazyProxyPerDayFlow>> findPage(int size,int current,LazyProxyPerDayFlow lazyProxyPerDayFlow);
/**
* describe 删除每日统计代理流量
*
* @param lazyProxyPerDayFlow 删除每日统计代理流量
* @return {@link Result<LazyProxyPerDayFlow>} 每日统计代理流量
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
Result<LazyProxyPerDayFlow> remove(LazyProxyPerDayFlow lazyProxyPerDayFlow);
/**
* describe 是否存在每日统计代理流量
*
* @param lazyProxyPerDayFlow 是否存在每日统计代理流量
* @return {@link Result<Boolean>} 每日统计代理流量是否存在
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
Result<Boolean> exists(LazyProxyPerDayFlow lazyProxyPerDayFlow);
}

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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<LazyProxyFlowDO,Long> {
}

View File

@ -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<LazyProxyPerDayFlowDO,Long> {
}

View File

@ -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 {
}

View File

@ -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 {
}

View File

@ -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<LazyProxyFlow>} 代理流量新增后领域对象
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
@Override
public Result<LazyProxyFlow> story(LazyProxyFlow lazyProxyFlow) {
LazyProxyFlowDO lazyProxyFlowDO = LazyProxyFlowConverter.INSTANCE.fromLazyProxyFlow(lazyProxyFlow);
lazyLambdaStream.upsert(lazyProxyFlowDO);
return ResultFactory.successOf();
}
/**
* describe 批量新增代理流量
*
* @param lazyProxyFlowList 批量新增代理流量
* @return {@link Result<List<LazyProxyFlow>>} 代理流量新增后领域对象集合
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
@Override
public Result<List<LazyProxyFlow>> batchStory(List<LazyProxyFlow> lazyProxyFlowList) {
List<LazyProxyFlowDO> lazyProxyFlowDOList = lazyProxyFlowList.stream().map(LazyProxyFlowConverter.INSTANCE::fromLazyProxyFlow).collect(Collectors.toList());
lazyLambdaStream.upsert(lazyProxyFlowDOList);
return ResultFactory.successOf();
}
/**
* describe 查询单个代理流量
*
* @param lazyProxyFlow 查询单个代理流量
* @return {@link Result<LazyProxyFlow>} 代理流量领域对象
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
@Override
public Result<LazyProxyFlow> 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<List<LazyProxyFlow>>} 代理流量领域对象
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
@Override
public Result<List<LazyProxyFlow>> findList(LazyProxyFlow lazyProxyFlow) {
LazyProxyFlowDO lazyProxyFlowDO = LazyProxyFlowConverter.INSTANCE.fromLazyProxyFlow(lazyProxyFlow);
List<LazyProxyFlow> lazyProxyFlowList = lazyLambdaStream.selectList(LazyWrappers.lambdaWrapperBean(lazyProxyFlowDO), LazyProxyFlow.class);
return ResultFactory.successOf(lazyProxyFlowList);
}
/**
* describe 分页查询多个代理流量
*
* @param size 当前页数
* @param current 当前页
* @param lazyProxyFlow 分页查询多个代理流量
* @return {@link Result<LazyPage<LazyProxyFlow>>} 分页代理流量领域对象
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
@Override
public Result<LazyPage<LazyProxyFlow>> findPage(int size, int current, LazyProxyFlow lazyProxyFlow) {
LazyProxyFlowDO lazyProxyFlowDO = LazyProxyFlowConverter.INSTANCE.fromLazyProxyFlow(lazyProxyFlow);
LazyPage<LazyProxyFlow> lazyPage = new LazyPage<>(current, size);
LazyPage<LazyProxyFlow> lazyProxyFlowLazyPage = lazyLambdaStream.selectPage(LazyWrappers.lambdaWrapperBean(lazyProxyFlowDO), lazyPage, LazyProxyFlow.class);
return ResultFactory.successOf(lazyProxyFlowLazyPage);
}
/**
* describe 删除代理流量
*
* @param lazyProxyFlow 删除代理流量
* @return {@link Result<LazyProxyFlow>} 代理流量
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
@Override
public Result<LazyProxyFlow> remove(LazyProxyFlow lazyProxyFlow) {
LazyProxyFlowDO lazyProxyFlowDO = LazyProxyFlowConverter.INSTANCE.fromLazyProxyFlow(lazyProxyFlow);
lazyLambdaStream.delete(LazyWrappers.lambdaWrapperBean(lazyProxyFlowDO));
return ResultFactory.successOf();
}
/**
* describe 是否存在代理流量
*
* @param lazyProxyFlow 代理流量领域对象
* @return {@link Result<Boolean>} 是否存在 true 存在false 不存在
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
@Override
public Result<Boolean> 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<LazyPage< LazyProxyFlow >>} 分页访客端流量DTO对象
*/
@Override
public Result<LazyPage<LazyProxyFlow>> findPageGroupByClientId(int size, int current, LazyProxyFlow lazyProxyFlow) {
LazyProxyFlowDO lazyProxyFlowDO = LazyProxyFlowConverter.INSTANCE.fromLazyProxyFlow(lazyProxyFlow);
LazyPage<LazyProxyFlow> lazyPage = new LazyPage<>(current, size);
LazyPage<LazyProxyFlow> 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<LazyProxyFlow> findListByClientIds(List<String> clientIdList, String serverId) {
if (ObjectUtils.isEmpty(clientIdList)) {
return new ArrayList<>();
}
return lazyLambdaStream.selectList(
LazyWrappers.<LazyProxyFlowDO>lambdaWrapper()
.in(LazyProxyFlowDO::getClientId, clientIdList)
.eq(LazyProxyFlowDO::getServerId, serverId),
LazyProxyFlow.class);
}
}

View File

@ -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<LazyProxyPerDayFlow>} 每日统计代理流量新增后领域对象
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
@Override
public Result<LazyProxyPerDayFlow> story(LazyProxyPerDayFlow lazyProxyPerDayFlow) {
LazyProxyPerDayFlowDO lazyProxyPerDayFlowDO = LazyProxyPerDayFlowConverter.INSTANCE.fromLazyProxyPerDayFlow(lazyProxyPerDayFlow);
lazyLambdaStream.upsert(lazyProxyPerDayFlowDO);
return ResultFactory.successOf();
}
/**
* describe 批量新增每日统计代理流量
*
* @param lazyProxyPerDayFlowList 批量新增每日统计代理流量
* @return {@link Result<List<LazyProxyPerDayFlow>>} 每日统计代理流量新增后领域对象集合
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
@Override
public Result<List<LazyProxyPerDayFlow>> batchStory(List<LazyProxyPerDayFlow> lazyProxyPerDayFlowList) {
List<LazyProxyPerDayFlowDO> lazyProxyPerDayFlowDOList = lazyProxyPerDayFlowList.stream().map(LazyProxyPerDayFlowConverter.INSTANCE::fromLazyProxyPerDayFlow).collect(Collectors.toList());
lazyLambdaStream.upsert(lazyProxyPerDayFlowDOList);
return ResultFactory.successOf();
}
/**
* describe 查询单个每日统计代理流量
*
* @param lazyProxyPerDayFlow 查询单个每日统计代理流量
* @return {@link Result<LazyProxyPerDayFlow>} 每日统计代理流量领域对象
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
@Override
public Result<LazyProxyPerDayFlow> 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<List<LazyProxyPerDayFlow>>} 每日统计代理流量领域对象
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
@Override
public Result<List<LazyProxyPerDayFlow>> findList(LazyProxyPerDayFlow lazyProxyPerDayFlow) {
LazyProxyPerDayFlowDO lazyProxyPerDayFlowDO = LazyProxyPerDayFlowConverter.INSTANCE.fromLazyProxyPerDayFlow(lazyProxyPerDayFlow);
List<LazyProxyPerDayFlow> lazyProxyPerDayFlowList = lazyLambdaStream.selectList(LazyWrappers.lambdaWrapperBean(lazyProxyPerDayFlowDO), LazyProxyPerDayFlow.class);
return ResultFactory.successOf(lazyProxyPerDayFlowList);
}
/**
* describe 分页查询多个每日统计代理流量
*
* @param size 当前页数
* @param current 当前页
* @param lazyProxyPerDayFlow 分页查询多个每日统计代理流量
* @return {@link Result<LazyPage<LazyProxyPerDayFlow>>} 分页每日统计代理流量领域对象
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
@Override
public Result<LazyPage<LazyProxyPerDayFlow>> findPage(int size,int current,LazyProxyPerDayFlow lazyProxyPerDayFlow) {
LazyProxyPerDayFlowDO lazyProxyPerDayFlowDO = LazyProxyPerDayFlowConverter.INSTANCE.fromLazyProxyPerDayFlow(lazyProxyPerDayFlow);
LazyPage<LazyProxyPerDayFlow> lazyPage = new LazyPage<>(current,size);
LazyPage<LazyProxyPerDayFlow> lazyProxyPerDayFlowLazyPage = lazyLambdaStream.selectPage(LazyWrappers.lambdaWrapperBean(lazyProxyPerDayFlowDO),lazyPage, LazyProxyPerDayFlow.class);
return ResultFactory.successOf(lazyProxyPerDayFlowLazyPage);
}
/**
* describe 删除每日统计代理流量
*
* @param lazyProxyPerDayFlow 删除每日统计代理流量
* @return {@link Result<LazyProxyPerDayFlow>} 每日统计代理流量
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
@Override
public Result<LazyProxyPerDayFlow> remove(LazyProxyPerDayFlow lazyProxyPerDayFlow) {
LazyProxyPerDayFlowDO lazyProxyPerDayFlowDO = LazyProxyPerDayFlowConverter.INSTANCE.fromLazyProxyPerDayFlow(lazyProxyPerDayFlow);
// lazyLambdaStream.delete(LazyWrappers.lambdaWrapperBean(lazyProxyPerDayFlowDO));
return ResultFactory.successOf();
}
/**
* describe 是否存在每日统计代理流量
*
* @param lazyProxyPerDayFlow 每日统计代理流量领域对象
* @return {@link Result<Boolean>} 是否存在 true 存在false 不存在
* @author Jia wei Wu
* @date 2025/06/06 11:39 晚上
**/
@Override
public Result<Boolean> exists(LazyProxyPerDayFlow lazyProxyPerDayFlow) {
LazyProxyPerDayFlowDO lazyProxyPerDayFlowDO = LazyProxyPerDayFlowConverter.INSTANCE.fromLazyProxyPerDayFlow(lazyProxyPerDayFlow);
Boolean exists=lazyLambdaStream.exists(LazyWrappers.lambdaWrapperBean(lazyProxyPerDayFlowDO));
return ResultFactory.successOf(exists);
}
}

View File

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.framework.lazy.cloud.network.heartbeat.server.standalone.infrastructure.mapper.LazyProxyFlowMapper">
<resultMap id="BaseResultMap" type="org.framework.lazy.cloud.network.heartbeat.server.standalone.infrastructure.entity.LazyProxyFlowDO">
<result column="client_id" property="clientId" />
<result column="create_time" property="createTime" />
<id column="id" property="id" />
<result column="in_flow" property="inFlow" />
<result column="ip" property="ip" />
<result column="is_deleted" property="isDeleted" />
<result column="out_flow" property="outFlow" />
<result column="port" property="port" />
<result column="protocol_type" property="protocolType" />
<result column="proxy_type" property="proxyType" />
<result column="server_id" property="serverId" />
<result column="update_time" property="updateTime" />
</resultMap>
</mapper>

View File

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.framework.lazy.cloud.network.heartbeat.server.standalone.infrastructure.mapper.LazyProxyPerDayFlowMapper">
<resultMap id="BaseResultMap" type="org.framework.lazy.cloud.network.heartbeat.server.standalone.infrastructure.entity.LazyProxyPerDayFlowDO">
<result column="client_id" property="clientId" />
<result column="create_time" property="createTime" />
<result column="day" property="day" />
<id column="id" property="id" />
<result column="in_flow" property="inFlow" />
<result column="ip" property="ip" />
<result column="is_deleted" property="isDeleted" />
<result column="out_flow" property="outFlow" />
<result column="port" property="port" />
<result column="protocol_type" property="protocolType" />
<result column="proxy_type" property="proxyType" />
<result column="server_id" property="serverId" />
<result column="update_time" property="updateTime" />
</resultMap>
</mapper>