频率限制7
This commit is contained in:
@@ -2,7 +2,9 @@ package com.sqx.common.aspect;
|
|||||||
|
|
||||||
import com.google.common.util.concurrent.RateLimiter;
|
import com.google.common.util.concurrent.RateLimiter;
|
||||||
import com.sqx.common.annotation.Limiting;
|
import com.sqx.common.annotation.Limiting;
|
||||||
|
import com.sqx.common.exception.CzgException;
|
||||||
import com.sqx.common.utils.IPUtils;
|
import com.sqx.common.utils.IPUtils;
|
||||||
|
import com.sqx.common.utils.Result;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.aspectj.lang.ProceedingJoinPoint;
|
import org.aspectj.lang.ProceedingJoinPoint;
|
||||||
import org.aspectj.lang.Signature;
|
import org.aspectj.lang.Signature;
|
||||||
@@ -56,7 +58,7 @@ public class RateLimitAspect {
|
|||||||
} else {
|
} else {
|
||||||
// 未获取到许可,抛出异常或返回错误信息
|
// 未获取到许可,抛出异常或返回错误信息
|
||||||
log.info("IP: {} 请求方法: {} 超过访问频率限制", ip, method.getName());
|
log.info("IP: {} 请求方法: {} 超过访问频率限制", ip, method.getName());
|
||||||
throw new RuntimeException("访问频率过高,请稍后再试");
|
throw new CzgException("访问频率过高,请稍后再试");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.sqx.modules.common.controller.app;
|
package com.sqx.modules.common.controller.app;
|
||||||
|
|
||||||
|
import com.sqx.common.annotation.Limiting;
|
||||||
import com.sqx.common.utils.Result;
|
import com.sqx.common.utils.Result;
|
||||||
import com.sqx.modules.common.entity.CommonInfo;
|
import com.sqx.modules.common.entity.CommonInfo;
|
||||||
import com.sqx.modules.common.service.CommonInfoService;
|
import com.sqx.modules.common.service.CommonInfoService;
|
||||||
@@ -66,6 +67,7 @@ public class AppCommonController {
|
|||||||
@GetMapping("getAppUseKv")
|
@GetMapping("getAppUseKv")
|
||||||
@ApiOperation("获取APP使用的KV数据")
|
@ApiOperation("获取APP使用的KV数据")
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
|
@Limiting
|
||||||
public Result getAppUseKv() {
|
public Result getAppUseKv() {
|
||||||
return Result.success().put("data", commonService.findAppKv());
|
return Result.success().put("data", commonService.findAppKv());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ public class AppCourseCollectController extends AbstractController {
|
|||||||
@GetMapping("/selectByUserId")
|
@GetMapping("/selectByUserId")
|
||||||
@ApiOperation("app查询收藏短剧信息")
|
@ApiOperation("app查询收藏短剧信息")
|
||||||
@Debounce(interval = 3000, value = "#userId")
|
@Debounce(interval = 3000, value = "#userId")
|
||||||
|
@Limiting
|
||||||
public Result selectByUserId(Integer page, Integer limit, @RequestAttribute("userId") Long userId, Integer classify) {
|
public Result selectByUserId(Integer page, Integer limit, @RequestAttribute("userId") Long userId, Integer classify) {
|
||||||
return courseCollectService.selectByUserId(page, limit, userId, classify);
|
return courseCollectService.selectByUserId(page, limit, userId, classify);
|
||||||
}
|
}
|
||||||
@@ -40,6 +41,7 @@ public class AppCourseCollectController extends AbstractController {
|
|||||||
@Login
|
@Login
|
||||||
@GetMapping("/collectVideoSummary")
|
@GetMapping("/collectVideoSummary")
|
||||||
@Debounce(interval = 3000, value = "#userId")
|
@Debounce(interval = 3000, value = "#userId")
|
||||||
|
@Limiting
|
||||||
public Result collectVideoSummary(@RequestAttribute("userId") Long userId) {
|
public Result collectVideoSummary(@RequestAttribute("userId") Long userId) {
|
||||||
return courseCollectService.collectVideoSummary(userId);
|
return courseCollectService.collectVideoSummary(userId);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.sqx.modules.message.controller.app;
|
package com.sqx.modules.message.controller.app;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.sqx.common.annotation.Limiting;
|
||||||
import com.sqx.common.utils.PageUtils;
|
import com.sqx.common.utils.PageUtils;
|
||||||
import com.sqx.common.utils.Result;
|
import com.sqx.common.utils.Result;
|
||||||
import com.sqx.modules.app.annotation.Login;
|
import com.sqx.modules.app.annotation.Login;
|
||||||
@@ -54,6 +55,7 @@ public class AppMessageController {
|
|||||||
@ApiOperation("查询用户消息")
|
@ApiOperation("查询用户消息")
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
// @Login
|
// @Login
|
||||||
|
@Limiting
|
||||||
public Result selectMessage(int page, int limit,Integer state){
|
public Result selectMessage(int page, int limit,Integer state){
|
||||||
Map<String,Object> map=new HashMap<>();
|
Map<String,Object> map=new HashMap<>();
|
||||||
map.put("page",page);
|
map.put("page",page);
|
||||||
@@ -81,4 +83,4 @@ public class AppMessageController {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user