From df1325b0c100ead300a5a1b99438055d9446a436 Mon Sep 17 00:00:00 2001
From: mg <maokecheng@163.com>
Date: 星期六, 08 十月 2022 20:17:46 +0800
Subject: [PATCH] 添加消息管理功能和生成随机数工具类

---
 ycl-platform/src/main/java/com/ycl/common/util/RandomStringUtil.java             |   31 +++++++++++++++
 ycl-platform/src/main/java/com/ycl/entity/message/Message.java                   |    4 +-
 ycl-platform/src/main/java/com/ycl/service/message/impl/IMessageServiceImpl.java |    7 +++
 ycl-platform/src/main/java/com/ycl/dto/message/MessageParam.java                 |   11 ++---
 ycl-platform/src/main/java/com/ycl/common/util/RandomNumberGenerator.java        |   55 +++++++++++++++++++++++++++
 ycl-platform/src/main/java/com/ycl/controller/message/MessageController.java     |    2 
 6 files changed, 101 insertions(+), 9 deletions(-)

diff --git a/ycl-platform/src/main/java/com/ycl/common/util/RandomNumberGenerator.java b/ycl-platform/src/main/java/com/ycl/common/util/RandomNumberGenerator.java
new file mode 100644
index 0000000..c228537
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/common/util/RandomNumberGenerator.java
@@ -0,0 +1,55 @@
+package com.ycl.common.util;
+
+import java.util.Random;
+
+public class RandomNumberGenerator {
+	/**
+     * 杩欐槸鍏稿瀷鐨勯殢鏈烘礂鐗岀畻娉曘��
+     * 娴佺▼鏄粠澶囬�夋暟缁勪腑閫夋嫨涓�涓斁鍏ョ洰鏍囨暟缁勪腑锛屽皢閫夊彇鐨勬暟缁勪粠澶囬�夋暟缁勭Щ闄わ紙鏀捐嚦鏈�鍚庯紝骞剁缉灏忛�夋嫨鍖哄煙锛�
+     * 绠楁硶鏃堕棿澶嶆潅搴(n)
+     * @return 闅忔満8涓轰笉閲嶅鏁扮粍
+     */ 
+    public static synchronized String generateNumber(int count) { 
+        String no=""; 
+        //鍒濆鍖栧閫夋暟缁� 
+        int[] defaultNums = new int[10]; 
+        for (int i = 0; i < defaultNums.length; i++) { 
+            defaultNums[i] = i; 
+        } 
+   
+        Random random = new Random(); 
+        int[] nums = new int[count]; 
+        //榛樿鏁扮粍涓彲浠ラ�夋嫨鐨勯儴鍒嗛暱搴� 
+        int canBeUsed = 10; 
+        //濉厖鐩爣鏁扮粍 
+        for (int i = 0; i < nums.length; i++) { 
+            //灏嗛殢鏈洪�夊彇鐨勬暟瀛楀瓨鍏ョ洰鏍囨暟缁� 
+            int index = random.nextInt(canBeUsed); 
+            nums[i] = defaultNums[index]; 
+            //灏嗗凡鐢ㄨ繃鐨勬暟瀛楁墧鍒板閫夋暟缁勬渶鍚庯紝骞跺噺灏忓彲閫夊尯鍩� 
+            swap(index, canBeUsed - 1, defaultNums); 
+            canBeUsed--; 
+        } 
+        if (nums.length>0) { 
+            for (int i = 0; i < nums.length; i++) { 
+                no+=nums[i]; 
+            } 
+        } 
+   
+        return no; 
+    } 
+//    private static final int LENGTH = 6; 
+   
+    private static void swap(int i, int j, int[] nums) { 
+        int temp = nums[i]; 
+        nums[i] = nums[j]; 
+        nums[j] = temp; 
+    } 
+       
+   
+    public static void main(String[] args) { 
+        for (int i = 0; i < 10; i++) { 
+            System.out.println(generateNumber(8));
+        } 
+    }  
+}
diff --git a/ycl-platform/src/main/java/com/ycl/common/util/RandomStringUtil.java b/ycl-platform/src/main/java/com/ycl/common/util/RandomStringUtil.java
new file mode 100644
index 0000000..513410a
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/common/util/RandomStringUtil.java
@@ -0,0 +1,31 @@
+package com.ycl.common.util;
+
+import java.util.Random;
+
+public class RandomStringUtil {
+	public static final String NUMBERS = "0123456789";
+	public static final String LOWER_CASE = "abcdefghijklmnopqrstuvwxyz";
+	public static final String CAPITAL = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
+	public static final String ALL = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
+	
+	/**
+	 * 鐢熸垚鎸囧畾闀垮害鐨勯殢鏈哄瓧绗︿覆
+	 * 
+	 * @param length
+	 * @return
+	 */
+	public static String getRandomString(int length, String base) { // length琛ㄧず鐢熸垚瀛楃涓茬殑闀垮害
+		int baseLength = base.length();
+		Random random = new Random();
+		StringBuffer sb = new StringBuffer("");
+		for (int i = 0; i < length; i++) {
+			int number = random.nextInt(baseLength);
+			sb.append(base.charAt(number));
+		}
+		return sb.toString();
+	}
+	
+	public static void main(String[] args) {
+		System.out.println(getRandomString(24, RandomStringUtil.ALL));
+	}
+}
diff --git a/ycl-platform/src/main/java/com/ycl/controller/message/MessageController.java b/ycl-platform/src/main/java/com/ycl/controller/message/MessageController.java
index 356a9b2..a929dd4 100644
--- a/ycl-platform/src/main/java/com/ycl/controller/message/MessageController.java
+++ b/ycl-platform/src/main/java/com/ycl/controller/message/MessageController.java
@@ -22,7 +22,7 @@
  */
 @RestController
 @RequestMapping("/message")
