Browse Source

直播红娘任务

master
张彭杰 2 months ago
parent
commit
56cc761b60
1 changed files with 18 additions and 3 deletions
  1. 21
      dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/utc/UserTaskCompleteEventHandler.java

21
dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/utc/UserTaskCompleteEventHandler.java

@ -3,9 +3,9 @@ package com.qniao.dam.application.handler.utc;
import cn.hutool.core.lang.Tuple;
import com.qniao.dam.domain.aggregate.tasktemplate.entity.SubTaskTemplate;
import com.qniao.dam.domain.aggregate.tasktemplate.entity.TaskTemplate;
import com.qniao.dam.domain.aggregate.utc.UserTaskCompleteAggregate;
import com.qniao.dam.domain.aggregate.utc.entity.UserSubTaskComplete;
import com.qniao.dam.domain.aggregate.utc.entity.UserTaskComplete;
import com.qniao.dam.domian.aggregate.tasktemplate.constant.SubTaskTypeEnum;
import com.qniao.dam.domian.aggregate.tasktemplate.constant.TaskGroupEnum;
import com.qniao.dam.domian.aggregate.tasktemplate.constant.TaskStageEnum;
import com.qniao.dam.domian.aggregate.tasktemplate.constant.TaskTypeEnum;
@ -26,6 +26,7 @@ import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
@ -40,6 +41,8 @@ public class UserTaskCompleteEventHandler extends BaseApplicationService {
private TaskTemplateQueryService taskTemplateQueryService;
@Resource
private UserTaskCompleteQueryService userTaskCompleteQueryService;
@Resource
private UserTaskCompleteAggregate userTaskCompleteAggregate;
@RabbitListener(bindings = @QueueBinding(value = @Queue(MqQueue.USER_SUB_TASK_COMMITTED),
exchange = @Exchange(value = MqExchange.USER_SUB_TASK_COMMITTED,
@ -67,8 +70,22 @@ public class UserTaskCompleteEventHandler extends BaseApplicationService {
} else {
if (!userTaskComplete.getCompleteStatus()) {
UserSubTaskComplete userSubTaskComplete = userTaskCompleteQueryService.querySubBy(userTaskComplete.getId(), subTaskTemplate.getId());
if (Objects.isNull(userSubTaskComplete)) {
userSubTaskComplete = UserSubTaskComplete.init(subTaskTemplate.getId());
userTaskComplete.setInsertSubList(Collections.singletonList(userSubTaskComplete));
} else {
if (!userSubTaskComplete.getCompleteStatus()) {
userSubTaskComplete.setCompleteCount(userSubTaskComplete.getCompleteCount() + mq.getCommitCount());
userSubTaskComplete.setCompleteStatus(userSubTaskComplete.getCompleteCount() >= subTaskTemplate.getRequiredCount());
if (userSubTaskComplete.getCompleteStatus()) {
userSubTaskComplete.setCompleteTime(LocalDateTime.now());
}
userTaskComplete.setUpdateSubList(Collections.singletonList(userSubTaskComplete));
}
}
}
}
userTaskCompleteAggregate.edit(userTaskComplete);
break;
}
}
@ -79,6 +96,4 @@ public class UserTaskCompleteEventHandler extends BaseApplicationService {
log.error("直播时长任务提交事件处理异常", e);
}
}
}
Loading…
Cancel
Save