From 2068eb2e0cf329f7ec5cd0c81a6ad5ae5360a90f Mon Sep 17 00:00:00 2001 From: tianfeng <769204422@qq.com> Date: Fri, 5 Dec 2025 11:12:44 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=91=E5=AE=9A=E9=82=80=E8=AF=B7=E7=A0=81?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=20=E8=87=AA=E5=8A=A8=E5=8F=98=E6=88=90?= =?UTF-8?q?=E5=B7=B2=E9=A2=86=E5=8F=96=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../other/app/listener/task/TaskListener.java | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/listener/task/TaskListener.java b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/listener/task/TaskListener.java index cb2b55e4..0f6f36d8 100644 --- a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/listener/task/TaskListener.java +++ b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/listener/task/TaskListener.java @@ -1,5 +1,6 @@ package com.red.circle.other.app.listener.task; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.google.common.base.Throwables; import com.red.circle.component.mq.MessageEventProcess; import com.red.circle.component.mq.MessageEventProcessDescribe; @@ -18,7 +19,10 @@ import com.red.circle.other.app.service.task.TaskService; import com.red.circle.other.app.util.DateTimeAsiaRiyadhUtils; import com.red.circle.other.domain.admintask.AdminTaskType; import com.red.circle.other.domain.gateway.user.ability.InviteUserGateway; +import com.red.circle.other.infra.database.rds.dao.task.UserTaskProgressDAO; +import com.red.circle.other.infra.database.rds.entity.task.UserTaskProgress; import com.red.circle.other.infra.database.rds.service.user.user.RelationshipFriendService; +import com.red.circle.tool.core.date.TimestampUtils; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; @@ -27,6 +31,7 @@ import java.math.BigDecimal; import java.time.Duration; import java.time.ZoneId; import java.time.ZonedDateTime; +import java.util.List; import java.util.concurrent.TimeUnit; @Slf4j @@ -40,6 +45,7 @@ public class TaskListener implements MessageListener { private final InviteUserGateway inviteUserGateway; private final SpinsUserTaskProgressService spinsUserTaskProgressService; private final AdminTaskService adminTaskService; + private final UserTaskProgressDAO userTaskProgressDAO; @Override public Action consume(ConsumerMessage message) { @@ -331,6 +337,21 @@ public class TaskListener implements MessageListener { eventBody.setTargetValue(1); eventBody.setCompleteValue(1); updateTaskStatus(eventBody); + + // 处理成已领取 + LambdaQueryWrapper eq = new LambdaQueryWrapper() + .eq(UserTaskProgress::getUserId, eventBody.getUserId()) + .eq(UserTaskProgress::getTaskStatus, 1) + .eq(UserTaskProgress::getTaskId, eventBody.getTaskId()) + .eq(UserTaskProgress::getIsRewardCollected, 0); + List userTaskProgresses = userTaskProgressDAO.selectList(eq); + if (userTaskProgresses == null || userTaskProgresses.isEmpty()) { + return; + } + UserTaskProgress userTaskProgress = userTaskProgresses.get(0); + userTaskProgress.setIsRewardCollected(1); + userTaskProgress.setCompletedTime(TimestampUtils.now()); + userTaskProgressDAO.updateById(userTaskProgress); } private void dealRechargeCommission(TaskApprovalEvent eventBody) {