diff --git a/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/NettyPermeateVisitorContext.java b/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/NettyPermeateVisitorContext.java new file mode 100644 index 0000000..fe58310 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/NettyPermeateVisitorContext.java @@ -0,0 +1,46 @@ +package org.framework.lazy.cloud.network.heartbeat.common; + +import java.util.ArrayList; +import java.util.List; +import java.util.concurrent.ConcurrentHashMap; + +/** + * 渗透端口对应访客上下文 + */ +public class NettyPermeateVisitorContext { + + protected static final ConcurrentHashMap PERMEATE_VISITOR_SOCKET = new ConcurrentHashMap<>(); + + + /** + * 添加访客 + * + * @param permeatePort 渗透端口 + * @param permeateVisitorSocket 渗透访客socket + */ + public static void pushPermeateVisitorSocket(Integer permeatePort, T permeateVisitorSocket) { + PERMEATE_VISITOR_SOCKET.put(permeatePort, permeateVisitorSocket); + } + + + /** + * 通过客户端ID获取客户端使用的访客socket + * + * @param 渗透访客socket + * @param permeatePort 渗透端口 + * @return 访客 + */ + public static T getPermeateVisitorSocket(Integer permeatePort) { + return (T) PERMEATE_VISITOR_SOCKET.getOrDefault(permeatePort, null); + } + /** + * 移除 渗透访客socket + * + * @param permeatePort 渗透端口 + */ + public static void removePermeateVisitorSockets(Integer permeatePort) { + PERMEATE_VISITOR_SOCKET.remove(permeatePort); + } + + +} diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/init/InitServerPermeateSocket.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/init/InitServerPermeateSocket.java new file mode 100644 index 0000000..b2ce848 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/init/InitServerPermeateSocket.java @@ -0,0 +1,24 @@ +package org.framework.lazy.cloud.network.heartbeat.server.init; + +import lombok.extern.slf4j.Slf4j; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.LazyInternalNetworkServerPermeateMappingApplication; +import org.springframework.boot.CommandLineRunner; +import org.springframework.context.annotation.Configuration; + +/** + * 初始化服务端内网渗透socket + */ +@Slf4j +@Configuration +public class InitServerPermeateSocket implements CommandLineRunner { + private final LazyInternalNetworkServerPermeateMappingApplication lazyInternalNetworkServerPermeateMappingApplication; + + public InitServerPermeateSocket(LazyInternalNetworkServerPermeateMappingApplication lazyInternalNetworkServerPermeateMappingApplication) { + this.lazyInternalNetworkServerPermeateMappingApplication = lazyInternalNetworkServerPermeateMappingApplication; + } + + @Override + public void run(String... args) throws Exception { + lazyInternalNetworkServerPermeateMappingApplication.initPermeateSocket(); + } +} diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/socket/NettyPermeateClientRealSocket.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/socket/NettyPermeateClientRealSocket.java index b9ebc3d..1314fc5 100644 --- a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/socket/NettyPermeateClientRealSocket.java +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/socket/NettyPermeateClientRealSocket.java @@ -7,7 +7,6 @@ import io.netty.channel.nio.NioEventLoopGroup; import io.netty.channel.socket.nio.NioSocketChannel; import lombok.extern.slf4j.Slf4j; import org.framework.lazy.cloud.network.heartbeat.common.InternalNetworkPermeateRealServer; -import org.framework.lazy.cloud.network.heartbeat.common.NettyVisitorPortContext; import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeKeyUtils; import org.framework.lazy.cloud.network.heartbeat.server.netty.filter.PermeateClientRealFilter; diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/socket/NettyPermeateVisitorSocket.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/socket/NettyPermeateVisitorSocket.java index dd07283..86a013e 100644 --- a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/socket/NettyPermeateVisitorSocket.java +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/socket/NettyPermeateVisitorSocket.java @@ -8,6 +8,7 @@ import io.netty.channel.socket.nio.NioServerSocketChannel; import lombok.Getter; import lombok.extern.slf4j.Slf4j; import org.framework.lazy.cloud.network.heartbeat.common.InternalNetworkPermeateRealServer; +import org.framework.lazy.cloud.network.heartbeat.common.NettyPermeateVisitorContext; import org.framework.lazy.cloud.network.heartbeat.common.NettyVisitorPortContext; import org.framework.lazy.cloud.network.heartbeat.common.adapter.ChannelFlowAdapter; import org.framework.lazy.cloud.network.heartbeat.server.netty.filter.PermeateVisitorFilter; @@ -44,8 +45,8 @@ public class NettyPermeateVisitorSocket { */ public void start() throws Exception { - Channel visitor = NettyVisitorPortContext.getVisitor(visitorPort); - if (visitor == null) { + NettyPermeateVisitorSocket nettyPermeateVisitorSocket = NettyPermeateVisitorContext.getPermeateVisitorSocket(visitorPort); + if (nettyPermeateVisitorSocket == null) { ServerBootstrap bootstrap = new ServerBootstrap(); bootstrap .group(bossGroup, workerGroup) @@ -71,12 +72,12 @@ public class NettyPermeateVisitorSocket { if (future.isSuccess()) { // 这里时异步处理 log.info("内网渗透服务端端口:[{}] 开启", visitorPort); - NettyVisitorPortContext.pushVisitor(visitorPort, future.channel()); } else { log.error("内网渗透服务端端口:[{}] 开启失败", visitorPort); } }); + NettyPermeateVisitorContext.pushPermeateVisitorSocket(visitorPort,this); } else { log.warn("内网渗透服务端端口:[{}] 重复启动", visitorPort); @@ -93,12 +94,9 @@ public class NettyPermeateVisitorSocket { } Channel visitor = NettyVisitorPortContext.getVisitor(visitorPort); if (visitor != null) { - // close channel visitor.close(); - // remove visitor - NettyVisitorPortContext.removeVisitor(visitorPort); - + NettyPermeateVisitorContext.removePermeateVisitorSockets(visitorPort); // log.warn("关闭客户端 :【{}】 访客户端口:【{}】", clientId, visitorPort); } else { log.warn("关闭内网渗透端口失败 渗透端口:【{}】", visitorPort); @@ -106,7 +104,7 @@ public class NettyPermeateVisitorSocket { } - public static final class NettyVisitorSocketBuilder { + public static final class NettyPermeateVisitorSocketBuilder { /** @@ -134,8 +132,8 @@ public class NettyPermeateVisitorSocket { */ private ChannelFlowAdapter channelFlowAdapter; - public static NettyPermeateVisitorSocket.NettyVisitorSocketBuilder builder() { - return new NettyPermeateVisitorSocket.NettyVisitorSocketBuilder(); + public static NettyPermeateVisitorSocketBuilder builder() { + return new NettyPermeateVisitorSocketBuilder(); } /** @@ -144,7 +142,7 @@ public class NettyPermeateVisitorSocket { * @param clientTargetIp 客户端目标IP * @return 当前对象 */ - public NettyPermeateVisitorSocket.NettyVisitorSocketBuilder builderClientTargetIp(String clientTargetIp) { + public NettyPermeateVisitorSocketBuilder builderClientTargetIp(String clientTargetIp) { this.clientTargetIp = clientTargetIp; return this; } @@ -155,7 +153,7 @@ public class NettyPermeateVisitorSocket { * @param clientTargetPort 客户端目标端口 * @return 当前对象 */ - public NettyPermeateVisitorSocket.NettyVisitorSocketBuilder builderClientTargetPort(Integer clientTargetPort) { + public NettyPermeateVisitorSocketBuilder builderClientTargetPort(Integer clientTargetPort) { this.clientTargetPort = clientTargetPort; return this; } @@ -166,7 +164,7 @@ public class NettyPermeateVisitorSocket { * @param permeateVisitorPort 访客端口 * @return 当前对象 */ - public NettyPermeateVisitorSocket.NettyVisitorSocketBuilder builderVisitorPort(Integer permeateVisitorPort) { + public NettyPermeateVisitorSocketBuilder builderVisitorPort(Integer permeateVisitorPort) { this.permeateVisitorPort = permeateVisitorPort; return this; } @@ -177,7 +175,7 @@ public class NettyPermeateVisitorSocket { * @param channelFlowAdapter 流量适配器 * @return 当前对象 */ - public NettyPermeateVisitorSocket.NettyVisitorSocketBuilder builderChannelFlowAdapter(ChannelFlowAdapter channelFlowAdapter) { + public NettyPermeateVisitorSocketBuilder builderChannelFlowAdapter(ChannelFlowAdapter channelFlowAdapter) { this.channelFlowAdapter = channelFlowAdapter; return this; } @@ -188,7 +186,7 @@ public class NettyPermeateVisitorSocket { * @param visitorId 访客ID * @return 当前对象 */ - public NettyPermeateVisitorSocket.NettyVisitorSocketBuilder builderVisitorId(String visitorId) { + public NettyPermeateVisitorSocketBuilder builderVisitorId(String visitorId) { this.visitorId = visitorId; return this; } diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/LazyInternalNetworkServerPermeateMappingApplication.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/LazyInternalNetworkServerPermeateMappingApplication.java new file mode 100644 index 0000000..1986dd3 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/LazyInternalNetworkServerPermeateMappingApplication.java @@ -0,0 +1,115 @@ +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.internal.network.server.permeate.mapping.LazyInternalNetworkServerPermeateMapping; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.internal.network.server.permeate.mapping.LazyInternalNetworkServerPermeateMappingRemoveCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.internal.network.server.permeate.mapping.LazyInternalNetworkServerPermeateMappingStoryCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.internal.network.server.permeate.mapping.LazyInternalNetworkServerPermeateMappingUpdateCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.internal.network.server.permeate.mapping.LazyInternalNetworkServerPermeateMappingQueryListCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.internal.network.server.permeate.mapping.LazyInternalNetworkServerPermeateMappingQueryOneCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.dto.LazyInternalNetworkServerPermeateMappingDTO; +import java.util.List; +import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; +/** + * describe 服务端网络渗透映射 + * + * @author Jia wei Wu + * @date 2024/09/17 01:35 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyApplication + **/ + +public interface LazyInternalNetworkServerPermeateMappingApplication { + + + /** + * describe 新增服务端网络渗透映射 + * + * @param lazyInternalNetworkServerPermeateMappingStoryCommand 新增服务端网络渗透映射 + * @return {@link Result} 服务端网络渗透映射新增后领域对象 + + * @author Jia wei Wu + * @date 2024/09/17 01:35 下午 + **/ + + Result story(LazyInternalNetworkServerPermeateMappingStoryCommand lazyInternalNetworkServerPermeateMappingStoryCommand); + + /** + * describe 批量新增服务端网络渗透映射 + * + * @param lazyInternalNetworkServerPermeateMappingStoryCommandList 批量新增服务端网络渗透映射 + * @return {@link Result>} 服务端网络渗透映射新增后领域对象集合 + + * @author Jia wei Wu + * @date 2024/09/17 01:35 下午 + **/ + + Result> batchStory(List lazyInternalNetworkServerPermeateMappingStoryCommandList); + + /** + * describe 更新服务端网络渗透映射 + * + * @param lazyInternalNetworkServerPermeateMappingUpdateCommand 更新服务端网络渗透映射 + * @return {@link Result} 服务端网络渗透映射领域对象 + + * @author Jia wei Wu + * @date 2024/09/17 01:35 下午 + **/ + + Result updateOne(LazyInternalNetworkServerPermeateMappingUpdateCommand lazyInternalNetworkServerPermeateMappingUpdateCommand); + + /** + * describe 查询单个服务端网络渗透映射 + * + * @param lazyInternalNetworkServerPermeateMappingQueryOneCommand 查询单个服务端网络渗透映射 + * @return {@link Result} 服务端网络渗透映射DTO对象 + + * @author Jia wei Wu + * @date 2024/09/17 01:35 下午 + **/ + + Result findOne(LazyInternalNetworkServerPermeateMappingQueryOneCommand lazyInternalNetworkServerPermeateMappingQueryOneCommand); + + /** + * describe 查询多个服务端网络渗透映射 + * + * @param lazyInternalNetworkServerPermeateMappingQueryListCommand 查询多个服务端网络渗透映射 + * @return {@link Result >} 服务端网络渗透映射DTO对象 + + * @author Jia wei Wu + * @date 2024/09/17 01:35 下午 + **/ + + Result > findList(LazyInternalNetworkServerPermeateMappingQueryListCommand lazyInternalNetworkServerPermeateMappingQueryListCommand); + + /** + * describe 分页查询多个服务端网络渗透映射 + * + * @param lazyInternalNetworkServerPermeateMappingQueryListCommand 分页查询多个服务端网络渗透映射 + * @return {@link Result >} 分页服务端网络渗透映射DTO对象 + + * @author Jia wei Wu + * @date 2024/09/17 01:35 下午 + **/ + + Result > findPage(int size,int current,LazyInternalNetworkServerPermeateMappingQueryListCommand lazyInternalNetworkServerPermeateMappingQueryListCommand); + + /** + * describe 删除服务端网络渗透映射 + * + * @param lazyInternalNetworkServerPermeateMappingRemoveCommand 删除服务端网络渗透映射 + * @return {@link Result} 服务端网络渗透映射 + + * @author Jia wei Wu + * @date 2024/09/17 01:35 下午 + **/ + + Result remove(LazyInternalNetworkServerPermeateMappingRemoveCommand lazyInternalNetworkServerPermeateMappingRemoveCommand); + + + /** + * 初始化 网络渗透socket + * @return + */ + Result initPermeateSocket(); +} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/assembler/LazyInternalNetworkServerPermeateMappingDTOAssembler.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/assembler/LazyInternalNetworkServerPermeateMappingDTOAssembler.java new file mode 100644 index 0000000..b2ce3a5 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/assembler/LazyInternalNetworkServerPermeateMappingDTOAssembler.java @@ -0,0 +1,93 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.application.assembler; + +import org.framework.lazy.cloud.network.heartbeat.server.standalone.domain.model.lazy.internal.network.server.permeate.mapping.LazyInternalNetworkServerPermeateMapping; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.internal.network.server.permeate.mapping.LazyInternalNetworkServerPermeateMappingRemoveCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.internal.network.server.permeate.mapping.LazyInternalNetworkServerPermeateMappingStoryCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.internal.network.server.permeate.mapping.LazyInternalNetworkServerPermeateMappingUpdateCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.internal.network.server.permeate.mapping.LazyInternalNetworkServerPermeateMappingQueryListCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.internal.network.server.permeate.mapping.LazyInternalNetworkServerPermeateMappingQueryOneCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.dto.LazyInternalNetworkServerPermeateMappingDTO; +import org.mapstruct.factory.Mappers; +import org.mapstruct.Mapper; +/** + * describe 服务端网络渗透映射 + * + * @author Jia wei Wu + * @date 2024/09/17 01:35 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyAssembler + **/ +@Mapper +public interface LazyInternalNetworkServerPermeateMappingDTOAssembler { + + + /** + * describe MapStruct 创建的代理对象 + * + + + + * @author Jia wei Wu + * @date 2024/09/17 01:35 下午 + **/ + LazyInternalNetworkServerPermeateMappingDTOAssembler INSTANCE = Mappers.getMapper(LazyInternalNetworkServerPermeateMappingDTOAssembler.class); + /** + * describe 应用层存储入参转换成 领域对象 + * + * @param lazyInternalNetworkServerPermeateMappingStoryCommand 保存服务端网络渗透映射对象 + * @return {@link LazyInternalNetworkServerPermeateMapping} 服务端网络渗透映射领域对象 + + * @author Jia wei Wu + * @date 2024/09/17 01:35 下午 + **/ + LazyInternalNetworkServerPermeateMapping toLazyInternalNetworkServerPermeateMapping(LazyInternalNetworkServerPermeateMappingStoryCommand lazyInternalNetworkServerPermeateMappingStoryCommand); + /** + * describe 应用层更新入参转换成 领域对象 + * + * @param lazyInternalNetworkServerPermeateMappingUpdateCommand 更新服务端网络渗透映射对象 + * @return {@link LazyInternalNetworkServerPermeateMapping} 服务端网络渗透映射领域对象 + + * @author Jia wei Wu + * @date 2024/09/17 01:35 下午 + **/ + LazyInternalNetworkServerPermeateMapping toLazyInternalNetworkServerPermeateMapping(LazyInternalNetworkServerPermeateMappingUpdateCommand lazyInternalNetworkServerPermeateMappingUpdateCommand); + /** + * describe 应用层查询入参转换成 领域对象 + * + * @param lazyInternalNetworkServerPermeateMappingQueryOneCommand 查询单个服务端网络渗透映射对象参数 + * @return {@link LazyInternalNetworkServerPermeateMapping} 服务端网络渗透映射领域对象 + + * @author Jia wei Wu + * @date 2024/09/17 01:35 下午 + **/ + LazyInternalNetworkServerPermeateMapping toLazyInternalNetworkServerPermeateMapping(LazyInternalNetworkServerPermeateMappingQueryOneCommand lazyInternalNetworkServerPermeateMappingQueryOneCommand); + /** + * describe 应用层查询入参转换成 领域对象 + * + * @param lazyInternalNetworkServerPermeateMappingQueryListCommand 查询集合服务端网络渗透映射对象参数 + * @return {@link LazyInternalNetworkServerPermeateMapping} 服务端网络渗透映射领域对象 + + * @author Jia wei Wu + * @date 2024/09/17 01:35 下午 + **/ + LazyInternalNetworkServerPermeateMapping toLazyInternalNetworkServerPermeateMapping(LazyInternalNetworkServerPermeateMappingQueryListCommand lazyInternalNetworkServerPermeateMappingQueryListCommand); + /** + * describe 应用层删除入参转换成 领域对象 + * + * @param lazyInternalNetworkServerPermeateMappingRemoveCommand 删除服务端网络渗透映射对象参数 + * @return {@link LazyInternalNetworkServerPermeateMapping} 服务端网络渗透映射领域对象 + + * @author Jia wei Wu + * @date 2024/09/17 01:35 下午 + **/ + LazyInternalNetworkServerPermeateMapping toLazyInternalNetworkServerPermeateMapping(LazyInternalNetworkServerPermeateMappingRemoveCommand lazyInternalNetworkServerPermeateMappingRemoveCommand); + /** + * describe 持久层领域对象转换成DTO对象 + * + * @param lazyInternalNetworkServerPermeateMapping 服务端网络渗透映射领域对象 + * @return {@link LazyInternalNetworkServerPermeateMappingDTO} 服务端网络渗透映射DTO对象 + + * @author Jia wei Wu + * @date 2024/09/17 01:35 下午 + **/ + LazyInternalNetworkServerPermeateMappingDTO fromLazyInternalNetworkServerPermeateMapping(LazyInternalNetworkServerPermeateMapping lazyInternalNetworkServerPermeateMapping); +} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/internal/network/server/permeate/mapping/LazyInternalNetworkServerPermeateMappingQueryListCommand.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/internal/network/server/permeate/mapping/LazyInternalNetworkServerPermeateMappingQueryListCommand.java new file mode 100644 index 0000000..b19df54 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/internal/network/server/permeate/mapping/LazyInternalNetworkServerPermeateMappingQueryListCommand.java @@ -0,0 +1,87 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.internal.network.server.permeate.mapping; + +import lombok.Data; +import lombok.experimental.Accessors; +import io.swagger.v3.oas.annotations.media.Schema; +import java.time.LocalDateTime; +import java.lang.String; +import java.lang.Long; +import java.lang.Boolean; +import java.lang.Integer; +/** + * describe 服务端网络渗透映射 + * + * @author Jia wei Wu + * @date 2024/09/17 01:35 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyQueryListCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_internal_network_server_permeate_mapping_query_List_command",description = "服务端网络渗透映射") +public class LazyInternalNetworkServerPermeateMappingQueryListCommand { + + + /** + * + * + */ + @Schema(description ="",name ="createTime",example = "") + private LocalDateTime createTime; + + /** + * + * 描述 + */ + @Schema(description ="描述",name ="describe",example = "") + private String describe; + + /** + * + * + */ + @Schema(description ="",name ="id",example = "") + private Long id; + + /** + * + * 是否删除 默认否 + */ + @Schema(description ="是否删除 默认否",name ="isDeleted",example = "") + private Boolean isDeleted; + + /** + * + * 渗透目标地址 + */ + @Schema(description ="渗透目标地址",name ="permeateTargetIp",example = "") + private String permeateTargetIp; + + /** + * + * 渗透目标端口 + */ + @Schema(description ="渗透目标端口",name ="permeateTargetPort",example = "") + private Integer permeateTargetPort; + + /** + * + * 服务端ID + */ + @Schema(description ="服务端ID",name ="serverId",example = "") + private String serverId; + + /** + * + * + */ + @Schema(description ="",name ="updateTime",example = "") + private LocalDateTime updateTime; + + /** + * + * 渗透端口 + */ + @Schema(description ="渗透端口",name ="visitorPort",example = "") + private Integer visitorPort; + +} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/internal/network/server/permeate/mapping/LazyInternalNetworkServerPermeateMappingQueryOneCommand.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/internal/network/server/permeate/mapping/LazyInternalNetworkServerPermeateMappingQueryOneCommand.java new file mode 100644 index 0000000..2656e38 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/internal/network/server/permeate/mapping/LazyInternalNetworkServerPermeateMappingQueryOneCommand.java @@ -0,0 +1,87 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.internal.network.server.permeate.mapping; + +import lombok.Data; +import lombok.experimental.Accessors; +import io.swagger.v3.oas.annotations.media.Schema; +import java.time.LocalDateTime; +import java.lang.String; +import java.lang.Long; +import java.lang.Boolean; +import java.lang.Integer; +/** + * describe 服务端网络渗透映射 + * + * @author Jia wei Wu + * @date 2024/09/17 01:35 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyQueryOneCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_internal_network_server_permeate_mapping_query_one_command",description = "服务端网络渗透映射") +public class LazyInternalNetworkServerPermeateMappingQueryOneCommand { + + + /** + * + * + */ + @Schema(description ="",name ="createTime",example = "") + private LocalDateTime createTime; + + /** + * + * 描述 + */ + @Schema(description ="描述",name ="describe",example = "") + private String describe; + + /** + * + * + */ + @Schema(description ="",name ="id",example = "") + private Long id; + + /** + * + * 是否删除 默认否 + */ + @Schema(description ="是否删除 默认否",name ="isDeleted",example = "") + private Boolean isDeleted; + + /** + * + * 渗透目标地址 + */ + @Schema(description ="渗透目标地址",name ="permeateTargetIp",example = "") + private String permeateTargetIp; + + /** + * + * 渗透目标端口 + */ + @Schema(description ="渗透目标端口",name ="permeateTargetPort",example = "") + private Integer permeateTargetPort; + + /** + * + * 服务端ID + */ + @Schema(description ="服务端ID",name ="serverId",example = "") + private String serverId; + + /** + * + * + */ + @Schema(description ="",name ="updateTime",example = "") + private LocalDateTime updateTime; + + /** + * + * 渗透端口 + */ + @Schema(description ="渗透端口",name ="visitorPort",example = "") + private Integer visitorPort; + +} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/internal/network/server/permeate/mapping/LazyInternalNetworkServerPermeateMappingRemoveCommand.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/internal/network/server/permeate/mapping/LazyInternalNetworkServerPermeateMappingRemoveCommand.java new file mode 100644 index 0000000..a89610e --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/internal/network/server/permeate/mapping/LazyInternalNetworkServerPermeateMappingRemoveCommand.java @@ -0,0 +1,87 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.internal.network.server.permeate.mapping; + +import lombok.Data; +import lombok.experimental.Accessors; +import io.swagger.v3.oas.annotations.media.Schema; +import java.time.LocalDateTime; +import java.lang.String; +import java.lang.Long; +import java.lang.Boolean; +import java.lang.Integer; +/** + * describe 服务端网络渗透映射 + * + * @author Jia wei Wu + * @date 2024/09/17 01:35 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyRemoveCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_internal_network_server_permeate_mapping_remove_command",description = "服务端网络渗透映射") +public class LazyInternalNetworkServerPermeateMappingRemoveCommand { + + + /** + * + * + */ + @Schema(description ="",name ="createTime",example = "") + private LocalDateTime createTime; + + /** + * + * 描述 + */ + @Schema(description ="描述",name ="describe",example = "") + private String describe; + + /** + * + * + */ + @Schema(description ="",name ="id",example = "") + private Long id; + + /** + * + * 是否删除 默认否 + */ + @Schema(description ="是否删除 默认否",name ="isDeleted",example = "") + private Boolean isDeleted; + + /** + * + * 渗透目标地址 + */ + @Schema(description ="渗透目标地址",name ="permeateTargetIp",example = "") + private String permeateTargetIp; + + /** + * + * 渗透目标端口 + */ + @Schema(description ="渗透目标端口",name ="permeateTargetPort",example = "") + private Integer permeateTargetPort; + + /** + * + * 服务端ID + */ + @Schema(description ="服务端ID",name ="serverId",example = "") + private String serverId; + + /** + * + * + */ + @Schema(description ="",name ="updateTime",example = "") + private LocalDateTime updateTime; + + /** + * + * 渗透端口 + */ + @Schema(description ="渗透端口",name ="visitorPort",example = "") + private Integer visitorPort; + +} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/internal/network/server/permeate/mapping/LazyInternalNetworkServerPermeateMappingStoryCommand.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/internal/network/server/permeate/mapping/LazyInternalNetworkServerPermeateMappingStoryCommand.java new file mode 100644 index 0000000..7a7b982 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/internal/network/server/permeate/mapping/LazyInternalNetworkServerPermeateMappingStoryCommand.java @@ -0,0 +1,87 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.internal.network.server.permeate.mapping; + +import lombok.Data; +import lombok.experimental.Accessors; +import io.swagger.v3.oas.annotations.media.Schema; +import java.time.LocalDateTime; +import java.lang.String; +import java.lang.Long; +import java.lang.Boolean; +import java.lang.Integer; +/** + * describe 服务端网络渗透映射 + * + * @author Jia wei Wu + * @date 2024/09/17 01:35 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyStoryCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_internal_network_server_permeate_mapping_story_command",description = "服务端网络渗透映射") +public class LazyInternalNetworkServerPermeateMappingStoryCommand { + + + /** + * + * + */ + @Schema(description ="",name ="createTime",example = "") + private LocalDateTime createTime; + + /** + * + * 描述 + */ + @Schema(description ="描述",name ="describe",example = "") + private String describe; + + /** + * + * + */ + @Schema(description ="",name ="id",example = "") + private Long id; + + /** + * + * 是否删除 默认否 + */ + @Schema(description ="是否删除 默认否",name ="isDeleted",example = "") + private Boolean isDeleted; + + /** + * + * 渗透目标地址 + */ + @Schema(description ="渗透目标地址",name ="permeateTargetIp",example = "") + private String permeateTargetIp; + + /** + * + * 渗透目标端口 + */ + @Schema(description ="渗透目标端口",name ="permeateTargetPort",example = "") + private Integer permeateTargetPort; + + /** + * + * 服务端ID + */ + @Schema(description ="服务端ID",name ="serverId",example = "") + private String serverId; + + /** + * + * + */ + @Schema(description ="",name ="updateTime",example = "") + private LocalDateTime updateTime; + + /** + * + * 渗透端口 + */ + @Schema(description ="渗透端口",name ="visitorPort",example = "") + private Integer visitorPort; + +} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/internal/network/server/permeate/mapping/LazyInternalNetworkServerPermeateMappingUpdateCommand.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/internal/network/server/permeate/mapping/LazyInternalNetworkServerPermeateMappingUpdateCommand.java new file mode 100644 index 0000000..0110b93 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/internal/network/server/permeate/mapping/LazyInternalNetworkServerPermeateMappingUpdateCommand.java @@ -0,0 +1,87 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.internal.network.server.permeate.mapping; + +import lombok.Data; +import lombok.experimental.Accessors; +import io.swagger.v3.oas.annotations.media.Schema; +import java.time.LocalDateTime; +import java.lang.String; +import java.lang.Long; +import java.lang.Boolean; +import java.lang.Integer; +/** + * describe 服务端网络渗透映射 + * + * @author Jia wei Wu + * @date 2024/09/17 01:35 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyUpdateCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_internal_network_server_permeate_mapping_update_command",description = "服务端网络渗透映射") +public class LazyInternalNetworkServerPermeateMappingUpdateCommand { + + + /** + * + * + */ + @Schema(description ="",name ="createTime",example = "") + private LocalDateTime createTime; + + /** + * + * 描述 + */ + @Schema(description ="描述",name ="describe",example = "") + private String describe; + + /** + * + * + */ + @Schema(description ="",name ="id",example = "") + private Long id; + + /** + * + * 是否删除 默认否 + */ + @Schema(description ="是否删除 默认否",name ="isDeleted",example = "") + private Boolean isDeleted; + + /** + * + * 渗透目标地址 + */ + @Schema(description ="渗透目标地址",name ="permeateTargetIp",example = "") + private String permeateTargetIp; + + /** + * + * 渗透目标端口 + */ + @Schema(description ="渗透目标端口",name ="permeateTargetPort",example = "") + private Integer permeateTargetPort; + + /** + * + * 服务端ID + */ + @Schema(description ="服务端ID",name ="serverId",example = "") + private String serverId; + + /** + * + * + */ + @Schema(description ="",name ="updateTime",example = "") + private LocalDateTime updateTime; + + /** + * + * 渗透端口 + */ + @Schema(description ="渗透端口",name ="visitorPort",example = "") + private Integer visitorPort; + +} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/netty/server/permeate/port/pool/LazyNettyServerPermeatePortPoolQueryListCommand.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/netty/server/permeate/port/pool/LazyNettyServerPermeatePortPoolQueryListCommand.java index c3c2d42..bba013f 100644 --- a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/netty/server/permeate/port/pool/LazyNettyServerPermeatePortPoolQueryListCommand.java +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/netty/server/permeate/port/pool/LazyNettyServerPermeatePortPoolQueryListCommand.java @@ -20,14 +20,6 @@ import java.lang.Integer; @Schema(title = "lazy_netty_server_permeate_port_pool_query_List_command",description = "服务端内网渗透端口池") public class LazyNettyServerPermeatePortPoolQueryListCommand { - - /** - * - * 客户端ID - */ - @Schema(description ="客户端ID",name ="clientId",example = "") - private String clientId; - /** * * 创建时间 diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/netty/server/permeate/port/pool/LazyNettyServerPermeatePortPoolQueryOneCommand.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/netty/server/permeate/port/pool/LazyNettyServerPermeatePortPoolQueryOneCommand.java index d41b991..8386467 100644 --- a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/netty/server/permeate/port/pool/LazyNettyServerPermeatePortPoolQueryOneCommand.java +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/netty/server/permeate/port/pool/LazyNettyServerPermeatePortPoolQueryOneCommand.java @@ -21,13 +21,6 @@ import java.lang.Integer; public class LazyNettyServerPermeatePortPoolQueryOneCommand { - /** - * - * 客户端ID - */ - @Schema(description ="客户端ID",name ="clientId",example = "") - private String clientId; - /** * * 创建时间 diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/netty/server/permeate/port/pool/LazyNettyServerPermeatePortPoolRemoveCommand.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/netty/server/permeate/port/pool/LazyNettyServerPermeatePortPoolRemoveCommand.java index fd38563..294bafc 100644 --- a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/netty/server/permeate/port/pool/LazyNettyServerPermeatePortPoolRemoveCommand.java +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/netty/server/permeate/port/pool/LazyNettyServerPermeatePortPoolRemoveCommand.java @@ -21,13 +21,6 @@ import java.lang.Integer; public class LazyNettyServerPermeatePortPoolRemoveCommand { - /** - * - * 客户端ID - */ - @Schema(description ="客户端ID",name ="clientId",example = "") - private String clientId; - /** * * 创建时间 diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/netty/server/permeate/port/pool/LazyNettyServerPermeatePortPoolStoryCommand.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/netty/server/permeate/port/pool/LazyNettyServerPermeatePortPoolStoryCommand.java index 5b4424b..6ac3c78 100644 --- a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/netty/server/permeate/port/pool/LazyNettyServerPermeatePortPoolStoryCommand.java +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/netty/server/permeate/port/pool/LazyNettyServerPermeatePortPoolStoryCommand.java @@ -21,13 +21,6 @@ import java.lang.Integer; public class LazyNettyServerPermeatePortPoolStoryCommand { - /** - * - * 客户端ID - */ - @Schema(description ="客户端ID",name ="clientId",example = "") - private String clientId; - /** * * 创建时间 diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/netty/server/permeate/port/pool/LazyNettyServerPermeatePortPoolUpdateCommand.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/netty/server/permeate/port/pool/LazyNettyServerPermeatePortPoolUpdateCommand.java index e49dc51..dd76fb2 100644 --- a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/netty/server/permeate/port/pool/LazyNettyServerPermeatePortPoolUpdateCommand.java +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/netty/server/permeate/port/pool/LazyNettyServerPermeatePortPoolUpdateCommand.java @@ -21,13 +21,6 @@ import java.lang.Integer; public class LazyNettyServerPermeatePortPoolUpdateCommand { - /** - * - * 客户端ID - */ - @Schema(description ="客户端ID",name ="clientId",example = "") - private String clientId; - /** * * 创建时间 diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/dto/LazyInternalNetworkServerPermeateMappingDTO.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/dto/LazyInternalNetworkServerPermeateMappingDTO.java new file mode 100644 index 0000000..1b03214 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/dto/LazyInternalNetworkServerPermeateMappingDTO.java @@ -0,0 +1,87 @@ +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.time.LocalDateTime; +import java.lang.String; +import java.lang.Long; +import java.lang.Boolean; +import java.lang.Integer; +/** + * describe 服务端网络渗透映射 + * + * @author Jia wei Wu + * @date 2024/09/17 01:35 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyDTO + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_internal_network_server_permeate_mapping_command_dto",description = "服务端网络渗透映射") +public class LazyInternalNetworkServerPermeateMappingDTO { + + + /** + * + * + */ + @Schema(description ="",name ="createTime",example = "") + private LocalDateTime createTime; + + /** + * + * 描述 + */ + @Schema(description ="描述",name ="describe",example = "") + private String describe; + + /** + * + * + */ + @Schema(description ="",name ="id",example = "") + private Long id; + + /** + * + * 是否删除 默认否 + */ + @Schema(description ="是否删除 默认否",name ="isDeleted",example = "") + private Boolean isDeleted; + + /** + * + * 渗透目标地址 + */ + @Schema(description ="渗透目标地址",name ="permeateTargetIp",example = "") + private String permeateTargetIp; + + /** + * + * 渗透目标端口 + */ + @Schema(description ="渗透目标端口",name ="permeateTargetPort",example = "") + private Integer permeateTargetPort; + + /** + * + * 服务端ID + */ + @Schema(description ="服务端ID",name ="serverId",example = "") + private String serverId; + + /** + * + * + */ + @Schema(description ="",name ="updateTime",example = "") + private LocalDateTime updateTime; + + /** + * + * 渗透端口 + */ + @Schema(description ="渗透端口",name ="visitorPort",example = "") + private Integer visitorPort; + +} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/impl/LazyInternalNetworkServerPermeateMappingApplicationImpl.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/impl/LazyInternalNetworkServerPermeateMappingApplicationImpl.java new file mode 100644 index 0000000..f7ed87e --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/impl/LazyInternalNetworkServerPermeateMappingApplicationImpl.java @@ -0,0 +1,256 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.application.impl; + +import jakarta.annotation.Resource; +import lombok.extern.slf4j.Slf4j; +import org.framework.lazy.cloud.network.heartbeat.common.NettyPermeateVisitorContext; +import org.framework.lazy.cloud.network.heartbeat.common.adapter.ChannelFlowAdapter; +import org.framework.lazy.cloud.network.heartbeat.server.netty.socket.NettyPermeateVisitorSocket; +import org.framework.lazy.cloud.network.heartbeat.server.properties.ServerNodeProperties; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.LazyInternalNetworkServerPermeateMappingApplication; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.assembler.LazyInternalNetworkServerPermeateMappingDTOAssembler; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.internal.network.server.permeate.mapping.*; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.dto.LazyInternalNetworkServerPermeateMappingDTO; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.domain.model.lazy.internal.network.server.permeate.mapping.LazyInternalNetworkServerPermeateMapping; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.domain.model.lazy.internal.network.server.permeate.mapping.LazyInternalNetworkServerPermeateMappingRepository; +import org.wu.framework.core.utils.ObjectUtils; +import org.wu.framework.database.lazy.web.plus.stereotype.LazyApplication; +import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; +import org.wu.framework.web.response.Result; + +import java.io.IOException; +import java.util.List; +import java.util.stream.Collectors; + +/** + * describe 服务端网络渗透映射 + * + * @author Jia wei Wu + * @date 2024/09/17 01:35 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyApplicationImpl + **/ +@Slf4j +@LazyApplication +public class LazyInternalNetworkServerPermeateMappingApplicationImpl implements LazyInternalNetworkServerPermeateMappingApplication { + + @Resource + LazyInternalNetworkServerPermeateMappingRepository lazyInternalNetworkServerPermeateMappingRepository; + + @Resource + ServerNodeProperties serverNodeProperties; + + @Resource + ChannelFlowAdapter channelFlowAdapter; + + /** + * describe 新增服务端网络渗透映射 + * + * @param lazyInternalNetworkServerPermeateMappingStoryCommand 新增服务端网络渗透映射 + * @return {@link Result} 服务端网络渗透映射新增后领域对象 + * @author Jia wei Wu + * @date 2024/09/17 01:35 下午 + **/ + + @Override + public Result story(LazyInternalNetworkServerPermeateMappingStoryCommand lazyInternalNetworkServerPermeateMappingStoryCommand) { + LazyInternalNetworkServerPermeateMapping lazyInternalNetworkServerPermeateMapping = LazyInternalNetworkServerPermeateMappingDTOAssembler.INSTANCE.toLazyInternalNetworkServerPermeateMapping(lazyInternalNetworkServerPermeateMappingStoryCommand); + String serverId = serverNodeProperties.getNodeId(); + lazyInternalNetworkServerPermeateMapping.setServerId(serverId); + // 开启端口 + String permeateTargetIp = lazyInternalNetworkServerPermeateMapping.getPermeateTargetIp(); + Integer permeateTargetPort = lazyInternalNetworkServerPermeateMapping.getPermeateTargetPort(); + Integer visitorPort = lazyInternalNetworkServerPermeateMapping.getVisitorPort(); + this.changePermeateSocket(permeateTargetIp, permeateTargetPort, visitorPort); + return lazyInternalNetworkServerPermeateMappingRepository.story(lazyInternalNetworkServerPermeateMapping); + } + + /** + * describe 批量新增服务端网络渗透映射 + * + * @param lazyInternalNetworkServerPermeateMappingStoryCommandList 批量新增服务端网络渗透映射 + * @return {@link Result>} 服务端网络渗透映射新增后领域对象集合 + * @author Jia wei Wu + * @date 2024/09/17 01:35 下午 + **/ + + @Override + public Result> batchStory(List lazyInternalNetworkServerPermeateMappingStoryCommandList) { + List lazyInternalNetworkServerPermeateMappingList = lazyInternalNetworkServerPermeateMappingStoryCommandList.stream().map(LazyInternalNetworkServerPermeateMappingDTOAssembler.INSTANCE::toLazyInternalNetworkServerPermeateMapping).collect(Collectors.toList()); + for (LazyInternalNetworkServerPermeateMapping lazyInternalNetworkServerPermeateMapping : lazyInternalNetworkServerPermeateMappingList) { + String serverId = serverNodeProperties.getNodeId(); + lazyInternalNetworkServerPermeateMapping.setServerId(serverId); + // 开启端口 + String permeateTargetIp = lazyInternalNetworkServerPermeateMapping.getPermeateTargetIp(); + Integer permeateTargetPort = lazyInternalNetworkServerPermeateMapping.getPermeateTargetPort(); + Integer visitorPort = lazyInternalNetworkServerPermeateMapping.getVisitorPort(); + this.changePermeateSocket(permeateTargetIp, permeateTargetPort, visitorPort); + } + return lazyInternalNetworkServerPermeateMappingRepository.batchStory(lazyInternalNetworkServerPermeateMappingList); + } + + /** + * describe 更新服务端网络渗透映射 + * + * @param lazyInternalNetworkServerPermeateMappingUpdateCommand 更新服务端网络渗透映射 + * @return {@link Result} 服务端网络渗透映射领域对象 + * @author Jia wei Wu + * @date 2024/09/17 01:35 下午 + **/ + + @Override + public Result updateOne(LazyInternalNetworkServerPermeateMappingUpdateCommand lazyInternalNetworkServerPermeateMappingUpdateCommand) { + LazyInternalNetworkServerPermeateMapping lazyInternalNetworkServerPermeateMapping = LazyInternalNetworkServerPermeateMappingDTOAssembler.INSTANCE.toLazyInternalNetworkServerPermeateMapping(lazyInternalNetworkServerPermeateMappingUpdateCommand); + String serverId = serverNodeProperties.getNodeId(); + lazyInternalNetworkServerPermeateMapping.setServerId(serverId); + // 开启端口 + String permeateTargetIp = lazyInternalNetworkServerPermeateMapping.getPermeateTargetIp(); + Integer permeateTargetPort = lazyInternalNetworkServerPermeateMapping.getPermeateTargetPort(); + Integer visitorPort = lazyInternalNetworkServerPermeateMapping.getVisitorPort(); + this.changePermeateSocket(permeateTargetIp, permeateTargetPort, visitorPort); + return lazyInternalNetworkServerPermeateMappingRepository.story(lazyInternalNetworkServerPermeateMapping); + } + + /** + * describe 查询单个服务端网络渗透映射 + * + * @param lazyInternalNetworkServerPermeateMappingQueryOneCommand 查询单个服务端网络渗透映射 + * @return {@link Result} 服务端网络渗透映射DTO对象 + * @author Jia wei Wu + * @date 2024/09/17 01:35 下午 + **/ + + @Override + public Result findOne(LazyInternalNetworkServerPermeateMappingQueryOneCommand lazyInternalNetworkServerPermeateMappingQueryOneCommand) { + LazyInternalNetworkServerPermeateMapping lazyInternalNetworkServerPermeateMapping = LazyInternalNetworkServerPermeateMappingDTOAssembler.INSTANCE.toLazyInternalNetworkServerPermeateMapping(lazyInternalNetworkServerPermeateMappingQueryOneCommand); + return lazyInternalNetworkServerPermeateMappingRepository.findOne(lazyInternalNetworkServerPermeateMapping).convert(LazyInternalNetworkServerPermeateMappingDTOAssembler.INSTANCE::fromLazyInternalNetworkServerPermeateMapping); + } + + /** + * describe 查询多个服务端网络渗透映射 + * + * @param lazyInternalNetworkServerPermeateMappingQueryListCommand 查询多个服务端网络渗透映射 + * @return {@link Result>} 服务端网络渗透映射DTO对象 + * @author Jia wei Wu + * @date 2024/09/17 01:35 下午 + **/ + + @Override + public Result> findList(LazyInternalNetworkServerPermeateMappingQueryListCommand lazyInternalNetworkServerPermeateMappingQueryListCommand) { + LazyInternalNetworkServerPermeateMapping lazyInternalNetworkServerPermeateMapping = LazyInternalNetworkServerPermeateMappingDTOAssembler.INSTANCE.toLazyInternalNetworkServerPermeateMapping(lazyInternalNetworkServerPermeateMappingQueryListCommand); + return lazyInternalNetworkServerPermeateMappingRepository.findList(lazyInternalNetworkServerPermeateMapping).convert(lazyInternalNetworkServerPermeateMappings -> lazyInternalNetworkServerPermeateMappings.stream().map(LazyInternalNetworkServerPermeateMappingDTOAssembler.INSTANCE::fromLazyInternalNetworkServerPermeateMapping).collect(Collectors.toList())); + } + + /** + * describe 分页查询多个服务端网络渗透映射 + * + * @param lazyInternalNetworkServerPermeateMappingQueryListCommand 分页查询多个服务端网络渗透映射 + * @return {@link Result>} 分页服务端网络渗透映射DTO对象 + * @author Jia wei Wu + * @date 2024/09/17 01:35 下午 + **/ + + @Override + public Result> findPage(int size, int current, LazyInternalNetworkServerPermeateMappingQueryListCommand lazyInternalNetworkServerPermeateMappingQueryListCommand) { + LazyInternalNetworkServerPermeateMapping lazyInternalNetworkServerPermeateMapping = LazyInternalNetworkServerPermeateMappingDTOAssembler.INSTANCE.toLazyInternalNetworkServerPermeateMapping(lazyInternalNetworkServerPermeateMappingQueryListCommand); + return lazyInternalNetworkServerPermeateMappingRepository.findPage(size, current, lazyInternalNetworkServerPermeateMapping).convert(page -> page.convert(LazyInternalNetworkServerPermeateMappingDTOAssembler.INSTANCE::fromLazyInternalNetworkServerPermeateMapping)); + } + + /** + * describe 删除服务端网络渗透映射 + * + * @param lazyInternalNetworkServerPermeateMappingRemoveCommand 删除服务端网络渗透映射 + * @return {@link Result} 服务端网络渗透映射 + * @author Jia wei Wu + * @date 2024/09/17 01:35 下午 + **/ + + @Override + public Result remove(LazyInternalNetworkServerPermeateMappingRemoveCommand lazyInternalNetworkServerPermeateMappingRemoveCommand) { + LazyInternalNetworkServerPermeateMapping lazyInternalNetworkServerPermeateMapping = LazyInternalNetworkServerPermeateMappingDTOAssembler.INSTANCE.toLazyInternalNetworkServerPermeateMapping(lazyInternalNetworkServerPermeateMappingRemoveCommand); + // 开启端口 + Integer visitorPort = lazyInternalNetworkServerPermeateMapping.getVisitorPort(); + this.closePermeateSocket(visitorPort); + return lazyInternalNetworkServerPermeateMappingRepository.remove(lazyInternalNetworkServerPermeateMapping); + } + + /** + * 初始化 网络渗透socket + * + * @return + */ + @Override + public Result initPermeateSocket() { + // 查询所有的服务端渗透配置 + LazyInternalNetworkServerPermeateMapping lazyInternalNetworkServerPermeateMapping = new LazyInternalNetworkServerPermeateMapping(); + return lazyInternalNetworkServerPermeateMappingRepository.findList(lazyInternalNetworkServerPermeateMapping) + .accept(lazyInternalNetworkServerPermeateMappings -> { + // 开启映射 + for (LazyInternalNetworkServerPermeateMapping internalNetworkServerPermeateMapping : lazyInternalNetworkServerPermeateMappings) { + + String permeateTargetIp = internalNetworkServerPermeateMapping.getPermeateTargetIp(); + Integer permeateTargetPort = internalNetworkServerPermeateMapping.getPermeateTargetPort(); + Integer visitorPort = internalNetworkServerPermeateMapping.getVisitorPort(); + log.info("init permeate socket ip:{}, port:{},visitorPort:{}", permeateTargetIp, permeateTargetPort, visitorPort); + this.createPermeateVisitor(permeateTargetIp, permeateTargetPort, visitorPort); + } + }); + + } + + /** + * 变更 网络穿透 + * + * @param permeateTargetIp 客户端目标IP + * @param permeateTargetPort 客户端莫表端口 + * @param visitorPort 访客端口 + */ + private void changePermeateSocket(String permeateTargetIp, Integer permeateTargetPort, Integer visitorPort) { + // 删除 客户端映射 + this.closePermeateSocket(visitorPort); + // 更新 客户端映射 + createPermeateVisitor(permeateTargetIp, permeateTargetPort, visitorPort); + } + + + /** + * 删除 通道 + * + * @param visitorPort 访客端口 + */ + private void closePermeateSocket(Integer visitorPort) { + // 删除 客户端映射 + NettyPermeateVisitorSocket nettyPermeateVisitorSocket = NettyPermeateVisitorContext.getPermeateVisitorSocket(visitorPort); + if (!ObjectUtils.isEmpty(nettyPermeateVisitorSocket)) { + // 关闭端口 + try { + nettyPermeateVisitorSocket.close(); + } catch (IOException | InterruptedException e) { + throw new RuntimeException(e); + } + } + } + + /** + * 创建访客 + * + * @param permeateTargetIp 客户端目标IP + * @param permeateTargetPort 客户端目标端口 + * @param visitorPort 访客端口 + */ + private void createPermeateVisitor(String permeateTargetIp, Integer permeateTargetPort, Integer visitorPort) { + // 更新 客户端映射 + NettyPermeateVisitorSocket nettyPermeateVisitorSocket = NettyPermeateVisitorSocket.NettyPermeateVisitorSocketBuilder + .builder() + .builderClientTargetIp(permeateTargetIp) + .builderClientTargetPort(permeateTargetPort) + .builderVisitorPort(visitorPort) + .builderChannelFlowAdapter(channelFlowAdapter) + .build(); + try { + nettyPermeateVisitorSocket.start(); + } catch (Exception e) { + log.error("内网渗透,网络端口:{},开放失败", visitorPort); + throw new RuntimeException(e); + } + } + +} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/impl/LazyNettyServerPermeatePortPoolApplicationImpl.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/impl/LazyNettyServerPermeatePortPoolApplicationImpl.java index 61bb709..73cd371 100644 --- a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/impl/LazyNettyServerPermeatePortPoolApplicationImpl.java +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/impl/LazyNettyServerPermeatePortPoolApplicationImpl.java @@ -1,5 +1,6 @@ package org.framework.lazy.cloud.network.heartbeat.server.standalone.application.impl; +import org.framework.lazy.cloud.network.heartbeat.server.properties.ServerNodeProperties; import org.wu.framework.database.lazy.web.plus.stereotype.LazyApplication; import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.LazyNettyServerPermeatePortPoolApplication; import org.springframework.web.bind.annotation.*; @@ -31,6 +32,10 @@ public class LazyNettyServerPermeatePortPoolApplicationImpl implements LazyNetty @Resource LazyNettyServerPermeatePortPoolRepository lazyNettyServerPermeatePortPoolRepository; + + + @Resource + ServerNodeProperties serverNodeProperties; /** * describe 新增服务端内网渗透端口池 * @@ -44,6 +49,8 @@ public class LazyNettyServerPermeatePortPoolApplicationImpl implements LazyNetty @Override public Result story(LazyNettyServerPermeatePortPoolStoryCommand lazyNettyServerPermeatePortPoolStoryCommand) { LazyNettyServerPermeatePortPool lazyNettyServerPermeatePortPool = LazyNettyServerPermeatePortPoolDTOAssembler.INSTANCE.toLazyNettyServerPermeatePortPool(lazyNettyServerPermeatePortPoolStoryCommand); + String serverId = serverNodeProperties.getNodeId(); + lazyNettyServerPermeatePortPool.setServerId(serverId); return lazyNettyServerPermeatePortPoolRepository.story(lazyNettyServerPermeatePortPool); } /** @@ -59,6 +66,10 @@ public class LazyNettyServerPermeatePortPoolApplicationImpl implements LazyNetty @Override public Result> batchStory(List lazyNettyServerPermeatePortPoolStoryCommandList) { List lazyNettyServerPermeatePortPoolList = lazyNettyServerPermeatePortPoolStoryCommandList.stream().map( LazyNettyServerPermeatePortPoolDTOAssembler.INSTANCE::toLazyNettyServerPermeatePortPool).collect(Collectors.toList()); + for (LazyNettyServerPermeatePortPool lazyNettyServerPermeatePortPool : lazyNettyServerPermeatePortPoolList) { + String serverId = serverNodeProperties.getNodeId(); + lazyNettyServerPermeatePortPool.setServerId(serverId); + } return lazyNettyServerPermeatePortPoolRepository.batchStory(lazyNettyServerPermeatePortPoolList); } /** @@ -74,6 +85,8 @@ public class LazyNettyServerPermeatePortPoolApplicationImpl implements LazyNetty @Override public Result updateOne(LazyNettyServerPermeatePortPoolUpdateCommand lazyNettyServerPermeatePortPoolUpdateCommand) { LazyNettyServerPermeatePortPool lazyNettyServerPermeatePortPool = LazyNettyServerPermeatePortPoolDTOAssembler.INSTANCE.toLazyNettyServerPermeatePortPool(lazyNettyServerPermeatePortPoolUpdateCommand); + String serverId = serverNodeProperties.getNodeId(); + lazyNettyServerPermeatePortPool.setServerId(serverId); return lazyNettyServerPermeatePortPoolRepository.story(lazyNettyServerPermeatePortPool); } diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/controller/LazyInternalNetworkServerPermeateMappingProvider.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/controller/LazyInternalNetworkServerPermeateMappingProvider.java new file mode 100644 index 0000000..09b3e24 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/controller/LazyInternalNetworkServerPermeateMappingProvider.java @@ -0,0 +1,142 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.controller; + +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import org.wu.framework.web.spring.EasyController; +import org.springframework.web.bind.annotation.*; +import org.wu.framework.web.response.Result; +import org.wu.framework.web.response.ResultFactory; +import org.springframework.beans.factory.annotation.Autowired; +import jakarta.annotation.Resource; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.domain.model.lazy.internal.network.server.permeate.mapping.LazyInternalNetworkServerPermeateMapping; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.internal.network.server.permeate.mapping.LazyInternalNetworkServerPermeateMappingRemoveCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.internal.network.server.permeate.mapping.LazyInternalNetworkServerPermeateMappingStoryCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.internal.network.server.permeate.mapping.LazyInternalNetworkServerPermeateMappingUpdateCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.internal.network.server.permeate.mapping.LazyInternalNetworkServerPermeateMappingQueryListCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.internal.network.server.permeate.mapping.LazyInternalNetworkServerPermeateMappingQueryOneCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.LazyInternalNetworkServerPermeateMappingApplication; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.dto.LazyInternalNetworkServerPermeateMappingDTO; +import java.util.List; +import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; +/** + * describe 服务端网络渗透映射 + * + * @author Jia wei Wu + * @date 2024/09/17 01:35 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyController + **/ +@Tag(name = "服务端网络渗透映射提供者") +@EasyController("/lazy/internal/network/server/permeate/mapping") +public class LazyInternalNetworkServerPermeateMappingProvider { + + @Resource + private LazyInternalNetworkServerPermeateMappingApplication lazyInternalNetworkServerPermeateMappingApplication; + + /** + * describe 新增服务端网络渗透映射 + * + * @param lazyInternalNetworkServerPermeateMappingStoryCommand 新增服务端网络渗透映射 + * @return {@link Result} 服务端网络渗透映射新增后领域对象 + + * @author Jia wei Wu + * @date 2024/09/17 01:35 下午 + **/ + + @Operation(summary = "新增服务端网络渗透映射") + @PostMapping("/story") + public Result story(@RequestBody LazyInternalNetworkServerPermeateMappingStoryCommand lazyInternalNetworkServerPermeateMappingStoryCommand){ + return lazyInternalNetworkServerPermeateMappingApplication.story(lazyInternalNetworkServerPermeateMappingStoryCommand); + } + /** + * describe 批量新增服务端网络渗透映射 + * + * @param lazyInternalNetworkServerPermeateMappingStoryCommandList 批量新增服务端网络渗透映射 + * @return {@link Result>} 服务端网络渗透映射新增后领域对象集合 + + * @author Jia wei Wu + * @date 2024/09/17 01:35 下午 + **/ + + @Operation(summary = "批量新增服务端网络渗透映射") + @PostMapping("/batchStory") + public Result> batchStory(@RequestBody List lazyInternalNetworkServerPermeateMappingStoryCommandList){ + return lazyInternalNetworkServerPermeateMappingApplication.batchStory(lazyInternalNetworkServerPermeateMappingStoryCommandList); + } + /** + * describe 更新服务端网络渗透映射 + * + * @param lazyInternalNetworkServerPermeateMappingUpdateCommand 更新服务端网络渗透映射 + * @return {@link Result} 服务端网络渗透映射领域对象 + + * @author Jia wei Wu + * @date 2024/09/17 01:35 下午 + **/ + + @Operation(summary = "更新服务端网络渗透映射") + @PutMapping("/updateOne") + public Result updateOne(@RequestBody LazyInternalNetworkServerPermeateMappingUpdateCommand lazyInternalNetworkServerPermeateMappingUpdateCommand){ + return lazyInternalNetworkServerPermeateMappingApplication.updateOne(lazyInternalNetworkServerPermeateMappingUpdateCommand); + } + /** + * describe 查询单个服务端网络渗透映射 + * + * @param lazyInternalNetworkServerPermeateMappingQueryOneCommand 查询单个服务端网络渗透映射 + * @return {@link Result} 服务端网络渗透映射DTO对象 + + * @author Jia wei Wu + * @date 2024/09/17 01:35 下午 + **/ + + @Operation(summary = "查询单个服务端网络渗透映射") + @GetMapping("/findOne") + public Result findOne(@ModelAttribute LazyInternalNetworkServerPermeateMappingQueryOneCommand lazyInternalNetworkServerPermeateMappingQueryOneCommand){ + return lazyInternalNetworkServerPermeateMappingApplication.findOne(lazyInternalNetworkServerPermeateMappingQueryOneCommand); + } + /** + * describe 查询多个服务端网络渗透映射 + * + * @param lazyInternalNetworkServerPermeateMappingQueryListCommand 查询多个服务端网络渗透映射 + * @return {@link Result>} 服务端网络渗透映射DTO对象 + + * @author Jia wei Wu + * @date 2024/09/17 01:35 下午 + **/ + + @Operation(summary = "查询多个服务端网络渗透映射") + @GetMapping("/findList") + public Result> findList(@ModelAttribute LazyInternalNetworkServerPermeateMappingQueryListCommand lazyInternalNetworkServerPermeateMappingQueryListCommand){ + return lazyInternalNetworkServerPermeateMappingApplication.findList(lazyInternalNetworkServerPermeateMappingQueryListCommand); + } + /** + * describe 分页查询多个服务端网络渗透映射 + * + * @param lazyInternalNetworkServerPermeateMappingQueryListCommand 分页查询多个服务端网络渗透映射 + * @return {@link Result>} 分页服务端网络渗透映射DTO对象 + + * @author Jia wei Wu + * @date 2024/09/17 01:35 下午 + **/ + + @Operation(summary = "分页查询多个服务端网络渗透映射") + @GetMapping("/findPage") + public Result> findPage(@Parameter(description ="分页大小") @RequestParam(defaultValue = "10", value = "size") int size, + @Parameter(description ="当前页数") @RequestParam(defaultValue = "1", value = "current") int current,@ModelAttribute LazyInternalNetworkServerPermeateMappingQueryListCommand lazyInternalNetworkServerPermeateMappingQueryListCommand){ + return lazyInternalNetworkServerPermeateMappingApplication.findPage(size,current,lazyInternalNetworkServerPermeateMappingQueryListCommand); + } + /** + * describe 删除服务端网络渗透映射 + * + * @param lazyInternalNetworkServerPermeateMappingRemoveCommand 删除服务端网络渗透映射 + * @return {@link Result} 服务端网络渗透映射 + + * @author Jia wei Wu + * @date 2024/09/17 01:35 下午 + **/ + + @Operation(summary = "删除服务端网络渗透映射") + @DeleteMapping("/remove") + public Result remove(@ModelAttribute LazyInternalNetworkServerPermeateMappingRemoveCommand lazyInternalNetworkServerPermeateMappingRemoveCommand){ + return lazyInternalNetworkServerPermeateMappingApplication.remove(lazyInternalNetworkServerPermeateMappingRemoveCommand); + } +} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/domain/model/lazy/internal/network/server/permeate/mapping/LazyInternalNetworkServerPermeateMapping.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/domain/model/lazy/internal/network/server/permeate/mapping/LazyInternalNetworkServerPermeateMapping.java new file mode 100644 index 0000000..7301d6e --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/domain/model/lazy/internal/network/server/permeate/mapping/LazyInternalNetworkServerPermeateMapping.java @@ -0,0 +1,87 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.domain.model.lazy.internal.network.server.permeate.mapping; + +import lombok.Data; +import lombok.experimental.Accessors; +import io.swagger.v3.oas.annotations.media.Schema; +import java.time.LocalDateTime; +import java.lang.String; +import java.lang.Long; +import java.lang.Boolean; +import java.lang.Integer; +/** + * describe 服务端网络渗透映射 + * + * @author Jia wei Wu + * @date 2024/09/17 01:35 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyDomain + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_internal_network_server_permeate_mapping",description = "服务端网络渗透映射") +public class LazyInternalNetworkServerPermeateMapping { + + + /** + * + * + */ + @Schema(description ="",name ="createTime",example = "") + private LocalDateTime createTime; + + /** + * + * 描述 + */ + @Schema(description ="描述",name ="describe",example = "") + private String describe; + + /** + * + * + */ + @Schema(description ="",name ="id",example = "") + private Long id; + + /** + * + * 是否删除 默认否 + */ + @Schema(description ="是否删除 默认否",name ="isDeleted",example = "") + private Boolean isDeleted; + + /** + * + * 渗透目标地址 + */ + @Schema(description ="渗透目标地址",name ="permeateTargetIp",example = "") + private String permeateTargetIp; + + /** + * + * 渗透目标端口 + */ + @Schema(description ="渗透目标端口",name ="permeateTargetPort",example = "") + private Integer permeateTargetPort; + + /** + * + * 服务端ID + */ + @Schema(description ="服务端ID",name ="serverId",example = "") + private String serverId; + + /** + * + * + */ + @Schema(description ="",name ="updateTime",example = "") + private LocalDateTime updateTime; + + /** + * + * 渗透端口 + */ + @Schema(description ="渗透端口",name ="visitorPort",example = "") + private Integer visitorPort; + +} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/domain/model/lazy/internal/network/server/permeate/mapping/LazyInternalNetworkServerPermeateMappingRepository.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/domain/model/lazy/internal/network/server/permeate/mapping/LazyInternalNetworkServerPermeateMappingRepository.java new file mode 100644 index 0000000..7959dac --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/domain/model/lazy/internal/network/server/permeate/mapping/LazyInternalNetworkServerPermeateMappingRepository.java @@ -0,0 +1,106 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.domain.model.lazy.internal.network.server.permeate.mapping; + +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.internal.network.server.permeate.mapping.LazyInternalNetworkServerPermeateMapping; +import java.util.List; +import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; +/** + * describe 服务端网络渗透映射 + * + * @author Jia wei Wu + * @date 2024/09/17 01:35 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyDomainRepository + **/ + +public interface LazyInternalNetworkServerPermeateMappingRepository { + + + /** + * describe 新增服务端网络渗透映射 + * + * @param lazyInternalNetworkServerPermeateMapping 新增服务端网络渗透映射 + * @return {@link Result} 服务端网络渗透映射新增后领域对象 + + * @author Jia wei Wu + * @date 2024/09/17 01:35 下午 + **/ + + Result story(LazyInternalNetworkServerPermeateMapping lazyInternalNetworkServerPermeateMapping); + + /** + * describe 批量新增服务端网络渗透映射 + * + * @param lazyInternalNetworkServerPermeateMappingList 批量新增服务端网络渗透映射 + * @return {@link Result>} 服务端网络渗透映射新增后领域对象集合 + + * @author Jia wei Wu + * @date 2024/09/17 01:35 下午 + **/ + + Result> batchStory(List lazyInternalNetworkServerPermeateMappingList); + + /** + * describe 查询单个服务端网络渗透映射 + * + * @param lazyInternalNetworkServerPermeateMapping 查询单个服务端网络渗透映射 + * @return {@link Result} 服务端网络渗透映射DTO对象 + + * @author Jia wei Wu + * @date 2024/09/17 01:35 下午 + **/ + + Result findOne(LazyInternalNetworkServerPermeateMapping lazyInternalNetworkServerPermeateMapping); + + /** + * describe 查询多个服务端网络渗透映射 + * + * @param lazyInternalNetworkServerPermeateMapping 查询多个服务端网络渗透映射 + * @return {@link Result>} 服务端网络渗透映射DTO对象 + + * @author Jia wei Wu + * @date 2024/09/17 01:35 下午 + **/ + + Result> findList(LazyInternalNetworkServerPermeateMapping lazyInternalNetworkServerPermeateMapping); + + /** + * describe 分页查询多个服务端网络渗透映射 + * + * @param size 当前页数 + * @param current 当前页 + * @param lazyInternalNetworkServerPermeateMapping 分页查询多个服务端网络渗透映射 + * @return {@link Result>} 分页服务端网络渗透映射领域对象 + + * @author Jia wei Wu + * @date 2024/09/17 01:35 下午 + **/ + + Result> findPage(int size,int current,LazyInternalNetworkServerPermeateMapping lazyInternalNetworkServerPermeateMapping); + + /** + * describe 删除服务端网络渗透映射 + * + * @param lazyInternalNetworkServerPermeateMapping 删除服务端网络渗透映射 + * @return {@link Result} 服务端网络渗透映射 + + * @author Jia wei Wu + * @date 2024/09/17 01:35 下午 + **/ + + Result remove(LazyInternalNetworkServerPermeateMapping lazyInternalNetworkServerPermeateMapping); + + /** + * describe 是否存在服务端网络渗透映射 + * + * @param lazyInternalNetworkServerPermeateMapping 是否存在服务端网络渗透映射 + * @return {@link Result} 服务端网络渗透映射是否存在 + + * @author Jia wei Wu + * @date 2024/09/17 01:35 下午 + **/ + + Result exists(LazyInternalNetworkServerPermeateMapping lazyInternalNetworkServerPermeateMapping); + +} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/domain/model/lazy/netty/server/permeate/port/pool/LazyNettyServerPermeatePortPool.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/domain/model/lazy/netty/server/permeate/port/pool/LazyNettyServerPermeatePortPool.java index eb4d35e..a0fba45 100644 --- a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/domain/model/lazy/netty/server/permeate/port/pool/LazyNettyServerPermeatePortPool.java +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/domain/model/lazy/netty/server/permeate/port/pool/LazyNettyServerPermeatePortPool.java @@ -21,13 +21,6 @@ import java.lang.Integer; public class LazyNettyServerPermeatePortPool { - /** - * - * 客户端ID - */ - @Schema(description ="客户端ID",name ="clientId",example = "") - private String clientId; - /** * * 创建时间 diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/converter/LazyInternalNetworkServerPermeateMappingConverter.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/converter/LazyInternalNetworkServerPermeateMappingConverter.java new file mode 100644 index 0000000..05eaf8a --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/converter/LazyInternalNetworkServerPermeateMappingConverter.java @@ -0,0 +1,48 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.infrastructure.converter; + +import org.framework.lazy.cloud.network.heartbeat.server.standalone.domain.model.lazy.internal.network.server.permeate.mapping.LazyInternalNetworkServerPermeateMapping; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.infrastructure.entity.LazyInternalNetworkServerPermeateMappingDO; +import org.mapstruct.factory.Mappers; +import org.mapstruct.Mapper; +/** + * describe 服务端网络渗透映射 + * + * @author Jia wei Wu + * @date 2024/09/17 01:35 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyInfrastructureConverter + **/ +@Mapper +public interface LazyInternalNetworkServerPermeateMappingConverter { + + + /** + * describe MapStruct 创建的代理对象 + * + + + + * @author Jia wei Wu + * @date 2024/09/17 01:35 下午 + **/ + LazyInternalNetworkServerPermeateMappingConverter INSTANCE = Mappers.getMapper(LazyInternalNetworkServerPermeateMappingConverter.class); + /** + * describe 实体对象 转换成领域对象 + * + * @param lazyInternalNetworkServerPermeateMappingDO 服务端网络渗透映射实体对象 + * @return {@link LazyInternalNetworkServerPermeateMapping} 服务端网络渗透映射领域对象 + + * @author Jia wei Wu + * @date 2024/09/17 01:35 下午 + **/ + LazyInternalNetworkServerPermeateMapping toLazyInternalNetworkServerPermeateMapping(LazyInternalNetworkServerPermeateMappingDO lazyInternalNetworkServerPermeateMappingDO); + /** + * describe 领域对象 转换成实体对象 + * + * @param lazyInternalNetworkServerPermeateMapping 服务端网络渗透映射领域对象 + * @return {@link LazyInternalNetworkServerPermeateMappingDO} 服务端网络渗透映射实体对象 + + * @author Jia wei Wu + * @date 2024/09/17 01:35 下午 + **/ + LazyInternalNetworkServerPermeateMappingDO fromLazyInternalNetworkServerPermeateMapping(LazyInternalNetworkServerPermeateMapping lazyInternalNetworkServerPermeateMapping); +} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/entity/LazyInternalNetworkServerPermeateMappingDO.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/entity/LazyInternalNetworkServerPermeateMappingDO.java new file mode 100644 index 0000000..5cb64fc --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/entity/LazyInternalNetworkServerPermeateMappingDO.java @@ -0,0 +1,105 @@ +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.time.LocalDateTime; +import java.lang.String; +import org.wu.framework.lazy.orm.core.stereotype.LazyTableFieldId; +import java.lang.Long; +import java.lang.Boolean; +import java.lang.Integer; +/** + * describe 服务端网络渗透映射 + * + * @author Jia wei Wu + * @date 2024/09/17 01:35 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyInfrastructureEntity + **/ +@Data +@Accessors(chain = true) +@LazyTable(tableName = "lazy_internal_network_server_permeate_mapping",schema = "wu_lazy_cloud_netty_server",comment = "服务端网络渗透映射") +@Schema(title = "lazy_internal_network_server_permeate_mapping",description = "服务端网络渗透映射") +public class LazyInternalNetworkServerPermeateMappingDO { + + + /** + * + * + */ + @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 ="describe",example = "") + @LazyTableField(name="describe",comment="描述",columnType="varchar(255)") + private String describe; + + /** + * + * + */ + @Schema(description ="",name ="id",example = "") + @LazyTableFieldId(name = "id", comment = "") + private Long id; + + /** + * + * 是否删除 默认否 + */ + @Schema(description ="是否删除 默认否",name ="isDeleted",example = "") + @LazyTableField(name="is_deleted",comment="是否删除 默认否",defaultValue="'0'",upsertStrategy = LazyFieldStrategy.NEVER,columnType="tinyint") + private Boolean isDeleted; + + /** + * + * 渗透目标地址 + */ + @Schema(description ="渗透目标地址",name ="permeateTargetIp",example = "") + @LazyTableFieldUnique(name="permeate_target_ip",comment="渗透目标地址",defaultValue="'0.0.0.0'",columnType="varchar(255)") + private String permeateTargetIp; + + /** + * + * 渗透目标端口 + */ + @Schema(description ="渗透目标端口",name ="permeateTargetPort",example = "") + @LazyTableFieldUnique(name="permeate_target_port",comment="渗透目标端口",notNull=true,columnType="int") + private Integer permeateTargetPort; + + /** + * + * 服务端ID + */ + @Schema(description ="服务端ID",name ="serverId",example = "") + @LazyTableField(name="server_id",comment="服务端ID",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; + + /** + * + * 渗透端口 + */ + @Schema(description ="渗透端口",name ="visitorPort",example = "") + @LazyTableFieldUnique(name="visitor_port",comment="渗透端口",notNull=true,columnType="int") + private Integer visitorPort; + +} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/entity/LazyNettyServerPermeatePortPoolDO.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/entity/LazyNettyServerPermeatePortPoolDO.java index a37bc4b..7d91e25 100644 --- a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/entity/LazyNettyServerPermeatePortPoolDO.java +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/entity/LazyNettyServerPermeatePortPoolDO.java @@ -29,15 +29,6 @@ import java.lang.Integer; @Schema(title = "lazy_netty_server_permeate_port_pool",description = "服务端内网渗透端口池") public class LazyNettyServerPermeatePortPoolDO { - - /** - * - * 客户端ID - */ - @Schema(description ="客户端ID",name ="clientId",example = "") - @LazyTableField(name="client_id",comment="客户端ID",notNull=true,columnType="varchar(255)") - private String clientId; - /** * * 创建时间 diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/jpa/lazy/LazyInternalNetworkServerPermeateMappingLazyJpaRepository.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/jpa/lazy/LazyInternalNetworkServerPermeateMappingLazyJpaRepository.java new file mode 100644 index 0000000..af770ab --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/jpa/lazy/LazyInternalNetworkServerPermeateMappingLazyJpaRepository.java @@ -0,0 +1,18 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.infrastructure.jpa.lazy; + +import org.wu.framework.lazy.orm.database.jpa.repository.LazyJpaRepository; +import org.wu.framework.lazy.orm.database.jpa.repository.annotation.*; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.infrastructure.entity.LazyInternalNetworkServerPermeateMappingDO; +/** + * describe 服务端网络渗透映射 + * + * @author Jia wei Wu + * @date 2024/09/17 01:35 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyInfrastructureLazyJpa + **/ +@LazyRepository +public interface LazyInternalNetworkServerPermeateMappingLazyJpaRepository extends LazyJpaRepository { + + + +} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/mapper/LazyInternalNetworkServerPermeateMappingMapper.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/mapper/LazyInternalNetworkServerPermeateMappingMapper.java new file mode 100644 index 0000000..edd149d --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/mapper/LazyInternalNetworkServerPermeateMappingMapper.java @@ -0,0 +1,15 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.infrastructure.mapper; + +/** + * describe 服务端网络渗透映射 + * + * @author Jia wei Wu + * @date 2024/09/17 01:35 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyInfrastructureMapper + **/ + +public interface LazyInternalNetworkServerPermeateMappingMapper { + + + +} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/persistence/LazyInternalNetworkServerPermeateMappingRepositoryImpl.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/persistence/LazyInternalNetworkServerPermeateMappingRepositoryImpl.java new file mode 100644 index 0000000..92eee73 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/persistence/LazyInternalNetworkServerPermeateMappingRepositoryImpl.java @@ -0,0 +1,152 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.infrastructure.persistence; + +import org.framework.lazy.cloud.network.heartbeat.server.standalone.infrastructure.entity.LazyInternalNetworkServerPermeateMappingDO; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.infrastructure.converter.LazyInternalNetworkServerPermeateMappingConverter; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.infrastructure.mapper.LazyInternalNetworkServerPermeateMappingMapper; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.domain.model.lazy.internal.network.server.permeate.mapping.LazyInternalNetworkServerPermeateMappingRepository; +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.internal.network.server.permeate.mapping.LazyInternalNetworkServerPermeateMapping; +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 2024/09/17 01:35 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyInfrastructurePersistence + **/ +@Repository +public class LazyInternalNetworkServerPermeateMappingRepositoryImpl implements LazyInternalNetworkServerPermeateMappingRepository { + + @Resource + LazyLambdaStream lazyLambdaStream; + + /** + * describe 新增服务端网络渗透映射 + * + * @param lazyInternalNetworkServerPermeateMapping 新增服务端网络渗透映射 + * @return {@link Result} 服务端网络渗透映射新增后领域对象 + + * @author Jia wei Wu + * @date 2024/09/17 01:35 下午 + **/ + + @Override + public Result story(LazyInternalNetworkServerPermeateMapping lazyInternalNetworkServerPermeateMapping) { + LazyInternalNetworkServerPermeateMappingDO lazyInternalNetworkServerPermeateMappingDO = LazyInternalNetworkServerPermeateMappingConverter.INSTANCE.fromLazyInternalNetworkServerPermeateMapping(lazyInternalNetworkServerPermeateMapping); + lazyLambdaStream.upsert(lazyInternalNetworkServerPermeateMappingDO); + return ResultFactory.successOf(); + } + + /** + * describe 批量新增服务端网络渗透映射 + * + * @param lazyInternalNetworkServerPermeateMappingList 批量新增服务端网络渗透映射 + * @return {@link Result>} 服务端网络渗透映射新增后领域对象集合 + + * @author Jia wei Wu + * @date 2024/09/17 01:35 下午 + **/ + + @Override + public Result> batchStory(List lazyInternalNetworkServerPermeateMappingList) { + List lazyInternalNetworkServerPermeateMappingDOList = lazyInternalNetworkServerPermeateMappingList.stream().map(LazyInternalNetworkServerPermeateMappingConverter.INSTANCE::fromLazyInternalNetworkServerPermeateMapping).collect(Collectors.toList()); + lazyLambdaStream.upsert(lazyInternalNetworkServerPermeateMappingDOList); + return ResultFactory.successOf(); + } + + /** + * describe 查询单个服务端网络渗透映射 + * + * @param lazyInternalNetworkServerPermeateMapping 查询单个服务端网络渗透映射 + * @return {@link Result} 服务端网络渗透映射领域对象 + + * @author Jia wei Wu + * @date 2024/09/17 01:35 下午 + **/ + + @Override + public Result findOne(LazyInternalNetworkServerPermeateMapping lazyInternalNetworkServerPermeateMapping) { + LazyInternalNetworkServerPermeateMappingDO lazyInternalNetworkServerPermeateMappingDO = LazyInternalNetworkServerPermeateMappingConverter.INSTANCE.fromLazyInternalNetworkServerPermeateMapping(lazyInternalNetworkServerPermeateMapping); + LazyInternalNetworkServerPermeateMapping lazyInternalNetworkServerPermeateMappingOne = lazyLambdaStream.selectOne(LazyWrappers.lambdaWrapperBean(lazyInternalNetworkServerPermeateMappingDO), LazyInternalNetworkServerPermeateMapping.class); + return ResultFactory.successOf(lazyInternalNetworkServerPermeateMappingOne); + } + + /** + * describe 查询多个服务端网络渗透映射 + * + * @param lazyInternalNetworkServerPermeateMapping 查询多个服务端网络渗透映射 + * @return {@link Result>} 服务端网络渗透映射领域对象 + + * @author Jia wei Wu + * @date 2024/09/17 01:35 下午 + **/ + + @Override + public Result> findList(LazyInternalNetworkServerPermeateMapping lazyInternalNetworkServerPermeateMapping) { + LazyInternalNetworkServerPermeateMappingDO lazyInternalNetworkServerPermeateMappingDO = LazyInternalNetworkServerPermeateMappingConverter.INSTANCE.fromLazyInternalNetworkServerPermeateMapping(lazyInternalNetworkServerPermeateMapping); + List lazyInternalNetworkServerPermeateMappingList = lazyLambdaStream.selectList(LazyWrappers.lambdaWrapperBean(lazyInternalNetworkServerPermeateMappingDO), LazyInternalNetworkServerPermeateMapping.class); + return ResultFactory.successOf(lazyInternalNetworkServerPermeateMappingList); + } + + /** + * describe 分页查询多个服务端网络渗透映射 + * + * @param size 当前页数 + * @param current 当前页 + * @param lazyInternalNetworkServerPermeateMapping 分页查询多个服务端网络渗透映射 + * @return {@link Result>} 分页服务端网络渗透映射领域对象 + + * @author Jia wei Wu + * @date 2024/09/17 01:35 下午 + **/ + + @Override + public Result> findPage(int size,int current,LazyInternalNetworkServerPermeateMapping lazyInternalNetworkServerPermeateMapping) { + LazyInternalNetworkServerPermeateMappingDO lazyInternalNetworkServerPermeateMappingDO = LazyInternalNetworkServerPermeateMappingConverter.INSTANCE.fromLazyInternalNetworkServerPermeateMapping(lazyInternalNetworkServerPermeateMapping); + LazyPage lazyPage = new LazyPage<>(current,size); + LazyPage lazyInternalNetworkServerPermeateMappingLazyPage = lazyLambdaStream.selectPage(LazyWrappers.lambdaWrapperBean(lazyInternalNetworkServerPermeateMappingDO),lazyPage, LazyInternalNetworkServerPermeateMapping.class); + return ResultFactory.successOf(lazyInternalNetworkServerPermeateMappingLazyPage); + } + + /** + * describe 删除服务端网络渗透映射 + * + * @param lazyInternalNetworkServerPermeateMapping 删除服务端网络渗透映射 + * @return {@link Result} 服务端网络渗透映射 + + * @author Jia wei Wu + * @date 2024/09/17 01:35 下午 + **/ + + @Override + public Result remove(LazyInternalNetworkServerPermeateMapping lazyInternalNetworkServerPermeateMapping) { + LazyInternalNetworkServerPermeateMappingDO lazyInternalNetworkServerPermeateMappingDO = LazyInternalNetworkServerPermeateMappingConverter.INSTANCE.fromLazyInternalNetworkServerPermeateMapping(lazyInternalNetworkServerPermeateMapping); + // lazyLambdaStream.delete(LazyWrappers.lambdaWrapperBean(lazyInternalNetworkServerPermeateMappingDO)); + return ResultFactory.successOf(); + } + + /** + * describe 是否存在服务端网络渗透映射 + * + * @param lazyInternalNetworkServerPermeateMapping 服务端网络渗透映射领域对象 + * @return {@link Result} 是否存在 true 存在,false 不存在 + + * @author Jia wei Wu + * @date 2024/09/17 01:35 下午 + **/ + + @Override + public Result exists(LazyInternalNetworkServerPermeateMapping lazyInternalNetworkServerPermeateMapping) { + LazyInternalNetworkServerPermeateMappingDO lazyInternalNetworkServerPermeateMappingDO = LazyInternalNetworkServerPermeateMappingConverter.INSTANCE.fromLazyInternalNetworkServerPermeateMapping(lazyInternalNetworkServerPermeateMapping); + Boolean exists=lazyLambdaStream.exists(LazyWrappers.lambdaWrapperBean(lazyInternalNetworkServerPermeateMappingDO)); + return ResultFactory.successOf(exists); + } + +} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/xml/LazyInternalNetworkServerPermeateMappingMapper.xml b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/xml/LazyInternalNetworkServerPermeateMappingMapper.xml new file mode 100644 index 0000000..7c8a767 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/xml/LazyInternalNetworkServerPermeateMappingMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file