From dd6daa5421740ea204c304368eb21a2e68ad556a Mon Sep 17 00:00:00 2001 From: wujiawei <12345678> Date: Sat, 28 Sep 2024 15:54:18 +0800 Subject: [PATCH] =?UTF-8?q?[fix]=20=20=E6=B7=BB=E5=8A=A0=E5=AE=A2=E6=88=B7?= =?UTF-8?q?=E7=AB=AF=E4=BB=A4=E7=89=8C=E6=A1=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../client/config/NettyClientProperties.java | 14 ++ ...LazyNettyClientTokenBucketApplication.java | 109 +++++++++++++ ...azyNettyClientTokenBucketDTOAssembler.java | 93 +++++++++++ ...ettyClientTokenBucketQueryListCommand.java | 86 ++++++++++ ...NettyClientTokenBucketQueryOneCommand.java | 86 ++++++++++ ...zyNettyClientTokenBucketRemoveCommand.java | 86 ++++++++++ ...azyNettyClientTokenBucketStoryCommand.java | 45 ++++++ ...zyNettyClientTokenBucketUpdateCommand.java | 65 ++++++++ .../dto/LazyNettyClientTokenBucketDTO.java | 80 ++++++++++ ...NettyClientTokenBucketApplicationImpl.java | 146 +++++++++++++++++ .../LazyNettyClientTokenBucketProvider.java | 142 +++++++++++++++++ .../bucket/LazyNettyClientTokenBucket.java | 86 ++++++++++ .../LazyNettyClientTokenBucketRepository.java | 106 +++++++++++++ .../LazyNettyClientTokenBucketConverter.java | 48 ++++++ .../entity/LazyNettyClientTokenBucketDO.java | 2 +- ...ttyClientTokenBucketLazyJpaRepository.java | 18 +++ .../LazyNettyClientTokenBucketMapper.java | 15 ++ ...yNettyClientTokenBucketRepositoryImpl.java | 147 ++++++++++++++++++ .../xml/LazyNettyClientTokenBucketMapper.xml | 17 ++ 19 files changed, 1390 insertions(+), 1 deletion(-) create mode 100644 wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/LazyNettyClientTokenBucketApplication.java create mode 100644 wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/assembler/LazyNettyClientTokenBucketDTOAssembler.java create mode 100644 wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/netty/client/token/bucket/LazyNettyClientTokenBucketQueryListCommand.java create mode 100644 wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/netty/client/token/bucket/LazyNettyClientTokenBucketQueryOneCommand.java create mode 100644 wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/netty/client/token/bucket/LazyNettyClientTokenBucketRemoveCommand.java create mode 100644 wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/netty/client/token/bucket/LazyNettyClientTokenBucketStoryCommand.java create mode 100644 wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/netty/client/token/bucket/LazyNettyClientTokenBucketUpdateCommand.java create mode 100644 wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/dto/LazyNettyClientTokenBucketDTO.java create mode 100644 wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/impl/LazyNettyClientTokenBucketApplicationImpl.java create mode 100644 wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/controller/LazyNettyClientTokenBucketProvider.java create mode 100644 wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/domain/model/lazy/netty/client/token/bucket/LazyNettyClientTokenBucket.java create mode 100644 wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/domain/model/lazy/netty/client/token/bucket/LazyNettyClientTokenBucketRepository.java create mode 100644 wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/converter/LazyNettyClientTokenBucketConverter.java create mode 100644 wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/jpa/lazy/LazyNettyClientTokenBucketLazyJpaRepository.java create mode 100644 wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/mapper/LazyNettyClientTokenBucketMapper.java create mode 100644 wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/persistence/LazyNettyClientTokenBucketRepositoryImpl.java create mode 100644 wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/xml/LazyNettyClientTokenBucketMapper.xml diff --git a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/config/NettyClientProperties.java b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/config/NettyClientProperties.java index b3ad5bf..2e9f369 100644 --- a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/config/NettyClientProperties.java +++ b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/config/NettyClientProperties.java @@ -1,5 +1,6 @@ package org.framework.lazy.cloud.network.heartbeat.client.config; +import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Configuration; @@ -29,6 +30,19 @@ public class NettyClientProperties { */ private String clientId; + + /** + * + * 令牌key + */ + private String appKey; + + /** + * + * 令牌密钥 + */ + private String appSecret; + /** * 是否开启 默认是 */ diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/LazyNettyClientTokenBucketApplication.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/LazyNettyClientTokenBucketApplication.java new file mode 100644 index 0000000..70d1025 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/LazyNettyClientTokenBucketApplication.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.client.token.bucket.LazyNettyClientTokenBucket; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.netty.client.token.bucket.LazyNettyClientTokenBucketRemoveCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.netty.client.token.bucket.LazyNettyClientTokenBucketStoryCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.netty.client.token.bucket.LazyNettyClientTokenBucketUpdateCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.netty.client.token.bucket.LazyNettyClientTokenBucketQueryListCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.netty.client.token.bucket.LazyNettyClientTokenBucketQueryOneCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.dto.LazyNettyClientTokenBucketDTO; +import java.util.List; +import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; +/** + * describe 客户端令牌桶 + * + * @author Jia wei Wu + * @date 2024/09/28 01:56 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyApplication + **/ + +public interface LazyNettyClientTokenBucketApplication { + + + /** + * describe 新增客户端令牌桶 + * + * @param lazyNettyClientTokenBucketStoryCommand 新增客户端令牌桶 + * @return {@link Result} 客户端令牌桶新增后领域对象 + + * @author Jia wei Wu + * @date 2024/09/28 01:56 下午 + **/ + + Result story(LazyNettyClientTokenBucketStoryCommand lazyNettyClientTokenBucketStoryCommand); + + /** + * describe 批量新增客户端令牌桶 + * + * @param lazyNettyClientTokenBucketStoryCommandList 批量新增客户端令牌桶 + * @return {@link Result>} 客户端令牌桶新增后领域对象集合 + + * @author Jia wei Wu + * @date 2024/09/28 01:56 下午 + **/ + + Result> batchStory(List lazyNettyClientTokenBucketStoryCommandList); + + /** + * describe 更新客户端令牌桶 + * + * @param lazyNettyClientTokenBucketUpdateCommand 更新客户端令牌桶 + * @return {@link Result} 客户端令牌桶领域对象 + + * @author Jia wei Wu + * @date 2024/09/28 01:56 下午 + **/ + + Result updateOne(LazyNettyClientTokenBucketUpdateCommand lazyNettyClientTokenBucketUpdateCommand); + + /** + * describe 查询单个客户端令牌桶 + * + * @param lazyNettyClientTokenBucketQueryOneCommand 查询单个客户端令牌桶 + * @return {@link Result} 客户端令牌桶DTO对象 + + * @author Jia wei Wu + * @date 2024/09/28 01:56 下午 + **/ + + Result findOne(LazyNettyClientTokenBucketQueryOneCommand lazyNettyClientTokenBucketQueryOneCommand); + + /** + * describe 查询多个客户端令牌桶 + * + * @param lazyNettyClientTokenBucketQueryListCommand 查询多个客户端令牌桶 + * @return {@link Result >} 客户端令牌桶DTO对象 + + * @author Jia wei Wu + * @date 2024/09/28 01:56 下午 + **/ + + Result > findList(LazyNettyClientTokenBucketQueryListCommand lazyNettyClientTokenBucketQueryListCommand); + + /** + * describe 分页查询多个客户端令牌桶 + * + * @param lazyNettyClientTokenBucketQueryListCommand 分页查询多个客户端令牌桶 + * @return {@link Result >} 分页客户端令牌桶DTO对象 + + * @author Jia wei Wu + * @date 2024/09/28 01:56 下午 + **/ + + Result > findPage(int size,int current,LazyNettyClientTokenBucketQueryListCommand lazyNettyClientTokenBucketQueryListCommand); + + /** + * describe 删除客户端令牌桶 + * + * @param lazyNettyClientTokenBucketRemoveCommand 删除客户端令牌桶 + * @return {@link Result} 客户端令牌桶 + + * @author Jia wei Wu + * @date 2024/09/28 01:56 下午 + **/ + + Result remove(LazyNettyClientTokenBucketRemoveCommand lazyNettyClientTokenBucketRemoveCommand); + +} \ 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/LazyNettyClientTokenBucketDTOAssembler.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/assembler/LazyNettyClientTokenBucketDTOAssembler.java new file mode 100644 index 0000000..8fdb86a --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/assembler/LazyNettyClientTokenBucketDTOAssembler.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.client.token.bucket.LazyNettyClientTokenBucket; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.netty.client.token.bucket.LazyNettyClientTokenBucketRemoveCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.netty.client.token.bucket.LazyNettyClientTokenBucketStoryCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.netty.client.token.bucket.LazyNettyClientTokenBucketUpdateCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.netty.client.token.bucket.LazyNettyClientTokenBucketQueryListCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.netty.client.token.bucket.LazyNettyClientTokenBucketQueryOneCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.dto.LazyNettyClientTokenBucketDTO; +import org.mapstruct.factory.Mappers; +import org.mapstruct.Mapper; +/** + * describe 客户端令牌桶 + * + * @author Jia wei Wu + * @date 2024/09/28 01:56 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyAssembler + **/ +@Mapper +public interface LazyNettyClientTokenBucketDTOAssembler { + + + /** + * describe MapStruct 创建的代理对象 + * + + + + * @author Jia wei Wu + * @date 2024/09/28 01:56 下午 + **/ + LazyNettyClientTokenBucketDTOAssembler INSTANCE = Mappers.getMapper(LazyNettyClientTokenBucketDTOAssembler.class); + /** + * describe 应用层存储入参转换成 领域对象 + * + * @param lazyNettyClientTokenBucketStoryCommand 保存客户端令牌桶对象 + * @return {@link LazyNettyClientTokenBucket} 客户端令牌桶领域对象 + + * @author Jia wei Wu + * @date 2024/09/28 01:56 下午 + **/ + LazyNettyClientTokenBucket toLazyNettyClientTokenBucket(LazyNettyClientTokenBucketStoryCommand lazyNettyClientTokenBucketStoryCommand); + /** + * describe 应用层更新入参转换成 领域对象 + * + * @param lazyNettyClientTokenBucketUpdateCommand 更新客户端令牌桶对象 + * @return {@link LazyNettyClientTokenBucket} 客户端令牌桶领域对象 + + * @author Jia wei Wu + * @date 2024/09/28 01:56 下午 + **/ + LazyNettyClientTokenBucket toLazyNettyClientTokenBucket(LazyNettyClientTokenBucketUpdateCommand lazyNettyClientTokenBucketUpdateCommand); + /** + * describe 应用层查询入参转换成 领域对象 + * + * @param lazyNettyClientTokenBucketQueryOneCommand 查询单个客户端令牌桶对象参数 + * @return {@link LazyNettyClientTokenBucket} 客户端令牌桶领域对象 + + * @author Jia wei Wu + * @date 2024/09/28 01:56 下午 + **/ + LazyNettyClientTokenBucket toLazyNettyClientTokenBucket(LazyNettyClientTokenBucketQueryOneCommand lazyNettyClientTokenBucketQueryOneCommand); + /** + * describe 应用层查询入参转换成 领域对象 + * + * @param lazyNettyClientTokenBucketQueryListCommand 查询集合客户端令牌桶对象参数 + * @return {@link LazyNettyClientTokenBucket} 客户端令牌桶领域对象 + + * @author Jia wei Wu + * @date 2024/09/28 01:56 下午 + **/ + LazyNettyClientTokenBucket toLazyNettyClientTokenBucket(LazyNettyClientTokenBucketQueryListCommand lazyNettyClientTokenBucketQueryListCommand); + /** + * describe 应用层删除入参转换成 领域对象 + * + * @param lazyNettyClientTokenBucketRemoveCommand 删除客户端令牌桶对象参数 + * @return {@link LazyNettyClientTokenBucket} 客户端令牌桶领域对象 + + * @author Jia wei Wu + * @date 2024/09/28 01:56 下午 + **/ + LazyNettyClientTokenBucket toLazyNettyClientTokenBucket(LazyNettyClientTokenBucketRemoveCommand lazyNettyClientTokenBucketRemoveCommand); + /** + * describe 持久层领域对象转换成DTO对象 + * + * @param lazyNettyClientTokenBucket 客户端令牌桶领域对象 + * @return {@link LazyNettyClientTokenBucketDTO} 客户端令牌桶DTO对象 + + * @author Jia wei Wu + * @date 2024/09/28 01:56 下午 + **/ + LazyNettyClientTokenBucketDTO fromLazyNettyClientTokenBucket(LazyNettyClientTokenBucket lazyNettyClientTokenBucket); +} \ 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/client/token/bucket/LazyNettyClientTokenBucketQueryListCommand.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/netty/client/token/bucket/LazyNettyClientTokenBucketQueryListCommand.java new file mode 100644 index 0000000..b8d0a60 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/netty/client/token/bucket/LazyNettyClientTokenBucketQueryListCommand.java @@ -0,0 +1,86 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.netty.client.token.bucket; + +import lombok.Data; +import lombok.experimental.Accessors; +import io.swagger.v3.oas.annotations.media.Schema; +import java.lang.String; +import java.time.LocalDateTime; +import java.lang.Long; +import java.lang.Boolean; +/** + * describe 客户端令牌桶 + * + * @author Jia wei Wu + * @date 2024/09/28 01:56 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyQueryListCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_netty_client_token_bucket_query_List_command",description = "客户端令牌桶") +public class LazyNettyClientTokenBucketQueryListCommand { + + + /** + * + * 令牌key + */ + @Schema(description ="令牌key",name ="appKey",example = "") + private String appKey; + + /** + * + * 令牌密钥 + */ + @Schema(description ="令牌密钥",name ="appSecret",example = "") + private String appSecret; + + /** + * + * 创建时间 + */ + @Schema(description ="创建时间",name ="createTime",example = "") + private LocalDateTime createTime; + + /** + * + * 描述 + */ + @Schema(description ="描述",name ="describe",example = "") + private String describe; + + /** + * + * 过期时间 + */ + @Schema(description ="过期时间",name ="expireInTime",example = "") + private LocalDateTime expireInTime; + + /** + * + * 主键ID + */ + @Schema(description ="主键ID",name ="id",example = "") + private Long id; + + /** + * + * 是否删除 + */ + @Schema(description ="是否删除",name ="isDeleted",example = "") + private Boolean isDeleted=false; + + /** + * + * 更新时间 + */ + @Schema(description ="更新时间",name ="updateTime",example = "") + private LocalDateTime updateTime; + + /** + * + * 被使用的客户端ID + */ + @Schema(description ="被使用的客户端ID",name ="usedByClientId",example = "") + private String usedByClientId; + +} \ 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/client/token/bucket/LazyNettyClientTokenBucketQueryOneCommand.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/netty/client/token/bucket/LazyNettyClientTokenBucketQueryOneCommand.java new file mode 100644 index 0000000..ace7745 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/netty/client/token/bucket/LazyNettyClientTokenBucketQueryOneCommand.java @@ -0,0 +1,86 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.netty.client.token.bucket; + +import lombok.Data; +import lombok.experimental.Accessors; +import io.swagger.v3.oas.annotations.media.Schema; +import java.lang.String; +import java.time.LocalDateTime; +import java.lang.Long; +import java.lang.Boolean; +/** + * describe 客户端令牌桶 + * + * @author Jia wei Wu + * @date 2024/09/28 01:56 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyQueryOneCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_netty_client_token_bucket_query_one_command",description = "客户端令牌桶") +public class LazyNettyClientTokenBucketQueryOneCommand { + + + /** + * + * 令牌key + */ + @Schema(description ="令牌key",name ="appKey",example = "") + private String appKey; + + /** + * + * 令牌密钥 + */ + @Schema(description ="令牌密钥",name ="appSecret",example = "") + private String appSecret; + + /** + * + * 创建时间 + */ + @Schema(description ="创建时间",name ="createTime",example = "") + private LocalDateTime createTime; + + /** + * + * 描述 + */ + @Schema(description ="描述",name ="describe",example = "") + private String describe; + + /** + * + * 过期时间 + */ + @Schema(description ="过期时间",name ="expireInTime",example = "") + private LocalDateTime expireInTime; + + /** + * + * 主键ID + */ + @Schema(description ="主键ID",name ="id",example = "") + private Long id; + + /** + * + * 是否删除 + */ + @Schema(description ="是否删除",name ="isDeleted",example = "") + private Boolean isDeleted=false; + + /** + * + * 更新时间 + */ + @Schema(description ="更新时间",name ="updateTime",example = "") + private LocalDateTime updateTime; + + /** + * + * 被使用的客户端ID + */ + @Schema(description ="被使用的客户端ID",name ="usedByClientId",example = "") + private String usedByClientId; + +} \ 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/client/token/bucket/LazyNettyClientTokenBucketRemoveCommand.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/netty/client/token/bucket/LazyNettyClientTokenBucketRemoveCommand.java new file mode 100644 index 0000000..7bd283d --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/netty/client/token/bucket/LazyNettyClientTokenBucketRemoveCommand.java @@ -0,0 +1,86 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.netty.client.token.bucket; + +import lombok.Data; +import lombok.experimental.Accessors; +import io.swagger.v3.oas.annotations.media.Schema; +import java.lang.String; +import java.time.LocalDateTime; +import java.lang.Long; +import java.lang.Boolean; +/** + * describe 客户端令牌桶 + * + * @author Jia wei Wu + * @date 2024/09/28 01:56 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyRemoveCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_netty_client_token_bucket_remove_command",description = "客户端令牌桶") +public class LazyNettyClientTokenBucketRemoveCommand { + + + /** + * + * 令牌key + */ + @Schema(description ="令牌key",name ="appKey",example = "") + private String appKey; + + /** + * + * 令牌密钥 + */ + @Schema(description ="令牌密钥",name ="appSecret",example = "") + private String appSecret; + + /** + * + * 创建时间 + */ + @Schema(description ="创建时间",name ="createTime",example = "") + private LocalDateTime createTime; + + /** + * + * 描述 + */ + @Schema(description ="描述",name ="describe",example = "") + private String describe; + + /** + * + * 过期时间 + */ + @Schema(description ="过期时间",name ="expireInTime",example = "") + private LocalDateTime expireInTime; + + /** + * + * 主键ID + */ + @Schema(description ="主键ID",name ="id",example = "") + private Long id; + + /** + * + * 是否删除 + */ + @Schema(description ="是否删除",name ="isDeleted",example = "") + private Boolean isDeleted; + + /** + * + * 更新时间 + */ + @Schema(description ="更新时间",name ="updateTime",example = "") + private LocalDateTime updateTime; + + /** + * + * 被使用的客户端ID + */ + @Schema(description ="被使用的客户端ID",name ="usedByClientId",example = "") + private String usedByClientId; + +} \ 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/client/token/bucket/LazyNettyClientTokenBucketStoryCommand.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/netty/client/token/bucket/LazyNettyClientTokenBucketStoryCommand.java new file mode 100644 index 0000000..69bf970 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/netty/client/token/bucket/LazyNettyClientTokenBucketStoryCommand.java @@ -0,0 +1,45 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.netty.client.token.bucket; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.experimental.Accessors; +import io.swagger.v3.oas.annotations.media.Schema; +import java.lang.String; +import java.time.LocalDateTime; +import java.lang.Long; +import java.lang.Boolean; +/** + * describe 客户端令牌桶 + * + * @author Jia wei Wu + * @date 2024/09/28 01:56 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyStoryCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_netty_client_token_bucket_story_command",description = "客户端令牌桶") +public class LazyNettyClientTokenBucketStoryCommand { + + /** + * + * 描述 + */ + @Schema(description ="描述",name ="describe",example = "") + private String describe; + + /** + * + * 过期时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @Schema(description ="过期时间",name ="expireInTime",example = "") + private LocalDateTime expireInTime; + + + /** + * + * 是否删除 + */ + @Schema(description ="是否删除",name ="isDeleted",example = "") + private Boolean isDeleted=false; +} \ 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/client/token/bucket/LazyNettyClientTokenBucketUpdateCommand.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/netty/client/token/bucket/LazyNettyClientTokenBucketUpdateCommand.java new file mode 100644 index 0000000..a3e8206 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/netty/client/token/bucket/LazyNettyClientTokenBucketUpdateCommand.java @@ -0,0 +1,65 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.netty.client.token.bucket; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.experimental.Accessors; +import io.swagger.v3.oas.annotations.media.Schema; +import java.lang.String; +import java.time.LocalDateTime; +import java.lang.Long; +import java.lang.Boolean; +/** + * describe 客户端令牌桶 + * + * @author Jia wei Wu + * @date 2024/09/28 01:56 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyUpdateCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_netty_client_token_bucket_update_command",description = "客户端令牌桶") +public class LazyNettyClientTokenBucketUpdateCommand { + + + + /** + * + * 令牌key + */ + @Schema(description ="令牌key",name ="appKey",example = "") + private String appKey; + + /** + * + * 令牌密钥 + */ + @Schema(description ="令牌密钥",name ="appSecret",example = "") + private String appSecret; + /** + * + * 被使用的客户端ID + */ + @Schema(description ="被使用的客户端ID",name ="usedByClientId",example = "") + private String usedByClientId; + /** + * + * 描述 + */ + @Schema(description ="描述",name ="describe",example = "") + private String describe; + + /** + * + * 过期时间 + */ + @Schema(description ="过期时间",name ="expireInTime",example = "") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private LocalDateTime expireInTime; + /** + * + * 是否删除 + */ + @Schema(description ="是否删除",name ="isDeleted",example = "") + private Boolean isDeleted=false; + +} \ 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/LazyNettyClientTokenBucketDTO.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/dto/LazyNettyClientTokenBucketDTO.java new file mode 100644 index 0000000..4d0aa5f --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/dto/LazyNettyClientTokenBucketDTO.java @@ -0,0 +1,80 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.application.dto; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.time.LocalDateTime; + +/** + * describe 客户端令牌桶 + * + * @author Jia wei Wu + * @date 2024/09/28 01:56 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyDTO + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_netty_client_token_bucket_command_dto", description = "客户端令牌桶") +public class LazyNettyClientTokenBucketDTO { + + + /** + * 令牌key + */ + @Schema(description = "令牌key", name = "appKey", example = "") + private String appKey; + + /** + * 令牌密钥 + */ + @Schema(description = "令牌密钥", name = "appSecret", example = "") + private String appSecret; + + /** + * 创建时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @Schema(description = "创建时间", name = "createTime", example = "") + private LocalDateTime createTime; + + /** + * 描述 + */ + @Schema(description = "描述", name = "describe", example = "") + private String describe; + + /** + * 过期时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @Schema(description = "过期时间", name = "expireInTime", example = "") + private LocalDateTime expireInTime; + + /** + * 主键ID + */ + @Schema(description = "主键ID", name = "id", example = "") + private Long id; + + /** + * 是否删除 + */ + @Schema(description = "是否删除", name = "isDeleted", example = "") + private Boolean isDeleted; + + /** + * 更新时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @Schema(description = "更新时间", name = "updateTime", example = "") + private LocalDateTime updateTime; + + /** + * 被使用的客户端ID + */ + @Schema(description = "被使用的客户端ID", name = "usedByClientId", example = "") + private String usedByClientId; + +} \ 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/LazyNettyClientTokenBucketApplicationImpl.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/impl/LazyNettyClientTokenBucketApplicationImpl.java new file mode 100644 index 0000000..96a7a3d --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/impl/LazyNettyClientTokenBucketApplicationImpl.java @@ -0,0 +1,146 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.application.impl; + +import jakarta.annotation.Resource; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.LazyNettyClientTokenBucketApplication; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.assembler.LazyNettyClientTokenBucketDTOAssembler; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.netty.client.token.bucket.*; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.dto.LazyNettyClientTokenBucketDTO; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.domain.model.lazy.netty.client.token.bucket.LazyNettyClientTokenBucket; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.domain.model.lazy.netty.client.token.bucket.LazyNettyClientTokenBucketRepository; +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.util.List; +import java.util.UUID; +import java.util.stream.Collectors; + +/** + * describe 客户端令牌桶 + * + * @author Jia wei Wu + * @date 2024/09/28 01:56 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyApplicationImpl + **/ +@LazyApplication +public class LazyNettyClientTokenBucketApplicationImpl implements LazyNettyClientTokenBucketApplication { + + @Resource + LazyNettyClientTokenBucketRepository lazyNettyClientTokenBucketRepository; + + /** + * describe 新增客户端令牌桶 + * + * @param lazyNettyClientTokenBucketStoryCommand 新增客户端令牌桶 + * @return {@link Result} 客户端令牌桶新增后领域对象 + * @author Jia wei Wu + * @date 2024/09/28 01:56 下午 + **/ + + @Override + public Result story(LazyNettyClientTokenBucketStoryCommand lazyNettyClientTokenBucketStoryCommand) { + LazyNettyClientTokenBucket lazyNettyClientTokenBucket = LazyNettyClientTokenBucketDTOAssembler.INSTANCE.toLazyNettyClientTokenBucket(lazyNettyClientTokenBucketStoryCommand); + // 创建 appKey、appSecret + lazyNettyClientTokenBucket.setAppKey(UUID.randomUUID().toString()); + lazyNettyClientTokenBucket.setAppSecret(UUID.randomUUID().toString()); + return lazyNettyClientTokenBucketRepository.story(lazyNettyClientTokenBucket); + } + + /** + * describe 批量新增客户端令牌桶 + * + * @param lazyNettyClientTokenBucketStoryCommandList 批量新增客户端令牌桶 + * @return {@link Result>} 客户端令牌桶新增后领域对象集合 + * @author Jia wei Wu + * @date 2024/09/28 01:56 下午 + **/ + + @Override + public Result> batchStory(List lazyNettyClientTokenBucketStoryCommandList) { + List lazyNettyClientTokenBucketList = lazyNettyClientTokenBucketStoryCommandList.stream().map(LazyNettyClientTokenBucketDTOAssembler.INSTANCE::toLazyNettyClientTokenBucket).collect(Collectors.toList()); + for (LazyNettyClientTokenBucket lazyNettyClientTokenBucket : lazyNettyClientTokenBucketList) { + // 创建 appKey、appSecret + lazyNettyClientTokenBucket.setAppKey(UUID.randomUUID().toString()); + lazyNettyClientTokenBucket.setAppSecret(UUID.randomUUID().toString()); + } + return lazyNettyClientTokenBucketRepository.batchStory(lazyNettyClientTokenBucketList); + } + + /** + * describe 更新客户端令牌桶 + * + * @param lazyNettyClientTokenBucketUpdateCommand 更新客户端令牌桶 + * @return {@link Result} 客户端令牌桶领域对象 + * @author Jia wei Wu + * @date 2024/09/28 01:56 下午 + **/ + + @Override + public Result updateOne(LazyNettyClientTokenBucketUpdateCommand lazyNettyClientTokenBucketUpdateCommand) { + LazyNettyClientTokenBucket lazyNettyClientTokenBucket = LazyNettyClientTokenBucketDTOAssembler.INSTANCE.toLazyNettyClientTokenBucket(lazyNettyClientTokenBucketUpdateCommand); + return lazyNettyClientTokenBucketRepository.story(lazyNettyClientTokenBucket); + } + + /** + * describe 查询单个客户端令牌桶 + * + * @param lazyNettyClientTokenBucketQueryOneCommand 查询单个客户端令牌桶 + * @return {@link Result} 客户端令牌桶DTO对象 + * @author Jia wei Wu + * @date 2024/09/28 01:56 下午 + **/ + + @Override + public Result findOne(LazyNettyClientTokenBucketQueryOneCommand lazyNettyClientTokenBucketQueryOneCommand) { + LazyNettyClientTokenBucket lazyNettyClientTokenBucket = LazyNettyClientTokenBucketDTOAssembler.INSTANCE.toLazyNettyClientTokenBucket(lazyNettyClientTokenBucketQueryOneCommand); + return lazyNettyClientTokenBucketRepository.findOne(lazyNettyClientTokenBucket).convert(LazyNettyClientTokenBucketDTOAssembler.INSTANCE::fromLazyNettyClientTokenBucket); + } + + /** + * describe 查询多个客户端令牌桶 + * + * @param lazyNettyClientTokenBucketQueryListCommand 查询多个客户端令牌桶 + * @return {@link Result>} 客户端令牌桶DTO对象 + * @author Jia wei Wu + * @date 2024/09/28 01:56 下午 + **/ + + @Override + public Result> findList(LazyNettyClientTokenBucketQueryListCommand lazyNettyClientTokenBucketQueryListCommand) { + LazyNettyClientTokenBucket lazyNettyClientTokenBucket = LazyNettyClientTokenBucketDTOAssembler.INSTANCE.toLazyNettyClientTokenBucket(lazyNettyClientTokenBucketQueryListCommand); + lazyNettyClientTokenBucket.setIsDeleted(false); + return lazyNettyClientTokenBucketRepository.findList(lazyNettyClientTokenBucket).convert(lazyNettyClientTokenBuckets -> lazyNettyClientTokenBuckets.stream().map(LazyNettyClientTokenBucketDTOAssembler.INSTANCE::fromLazyNettyClientTokenBucket).collect(Collectors.toList())); + } + + /** + * describe 分页查询多个客户端令牌桶 + * + * @param lazyNettyClientTokenBucketQueryListCommand 分页查询多个客户端令牌桶 + * @return {@link Result>} 分页客户端令牌桶DTO对象 + * @author Jia wei Wu + * @date 2024/09/28 01:56 下午 + **/ + + @Override + public Result> findPage(int size, int current, LazyNettyClientTokenBucketQueryListCommand lazyNettyClientTokenBucketQueryListCommand) { + LazyNettyClientTokenBucket lazyNettyClientTokenBucket = LazyNettyClientTokenBucketDTOAssembler.INSTANCE.toLazyNettyClientTokenBucket(lazyNettyClientTokenBucketQueryListCommand); + lazyNettyClientTokenBucket.setIsDeleted(false); + return lazyNettyClientTokenBucketRepository.findPage(size, current, lazyNettyClientTokenBucket).convert(page -> page.convert(LazyNettyClientTokenBucketDTOAssembler.INSTANCE::fromLazyNettyClientTokenBucket)); + } + + /** + * describe 删除客户端令牌桶 + * + * @param lazyNettyClientTokenBucketRemoveCommand 删除客户端令牌桶 + * @return {@link Result} 客户端令牌桶 + * @author Jia wei Wu + * @date 2024/09/28 01:56 下午 + **/ + + @Override + public Result remove(LazyNettyClientTokenBucketRemoveCommand lazyNettyClientTokenBucketRemoveCommand) { + LazyNettyClientTokenBucket lazyNettyClientTokenBucket = LazyNettyClientTokenBucketDTOAssembler.INSTANCE.toLazyNettyClientTokenBucket(lazyNettyClientTokenBucketRemoveCommand); + return lazyNettyClientTokenBucketRepository.remove(lazyNettyClientTokenBucket); + } + +} \ 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/LazyNettyClientTokenBucketProvider.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/controller/LazyNettyClientTokenBucketProvider.java new file mode 100644 index 0000000..1017c2a --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/controller/LazyNettyClientTokenBucketProvider.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.client.token.bucket.LazyNettyClientTokenBucket; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.netty.client.token.bucket.LazyNettyClientTokenBucketRemoveCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.netty.client.token.bucket.LazyNettyClientTokenBucketStoryCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.netty.client.token.bucket.LazyNettyClientTokenBucketUpdateCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.netty.client.token.bucket.LazyNettyClientTokenBucketQueryListCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.netty.client.token.bucket.LazyNettyClientTokenBucketQueryOneCommand; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.LazyNettyClientTokenBucketApplication; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.dto.LazyNettyClientTokenBucketDTO; +import java.util.List; +import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; +/** + * describe 客户端令牌桶 + * + * @author Jia wei Wu + * @date 2024/09/28 01:56 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyController + **/ +@Tag(name = "客户端令牌桶提供者") +@EasyController("/lazy/netty/client/token/bucket") +public class LazyNettyClientTokenBucketProvider { + + @Resource + private LazyNettyClientTokenBucketApplication lazyNettyClientTokenBucketApplication; + + /** + * describe 新增客户端令牌桶 + * + * @param lazyNettyClientTokenBucketStoryCommand 新增客户端令牌桶 + * @return {@link Result} 客户端令牌桶新增后领域对象 + + * @author Jia wei Wu + * @date 2024/09/28 01:56 下午 + **/ + + @Operation(summary = "新增客户端令牌桶") + @PostMapping("/story") + public Result story(@RequestBody LazyNettyClientTokenBucketStoryCommand lazyNettyClientTokenBucketStoryCommand){ + return lazyNettyClientTokenBucketApplication.story(lazyNettyClientTokenBucketStoryCommand); + } + /** + * describe 批量新增客户端令牌桶 + * + * @param lazyNettyClientTokenBucketStoryCommandList 批量新增客户端令牌桶 + * @return {@link Result>} 客户端令牌桶新增后领域对象集合 + + * @author Jia wei Wu + * @date 2024/09/28 01:56 下午 + **/ + + @Operation(summary = "批量新增客户端令牌桶") + @PostMapping("/batchStory") + public Result> batchStory(@RequestBody List lazyNettyClientTokenBucketStoryCommandList){ + return lazyNettyClientTokenBucketApplication.batchStory(lazyNettyClientTokenBucketStoryCommandList); + } + /** + * describe 更新客户端令牌桶 + * + * @param lazyNettyClientTokenBucketUpdateCommand 更新客户端令牌桶 + * @return {@link Result} 客户端令牌桶领域对象 + + * @author Jia wei Wu + * @date 2024/09/28 01:56 下午 + **/ + + @Operation(summary = "更新客户端令牌桶") + @PutMapping("/updateOne") + public Result updateOne(@RequestBody LazyNettyClientTokenBucketUpdateCommand lazyNettyClientTokenBucketUpdateCommand){ + return lazyNettyClientTokenBucketApplication.updateOne(lazyNettyClientTokenBucketUpdateCommand); + } + /** + * describe 查询单个客户端令牌桶 + * + * @param lazyNettyClientTokenBucketQueryOneCommand 查询单个客户端令牌桶 + * @return {@link Result} 客户端令牌桶DTO对象 + + * @author Jia wei Wu + * @date 2024/09/28 01:56 下午 + **/ + + @Operation(summary = "查询单个客户端令牌桶") + @GetMapping("/findOne") + public Result findOne(@ModelAttribute LazyNettyClientTokenBucketQueryOneCommand lazyNettyClientTokenBucketQueryOneCommand){ + return lazyNettyClientTokenBucketApplication.findOne(lazyNettyClientTokenBucketQueryOneCommand); + } + /** + * describe 查询多个客户端令牌桶 + * + * @param lazyNettyClientTokenBucketQueryListCommand 查询多个客户端令牌桶 + * @return {@link Result>} 客户端令牌桶DTO对象 + + * @author Jia wei Wu + * @date 2024/09/28 01:56 下午 + **/ + + @Operation(summary = "查询多个客户端令牌桶") + @GetMapping("/findList") + public Result> findList(@ModelAttribute LazyNettyClientTokenBucketQueryListCommand lazyNettyClientTokenBucketQueryListCommand){ + return lazyNettyClientTokenBucketApplication.findList(lazyNettyClientTokenBucketQueryListCommand); + } + /** + * describe 分页查询多个客户端令牌桶 + * + * @param lazyNettyClientTokenBucketQueryListCommand 分页查询多个客户端令牌桶 + * @return {@link Result>} 分页客户端令牌桶DTO对象 + + * @author Jia wei Wu + * @date 2024/09/28 01:56 下午 + **/ + + @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 LazyNettyClientTokenBucketQueryListCommand lazyNettyClientTokenBucketQueryListCommand){ + return lazyNettyClientTokenBucketApplication.findPage(size,current,lazyNettyClientTokenBucketQueryListCommand); + } + /** + * describe 删除客户端令牌桶 + * + * @param lazyNettyClientTokenBucketRemoveCommand 删除客户端令牌桶 + * @return {@link Result} 客户端令牌桶 + + * @author Jia wei Wu + * @date 2024/09/28 01:56 下午 + **/ + + @Operation(summary = "删除客户端令牌桶") + @DeleteMapping("/remove") + public Result remove(@ModelAttribute LazyNettyClientTokenBucketRemoveCommand lazyNettyClientTokenBucketRemoveCommand){ + return lazyNettyClientTokenBucketApplication.remove(lazyNettyClientTokenBucketRemoveCommand); + } +} \ 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/client/token/bucket/LazyNettyClientTokenBucket.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/domain/model/lazy/netty/client/token/bucket/LazyNettyClientTokenBucket.java new file mode 100644 index 0000000..34e8ab3 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/domain/model/lazy/netty/client/token/bucket/LazyNettyClientTokenBucket.java @@ -0,0 +1,86 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.domain.model.lazy.netty.client.token.bucket; + +import lombok.Data; +import lombok.experimental.Accessors; +import io.swagger.v3.oas.annotations.media.Schema; +import java.lang.String; +import java.time.LocalDateTime; +import java.lang.Long; +import java.lang.Boolean; +/** + * describe 客户端令牌桶 + * + * @author Jia wei Wu + * @date 2024/09/28 01:56 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyDomain + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_netty_client_token_bucket",description = "客户端令牌桶") +public class LazyNettyClientTokenBucket { + + + /** + * + * 令牌key + */ + @Schema(description ="令牌key",name ="appKey",example = "") + private String appKey; + + /** + * + * 令牌密钥 + */ + @Schema(description ="令牌密钥",name ="appSecret",example = "") + private String appSecret; + + /** + * + * 创建时间 + */ + @Schema(description ="创建时间",name ="createTime",example = "") + private LocalDateTime createTime; + + /** + * + * 描述 + */ + @Schema(description ="描述",name ="describe",example = "") + private String describe; + + /** + * + * 过期时间 + */ + @Schema(description ="过期时间",name ="expireInTime",example = "") + private LocalDateTime expireInTime; + + /** + * + * 主键ID + */ + @Schema(description ="主键ID",name ="id",example = "") + private Long id; + + /** + * + * 是否删除 + */ + @Schema(description ="是否删除",name ="isDeleted",example = "") + private Boolean isDeleted; + + /** + * + * 更新时间 + */ + @Schema(description ="更新时间",name ="updateTime",example = "") + private LocalDateTime updateTime; + + /** + * + * 被使用的客户端ID + */ + @Schema(description ="被使用的客户端ID",name ="usedByClientId",example = "") + private String usedByClientId; + +} \ 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/client/token/bucket/LazyNettyClientTokenBucketRepository.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/domain/model/lazy/netty/client/token/bucket/LazyNettyClientTokenBucketRepository.java new file mode 100644 index 0000000..8d6a457 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/domain/model/lazy/netty/client/token/bucket/LazyNettyClientTokenBucketRepository.java @@ -0,0 +1,106 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.domain.model.lazy.netty.client.token.bucket; + +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.client.token.bucket.LazyNettyClientTokenBucket; +import java.util.List; +import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; +/** + * describe 客户端令牌桶 + * + * @author Jia wei Wu + * @date 2024/09/28 01:56 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyDomainRepository + **/ + +public interface LazyNettyClientTokenBucketRepository { + + + /** + * describe 新增客户端令牌桶 + * + * @param lazyNettyClientTokenBucket 新增客户端令牌桶 + * @return {@link Result} 客户端令牌桶新增后领域对象 + + * @author Jia wei Wu + * @date 2024/09/28 01:56 下午 + **/ + + Result story(LazyNettyClientTokenBucket lazyNettyClientTokenBucket); + + /** + * describe 批量新增客户端令牌桶 + * + * @param lazyNettyClientTokenBucketList 批量新增客户端令牌桶 + * @return {@link Result>} 客户端令牌桶新增后领域对象集合 + + * @author Jia wei Wu + * @date 2024/09/28 01:56 下午 + **/ + + Result> batchStory(List lazyNettyClientTokenBucketList); + + /** + * describe 查询单个客户端令牌桶 + * + * @param lazyNettyClientTokenBucket 查询单个客户端令牌桶 + * @return {@link Result} 客户端令牌桶DTO对象 + + * @author Jia wei Wu + * @date 2024/09/28 01:56 下午 + **/ + + Result findOne(LazyNettyClientTokenBucket lazyNettyClientTokenBucket); + + /** + * describe 查询多个客户端令牌桶 + * + * @param lazyNettyClientTokenBucket 查询多个客户端令牌桶 + * @return {@link Result>} 客户端令牌桶DTO对象 + + * @author Jia wei Wu + * @date 2024/09/28 01:56 下午 + **/ + + Result> findList(LazyNettyClientTokenBucket lazyNettyClientTokenBucket); + + /** + * describe 分页查询多个客户端令牌桶 + * + * @param size 当前页数 + * @param current 当前页 + * @param lazyNettyClientTokenBucket 分页查询多个客户端令牌桶 + * @return {@link Result>} 分页客户端令牌桶领域对象 + + * @author Jia wei Wu + * @date 2024/09/28 01:56 下午 + **/ + + Result> findPage(int size,int current,LazyNettyClientTokenBucket lazyNettyClientTokenBucket); + + /** + * describe 删除客户端令牌桶 + * + * @param lazyNettyClientTokenBucket 删除客户端令牌桶 + * @return {@link Result} 客户端令牌桶 + + * @author Jia wei Wu + * @date 2024/09/28 01:56 下午 + **/ + + Result remove(LazyNettyClientTokenBucket lazyNettyClientTokenBucket); + + /** + * describe 是否存在客户端令牌桶 + * + * @param lazyNettyClientTokenBucket 是否存在客户端令牌桶 + * @return {@link Result} 客户端令牌桶是否存在 + + * @author Jia wei Wu + * @date 2024/09/28 01:56 下午 + **/ + + Result exists(LazyNettyClientTokenBucket lazyNettyClientTokenBucket); + +} \ 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/LazyNettyClientTokenBucketConverter.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/converter/LazyNettyClientTokenBucketConverter.java new file mode 100644 index 0000000..c1afa23 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/converter/LazyNettyClientTokenBucketConverter.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.client.token.bucket.LazyNettyClientTokenBucket; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.infrastructure.entity.LazyNettyClientTokenBucketDO; +import org.mapstruct.factory.Mappers; +import org.mapstruct.Mapper; +/** + * describe 客户端令牌桶 + * + * @author Jia wei Wu + * @date 2024/09/28 01:56 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyInfrastructureConverter + **/ +@Mapper +public interface LazyNettyClientTokenBucketConverter { + + + /** + * describe MapStruct 创建的代理对象 + * + + + + * @author Jia wei Wu + * @date 2024/09/28 01:56 下午 + **/ + LazyNettyClientTokenBucketConverter INSTANCE = Mappers.getMapper(LazyNettyClientTokenBucketConverter.class); + /** + * describe 实体对象 转换成领域对象 + * + * @param lazyNettyClientTokenBucketDO 客户端令牌桶实体对象 + * @return {@link LazyNettyClientTokenBucket} 客户端令牌桶领域对象 + + * @author Jia wei Wu + * @date 2024/09/28 01:56 下午 + **/ + LazyNettyClientTokenBucket toLazyNettyClientTokenBucket(LazyNettyClientTokenBucketDO lazyNettyClientTokenBucketDO); + /** + * describe 领域对象 转换成实体对象 + * + * @param lazyNettyClientTokenBucket 客户端令牌桶领域对象 + * @return {@link LazyNettyClientTokenBucketDO} 客户端令牌桶实体对象 + + * @author Jia wei Wu + * @date 2024/09/28 01:56 下午 + **/ + LazyNettyClientTokenBucketDO fromLazyNettyClientTokenBucket(LazyNettyClientTokenBucket lazyNettyClientTokenBucket); +} \ 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/LazyNettyClientTokenBucketDO.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/entity/LazyNettyClientTokenBucketDO.java index 725dea1..80434b2 100644 --- a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/entity/LazyNettyClientTokenBucketDO.java +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/entity/LazyNettyClientTokenBucketDO.java @@ -31,7 +31,7 @@ public class LazyNettyClientTokenBucketDO { * 令牌key */ @Schema(description ="令牌key",name ="appKey",example = "") - @LazyTableField(name="app_key",comment="令牌key",columnType="varchar(255)") + @LazyTableFieldUnique(name="app_key",comment="令牌key",columnType="varchar(255)") private String appKey; /** diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/jpa/lazy/LazyNettyClientTokenBucketLazyJpaRepository.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/jpa/lazy/LazyNettyClientTokenBucketLazyJpaRepository.java new file mode 100644 index 0000000..027a462 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/jpa/lazy/LazyNettyClientTokenBucketLazyJpaRepository.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.LazyNettyClientTokenBucketDO; +/** + * describe 客户端令牌桶 + * + * @author Jia wei Wu + * @date 2024/09/28 01:56 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyInfrastructureLazyJpa + **/ +@LazyRepository +public interface LazyNettyClientTokenBucketLazyJpaRepository 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/LazyNettyClientTokenBucketMapper.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/mapper/LazyNettyClientTokenBucketMapper.java new file mode 100644 index 0000000..1a1c5f9 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/mapper/LazyNettyClientTokenBucketMapper.java @@ -0,0 +1,15 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.infrastructure.mapper; + +/** + * describe 客户端令牌桶 + * + * @author Jia wei Wu + * @date 2024/09/28 01:56 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyInfrastructureMapper + **/ + +public interface LazyNettyClientTokenBucketMapper { + + + +} \ 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/LazyNettyClientTokenBucketRepositoryImpl.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/persistence/LazyNettyClientTokenBucketRepositoryImpl.java new file mode 100644 index 0000000..b1bb664 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/persistence/LazyNettyClientTokenBucketRepositoryImpl.java @@ -0,0 +1,147 @@ +package org.framework.lazy.cloud.network.heartbeat.server.standalone.infrastructure.persistence; + +import jakarta.annotation.Resource; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.domain.model.lazy.netty.client.token.bucket.LazyNettyClientTokenBucket; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.domain.model.lazy.netty.client.token.bucket.LazyNettyClientTokenBucketRepository; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.infrastructure.converter.LazyNettyClientTokenBucketConverter; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.infrastructure.entity.LazyNettyClientTokenBucketDO; +import org.springframework.stereotype.Repository; +import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; +import org.wu.framework.lazy.orm.database.lambda.stream.lambda.LazyLambdaStream; +import org.wu.framework.lazy.orm.database.lambda.stream.wrapper.LazyWrappers; +import org.wu.framework.web.response.Result; +import org.wu.framework.web.response.ResultFactory; + +import java.util.List; +import java.util.stream.Collectors; + +/** + * describe 客户端令牌桶 + * + * @author Jia wei Wu + * @date 2024/09/28 01:56 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyInfrastructurePersistence + **/ +@Repository +public class LazyNettyClientTokenBucketRepositoryImpl implements LazyNettyClientTokenBucketRepository { + + @Resource + LazyLambdaStream lazyLambdaStream; + + /** + * describe 新增客户端令牌桶 + * + * @param lazyNettyClientTokenBucket 新增客户端令牌桶 + * @return {@link Result} 客户端令牌桶新增后领域对象 + * @author Jia wei Wu + * @date 2024/09/28 01:56 下午 + **/ + + @Override + public Result story(LazyNettyClientTokenBucket lazyNettyClientTokenBucket) { + LazyNettyClientTokenBucketDO lazyNettyClientTokenBucketDO = LazyNettyClientTokenBucketConverter.INSTANCE.fromLazyNettyClientTokenBucket(lazyNettyClientTokenBucket); + lazyLambdaStream.upsert(lazyNettyClientTokenBucketDO); + return ResultFactory.successOf(); + } + + /** + * describe 批量新增客户端令牌桶 + * + * @param lazyNettyClientTokenBucketList 批量新增客户端令牌桶 + * @return {@link Result>} 客户端令牌桶新增后领域对象集合 + * @author Jia wei Wu + * @date 2024/09/28 01:56 下午 + **/ + + @Override + public Result> batchStory(List lazyNettyClientTokenBucketList) { + List lazyNettyClientTokenBucketDOList = lazyNettyClientTokenBucketList.stream().map(LazyNettyClientTokenBucketConverter.INSTANCE::fromLazyNettyClientTokenBucket).collect(Collectors.toList()); + lazyLambdaStream.upsert(lazyNettyClientTokenBucketDOList); + return ResultFactory.successOf(); + } + + /** + * describe 查询单个客户端令牌桶 + * + * @param lazyNettyClientTokenBucket 查询单个客户端令牌桶 + * @return {@link Result} 客户端令牌桶领域对象 + * @author Jia wei Wu + * @date 2024/09/28 01:56 下午 + **/ + + @Override + public Result findOne(LazyNettyClientTokenBucket lazyNettyClientTokenBucket) { + LazyNettyClientTokenBucketDO lazyNettyClientTokenBucketDO = LazyNettyClientTokenBucketConverter.INSTANCE.fromLazyNettyClientTokenBucket(lazyNettyClientTokenBucket); + LazyNettyClientTokenBucket lazyNettyClientTokenBucketOne = lazyLambdaStream.selectOne(LazyWrappers.lambdaWrapperBean(lazyNettyClientTokenBucketDO), LazyNettyClientTokenBucket.class); + return ResultFactory.successOf(lazyNettyClientTokenBucketOne); + } + + /** + * describe 查询多个客户端令牌桶 + * + * @param lazyNettyClientTokenBucket 查询多个客户端令牌桶 + * @return {@link Result>} 客户端令牌桶领域对象 + * @author Jia wei Wu + * @date 2024/09/28 01:56 下午 + **/ + + @Override + public Result> findList(LazyNettyClientTokenBucket lazyNettyClientTokenBucket) { + LazyNettyClientTokenBucketDO lazyNettyClientTokenBucketDO = LazyNettyClientTokenBucketConverter.INSTANCE.fromLazyNettyClientTokenBucket(lazyNettyClientTokenBucket); + List lazyNettyClientTokenBucketList = lazyLambdaStream.selectList(LazyWrappers.lambdaWrapperBean(lazyNettyClientTokenBucketDO), LazyNettyClientTokenBucket.class); + return ResultFactory.successOf(lazyNettyClientTokenBucketList); + } + + /** + * describe 分页查询多个客户端令牌桶 + * + * @param size 当前页数 + * @param current 当前页 + * @param lazyNettyClientTokenBucket 分页查询多个客户端令牌桶 + * @return {@link Result>} 分页客户端令牌桶领域对象 + * @author Jia wei Wu + * @date 2024/09/28 01:56 下午 + **/ + + @Override + public Result> findPage(int size, int current, LazyNettyClientTokenBucket lazyNettyClientTokenBucket) { + LazyNettyClientTokenBucketDO lazyNettyClientTokenBucketDO = LazyNettyClientTokenBucketConverter.INSTANCE.fromLazyNettyClientTokenBucket(lazyNettyClientTokenBucket); + LazyPage lazyPage = new LazyPage<>(current, size); + LazyPage lazyNettyClientTokenBucketLazyPage = lazyLambdaStream.selectPage(LazyWrappers.lambdaWrapperBean(lazyNettyClientTokenBucketDO), lazyPage, LazyNettyClientTokenBucket.class); + return ResultFactory.successOf(lazyNettyClientTokenBucketLazyPage); + } + + /** + * describe 删除客户端令牌桶 + * + * @param lazyNettyClientTokenBucket 删除客户端令牌桶 + * @return {@link Result} 客户端令牌桶 + * @author Jia wei Wu + * @date 2024/09/28 01:56 下午 + **/ + + @Override + public Result remove(LazyNettyClientTokenBucket lazyNettyClientTokenBucket) { + LazyNettyClientTokenBucketDO update = new LazyNettyClientTokenBucketDO(); + update.setIsDeleted(true); + lazyLambdaStream.update(update,LazyWrappers.lambdaWrapper().eq(LazyNettyClientTokenBucketDO::getAppKey, lazyNettyClientTokenBucket.getAppKey())); + return ResultFactory.successOf(); + } + + /** + * describe 是否存在客户端令牌桶 + * + * @param lazyNettyClientTokenBucket 客户端令牌桶领域对象 + * @return {@link Result} 是否存在 true 存在,false 不存在 + * @author Jia wei Wu + * @date 2024/09/28 01:56 下午 + **/ + + @Override + public Result exists(LazyNettyClientTokenBucket lazyNettyClientTokenBucket) { + LazyNettyClientTokenBucketDO lazyNettyClientTokenBucketDO = LazyNettyClientTokenBucketConverter.INSTANCE.fromLazyNettyClientTokenBucket(lazyNettyClientTokenBucket); + Boolean exists = lazyLambdaStream.exists(LazyWrappers.lambdaWrapperBean(lazyNettyClientTokenBucketDO)); + 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/LazyNettyClientTokenBucketMapper.xml b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/xml/LazyNettyClientTokenBucketMapper.xml new file mode 100644 index 0000000..3f368e9 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/xml/LazyNettyClientTokenBucketMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file