频率限制3

This commit is contained in:
GYJ
2025-03-23 17:04:08 +08:00
parent 35bf6e479e
commit 641e949f1e
6 changed files with 12 additions and 1 deletions

View File

@@ -13,5 +13,5 @@ import java.lang.annotation.Target;
@Retention(RetentionPolicy.RUNTIME)
public @interface Limiting {
// 默认每秒放入桶中的token
double limitNum() default 10;
double limitNum() default 5;
}

View File

@@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.sqx.common.annotation.Debounce;
import com.sqx.common.annotation.Limiting;
import com.sqx.common.utils.ApiAccessLimitUtil;
import com.sqx.common.utils.DataLimitUtil;
import com.sqx.common.utils.DesensitizedUtil;
@@ -291,6 +292,7 @@ public class AppController {
@RequestMapping(value = "/selectUserById", method = RequestMethod.GET)
@ApiOperation("获取用户详细信息")
@ResponseBody
@Limiting
public Result selectUserById(@LoginUser UserEntity user) {
UserInfo userInfo = userInfoService.getByUserId(user.getUserId());
userInfo.setRespJson(null);

View File

@@ -1,6 +1,7 @@
package com.sqx.modules.app.controller.app;
import com.sqx.common.annotation.Debounce;
import com.sqx.common.annotation.Limiting;
import com.sqx.common.utils.Result;
import com.sqx.modules.app.annotation.Login;
import com.sqx.modules.app.service.UserMoneyDetailsService;
@@ -35,6 +36,7 @@ public class AppUserMoneyDetailsController {
@GetMapping("/selectUserMoney")
@ApiOperation("我的钱包")
@Debounce(interval = 3000, value = "#userId")
@Limiting
public Result selectUserMoney(@RequestAttribute Long userId){
return Result.success().put("data",userMoneyService.selectUserMoneyByUserId(userId));
}

View File

@@ -2,6 +2,7 @@ package com.sqx.modules.course.controller.app;
import com.alibaba.fastjson.JSONObject;
import com.sqx.common.annotation.Debounce;
import com.sqx.common.annotation.Limiting;
import com.sqx.common.utils.RedisKeys;
import com.sqx.common.utils.RedisUtils;
import com.sqx.common.utils.Result;
@@ -50,6 +51,7 @@ public class AppCourseController extends AbstractController {
@GetMapping("/courseSets")
@ApiOperation("根据id查询短剧集数列表")
@Debounce(interval = 3000, value = "#userId")
@Limiting
public Result courseSets(@RequestAttribute("userId") Long userId, Long courseId, Integer sort) {
return courseDetailsService.courseSets(userId, courseId,sort);
}
@@ -124,6 +126,7 @@ public class AppCourseController extends AbstractController {
@GetMapping("/viewCourse")
@ApiOperation("查看短剧")
@Limiting
public Result viewCourse(@ApiParam("短剧id") Long courseId,
@ApiParam("剧集id") Long courseDetailsId,
@ApiParam("统计类型start 开始end 结束") String type) {

View File

@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.sqx.common.annotation.Debounce;
import com.sqx.common.annotation.Limiting;
import com.sqx.common.exception.CzgException;
import com.sqx.common.exception.SqxException;
import com.sqx.common.utils.*;
@@ -164,6 +165,7 @@ public class DiscSpinningController {
@ApiResponse(code = 200, message = "{\"sum\":\"总抽奖次数\",\"count\":\"剩余抽奖次数\"}"),
})
@Debounce(value = "#userId")
@Limiting
public Result drawCount(@ApiIgnore @RequestAttribute("userId") Long userId, @RequestParam(required = false, defaultValue = "1") Integer source) {
Map<String, Object> map = new HashMap<>();
int drawCount = Integer.parseInt(commonRepository.findOne(901).getValue());

View File

@@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.sqx.common.annotation.Debounce;
import com.sqx.common.annotation.Limiting;
import com.sqx.common.utils.Result;
import com.sqx.modules.app.service.UserMoneyDetailsService;
import com.sqx.modules.app.service.UserMoneyService;
@@ -136,6 +137,7 @@ public class WuyouController {
@ApiOperation("查询订单支付结果")
@GetMapping("/queryOrder/{orderId}")
@Debounce(value = "#orderId")
@Limiting(limitNum = 20)
public Result queryOrder(HttpServletRequest request, @PathVariable("orderId") Long orderId) {
Orders order = ordersService.getById(orderId);
if (order == null) {