|
|
@@ -3,7 +3,9 @@ package com.izouma.nineth.web;
|
|
|
import com.izouma.nineth.domain.MetaTask;
|
|
|
import com.izouma.nineth.dto.MetaRestResult;
|
|
|
import com.izouma.nineth.dto.PageQuery;
|
|
|
+import com.izouma.nineth.enums.MetaTaskType;
|
|
|
import com.izouma.nineth.exception.BusinessException;
|
|
|
+import com.izouma.nineth.repo.CollectionRepo;
|
|
|
import com.izouma.nineth.repo.MetaTaskRepo;
|
|
|
import com.izouma.nineth.repo.MetaTaskToUserRepo;
|
|
|
import com.izouma.nineth.service.MetaTaskService;
|
|
|
@@ -15,6 +17,7 @@ import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
import java.io.IOException;
|
|
|
+import java.util.Arrays;
|
|
|
import java.util.List;
|
|
|
import java.util.Objects;
|
|
|
|
|
|
@@ -27,9 +30,17 @@ public class MetaTaskController extends BaseController {
|
|
|
|
|
|
private MetaTaskToUserRepo metaTaskToUserRepo;
|
|
|
|
|
|
+ private CollectionRepo collectionRepo;
|
|
|
+
|
|
|
//@PreAuthorize("hasRole('ADMIN')")
|
|
|
@PostMapping("/save")
|
|
|
public MetaTask save(@RequestBody MetaTask record) {
|
|
|
+ if (record.getType().equals(MetaTaskType.COLLECT_COLLECTION)) {
|
|
|
+ String[] split = record.getValue().split(" ");
|
|
|
+ Arrays.stream(split).forEach(collectionId -> {
|
|
|
+ collectionRepo.findByIdAndDelFalse(Long.parseLong(collectionId)).orElseThrow(new BusinessException(String.format("不存在collectionId[%S]的藏品", collectionId)));
|
|
|
+ });
|
|
|
+ }
|
|
|
if (record.getId() != null) {
|
|
|
MetaTask orig = metaTaskRepo.findById(record.getId()).orElseThrow(new BusinessException("无记录"));
|
|
|
ObjUtils.merge(orig, record);
|
|
|
@@ -78,7 +89,7 @@ public class MetaTaskController extends BaseController {
|
|
|
metaTaskRepo.save(metaTask);
|
|
|
|
|
|
// 将用户领取记录改为结束
|
|
|
- metaTaskToUserRepo.updateStatus(id);
|
|
|
+ metaTaskToUserRepo.updateStatus(id);
|
|
|
}
|
|
|
|
|
|
}
|