Kaynağa Gözat

Merge branch 'dev-meta' of xiongzhu/raex_back into master

sunkean 2 yıl önce
ebeveyn
işleme
bc0d05158f

+ 16 - 7
src/main/java/com/izouma/nineth/service/MetaTaskToUserNewService.java

@@ -125,8 +125,10 @@ public class MetaTaskToUserNewService {
         metaTaskToUserNew.setMetaTaskNew(metaTaskNew);
         metaTaskToUserNew.setMetaAtomTask(metaAtomTask);
         MetaTaskToUserNew save = metaTaskToUserNewRepo.save(metaTaskToUserNew);
+        save.setMetaTaskNew(metaTaskNew);
+        save.setMetaAtomTask(metaAtomTask);
         if (progress) {
-            setProgress(save, metaAtomTask);
+            setProgress(save);
         }
         return MetaRestResult.returnSuccess(save);
     }
@@ -139,11 +141,18 @@ public class MetaTaskToUserNewService {
 
     public MetaRestResult<MetaTaskToUserNew> setSingleProgress(MetaTaskToUserNew metaTaskToUserNew) {
         MetaAtomTask metaAtomTask = metaAtomTaskRepo.findByIdAndDel(metaTaskToUserNew.getAtomTaskId(), false);
-        MetaServiceResult result = checkMetaAtomTask(metaAtomTask);
-        if (!result.isSuccess()) {
-            return MetaRestResult.returnError(result.getMessage());
+        MetaServiceResult checkMetaAtomTaskResult = checkMetaAtomTask(metaAtomTask);
+        if (!checkMetaAtomTaskResult.isSuccess()) {
+            return MetaRestResult.returnError(checkMetaAtomTaskResult.getMessage());
+        }
+        metaTaskToUserNew.setMetaAtomTask(metaAtomTask);
+        MetaTaskNew metaTaskNew = metaTaskNewRepo.findByIdAndDel(metaTaskToUserNew.getTaskId(), false);
+        MetaServiceResult checkMetaTaskNewResult = checkMetaTaskNew(metaTaskNew);
+        if (!checkMetaTaskNewResult.isSuccess()) {
+            return MetaRestResult.returnError(checkMetaTaskNewResult.getMessage());
         }
-        setProgress(metaTaskToUserNew, metaAtomTask);
+        metaTaskToUserNew.setMetaTaskNew(metaTaskNew);
+        setProgress(metaTaskToUserNew);
         return MetaRestResult.returnSuccess(metaTaskToUserNew);
     }
 
@@ -151,9 +160,9 @@ public class MetaTaskToUserNewService {
      * 设置任务进度
      *
      * @param metaTaskToUserNew 任务领取信息
-     * @param metaAtomTask      基础任务信息
      */
-    private void setProgress(MetaTaskToUserNew metaTaskToUserNew, MetaAtomTask metaAtomTask) {
+    private void setProgress(MetaTaskToUserNew metaTaskToUserNew) {
+        MetaAtomTask metaAtomTask = metaTaskToUserNew.getMetaAtomTask();
         List<Long> atomTaskIds = metaTaskBindRepo.findAtomTaskIds(metaTaskToUserNew.getTaskId());
         List<MetaTaskToUserNew> completed = metaTaskToUserNewRepo.findAllByUserIdAndStatusAndDelAndAtomTaskIdIn(metaTaskToUserNew.getUserId(), MetaTaskStatus.COMPLETION, false, atomTaskIds);
         metaTaskToUserNew.setProcess(String.valueOf(completed.size()).concat("/").concat(String.valueOf(atomTaskIds.size())));