You've already forked FrameTour-BE
taskStatus
This commit is contained in:
@@ -12,9 +12,9 @@ import com.ycwl.basic.model.pc.source.resp.SourceRespVO;
|
||||
import com.ycwl.basic.model.pc.task.entity.TaskEntity;
|
||||
import com.ycwl.basic.model.pc.task.resp.TaskRespVO;
|
||||
import com.ycwl.basic.model.pc.video.entity.MemberVideoEntity;
|
||||
import com.ycwl.basic.model.pc.video.entity.VideoEntity;
|
||||
import com.ycwl.basic.model.pc.video.req.VideoReqQuery;
|
||||
import com.ycwl.basic.model.pc.video.resp.VideoRespVO;
|
||||
import com.ycwl.basic.repository.VideoTaskRepository;
|
||||
import com.ycwl.basic.service.mobile.GoodsService;
|
||||
import com.ycwl.basic.repository.TemplateRepository;
|
||||
import com.ycwl.basic.utils.ApiResponse;
|
||||
@@ -28,7 +28,6 @@ import java.math.RoundingMode;
|
||||
import java.text.DecimalFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@@ -51,6 +50,8 @@ public class GoodsServiceImpl implements GoodsService {
|
||||
private FaceMapper faceMapper;
|
||||
@Autowired
|
||||
private TemplateRepository templateRepository;
|
||||
@Autowired
|
||||
private VideoTaskRepository videoTaskRepository;
|
||||
|
||||
public ApiResponse<List<GoodsPageVO>> goodsList(GoodsReqQuery query) {
|
||||
//查询原素材
|
||||
@@ -242,28 +243,35 @@ public class GoodsServiceImpl implements GoodsService {
|
||||
*/
|
||||
@Override
|
||||
public ApiResponse<VideoTaskStatusVO> getTaskStatusByFaceId(Long userId, Long faceId) {
|
||||
List<TaskEntity> taskList = videoMapper.listTaskByFaceRelation(userId, faceId);
|
||||
List<MemberVideoEntity> taskList = videoMapper.listRelationByFace(userId, faceId);
|
||||
VideoTaskStatusVO response = new VideoTaskStatusVO();
|
||||
response.setFaceId(faceId);
|
||||
if (taskList.isEmpty()) {
|
||||
response.setStatus(0);
|
||||
return ApiResponse.success(response);
|
||||
}
|
||||
long nullTask = taskList.stream().filter(Objects::isNull).count();
|
||||
if (nullTask > 0) {
|
||||
response.setScenicId(taskList.get(0).getScenicId());
|
||||
response.setMaxCount(templateRepository.getTemplateListByScenicId(response.getScenicId()).size());
|
||||
List<MemberVideoEntity> notFinishedTasks = taskList.stream().filter(task -> {
|
||||
TaskEntity taskById = videoTaskRepository.getTaskById(task.getTaskId());
|
||||
if (taskById == null) {
|
||||
return true;
|
||||
}
|
||||
return taskById.getStatus() != 1;
|
||||
}).collect(Collectors.toList());
|
||||
if (!notFinishedTasks.isEmpty()) {
|
||||
response.setCount(taskList.size() - notFinishedTasks.size());
|
||||
response.setTemplateId(notFinishedTasks.get(0).getTemplateId());
|
||||
response.setTaskId(notFinishedTasks.get(0).getTaskId());
|
||||
response.setStatus(2);
|
||||
return ApiResponse.success(response);
|
||||
}
|
||||
Optional<TaskEntity> taskEntity = taskList.stream().filter(task -> 1 == task.getStatus()).findFirst();
|
||||
if (taskEntity.isPresent()) {
|
||||
response.setTemplateId(taskEntity.get().getTemplateId());
|
||||
VideoEntity video = videoMapper.findByTaskId(taskEntity.get().getId());
|
||||
response.setVideoId(video.getId());
|
||||
response.setCount(taskList.size());
|
||||
response.setStatus(1);
|
||||
} else {
|
||||
response.setStatus(2);
|
||||
}
|
||||
MemberVideoEntity lastVideo = taskList.get(taskList.size() - 1);
|
||||
response.setTaskId(lastVideo.getTaskId());
|
||||
response.setTemplateId(lastVideo.getTemplateId());
|
||||
response.setVideoId(lastVideo.getVideoId());
|
||||
response.setCount(taskList.size());
|
||||
response.setStatus(1);
|
||||
return ApiResponse.success(response);
|
||||
}
|
||||
|
||||
@@ -274,23 +282,36 @@ public class GoodsServiceImpl implements GoodsService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public ApiResponse<VideoTaskStatusVO> getTemplateTaskStatus(Long userId, Long faceId, Long templateId) {
|
||||
List<TaskEntity> taskList = videoMapper.listTaskByFaceTemplateRelation(userId, faceId, templateId);
|
||||
public ApiResponse<VideoTaskStatusVO> getTaskStatusByTemplateId(Long userId, Long faceId, Long templateId) {
|
||||
List<MemberVideoEntity> taskList = videoMapper.listRelationByFaceAndTemplate(userId, faceId, templateId);
|
||||
VideoTaskStatusVO response = new VideoTaskStatusVO();
|
||||
response.setFaceId(faceId);
|
||||
if (taskList.isEmpty()) {
|
||||
response.setStatus(0);
|
||||
return ApiResponse.success(response);
|
||||
}
|
||||
Optional<TaskEntity> taskEntity = taskList.stream().filter(task -> task.getStatus() == 1).findFirst();
|
||||
if (taskEntity.isPresent()) {
|
||||
response.setTemplateId(taskEntity.get().getTemplateId());
|
||||
VideoEntity video = videoMapper.findByTaskId(taskEntity.get().getId());
|
||||
response.setVideoId(video.getId());
|
||||
response.setStatus(1);
|
||||
} else {
|
||||
response.setScenicId(taskList.get(0).getScenicId());
|
||||
response.setMaxCount(templateRepository.getTemplateListByScenicId(response.getScenicId()).size());
|
||||
List<MemberVideoEntity> notFinishedTasks = taskList.stream().filter(task -> {
|
||||
TaskEntity taskById = videoTaskRepository.getTaskById(task.getTaskId());
|
||||
if (taskById == null) {
|
||||
return true;
|
||||
}
|
||||
return taskById.getStatus() != 1;
|
||||
}).collect(Collectors.toList());
|
||||
if (!notFinishedTasks.isEmpty()) {
|
||||
response.setCount(taskList.size() - notFinishedTasks.size());
|
||||
response.setTemplateId(notFinishedTasks.get(0).getTemplateId());
|
||||
response.setTaskId(notFinishedTasks.get(0).getTaskId());
|
||||
response.setStatus(2);
|
||||
return ApiResponse.success(response);
|
||||
}
|
||||
MemberVideoEntity lastVideo = taskList.get(taskList.size() - 1);
|
||||
response.setTaskId(lastVideo.getTaskId());
|
||||
response.setTemplateId(lastVideo.getTemplateId());
|
||||
response.setVideoId(lastVideo.getVideoId());
|
||||
response.setCount(taskList.size());
|
||||
response.setStatus(1);
|
||||
return ApiResponse.success(response);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user