Переглянути джерело

元宇宙任务接口优化

sunkean 3 роки тому
батько
коміт
def3829acb

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

@@ -22,5 +22,5 @@ public interface MetaTaskToUserRepo extends JpaRepository<MetaTaskToUser, Long>,
     @Modifying
     @Transactional
     @Query(value = "update MetaTaskToUser a set a.status = 'FINISH' where a.taskId = ?1 and a.del = false ")
-    void updateStatus(Long taskId);
+    void finish(Long taskId);
 }

+ 20 - 0
src/main/java/com/izouma/nineth/service/MetaTaskService.java

@@ -2,19 +2,39 @@ package com.izouma.nineth.service;
 
 import com.izouma.nineth.domain.MetaTask;
 import com.izouma.nineth.dto.PageQuery;
+import com.izouma.nineth.exception.BusinessException;
 import com.izouma.nineth.repo.MetaTaskRepo;
+import com.izouma.nineth.repo.MetaTaskToUserRepo;
 import com.izouma.nineth.utils.JpaUtils;
 import lombok.AllArgsConstructor;
 import org.springframework.data.domain.Page;
 import org.springframework.stereotype.Service;
 
+import javax.transaction.Transactional;
+import java.util.Objects;
+
 @Service
 @AllArgsConstructor
 public class MetaTaskService {
 
     private MetaTaskRepo metaTaskRepo;
 
+    private MetaTaskToUserRepo metaTaskToUserRepo;
+
     public Page<MetaTask> all(PageQuery pageQuery) {
         return metaTaskRepo.findAll(JpaUtils.toSpecification(pageQuery, MetaTask.class), JpaUtils.toPageRequest(pageQuery));
     }
+
+    @Transactional
+    public void finish( Long id) {
+        MetaTask metaTask = metaTaskRepo.findByIdAndDel(id, false);
+        if (Objects.isNull(metaTask)) {
+            throw new BusinessException("无记录");
+        }
+        metaTask.setFinish(true);
+        metaTaskRepo.save(metaTask);
+
+        // 将用户领取记录改为结束
+        metaTaskToUserRepo.finish(id);
+    }
 }

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

@@ -19,7 +19,6 @@ import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.util.Arrays;
 import java.util.List;
-import java.util.Objects;
 
 @RestController
 @RequestMapping("/metaTask")
@@ -87,15 +86,7 @@ public class MetaTaskController extends BaseController {
 
     @PostMapping("/{id}/finish")
     private void finish(@PathVariable Long id) {
-        MetaTask metaTask = metaTaskRepo.findByIdAndDel(id, false);
-        if (Objects.isNull(metaTask)) {
-            throw new BusinessException("无记录");
-        }
-        metaTask.setFinish(true);
-        metaTaskRepo.save(metaTask);
-
-        // 将用户领取记录改为结束
-        metaTaskToUserRepo.updateStatus(id);
+        metaTaskService.finish(id);
     }
 
 }