|
|
@@ -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);
|
|
|
+ }
|
|
|
}
|