From 3b7bf3d98398d0748d95e01cea7a1f5bcb7e14be Mon Sep 17 00:00:00 2001 From: wujiawei <1207537021@qq.com> Date: Sat, 14 Jun 2025 19:02:07 +0800 Subject: [PATCH] =?UTF-8?q?[add]=20=E6=B7=BB=E5=8A=A0namespace=E7=AE=A1?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...leTcpClientConnectSuccessTypeAdvanced.java | 2 + .../LazyNettyNamespaceApplication.java | 109 +++++++++++++ .../LazyNettyNamespaceDTOAssembler.java | 93 +++++++++++ .../LazyNettyNamespaceQueryListCommand.java | 57 +++++++ .../LazyNettyNamespaceQueryOneCommand.java | 57 +++++++ .../LazyNettyNamespaceRemoveCommand.java | 57 +++++++ .../LazyNettyNamespaceStoryCommand.java | 57 +++++++ .../LazyNettyNamespaceUpdateCommand.java | 57 +++++++ .../dto/LazyNettyNamespaceDTO.java | 57 +++++++ .../LazyNettyNamespaceApplicationImpl.java | 144 +++++++++++++++++ .../LazyNettyNamespaceProvider.java | 142 ++++++++++++++++ .../netty/namespace/LazyNettyNamespace.java | 57 +++++++ .../LazyNettyNamespaceRepository.java | 106 ++++++++++++ .../LazyNettyNamespaceConverter.java | 48 ++++++ .../entity/LazyNettyNamespaceDO.java | 71 ++++++++ .../LazyNettyNamespaceLazyJpaRepository.java | 18 +++ .../mapper/LazyNettyNamespaceMapper.java | 15 ++ .../LazyNettyNamespaceRepositoryImpl.java | 152 ++++++++++++++++++ .../xml/LazyNettyNamespaceMapper.xml | 13 ++ 19 files changed, 1312 insertions(+) create mode 100644 wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/LazyNettyNamespaceApplication.java create mode 100644 wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/assembler/LazyNettyNamespaceDTOAssembler.java create mode 100644 wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/netty/namespace/LazyNettyNamespaceQueryListCommand.java create mode 100644 wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/netty/namespace/LazyNettyNamespaceQueryOneCommand.java create mode 100644 wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/netty/namespace/LazyNettyNamespaceRemoveCommand.java create mode 100644 wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/netty/namespace/LazyNettyNamespaceStoryCommand.java create mode 100644 wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/netty/namespace/LazyNettyNamespaceUpdateCommand.java create mode 100644 wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/dto/LazyNettyNamespaceDTO.java create mode 100644 wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/impl/LazyNettyNamespaceApplicationImpl.java create mode 100644 wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/controller/LazyNettyNamespaceProvider.java create mode 100644 wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/domain/model/lazy/netty/namespace/LazyNettyNamespace.java create mode 100644 wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/domain/model/lazy/netty/namespace/LazyNettyNamespaceRepository.java create mode 100644 wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/converter/LazyNettyNamespaceConverter.java create mode 100644 wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/entity/LazyNettyNamespaceDO.java create mode 100644 wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/jpa/lazy/LazyNettyNamespaceLazyJpaRepository.java create mode 100644 wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/mapper/LazyNettyNamespaceMapper.java create mode 100644 wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/persistence/LazyNettyNamespaceRepositoryImpl.java create mode 100644 wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/xml/LazyNettyNamespaceMapper.xml diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpClientConnectSuccessTypeAdvanced.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpClientConnectSuccessTypeAdvanced.java index 1b0d199a..2fbf8351 100644 --- a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpClientConnectSuccessTypeAdvanced.java +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpClientConnectSuccessTypeAdvanced.java @@ -228,6 +228,7 @@ public class ServerHandleTcpClientConnectSuccessTypeAdvanced extends AbstractHan .getTargetClientId(); String targetIp = lazyNettyClientRouteDTO.getTargetIp(); String targetPort = lazyNettyClientRouteDTO.getTargetPort(); +// lazyNettyClientRouteDTO.gets ClientProxyRoute clientProxyRoute = new ClientProxyRoute(); @@ -237,6 +238,7 @@ public class ServerHandleTcpClientConnectSuccessTypeAdvanced extends AbstractHan clientProxyRoute.setTargetIp(targetIp); clientProxyRoute.setTargetPort(targetPort); clientProxyRoute.setRouteType(RouteType.CLIENT_PROXY_CLIENT); +// clientProxyRoute.setNamespace(); NettyProxyMsg nettyMsg = new NettyProxyMsg(); nettyMsg.setType(ProxyMessageType.HTTP_DISTRIBUTE_CLIENT_PROXY_SERVER_CLIENT_ROUTE_); nettyMsg.setData((JSON.toJSONString(clientProxyRoute) diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/LazyNettyNamespaceApplication.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/LazyNettyNamespaceApplication.java new file mode 100644 index 00000000..3628fa18 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/LazyNettyNamespaceApplication.java @@ -0,0 +1,109 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.application; + +import org.wu.framework.web.response.Result; +import org.wu.framework.web.response.ResultFactory; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.domain.model.lazy.netty.namespace.LazyNettyNamespace; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.netty.namespace.LazyNettyNamespaceRemoveCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.netty.namespace.LazyNettyNamespaceStoryCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.netty.namespace.LazyNettyNamespaceUpdateCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.netty.namespace.LazyNettyNamespaceQueryListCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.netty.namespace.LazyNettyNamespaceQueryOneCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.dto.LazyNettyNamespaceDTO; +import java.util.List; +import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; +/** + * describe 命名空间 + * + * @author Jia wei Wu + * @date 2025/06/14 06:52 晚上 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyApplication + **/ + +public interface LazyNettyNamespaceApplication { + + + /** + * describe 新增命名空间 + * + * @param lazyNettyNamespaceStoryCommand 新增命名空间 + * @return {@link Result} 命名空间新增后领域对象 + + * @author Jia wei Wu + * @date 2025/06/14 06:52 晚上 + **/ + + Result story(LazyNettyNamespaceStoryCommand lazyNettyNamespaceStoryCommand); + + /** + * describe 批量新增命名空间 + * + * @param lazyNettyNamespaceStoryCommandList 批量新增命名空间 + * @return {@link Result>} 命名空间新增后领域对象集合 + + * @author Jia wei Wu + * @date 2025/06/14 06:52 晚上 + **/ + + Result> batchStory(List lazyNettyNamespaceStoryCommandList); + + /** + * describe 更新命名空间 + * + * @param lazyNettyNamespaceUpdateCommand 更新命名空间 + * @return {@link Result} 命名空间领域对象 + + * @author Jia wei Wu + * @date 2025/06/14 06:52 晚上 + **/ + + Result updateOne(LazyNettyNamespaceUpdateCommand lazyNettyNamespaceUpdateCommand); + + /** + * describe 查询单个命名空间 + * + * @param lazyNettyNamespaceQueryOneCommand 查询单个命名空间 + * @return {@link Result} 命名空间DTO对象 + + * @author Jia wei Wu + * @date 2025/06/14 06:52 晚上 + **/ + + Result findOne(LazyNettyNamespaceQueryOneCommand lazyNettyNamespaceQueryOneCommand); + + /** + * describe 查询多个命名空间 + * + * @param lazyNettyNamespaceQueryListCommand 查询多个命名空间 + * @return {@link Result >} 命名空间DTO对象 + + * @author Jia wei Wu + * @date 2025/06/14 06:52 晚上 + **/ + + Result > findList(LazyNettyNamespaceQueryListCommand lazyNettyNamespaceQueryListCommand); + + /** + * describe 分页查询多个命名空间 + * + * @param lazyNettyNamespaceQueryListCommand 分页查询多个命名空间 + * @return {@link Result >} 分页命名空间DTO对象 + + * @author Jia wei Wu + * @date 2025/06/14 06:52 晚上 + **/ + + Result > findPage(int size,int current,LazyNettyNamespaceQueryListCommand lazyNettyNamespaceQueryListCommand); + + /** + * describe 删除命名空间 + * + * @param lazyNettyNamespaceRemoveCommand 删除命名空间 + * @return {@link Result} 命名空间 + + * @author Jia wei Wu + * @date 2025/06/14 06:52 晚上 + **/ + + Result remove(LazyNettyNamespaceRemoveCommand lazyNettyNamespaceRemoveCommand); + +} \ 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/LazyNettyNamespaceDTOAssembler.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/assembler/LazyNettyNamespaceDTOAssembler.java new file mode 100644 index 00000000..e334cb85 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/assembler/LazyNettyNamespaceDTOAssembler.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.netty.namespace.LazyNettyNamespace; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.netty.namespace.LazyNettyNamespaceRemoveCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.netty.namespace.LazyNettyNamespaceStoryCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.netty.namespace.LazyNettyNamespaceUpdateCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.netty.namespace.LazyNettyNamespaceQueryListCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.netty.namespace.LazyNettyNamespaceQueryOneCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.dto.LazyNettyNamespaceDTO; +import org.mapstruct.factory.Mappers; +import org.mapstruct.Mapper; +/** + * describe 命名空间 + * + * @author Jia wei Wu + * @date 2025/06/14 06:52 晚上 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyAssembler + **/ +@Mapper +public interface LazyNettyNamespaceDTOAssembler { + + + /** + * describe MapStruct 创建的代理对象 + * + + + + * @author Jia wei Wu + * @date 2025/06/14 06:52 晚上 + **/ + LazyNettyNamespaceDTOAssembler INSTANCE = Mappers.getMapper(LazyNettyNamespaceDTOAssembler.class); + /** + * describe 应用层存储入参转换成 领域对象 + * + * @param lazyNettyNamespaceStoryCommand 保存命名空间对象 + * @return {@link LazyNettyNamespace} 命名空间领域对象 + + * @author Jia wei Wu + * @date 2025/06/14 06:52 晚上 + **/ + LazyNettyNamespace toLazyNettyNamespace(LazyNettyNamespaceStoryCommand lazyNettyNamespaceStoryCommand); + /** + * describe 应用层更新入参转换成 领域对象 + * + * @param lazyNettyNamespaceUpdateCommand 更新命名空间对象 + * @return {@link LazyNettyNamespace} 命名空间领域对象 + + * @author Jia wei Wu + * @date 2025/06/14 06:52 晚上 + **/ + LazyNettyNamespace toLazyNettyNamespace(LazyNettyNamespaceUpdateCommand lazyNettyNamespaceUpdateCommand); + /** + * describe 应用层查询入参转换成 领域对象 + * + * @param lazyNettyNamespaceQueryOneCommand 查询单个命名空间对象参数 + * @return {@link LazyNettyNamespace} 命名空间领域对象 + + * @author Jia wei Wu + * @date 2025/06/14 06:52 晚上 + **/ + LazyNettyNamespace toLazyNettyNamespace(LazyNettyNamespaceQueryOneCommand lazyNettyNamespaceQueryOneCommand); + /** + * describe 应用层查询入参转换成 领域对象 + * + * @param lazyNettyNamespaceQueryListCommand 查询集合命名空间对象参数 + * @return {@link LazyNettyNamespace} 命名空间领域对象 + + * @author Jia wei Wu + * @date 2025/06/14 06:52 晚上 + **/ + LazyNettyNamespace toLazyNettyNamespace(LazyNettyNamespaceQueryListCommand lazyNettyNamespaceQueryListCommand); + /** + * describe 应用层删除入参转换成 领域对象 + * + * @param lazyNettyNamespaceRemoveCommand 删除命名空间对象参数 + * @return {@link LazyNettyNamespace} 命名空间领域对象 + + * @author Jia wei Wu + * @date 2025/06/14 06:52 晚上 + **/ + LazyNettyNamespace toLazyNettyNamespace(LazyNettyNamespaceRemoveCommand lazyNettyNamespaceRemoveCommand); + /** + * describe 持久层领域对象转换成DTO对象 + * + * @param lazyNettyNamespace 命名空间领域对象 + * @return {@link LazyNettyNamespaceDTO} 命名空间DTO对象 + + * @author Jia wei Wu + * @date 2025/06/14 06:52 晚上 + **/ + LazyNettyNamespaceDTO fromLazyNettyNamespace(LazyNettyNamespace lazyNettyNamespace); +} \ 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/namespace/LazyNettyNamespaceQueryListCommand.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/netty/namespace/LazyNettyNamespaceQueryListCommand.java new file mode 100644 index 00000000..c7ec0a16 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/netty/namespace/LazyNettyNamespaceQueryListCommand.java @@ -0,0 +1,57 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.netty.namespace; + +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; +/** + * describe 命名空间 + * + * @author Jia wei Wu + * @date 2025/06/14 06:52 晚上 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyQueryListCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_netty_namespace_query_List_command",description = "命名空间") +public class LazyNettyNamespaceQueryListCommand { + + + /** + * + * 创建时间 + */ + @Schema(description ="创建时间",name ="createTime",example = "") + private LocalDateTime createTime; + + /** + * + * 描述 + */ + @Schema(description ="描述",name ="description",example = "") + private String description; + + /** + * + * id + */ + @Schema(description ="id",name ="id",example = "") + private Long id; + + /** + * + * 命名空间 + */ + @Schema(description ="命名空间",name ="namespace",example = "") + private String namespace; + + /** + * + * 更新时间 + */ + @Schema(description ="更新时间",name ="updateTime",example = "") + private LocalDateTime updateTime; + +} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/netty/namespace/LazyNettyNamespaceQueryOneCommand.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/netty/namespace/LazyNettyNamespaceQueryOneCommand.java new file mode 100644 index 00000000..30724684 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/netty/namespace/LazyNettyNamespaceQueryOneCommand.java @@ -0,0 +1,57 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.netty.namespace; + +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; +/** + * describe 命名空间 + * + * @author Jia wei Wu + * @date 2025/06/14 06:52 晚上 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyQueryOneCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_netty_namespace_query_one_command",description = "命名空间") +public class LazyNettyNamespaceQueryOneCommand { + + + /** + * + * 创建时间 + */ + @Schema(description ="创建时间",name ="createTime",example = "") + private LocalDateTime createTime; + + /** + * + * 描述 + */ + @Schema(description ="描述",name ="description",example = "") + private String description; + + /** + * + * id + */ + @Schema(description ="id",name ="id",example = "") + private Long id; + + /** + * + * 命名空间 + */ + @Schema(description ="命名空间",name ="namespace",example = "") + private String namespace; + + /** + * + * 更新时间 + */ + @Schema(description ="更新时间",name ="updateTime",example = "") + private LocalDateTime updateTime; + +} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/netty/namespace/LazyNettyNamespaceRemoveCommand.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/netty/namespace/LazyNettyNamespaceRemoveCommand.java new file mode 100644 index 00000000..e4e0365d --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/netty/namespace/LazyNettyNamespaceRemoveCommand.java @@ -0,0 +1,57 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.netty.namespace; + +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; +/** + * describe 命名空间 + * + * @author Jia wei Wu + * @date 2025/06/14 06:52 晚上 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyRemoveCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_netty_namespace_remove_command",description = "命名空间") +public class LazyNettyNamespaceRemoveCommand { + + + /** + * + * 创建时间 + */ + @Schema(description ="创建时间",name ="createTime",example = "") + private LocalDateTime createTime; + + /** + * + * 描述 + */ + @Schema(description ="描述",name ="description",example = "") + private String description; + + /** + * + * id + */ + @Schema(description ="id",name ="id",example = "") + private Long id; + + /** + * + * 命名空间 + */ + @Schema(description ="命名空间",name ="namespace",example = "") + private String namespace; + + /** + * + * 更新时间 + */ + @Schema(description ="更新时间",name ="updateTime",example = "") + private LocalDateTime updateTime; + +} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/netty/namespace/LazyNettyNamespaceStoryCommand.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/netty/namespace/LazyNettyNamespaceStoryCommand.java new file mode 100644 index 00000000..e3613ac9 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/netty/namespace/LazyNettyNamespaceStoryCommand.java @@ -0,0 +1,57 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.netty.namespace; + +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; +/** + * describe 命名空间 + * + * @author Jia wei Wu + * @date 2025/06/14 06:52 晚上 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyStoryCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_netty_namespace_story_command",description = "命名空间") +public class LazyNettyNamespaceStoryCommand { + + + /** + * + * 创建时间 + */ + @Schema(description ="创建时间",name ="createTime",example = "") + private LocalDateTime createTime; + + /** + * + * 描述 + */ + @Schema(description ="描述",name ="description",example = "") + private String description; + + /** + * + * id + */ + @Schema(description ="id",name ="id",example = "") + private Long id; + + /** + * + * 命名空间 + */ + @Schema(description ="命名空间",name ="namespace",example = "") + private String namespace; + + /** + * + * 更新时间 + */ + @Schema(description ="更新时间",name ="updateTime",example = "") + private LocalDateTime updateTime; + +} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/netty/namespace/LazyNettyNamespaceUpdateCommand.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/netty/namespace/LazyNettyNamespaceUpdateCommand.java new file mode 100644 index 00000000..3beab9a8 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/netty/namespace/LazyNettyNamespaceUpdateCommand.java @@ -0,0 +1,57 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.netty.namespace; + +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; +/** + * describe 命名空间 + * + * @author Jia wei Wu + * @date 2025/06/14 06:52 晚上 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyUpdateCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_netty_namespace_update_command",description = "命名空间") +public class LazyNettyNamespaceUpdateCommand { + + + /** + * + * 创建时间 + */ + @Schema(description ="创建时间",name ="createTime",example = "") + private LocalDateTime createTime; + + /** + * + * 描述 + */ + @Schema(description ="描述",name ="description",example = "") + private String description; + + /** + * + * id + */ + @Schema(description ="id",name ="id",example = "") + private Long id; + + /** + * + * 命名空间 + */ + @Schema(description ="命名空间",name ="namespace",example = "") + private String namespace; + + /** + * + * 更新时间 + */ + @Schema(description ="更新时间",name ="updateTime",example = "") + private LocalDateTime updateTime; + +} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/dto/LazyNettyNamespaceDTO.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/dto/LazyNettyNamespaceDTO.java new file mode 100644 index 00000000..7c2d9885 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/dto/LazyNettyNamespaceDTO.java @@ -0,0 +1,57 @@ +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; +/** + * describe 命名空间 + * + * @author Jia wei Wu + * @date 2025/06/14 06:52 晚上 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyDTO + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_netty_namespace_command_dto",description = "命名空间") +public class LazyNettyNamespaceDTO { + + + /** + * + * 创建时间 + */ + @Schema(description ="创建时间",name ="createTime",example = "") + private LocalDateTime createTime; + + /** + * + * 描述 + */ + @Schema(description ="描述",name ="description",example = "") + private String description; + + /** + * + * id + */ + @Schema(description ="id",name ="id",example = "") + private Long id; + + /** + * + * 命名空间 + */ + @Schema(description ="命名空间",name ="namespace",example = "") + private String namespace; + + /** + * + * 更新时间 + */ + @Schema(description ="更新时间",name ="updateTime",example = "") + private LocalDateTime updateTime; + +} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/impl/LazyNettyNamespaceApplicationImpl.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/impl/LazyNettyNamespaceApplicationImpl.java new file mode 100644 index 00000000..5c1ea6e9 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/impl/LazyNettyNamespaceApplicationImpl.java @@ -0,0 +1,144 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.application.impl; + +import org.wu.framework.lazy.orm.web.plus.stereotype.LazyApplication; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.LazyNettyNamespaceApplication; +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.netty.namespace.LazyNettyNamespace; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.netty.namespace.LazyNettyNamespaceRemoveCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.netty.namespace.LazyNettyNamespaceStoryCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.netty.namespace.LazyNettyNamespaceUpdateCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.netty.namespace.LazyNettyNamespaceQueryListCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.netty.namespace.LazyNettyNamespaceQueryOneCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.assembler.LazyNettyNamespaceDTOAssembler; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.dto.LazyNettyNamespaceDTO; +import java.util.stream.Collectors; +import jakarta.annotation.Resource; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.domain.model.lazy.netty.namespace.LazyNettyNamespaceRepository; +import java.util.List; +import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; +/** + * describe 命名空间 + * + * @author Jia wei Wu + * @date 2025/06/14 06:52 晚上 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyApplicationImpl + **/ +@LazyApplication +public class LazyNettyNamespaceApplicationImpl implements LazyNettyNamespaceApplication { + + @Resource + LazyNettyNamespaceRepository lazyNettyNamespaceRepository; + /** + * describe 新增命名空间 + * + * @param lazyNettyNamespaceStoryCommand 新增命名空间 + * @return {@link Result} 命名空间新增后领域对象 + + * @author Jia wei Wu + * @date 2025/06/14 06:52 晚上 + **/ + + @Override + public Result story(LazyNettyNamespaceStoryCommand lazyNettyNamespaceStoryCommand) { + LazyNettyNamespace lazyNettyNamespace = LazyNettyNamespaceDTOAssembler.INSTANCE.toLazyNettyNamespace(lazyNettyNamespaceStoryCommand); + return lazyNettyNamespaceRepository.story(lazyNettyNamespace); + } + /** + * describe 批量新增命名空间 + * + * @param lazyNettyNamespaceStoryCommandList 批量新增命名空间 + * @return {@link Result>} 命名空间新增后领域对象集合 + + * @author Jia wei Wu + * @date 2025/06/14 06:52 晚上 + **/ + + @Override + public Result> batchStory(List lazyNettyNamespaceStoryCommandList) { + List lazyNettyNamespaceList = lazyNettyNamespaceStoryCommandList.stream().map( LazyNettyNamespaceDTOAssembler.INSTANCE::toLazyNettyNamespace).collect(Collectors.toList()); + return lazyNettyNamespaceRepository.batchStory(lazyNettyNamespaceList); + } + /** + * describe 更新命名空间 + * + * @param lazyNettyNamespaceUpdateCommand 更新命名空间 + * @return {@link Result} 命名空间领域对象 + + * @author Jia wei Wu + * @date 2025/06/14 06:52 晚上 + **/ + + @Override + public Result updateOne(LazyNettyNamespaceUpdateCommand lazyNettyNamespaceUpdateCommand) { + LazyNettyNamespace lazyNettyNamespace = LazyNettyNamespaceDTOAssembler.INSTANCE.toLazyNettyNamespace(lazyNettyNamespaceUpdateCommand); + return lazyNettyNamespaceRepository.story(lazyNettyNamespace); + } + + /** + * describe 查询单个命名空间 + * + * @param lazyNettyNamespaceQueryOneCommand 查询单个命名空间 + * @return {@link Result} 命名空间DTO对象 + + * @author Jia wei Wu + * @date 2025/06/14 06:52 晚上 + **/ + + @Override + public Result findOne(LazyNettyNamespaceQueryOneCommand lazyNettyNamespaceQueryOneCommand) { + LazyNettyNamespace lazyNettyNamespace = LazyNettyNamespaceDTOAssembler.INSTANCE.toLazyNettyNamespace(lazyNettyNamespaceQueryOneCommand); + return lazyNettyNamespaceRepository.findOne(lazyNettyNamespace).convert(LazyNettyNamespaceDTOAssembler.INSTANCE::fromLazyNettyNamespace); + } + + /** + * describe 查询多个命名空间 + * + * @param lazyNettyNamespaceQueryListCommand 查询多个命名空间 + * @return {@link Result>} 命名空间DTO对象 + + * @author Jia wei Wu + * @date 2025/06/14 06:52 晚上 + **/ + + @Override + public Result> findList(LazyNettyNamespaceQueryListCommand lazyNettyNamespaceQueryListCommand) { + LazyNettyNamespace lazyNettyNamespace = LazyNettyNamespaceDTOAssembler.INSTANCE.toLazyNettyNamespace(lazyNettyNamespaceQueryListCommand); + return lazyNettyNamespaceRepository.findList(lazyNettyNamespace) .convert(lazyNettyNamespaces -> lazyNettyNamespaces.stream().map(LazyNettyNamespaceDTOAssembler.INSTANCE::fromLazyNettyNamespace).collect(Collectors.toList())) ; + } + + /** + * describe 分页查询多个命名空间 + * + * @param lazyNettyNamespaceQueryListCommand 分页查询多个命名空间 + * @return {@link Result>} 分页命名空间DTO对象 + + * @author Jia wei Wu + * @date 2025/06/14 06:52 晚上 + **/ + + @Override + public Result> findPage(int size,int current,LazyNettyNamespaceQueryListCommand lazyNettyNamespaceQueryListCommand) { + LazyNettyNamespace lazyNettyNamespace = LazyNettyNamespaceDTOAssembler.INSTANCE.toLazyNettyNamespace(lazyNettyNamespaceQueryListCommand); + return lazyNettyNamespaceRepository.findPage(size,current,lazyNettyNamespace) .convert(page -> page.convert(LazyNettyNamespaceDTOAssembler.INSTANCE::fromLazyNettyNamespace)) ; + } + + /** + * describe 删除命名空间 + * + * @param lazyNettyNamespaceRemoveCommand 删除命名空间 + * @return {@link Result} 命名空间 + + * @author Jia wei Wu + * @date 2025/06/14 06:52 晚上 + **/ + + @Override + public Result remove(LazyNettyNamespaceRemoveCommand lazyNettyNamespaceRemoveCommand) { + LazyNettyNamespace lazyNettyNamespace = LazyNettyNamespaceDTOAssembler.INSTANCE.toLazyNettyNamespace(lazyNettyNamespaceRemoveCommand); + return lazyNettyNamespaceRepository.remove(lazyNettyNamespace); + } + +} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/controller/LazyNettyNamespaceProvider.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/controller/LazyNettyNamespaceProvider.java new file mode 100644 index 00000000..3a3eb955 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/controller/LazyNettyNamespaceProvider.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.netty.namespace.LazyNettyNamespace; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.netty.namespace.LazyNettyNamespaceRemoveCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.netty.namespace.LazyNettyNamespaceStoryCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.netty.namespace.LazyNettyNamespaceUpdateCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.netty.namespace.LazyNettyNamespaceQueryListCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.netty.namespace.LazyNettyNamespaceQueryOneCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.LazyNettyNamespaceApplication; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.dto.LazyNettyNamespaceDTO; +import java.util.List; +import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; +/** + * describe 命名空间 + * + * @author Jia wei Wu + * @date 2025/06/14 06:52 晚上 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyController + **/ +@Tag(name = "命名空间提供者") +@EasyController("/lazy/netty/namespace") +public class LazyNettyNamespaceProvider { + + @Resource + private LazyNettyNamespaceApplication lazyNettyNamespaceApplication; + + /** + * describe 新增命名空间 + * + * @param lazyNettyNamespaceStoryCommand 新增命名空间 + * @return {@link Result} 命名空间新增后领域对象 + + * @author Jia wei Wu + * @date 2025/06/14 06:52 晚上 + **/ + + @Operation(summary = "新增命名空间") + @PostMapping("/story") + public Result story(@RequestBody LazyNettyNamespaceStoryCommand lazyNettyNamespaceStoryCommand){ + return lazyNettyNamespaceApplication.story(lazyNettyNamespaceStoryCommand); + } + /** + * describe 批量新增命名空间 + * + * @param lazyNettyNamespaceStoryCommandList 批量新增命名空间 + * @return {@link Result>} 命名空间新增后领域对象集合 + + * @author Jia wei Wu + * @date 2025/06/14 06:52 晚上 + **/ + + @Operation(summary = "批量新增命名空间") + @PostMapping("/batchStory") + public Result> batchStory(@RequestBody List lazyNettyNamespaceStoryCommandList){ + return lazyNettyNamespaceApplication.batchStory(lazyNettyNamespaceStoryCommandList); + } + /** + * describe 更新命名空间 + * + * @param lazyNettyNamespaceUpdateCommand 更新命名空间 + * @return {@link Result} 命名空间领域对象 + + * @author Jia wei Wu + * @date 2025/06/14 06:52 晚上 + **/ + + @Operation(summary = "更新命名空间") + @PutMapping("/updateOne") + public Result updateOne(@RequestBody LazyNettyNamespaceUpdateCommand lazyNettyNamespaceUpdateCommand){ + return lazyNettyNamespaceApplication.updateOne(lazyNettyNamespaceUpdateCommand); + } + /** + * describe 查询单个命名空间 + * + * @param lazyNettyNamespaceQueryOneCommand 查询单个命名空间 + * @return {@link Result} 命名空间DTO对象 + + * @author Jia wei Wu + * @date 2025/06/14 06:52 晚上 + **/ + + @Operation(summary = "查询单个命名空间") + @GetMapping("/findOne") + public Result findOne(@ModelAttribute LazyNettyNamespaceQueryOneCommand lazyNettyNamespaceQueryOneCommand){ + return lazyNettyNamespaceApplication.findOne(lazyNettyNamespaceQueryOneCommand); + } + /** + * describe 查询多个命名空间 + * + * @param lazyNettyNamespaceQueryListCommand 查询多个命名空间 + * @return {@link Result>} 命名空间DTO对象 + + * @author Jia wei Wu + * @date 2025/06/14 06:52 晚上 + **/ + + @Operation(summary = "查询多个命名空间") + @GetMapping("/findList") + public Result> findList(@ModelAttribute LazyNettyNamespaceQueryListCommand lazyNettyNamespaceQueryListCommand){ + return lazyNettyNamespaceApplication.findList(lazyNettyNamespaceQueryListCommand); + } + /** + * describe 分页查询多个命名空间 + * + * @param lazyNettyNamespaceQueryListCommand 分页查询多个命名空间 + * @return {@link Result>} 分页命名空间DTO对象 + + * @author Jia wei Wu + * @date 2025/06/14 06:52 晚上 + **/ + + @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 LazyNettyNamespaceQueryListCommand lazyNettyNamespaceQueryListCommand){ + return lazyNettyNamespaceApplication.findPage(size,current,lazyNettyNamespaceQueryListCommand); + } + /** + * describe 删除命名空间 + * + * @param lazyNettyNamespaceRemoveCommand 删除命名空间 + * @return {@link Result} 命名空间 + + * @author Jia wei Wu + * @date 2025/06/14 06:52 晚上 + **/ + + @Operation(summary = "删除命名空间") + @DeleteMapping("/remove") + public Result remove(@ModelAttribute LazyNettyNamespaceRemoveCommand lazyNettyNamespaceRemoveCommand){ + return lazyNettyNamespaceApplication.remove(lazyNettyNamespaceRemoveCommand); + } +} \ 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/namespace/LazyNettyNamespace.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/domain/model/lazy/netty/namespace/LazyNettyNamespace.java new file mode 100644 index 00000000..30103daf --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/domain/model/lazy/netty/namespace/LazyNettyNamespace.java @@ -0,0 +1,57 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.domain.model.lazy.netty.namespace; + +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; +/** + * describe 命名空间 + * + * @author Jia wei Wu + * @date 2025/06/14 06:52 晚上 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyDomain + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_netty_namespace",description = "命名空间") +public class LazyNettyNamespace { + + + /** + * + * 创建时间 + */ + @Schema(description ="创建时间",name ="createTime",example = "") + private LocalDateTime createTime; + + /** + * + * 描述 + */ + @Schema(description ="描述",name ="description",example = "") + private String description; + + /** + * + * id + */ + @Schema(description ="id",name ="id",example = "") + private Long id; + + /** + * + * 命名空间 + */ + @Schema(description ="命名空间",name ="namespace",example = "") + private String namespace; + + /** + * + * 更新时间 + */ + @Schema(description ="更新时间",name ="updateTime",example = "") + private LocalDateTime updateTime; + +} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/domain/model/lazy/netty/namespace/LazyNettyNamespaceRepository.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/domain/model/lazy/netty/namespace/LazyNettyNamespaceRepository.java new file mode 100644 index 00000000..6bc1081d --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/domain/model/lazy/netty/namespace/LazyNettyNamespaceRepository.java @@ -0,0 +1,106 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.domain.model.lazy.netty.namespace; + +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.netty.namespace.LazyNettyNamespace; +import java.util.List; +import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; +/** + * describe 命名空间 + * + * @author Jia wei Wu + * @date 2025/06/14 06:52 晚上 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyDomainRepository + **/ + +public interface LazyNettyNamespaceRepository { + + + /** + * describe 新增命名空间 + * + * @param lazyNettyNamespace 新增命名空间 + * @return {@link Result} 命名空间新增后领域对象 + + * @author Jia wei Wu + * @date 2025/06/14 06:52 晚上 + **/ + + Result story(LazyNettyNamespace lazyNettyNamespace); + + /** + * describe 批量新增命名空间 + * + * @param lazyNettyNamespaceList 批量新增命名空间 + * @return {@link Result>} 命名空间新增后领域对象集合 + + * @author Jia wei Wu + * @date 2025/06/14 06:52 晚上 + **/ + + Result> batchStory(List lazyNettyNamespaceList); + + /** + * describe 查询单个命名空间 + * + * @param lazyNettyNamespace 查询单个命名空间 + * @return {@link Result} 命名空间DTO对象 + + * @author Jia wei Wu + * @date 2025/06/14 06:52 晚上 + **/ + + Result findOne(LazyNettyNamespace lazyNettyNamespace); + + /** + * describe 查询多个命名空间 + * + * @param lazyNettyNamespace 查询多个命名空间 + * @return {@link Result>} 命名空间DTO对象 + + * @author Jia wei Wu + * @date 2025/06/14 06:52 晚上 + **/ + + Result> findList(LazyNettyNamespace lazyNettyNamespace); + + /** + * describe 分页查询多个命名空间 + * + * @param size 当前页数 + * @param current 当前页 + * @param lazyNettyNamespace 分页查询多个命名空间 + * @return {@link Result>} 分页命名空间领域对象 + + * @author Jia wei Wu + * @date 2025/06/14 06:52 晚上 + **/ + + Result> findPage(int size,int current,LazyNettyNamespace lazyNettyNamespace); + + /** + * describe 删除命名空间 + * + * @param lazyNettyNamespace 删除命名空间 + * @return {@link Result} 命名空间 + + * @author Jia wei Wu + * @date 2025/06/14 06:52 晚上 + **/ + + Result remove(LazyNettyNamespace lazyNettyNamespace); + + /** + * describe 是否存在命名空间 + * + * @param lazyNettyNamespace 是否存在命名空间 + * @return {@link Result} 命名空间是否存在 + + * @author Jia wei Wu + * @date 2025/06/14 06:52 晚上 + **/ + + Result exists(LazyNettyNamespace lazyNettyNamespace); + +} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/converter/LazyNettyNamespaceConverter.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/converter/LazyNettyNamespaceConverter.java new file mode 100644 index 00000000..6a35bc05 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/converter/LazyNettyNamespaceConverter.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.netty.namespace.LazyNettyNamespace; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.infrastructure.entity.LazyNettyNamespaceDO; +import org.mapstruct.factory.Mappers; +import org.mapstruct.Mapper; +/** + * describe 命名空间 + * + * @author Jia wei Wu + * @date 2025/06/14 06:52 晚上 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyInfrastructureConverter + **/ +@Mapper +public interface LazyNettyNamespaceConverter { + + + /** + * describe MapStruct 创建的代理对象 + * + + + + * @author Jia wei Wu + * @date 2025/06/14 06:52 晚上 + **/ + LazyNettyNamespaceConverter INSTANCE = Mappers.getMapper(LazyNettyNamespaceConverter.class); + /** + * describe 实体对象 转换成领域对象 + * + * @param lazyNettyNamespaceDO 命名空间实体对象 + * @return {@link LazyNettyNamespace} 命名空间领域对象 + + * @author Jia wei Wu + * @date 2025/06/14 06:52 晚上 + **/ + LazyNettyNamespace toLazyNettyNamespace(LazyNettyNamespaceDO lazyNettyNamespaceDO); + /** + * describe 领域对象 转换成实体对象 + * + * @param lazyNettyNamespace 命名空间领域对象 + * @return {@link LazyNettyNamespaceDO} 命名空间实体对象 + + * @author Jia wei Wu + * @date 2025/06/14 06:52 晚上 + **/ + LazyNettyNamespaceDO fromLazyNettyNamespace(LazyNettyNamespace lazyNettyNamespace); +} \ 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/LazyNettyNamespaceDO.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/entity/LazyNettyNamespaceDO.java new file mode 100644 index 00000000..d4c301ab --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/entity/LazyNettyNamespaceDO.java @@ -0,0 +1,71 @@ +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; +/** + * describe 命名空间 + * + * @author Jia wei Wu + * @date 2025/06/14 06:52 晚上 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyInfrastructureEntity + **/ +@Data +@Accessors(chain = true) +@LazyTable(tableName = "lazy_netty_namespace",comment = "命名空间") +@Schema(title = "lazy_netty_namespace",description = "命名空间") +public class LazyNettyNamespaceDO { + + + /** + * + * 创建时间 + */ + @Schema(description ="创建时间",name ="createTime",example = "") + @LazyTableField(name="create_time",comment="创建时间",defaultValue="CURRENT_TIMESTAMP",upsertStrategy = LazyFieldStrategy.NEVER,columnType="datetime",extra=" on update CURRENT_TIMESTAMP") + private LocalDateTime createTime; + + /** + * + * 描述 + */ + @Schema(description ="描述",name ="description",example = "") + @LazyTableField(name="description",comment="描述",columnType="varchar(255)") + private String description; + + /** + * + * id + */ + @Schema(description ="id",name ="id",example = "") + @LazyTableFieldId(name = "id", comment = "id") + private Long id; + + /** + * + * 命名空间 + */ + @Schema(description ="命名空间",name ="namespace",example = "") + @LazyTableField(name="namespace",comment="命名空间",columnType="varchar(255)") + private String namespace; + + /** + * + * 更新时间 + */ + @Schema(description ="更新时间",name ="updateTime",example = "") + @LazyTableField(name="update_time",comment="更新时间",defaultValue="CURRENT_TIMESTAMP",upsertStrategy = LazyFieldStrategy.NEVER,columnType="datetime",extra=" on update CURRENT_TIMESTAMP") + private LocalDateTime updateTime; + +} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/jpa/lazy/LazyNettyNamespaceLazyJpaRepository.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/jpa/lazy/LazyNettyNamespaceLazyJpaRepository.java new file mode 100644 index 00000000..ce581814 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/jpa/lazy/LazyNettyNamespaceLazyJpaRepository.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.LazyNettyNamespaceDO; +/** + * describe 命名空间 + * + * @author Jia wei Wu + * @date 2025/06/14 06:52 晚上 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyInfrastructureLazyJpa + **/ +@LazyRepository +public interface LazyNettyNamespaceLazyJpaRepository 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/LazyNettyNamespaceMapper.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/mapper/LazyNettyNamespaceMapper.java new file mode 100644 index 00000000..2434c0bf --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/mapper/LazyNettyNamespaceMapper.java @@ -0,0 +1,15 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.infrastructure.mapper; + +/** + * describe 命名空间 + * + * @author Jia wei Wu + * @date 2025/06/14 06:52 晚上 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyInfrastructureMapper + **/ + +public interface LazyNettyNamespaceMapper { + + + +} \ 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/LazyNettyNamespaceRepositoryImpl.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/persistence/LazyNettyNamespaceRepositoryImpl.java new file mode 100644 index 00000000..9932d520 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/persistence/LazyNettyNamespaceRepositoryImpl.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.LazyNettyNamespaceDO; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.infrastructure.converter.LazyNettyNamespaceConverter; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.infrastructure.mapper.LazyNettyNamespaceMapper; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.domain.model.lazy.netty.namespace.LazyNettyNamespaceRepository; +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.netty.namespace.LazyNettyNamespace; +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/14 06:52 晚上 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyInfrastructurePersistence + **/ +@Repository +public class LazyNettyNamespaceRepositoryImpl implements LazyNettyNamespaceRepository { + + @Resource + LazyLambdaStream lazyLambdaStream; + + /** + * describe 新增命名空间 + * + * @param lazyNettyNamespace 新增命名空间 + * @return {@link Result} 命名空间新增后领域对象 + + * @author Jia wei Wu + * @date 2025/06/14 06:52 晚上 + **/ + + @Override + public Result story(LazyNettyNamespace lazyNettyNamespace) { + LazyNettyNamespaceDO lazyNettyNamespaceDO = LazyNettyNamespaceConverter.INSTANCE.fromLazyNettyNamespace(lazyNettyNamespace); + lazyLambdaStream.upsert(lazyNettyNamespaceDO); + return ResultFactory.successOf(); + } + + /** + * describe 批量新增命名空间 + * + * @param lazyNettyNamespaceList 批量新增命名空间 + * @return {@link Result>} 命名空间新增后领域对象集合 + + * @author Jia wei Wu + * @date 2025/06/14 06:52 晚上 + **/ + + @Override + public Result> batchStory(List lazyNettyNamespaceList) { + List lazyNettyNamespaceDOList = lazyNettyNamespaceList.stream().map(LazyNettyNamespaceConverter.INSTANCE::fromLazyNettyNamespace).collect(Collectors.toList()); + lazyLambdaStream.upsert(lazyNettyNamespaceDOList); + return ResultFactory.successOf(); + } + + /** + * describe 查询单个命名空间 + * + * @param lazyNettyNamespace 查询单个命名空间 + * @return {@link Result} 命名空间领域对象 + + * @author Jia wei Wu + * @date 2025/06/14 06:52 晚上 + **/ + + @Override + public Result findOne(LazyNettyNamespace lazyNettyNamespace) { + LazyNettyNamespaceDO lazyNettyNamespaceDO = LazyNettyNamespaceConverter.INSTANCE.fromLazyNettyNamespace(lazyNettyNamespace); + LazyNettyNamespace lazyNettyNamespaceOne = lazyLambdaStream.selectOne(LazyWrappers.lambdaWrapperBean(lazyNettyNamespaceDO), LazyNettyNamespace.class); + return ResultFactory.successOf(lazyNettyNamespaceOne); + } + + /** + * describe 查询多个命名空间 + * + * @param lazyNettyNamespace 查询多个命名空间 + * @return {@link Result>} 命名空间领域对象 + + * @author Jia wei Wu + * @date 2025/06/14 06:52 晚上 + **/ + + @Override + public Result> findList(LazyNettyNamespace lazyNettyNamespace) { + LazyNettyNamespaceDO lazyNettyNamespaceDO = LazyNettyNamespaceConverter.INSTANCE.fromLazyNettyNamespace(lazyNettyNamespace); + List lazyNettyNamespaceList = lazyLambdaStream.selectList(LazyWrappers.lambdaWrapperBean(lazyNettyNamespaceDO), LazyNettyNamespace.class); + return ResultFactory.successOf(lazyNettyNamespaceList); + } + + /** + * describe 分页查询多个命名空间 + * + * @param size 当前页数 + * @param current 当前页 + * @param lazyNettyNamespace 分页查询多个命名空间 + * @return {@link Result>} 分页命名空间领域对象 + + * @author Jia wei Wu + * @date 2025/06/14 06:52 晚上 + **/ + + @Override + public Result> findPage(int size,int current,LazyNettyNamespace lazyNettyNamespace) { + LazyNettyNamespaceDO lazyNettyNamespaceDO = LazyNettyNamespaceConverter.INSTANCE.fromLazyNettyNamespace(lazyNettyNamespace); + LazyPage lazyPage = new LazyPage<>(current,size); + LazyPage lazyNettyNamespaceLazyPage = lazyLambdaStream.selectPage(LazyWrappers.lambdaWrapperBean(lazyNettyNamespaceDO),lazyPage, LazyNettyNamespace.class); + return ResultFactory.successOf(lazyNettyNamespaceLazyPage); + } + + /** + * describe 删除命名空间 + * + * @param lazyNettyNamespace 删除命名空间 + * @return {@link Result} 命名空间 + + * @author Jia wei Wu + * @date 2025/06/14 06:52 晚上 + **/ + + @Override + public Result remove(LazyNettyNamespace lazyNettyNamespace) { + LazyNettyNamespaceDO lazyNettyNamespaceDO = LazyNettyNamespaceConverter.INSTANCE.fromLazyNettyNamespace(lazyNettyNamespace); + // lazyLambdaStream.delete(LazyWrappers.lambdaWrapperBean(lazyNettyNamespaceDO)); + return ResultFactory.successOf(); + } + + /** + * describe 是否存在命名空间 + * + * @param lazyNettyNamespace 命名空间领域对象 + * @return {@link Result} 是否存在 true 存在,false 不存在 + + * @author Jia wei Wu + * @date 2025/06/14 06:52 晚上 + **/ + + @Override + public Result exists(LazyNettyNamespace lazyNettyNamespace) { + LazyNettyNamespaceDO lazyNettyNamespaceDO = LazyNettyNamespaceConverter.INSTANCE.fromLazyNettyNamespace(lazyNettyNamespace); + Boolean exists=lazyLambdaStream.exists(LazyWrappers.lambdaWrapperBean(lazyNettyNamespaceDO)); + 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/LazyNettyNamespaceMapper.xml b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/xml/LazyNettyNamespaceMapper.xml new file mode 100644 index 00000000..ffa20ce4 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/xml/LazyNettyNamespaceMapper.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file