sunkean 2 rokov pred
rodič
commit
a4741ba9d9

+ 1 - 1
src/main/java/com/izouma/nineth/repo/MetaTaskToUserNewRepo.java

@@ -15,7 +15,7 @@ public interface MetaTaskToUserNewRepo extends JpaRepository<MetaTaskToUserNew,
 
     MetaTaskToUserNew findByUserIdAndTaskIdAndAtomTaskIdAndChannelIdAndPigeonholeAndDel(Long userId, Long taskId, Long atomTaskId, Long channelId, boolean pigeonhole, boolean del);
 
-    List<MetaTaskToUserNew> findAllByUserIdAndStatusAndPigeonholeAndDelAndAtomTaskIdIn(Long userId, MetaTaskStatus status, boolean pigeonhole, boolean del, List<Long> atomTaskIds);
+    List<MetaTaskToUserNew> findAllByUserIdAndStatusInAndPigeonholeAndDelAndAtomTaskIdIn(Long userId, List<MetaTaskStatus> status, boolean pigeonhole, boolean del, List<Long> atomTaskIds);
 
     MetaTaskToUserNew findByIdAndAndPigeonholeAndDel(Long id, boolean pigeonhole, boolean del);
 

+ 3 - 2
src/main/java/com/izouma/nineth/service/MetaTaskToUserNewService.java

@@ -25,6 +25,7 @@ import org.springframework.stereotype.Service;
 import javax.transaction.Transactional;
 import java.time.LocalDateTime;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
 import java.util.Objects;
 
@@ -192,8 +193,8 @@ public class MetaTaskToUserNewService {
         MetaAtomTask metaAtomTask = metaTaskToUserNew.getMetaAtomTask();
         List<Long> atomTaskIds = metaTaskBindRepo.findAtomTaskIds(metaTaskToUserNew.getTaskId());
         List<MetaTaskToUserNew> completed = metaTaskToUserNewRepo
-                .findAllByUserIdAndStatusAndPigeonholeAndDelAndAtomTaskIdIn(metaTaskToUserNew
-                        .getUserId(), MetaTaskStatus.COMPLETION, false, false, atomTaskIds);
+                .findAllByUserIdAndStatusInAndPigeonholeAndDelAndAtomTaskIdIn(metaTaskToUserNew
+                        .getUserId(), Arrays.asList(MetaTaskStatus.COMPLETION, MetaTaskStatus.FINISH), false, false, atomTaskIds);
         metaTaskToUserNew
                 .setProcess(String.valueOf(completed.size()).concat("/").concat(String.valueOf(atomTaskIds.size())));
         String value = metaAtomTask.getTargetConfig();

+ 6 - 1
src/main/java/com/izouma/nineth/service/MetaUserTaskAwardReceivedRecordNewService.java

@@ -57,9 +57,14 @@ public class MetaUserTaskAwardReceivedRecordNewService {
         if (Objects.isNull(metaTaskToUserNew)) {
             return MetaRestResult.returnError(String.format("奖励领取失败:用户[%S]在频道[%S]下未领取过该任务!", userId, metaTaskNew.getChannelId()));
         }
-        if (MetaTaskStatus.PROGRESS.equals(metaTaskToUserNew.getStatus()) || MetaTaskStatus.FINISH.equals(metaTaskToUserNew.getStatus())) {
+        if (MetaTaskStatus.FINISH.equals(metaTaskToUserNew.getStatus())) {
             return MetaRestResult.returnError(String.format("奖励领取失败:当前任务状态为[%S]", metaTaskToUserNew.getStatus().getDescription()));
         }
+        if (!MetaTaskTarget.COLLECT_PROP.equals(metaAtomTask.getTargetType())) {
+            if (MetaTaskStatus.PROGRESS.equals(metaTaskToUserNew.getStatus())) {
+                return MetaRestResult.returnError(String.format("奖励领取失败:当前任务状态为[%S]", metaTaskToUserNew.getStatus().getDescription()));
+            }
+        }
         MetaUserTaskAwardReceivedRecordNew metaUserTaskAwardReceivedRecordNew = metaUserTaskAwardReceivedRecordNewRepo.findByMetaTaskToUserNewIdAndDel(metaTaskToUserNew.getId(), false);
         if (Objects.nonNull(metaUserTaskAwardReceivedRecordNew)) {
             return MetaRestResult.returnError("奖励领取失败:用户已经领取过该任务奖励,不可重复领取!");

+ 1 - 1
src/main/java/com/izouma/nineth/web/MetaAtomTaskController.java

@@ -37,7 +37,7 @@ public class MetaAtomTaskController extends BaseController {
         if (!result.isSuccess()) {
             throw new BusinessException(result.getMessage());
         }
-        if (MetaTaskTarget.COLLECT_COLLECTION.equals(record.getTargetType())) {
+        if (MetaTaskTarget.COLLECT_PROP.equals(record.getTargetType())) {
             String[] split = record.getTargetConfig().split(",");
             if (split.length != 2) {
                 throw new BusinessException("目标配置不合法,收集道具类任务 目标配置为:道具id,数量 例如:1,2");