-@Api(tags = "娑堟伅")
+@Api(tags = "娑堟伅绠$悊")
 public class MessageController {
 
     @Autowired
diff --git a/ycl-platform/src/main/java/com/ycl/dto/message/MessageParam.java b/ycl-platform/src/main/java/com/ycl/dto/message/MessageParam.java
index bef1d13..08cdb03 100644
--- a/ycl-platform/src/main/java/com/ycl/dto/message/MessageParam.java
+++ b/ycl-platform/src/main/java/com/ycl/dto/message/MessageParam.java
@@ -4,7 +4,6 @@
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
-import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotNull;
 
 /**
@@ -22,14 +21,14 @@
      * 鏍囬
      */
     @ApiModelProperty(value = "鏍囬")
-    @NotBlank(message = "鏍囬涓虹┖")
+    @NotNull(message = "鏍囬涓虹┖")
     private String head;
     /**
      * 娑堟伅绫诲瀷
      */
     @ApiModelProperty(value = "娑堟伅绫诲瀷")
-    @NotBlank(message = "娑堟伅绫诲瀷涓虹┖")
-    private Long messageType;
+    @NotNull(message = "娑堟伅绫诲瀷涓虹┖")
+    private Integer messageType;
     /**
      * 娑堟伅浣�
      */
@@ -46,7 +45,7 @@
      * 鎺ユ敹鑰�
      */
     @ApiModelProperty(value = "鎺ユ敹鑰�")
-    @NotBlank(message = "鎺ユ敹鑰呬负绌�")
+    @NotNull(message = "鎺ユ敹鑰呬负绌�")
     private String targetTo;
     /**
      * 闅忔満鐮�
@@ -57,7 +56,7 @@
      * 鍙戦�佹椂闂�
      */
     @ApiModelProperty(value = "鍙戦�佹椂闂�")
-    @NotBlank(message = "鍙戦�佹椂闂翠负绌�")
+    @NotNull(message = "鍙戦�佹椂闂翠负绌�")
     private String sendTime;
     /**
      * 鐘舵��0-鏈彂甯�1-宸插彂甯�
diff --git a/ycl-platform/src/main/java/com/ycl/entity/message/Message.java b/ycl-platform/src/main/java/com/ycl/entity/message/Message.java
index 5a7b449..cd18772 100644
--- a/ycl-platform/src/main/java/com/ycl/entity/message/Message.java
+++ b/ycl-platform/src/main/java/com/ycl/entity/message/Message.java
@@ -51,7 +51,7 @@
     @TableField("message_type")
     @ApiModelProperty(value = "娑堟伅绫诲瀷")
     @NotBlank(message = "娑堟伅绫诲瀷涓虹┖")
-    private Long messageType;
+    private Integer messageType;
 
     /**
      * 娑堟伅浣�
@@ -113,7 +113,7 @@
      * 鏄惁鏌ョ湅0-鏈煡鐪�1-宸叉煡鐪�
      */
     @TableField("is_view")
-    @ApiModelProperty(value = "鐘舵��0-鏈彂甯�1-宸插彂甯�")
+    @ApiModelProperty(value = "鏄惁鏌ョ湅0-鏈煡鐪�1-宸叉煡鐪�")
     private Integer isView;
     /**
      * 澶囨敞
diff --git a/ycl-platform/src/main/java/com/ycl/service/message/impl/IMessageServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/message/impl/IMessageServiceImpl.java
index da47266..f9ec3ab 100644
--- a/ycl-platform/src/main/java/com/ycl/service/message/impl/IMessageServiceImpl.java
+++ b/ycl-platform/src/main/java/com/ycl/service/message/impl/IMessageServiceImpl.java
@@ -1,6 +1,7 @@
 package com.ycl.service.message.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ycl.common.util.RandomNumberGenerator;
 import com.ycl.dto.message.MessageParam;
 import com.ycl.entity.message.Message;
 import com.ycl.mapper.message.MessageMapper;
@@ -24,9 +25,15 @@
     public Message sendMessage(MessageParam mssageParam) {
         Message message = new Message();
         BeanUtils.copyProperties(mssageParam, message);
+        //鐢熸垚8浣嶉殢鏈烘暟娑堟伅缂栫爜
+        String messageNumber = RandomNumberGenerator.generateNumber(8);
+        StringBuilder sb = new StringBuilder("XX");
+        sb.append(messageNumber);
+        message.setMessageNumber(sb.toString());
         //鐢熸垚榛樿鍙傛暟
         message.setCreateTime(new Date());
         message.setUpdateTime(new Date());
+        message.setIsView(0);
         baseMapper.insert(message);
         return message;
     }

--
Gitblit v1.8.0