From f2e30333202fee12711eef48eccf7e08a811a607 Mon Sep 17 00:00:00 2001
From: liyj <1003249715@qq.com>
Date: Mon, 02 Sep 2024 16:33:26 +0800
Subject: [PATCH] 1、新增sys服务获取id模块

---
 dyh-service/dyh-utils/src/main/java/cn/huge/module/sys/controller/client/SysUtilsController.java |   45 +++++++++++++++
 dyh-service/dyh-utils/src/main/java/cn/huge/module/sys/utils/SysIdUtils.java                     |  103 ++++++++++++++++++++++++++++++++++
 2 files changed, 148 insertions(+), 0 deletions(-)

diff --git a/dyh-service/dyh-utils/src/main/java/cn/huge/module/sys/controller/client/SysUtilsController.java b/dyh-service/dyh-utils/src/main/java/cn/huge/module/sys/controller/client/SysUtilsController.java
new file mode 100644
index 0000000..a4a2665
--- /dev/null
+++ b/dyh-service/dyh-utils/src/main/java/cn/huge/module/sys/controller/client/SysUtilsController.java
@@ -0,0 +1,45 @@
+package cn.huge.module.sys.controller.client;
+
+import cn.huge.base.common.utils.ReturnFailUtils;
+import cn.huge.base.common.utils.ReturnSucUtils;
+import cn.huge.module.sys.utils.SysIdUtils;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * @title: 公共参数-id工具接口api-sys服务专用
+ * @description: 公共参数-id工具接口api-sys服务专用
+ * @company: hugeinfo
+ * @author: liyj
+ * @time: 2022-04-29 10:12:39
+ * @version: 1.0.0
+ */
+@Slf4j
+@RestController
+@RequestMapping("/api/client/sysUtils")
+public class SysUtilsController {
+
+    @Autowired(required = false)
+    private HttpServletRequest request;
+
+
+    /**
+     * 公共id-获取时间Id,后四位常量
+     * @url {ctx}/api/client/sysUtils/getNewTimeId
+     * @return Object
+     */
+    @GetMapping("/getNewTimeId")
+    public Object getNewTimeId() {
+        try {
+            return ReturnSucUtils.getRepInfo(SysIdUtils.getNewTimeId());
+        } catch (Exception e) {
+            return ReturnFailUtils.getRepInfo();
+        }
+    }
+
+}
diff --git a/dyh-service/dyh-utils/src/main/java/cn/huge/module/sys/utils/SysIdUtils.java b/dyh-service/dyh-utils/src/main/java/cn/huge/module/sys/utils/SysIdUtils.java
new file mode 100644
index 0000000..0ca28cc
--- /dev/null
+++ b/dyh-service/dyh-utils/src/main/java/cn/huge/module/sys/utils/SysIdUtils.java
@@ -0,0 +1,103 @@
+package cn.huge.module.sys.utils;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+/**
+ * @title: 公共ID生成工具
+ * @description: 公共ID生成工具
+ * @company: hugeinfo
+ * @author: liyj
+ * @time: 2021-11-05 16:51:48
+ * @version: 1.0.0
+ */
+public class SysIdUtils {
+
+    /**
+     * 时间Id统计常量
+     */
+    private static int COUNT_NUM = 10000;
+
+    /**
+     * 时间Id统计常量,常量前缀
+     */
+    private static int SIGN_COUNT_NUM = 10000;
+
+    /**
+     * 时间Id统计常量,常量后缀
+     */
+    private static int COUNT_NUM_SIGN = 10000;
+
+    /**
+     * 获取时间Id,后四位常量
+     * @return String
+     */
+    public synchronized static String getNewTimeId(){
+        String  timeId = getNowTime() + (COUNT_NUM++);
+        if(COUNT_NUM > 99999){
+            COUNT_NUM = 10000;
+        }
+        timeId=timeId.substring(2, timeId.length());
+        return timeId;
+    }
+
+    /**
+     * 获取时间Id,常量前缀
+     * @param sign 常量前缀
+     * @return String
+     */
+    public synchronized static String getSignNewTimeId(String sign){
+        String  timeId = getNowTime() + sign + (SIGN_COUNT_NUM++);
+        if(SIGN_COUNT_NUM > 99999){
+            SIGN_COUNT_NUM = 10000;
+        }
+        timeId=timeId.substring(2, timeId.length());
+        return timeId;
+    }
+
+    /**
+     * 获取带有后缀的时间Id,常量后缀
+     * @param sign 常量后缀
+     * @return String
+     */
+    public synchronized static String getNewTimeIdSign(String sign){
+        String timeId = getNowTime() + (COUNT_NUM_SIGN++) + sign;
+        if(COUNT_NUM_SIGN > 99999){
+            COUNT_NUM_SIGN = 10000;
+        }
+        timeId=timeId.substring(2, timeId.length());
+        return timeId;
+    }
+
+    /**
+     * 获取时间Id,后四位常量
+     * @return String
+     */
+    public synchronized static String getNowTime(){
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
+        String nowTime = sdf.format(new Date());
+        return nowTime;
+    }
+}
+/**
+ * -------------------_ooOoo_-------------------
+ * ------------------o8888888o------------------
+ * ------------------88" . "88------------------
+ * ------------------(| -_- |)------------------
+ * ------------------O\  =  /O------------------
+ * ---------------____/`---'\____---------------
+ * -------------.'  \\|     |//  `.-------------
+ * ------------/  \\|||  :  |||//  \------------
+ * -----------/  _||||| -:- |||||-  \-----------
+ * -----------|   | \\\  -  /// |   |-----------
+ * -----------| \_|  ''\---/''  |   |-----------
+ * -----------\  .-\__  `-`  ___/-. /-----------
+ * ---------___`. .'  /--.--\  `. . __----------
+ * ------."" '<  `.___\_<|>_/___.'  >'"".-------
+ * -----| | :  `- \`.;`\ _ /`;.`/ - ` : | |-----
+ * -----\  \ `-.   \_ __\ /__ _/   .-` /  /-----
+ * ======`-.____`-.___\_____/___.-`____.-'======
+ * -------------------`=---='
+ * ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ * ---------佛祖保佑---hugeinfo---永无BUG----------
+ */
\ No newline at end of file

--
Gitblit v1.8.0