Browse Source

创建群组增加注解校验快速点击

wangqi49 5 months ago
parent
commit
a27a787557

+ 2 - 0
src/main/java/com/webchat/common/enums/ClickEvent.java

@@ -27,6 +27,8 @@ public enum ClickEvent {
 
     OPEN_RED_PACKET("拆红包"),
 
+    CREATE_GROUP("创建群聊"),
+
     ;
 
     private String actionName;

+ 5 - 0
src/main/java/com/webchat/controller/client/UserController.java

@@ -2,7 +2,9 @@ package com.webchat.controller.client;
 
 import com.webchat.common.bean.APIResponseBean;
 import com.webchat.common.bean.APIResponseBeanUtil;
+import com.webchat.common.constants.WebConstant;
 import com.webchat.common.enums.ClickEvent;
+import com.webchat.common.enums.RedisKeyEnum;
 import com.webchat.common.enums.RoleCodeEnum;
 import com.webchat.common.helper.SessionHelper;
 import com.webchat.common.util.AvatarUtil;
@@ -174,6 +176,9 @@ public class UserController {
      *
      * @return
      */
+
+    @ValidateLogin
+    @SafeClick(event = ClickEvent.CREATE_GROUP, time = 2000, message = "群聊创建中")
     @PostMapping("/createChatGroup")
     public APIResponseBean createChatGroup(@RequestBody CreateGroupRequestVO requestPram) {
 

+ 0 - 6
src/main/java/com/webchat/service/UserService.java

@@ -226,12 +226,6 @@ public class UserService {
         // 群组默认添加创建人,群聊的创建人默认为群聊管理员
         groupUserIdSet.add(createUserId);
         /**
-         * 防快速点击
-         */
-        String key = RedisKeyEnum.CREATE_GROUP_LIMIT.getKey(createUserId);
-        boolean lockResult = redisService.installDistributedLock(key, WebConstant.CACHE_NONE, RedisKeyEnum.CREATE_GROUP_LIMIT.getExpireTime());
-        Assert.isTrue(lockResult, "注册中请稍等!请勿频繁点击");
-        /**
          * 创建群组
          */
         String groupId = this.registryGroup2DB(groupName, createUserId);

+ 1 - 4
src/main/resources/application-dev.yml

@@ -6,9 +6,6 @@ server:
   servlet:
     session:
       timeout: 60s
-  tomcat:
-    max-connections: 5000
-    max-threads: 500
 
 # set enable swagger
 swagger:
@@ -17,7 +14,7 @@ swagger:
 spring:
   # set mysql config
   datasource:
-    url: jdbc:mysql://localhost:3306/webchat?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2b8
+    url: jdbc:mysql://127.0.0.1:3306/webchat?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2b8
     username: root
     password: 12345678
     driver-class-name: com.mysql.jdbc.Driver