From 2dd2641befaefbd192e67e6d1eba012a5fe9d74d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=9D=BE?= <8605635+zhang3064194730@user.noreply.gitee.com> Date: Thu, 16 Jan 2025 14:38:14 +0800 Subject: [PATCH] =?UTF-8?q?uniapp=E5=B9=BF=E5=91=8A=E5=AE=8C=E6=92=AD?= =?UTF-8?q?=E8=A7=84=E5=88=99=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/app/controller/app/AdController.java | 14 ++++++++++++-- .../service/UniAdCallbackRecordService.java | 2 +- .../impl/UniAdCallbackRecordServiceImpl.java | 4 ++-- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/sqx/modules/app/controller/app/AdController.java b/src/main/java/com/sqx/modules/app/controller/app/AdController.java index 877d755e..b3cbbdd2 100644 --- a/src/main/java/com/sqx/modules/app/controller/app/AdController.java +++ b/src/main/java/com/sqx/modules/app/controller/app/AdController.java @@ -4,25 +4,35 @@ import com.sqx.common.utils.Result; import com.sqx.modules.app.annotation.Login; import com.sqx.modules.app.service.AdService; import com.sqx.modules.callback.service.UniAdCallbackRecordService; +import com.sqx.modules.redisService.RedisService; import com.sqx.modules.sys.controller.AbstractController; import org.springframework.web.bind.annotation.*; +import java.util.HashMap; + @RestController @RequestMapping("/app/ad") public class AdController extends AbstractController { private final UniAdCallbackRecordService callbackRecordService; private final AdService adService; + private final RedisService redisService; - public AdController(UniAdCallbackRecordService callbackRecordService, AdService adService) { + public AdController(UniAdCallbackRecordService callbackRecordService, AdService adService, RedisService redisService) { this.callbackRecordService = callbackRecordService; this.adService = adService; + this.redisService = redisService; } @Login @GetMapping("/state") public Result getAdState(@RequestParam String extraKey, @RequestAttribute Long userId) { - return Result.success(callbackRecordService.getStateByExtraKey(userId, extraKey)); + HashMap info = callbackRecordService.getStateByExtraKey(userId, extraKey); + if (info.get("isEnded") == 0 && !redisService.isCanCash(userId)) { + redisService.setCanCashFlag(userId, -1L); + info.put("isEnded", 1); + } + return Result.success(); } @Login diff --git a/src/main/java/com/sqx/modules/callback/service/UniAdCallbackRecordService.java b/src/main/java/com/sqx/modules/callback/service/UniAdCallbackRecordService.java index 301aabbb..e04a81b6 100644 --- a/src/main/java/com/sqx/modules/callback/service/UniAdCallbackRecordService.java +++ b/src/main/java/com/sqx/modules/callback/service/UniAdCallbackRecordService.java @@ -16,5 +16,5 @@ public interface UniAdCallbackRecordService extends IService adCallBack(UniAdCallBackDTO callBackDTO); - HashMap getStateByExtraKey(Long userId, String extraKey); + HashMap getStateByExtraKey(Long userId, String extraKey); } diff --git a/src/main/java/com/sqx/modules/callback/service/impl/UniAdCallbackRecordServiceImpl.java b/src/main/java/com/sqx/modules/callback/service/impl/UniAdCallbackRecordServiceImpl.java index 2174a5f9..4ca16e2b 100644 --- a/src/main/java/com/sqx/modules/callback/service/impl/UniAdCallbackRecordServiceImpl.java +++ b/src/main/java/com/sqx/modules/callback/service/impl/UniAdCallbackRecordServiceImpl.java @@ -129,10 +129,10 @@ public class UniAdCallbackRecordServiceImpl extends ServiceImpl getStateByExtraKey(Long userId, String extraKey) { + public HashMap getStateByExtraKey(Long userId, String extraKey) { UniAdCallbackRecord one = getOne(new LambdaQueryWrapper().eq(UniAdCallbackRecord::getUserId, userId) .eq(UniAdCallbackRecord::getExtra, extraKey)); - return new HashMap(){{ + return new HashMap(){{ put("isEnded", one == null ? 0 : 1); }}; }