|
|
@@ -1,5 +1,6 @@
|
|
|
package com.izouma.nineth.service;
|
|
|
|
|
|
+import cn.hutool.core.collection.CollectionUtil;
|
|
|
import com.alibaba.excel.util.CollectionUtils;
|
|
|
import com.izouma.nineth.config.Constants;
|
|
|
import com.izouma.nineth.domain.*;
|
|
|
@@ -23,7 +24,6 @@ import javax.transaction.Transactional;
|
|
|
import java.time.LocalDateTime;
|
|
|
import java.util.List;
|
|
|
import java.util.Objects;
|
|
|
-import java.util.concurrent.atomic.AtomicBoolean;
|
|
|
|
|
|
@Service
|
|
|
@AllArgsConstructor
|
|
|
@@ -51,13 +51,10 @@ public class MetaTaskToUserNewService {
|
|
|
@Transactional
|
|
|
public MetaRestResult<Void> autoReceiveTask() {
|
|
|
Long userId = SecurityUtils.getAuthenticatedUser().getId();
|
|
|
- List<MetaTaskNew> metaTaskNews = metaTaskNewRepo.findAllByAutoReceiveAndDel(true, false);
|
|
|
- AtomicBoolean exist = new AtomicBoolean(false);
|
|
|
- metaTaskNews.forEach(metaTaskNew -> {
|
|
|
- MetaTaskToUserNew metaTaskToUserNew = metaTaskToUserNewRepo.findByUserIdAndTaskIdAndDel(userId, metaTaskNew.getId(), false);
|
|
|
- if (Objects.isNull(metaTaskToUserNew)) {
|
|
|
- exist.set(true);
|
|
|
- metaTaskToUserNew = new MetaTaskToUserNew();
|
|
|
+ List<MetaTaskNew> metaTaskNews = metaTaskNewRepo.findUnReceivedAndAutoReceivedTask(userId);
|
|
|
+ if (CollectionUtil.isNotEmpty(metaTaskNews)) {
|
|
|
+ metaTaskNews.forEach(metaTaskNew -> {
|
|
|
+ MetaTaskToUserNew metaTaskToUserNew = new MetaTaskToUserNew();
|
|
|
metaTaskToUserNew.setUserId(userId);
|
|
|
metaTaskToUserNew.setTaskId(metaTaskNew.getId());
|
|
|
// 设置主动领取第一个索引的基础任务
|
|
|
@@ -83,9 +80,7 @@ public class MetaTaskToUserNewService {
|
|
|
if (Constants.MetaRestCode.success != result.getCode()) {
|
|
|
throw new BusinessException(result.getMessage());
|
|
|
}
|
|
|
- }
|
|
|
- });
|
|
|
- if (exist.get()) {
|
|
|
+ });
|
|
|
return MetaRestResult.returnSuccess("主动任务领取成功");
|
|
|
}
|
|
|
return MetaRestResult.returnSuccess("玩家主动领取任务已经全部领取");
|