lubo il y a 3 mois
Parent
commit
143e6abab9

+ 1 - 1
ruoyi-admin/src/main/resources/application.yml

@@ -158,7 +158,7 @@ security:
 # 重复提交
 repeat-submit:
   # 全局间隔时间(毫秒)
-  interval: 2000
+  interval: 5000
 
 # MyBatisPlus配置
 # https://baomidou.com/config/

+ 2 - 0
ruoyi-api/src/main/java/com/ruoyi/api/controller/shop/ApiProductController.java

@@ -4,6 +4,7 @@ import cn.hutool.core.util.ObjectUtil;
 import com.ruoyi.api.controller.common.AbstractApiController;
 import com.ruoyi.business.domain.Business;
 import com.ruoyi.business.service.IBusinessService;
+import com.ruoyi.common.annotation.RepeatSubmit;
 import com.ruoyi.common.core.domain.PageQuery;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.page.TableDataInfo;
@@ -123,6 +124,7 @@ public class ApiProductController extends AbstractApiController {
      */
     @ApiOperation("商品浏览量增加")
     @GetMapping("/view/{productId}")
+    @RepeatSubmit(tw = false)
     public R<Void> view(@ApiParam("主键") @NotNull(message = "主键不能为空")
                                            @PathVariable("productId") Long productId) {
         redisTemplate.opsForHash().increment(ShopConstants.PRODUCT_VIEW_KEY, productId, 1);

+ 2 - 0
ruoyi-common/src/main/java/com/ruoyi/common/annotation/RepeatSubmit.java

@@ -26,4 +26,6 @@ public @interface RepeatSubmit {
      */
     String message() default "不允许重复提交,请稍候再试";
 
+    boolean tw() default true;
+
 }

+ 3 - 1
ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/RepeatSubmitAspect.java

@@ -65,7 +65,9 @@ public class RepeatSubmitAspect {
         if (key == null) {
             RedisUtils.setCacheObject(cacheRepeatKey, "", interval, TimeUnit.MILLISECONDS);
         } else {
-            throw new ServiceException(repeatSubmit.message());
+            if(repeatSubmit.tw()) {
+                throw new ServiceException(repeatSubmit.message());
+            }
         }
     }