From 42bb4ad5b4a2a06499bcbea4230a4d8432a80320 Mon Sep 17 00:00:00 2001 From: wangkang Date: Tue, 22 Aug 2017 09:41:30 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=BE=E7=BD=AEID=E6=9C=80=E5=A4=A7=E7=94=9F?= =?UTF-8?q?=E6=88=90=E6=95=B0=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/itkk/udf/id/IdWorkerProperties.java | 26 ++++++------------- .../itkk/udf/id/web/IIdWorkerController.java | 5 ++++ .../itkk/udf/id/web/IdWorkerController.java | 12 +++++++++ 3 files changed, 25 insertions(+), 18 deletions(-) diff --git a/udf-starter-id/src/main/java/org/itkk/udf/id/IdWorkerProperties.java b/udf-starter-id/src/main/java/org/itkk/udf/id/IdWorkerProperties.java index 4a4cc66..6d9dcd1 100644 --- a/udf-starter-id/src/main/java/org/itkk/udf/id/IdWorkerProperties.java +++ b/udf-starter-id/src/main/java/org/itkk/udf/id/IdWorkerProperties.java @@ -1,5 +1,7 @@ package org.itkk.udf.id; +import lombok.Data; +import org.itkk.udf.id.web.IIdWorkerController; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; import org.springframework.validation.annotation.Validated; @@ -12,29 +14,17 @@ import javax.validation.constraints.NotNull; @Component @ConfigurationProperties(prefix = "org.itkk.id.properties") @Validated +@Data public class IdWorkerProperties { + /** + * 最大个数 + */ + private int maxCount = IIdWorkerController.MAX_COUNT; + /** * ID构造类型 */ @NotNull private String type = IdWorker.UUID_TYPE; - - /** - * D构造类型 - * - * @return String - */ - public String getType() { - return type; - } - - /** - * D构造类型 - * - * @param type type - */ - public void setType(String type) { - this.type = type; - } } diff --git a/udf-starter-id/src/main/java/org/itkk/udf/id/web/IIdWorkerController.java b/udf-starter-id/src/main/java/org/itkk/udf/id/web/IIdWorkerController.java index 68f9dd5..c649918 100644 --- a/udf-starter-id/src/main/java/org/itkk/udf/id/web/IIdWorkerController.java +++ b/udf-starter-id/src/main/java/org/itkk/udf/id/web/IIdWorkerController.java @@ -26,6 +26,11 @@ import java.util.List; @RequestMapping(value = "/service/id") public interface IIdWorkerController { + /** + * 最大个数 + */ + public static final int MAX_COUNT = 1000; + /** * 获得分布式ID * diff --git a/udf-starter-id/src/main/java/org/itkk/udf/id/web/IdWorkerController.java b/udf-starter-id/src/main/java/org/itkk/udf/id/web/IdWorkerController.java index d74bd65..5a8c06d 100644 --- a/udf-starter-id/src/main/java/org/itkk/udf/id/web/IdWorkerController.java +++ b/udf-starter-id/src/main/java/org/itkk/udf/id/web/IdWorkerController.java @@ -8,6 +8,7 @@ package org.itkk.udf.id.web; import org.itkk.udf.core.RestResponse; import org.itkk.udf.id.IdWorker; +import org.itkk.udf.id.IdWorkerProperties; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RestController; @@ -29,6 +30,12 @@ public class IdWorkerController implements IIdWorkerController { @Autowired private IdWorker idWorker; + /** + * idWorkerProperties + */ + @Autowired + private IdWorkerProperties idWorkerProperties; + @Override public RestResponse get() { return new RestResponse<>(Long.toString(idWorker.nextId())); @@ -36,6 +43,11 @@ public class IdWorkerController implements IIdWorkerController { @Override public RestResponse> get(@PathVariable Integer count) { + //判断最大数量 + if (count > idWorkerProperties.getMaxCount()) { + throw new RuntimeException("The number is too large and the maximum setting is " + idWorkerProperties.getMaxCount()); + } + //循环生成 List ids = new ArrayList<>(); for (int i = 0; i < count; i++) { ids.add(Long.toString(idWorker.nextId()));