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);
|
||||
}
|
||||
|
||||
|
@ -41,16 +41,6 @@ public class TaskServiceImpl implements TaskService {
|
||||
return ApiResponse.success(taskMapper.getById(id));
|
||||
}
|
||||
|
||||
@Override
|
||||
public ApiResponse<Boolean> add(TaskEntity task) {
|
||||
int i = taskMapper.add(task);
|
||||
if (i > 0) {
|
||||
return ApiResponse.success(true);
|
||||
}else {
|
||||
return ApiResponse.fail("添加失败");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public ApiResponse<Boolean> deleteById(Long id) {
|
||||
int i = taskMapper.deleteById(id);
|
||||
|
@ -141,7 +141,6 @@ public class TaskTaskServiceImpl implements TaskService {
|
||||
TaskEntity taskEntity = new TaskEntity();
|
||||
taskEntity.setId(SnowFlakeUtil.getLongId());
|
||||
taskEntity.setFaceId(faceId);
|
||||
taskEntity.setMemberId(faceRespVO.getMemberId());
|
||||
taskEntity.setTemplateId(templateId);
|
||||
taskEntity.setScenicId(scenicId);
|
||||
taskEntity.setTaskParams(JSON.toJSONString(sourcesMap));
|
||||
@ -190,8 +189,7 @@ public class TaskTaskServiceImpl implements TaskService {
|
||||
if (faceSampleList.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
// TODO: 优化
|
||||
List<TemplateEntity> templateList = templateMapper.listEnabledByScenicId(faceRespVO.getScenicId());
|
||||
List<TemplateRespVO> templateList = templateRepository.getTemplateListByScenicId(faceRespVO.getScenicId());
|
||||
if (templateList == null || templateList.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
@ -253,7 +251,6 @@ public class TaskTaskServiceImpl implements TaskService {
|
||||
taskEntity.setId(SnowFlakeUtil.getLongId());
|
||||
taskEntity.setScenicId(faceRespVO.getScenicId());
|
||||
taskEntity.setFaceId(faceId);
|
||||
taskEntity.setMemberId(faceRespVO.getMemberId());
|
||||
taskEntity.setTemplateId(templateId);
|
||||
taskEntity.setStatus(0);
|
||||
taskEntity.setAutomatic(automatic);
|
||||
@ -296,7 +293,6 @@ public class TaskTaskServiceImpl implements TaskService {
|
||||
video = new VideoEntity();
|
||||
video.setId(SnowFlakeUtil.getLongId());
|
||||
video.setScenicId(task.getScenicId());
|
||||
video.setMemberId(task.getMemberId());
|
||||
video.setTemplateId(task.getTemplateId());
|
||||
video.setTaskId(taskId);
|
||||
video.setWorkerId(worker.getId());
|
||||
|
@ -45,11 +45,9 @@ public interface GoodsService {
|
||||
* @param userId
|
||||
* @return
|
||||
*/
|
||||
ApiResponse<VideoTaskStatusVO> getTaskStatusByFaceId(Long userId ,Long faceId);
|
||||
ApiResponse<VideoTaskStatusVO> getAllTaskStatus(Long userId);
|
||||
|
||||
ApiResponse<VideoTaskStatusVO> getTemplateTaskStatus(Long userId, Long faceId, Long templateId);
|
||||
|
||||
ApiResponse<VideoTaskStatusVO> getTaskStatusByFaceId(Long userId ,Long faceId);
|
||||
ApiResponse<VideoTaskStatusVO> getTaskStatusByTemplateId(Long userId, Long faceId, Long templateId);
|
||||
ApiResponse<VideoTaskStatusVO> getTaskStatusByScenicId(Long userId, Long scenicId);
|
||||
|
||||
ApiResponse<GoodsDetailVO> sourceGoodsInfo(Long userId, Long sourceId);
|
||||
|
@ -16,7 +16,6 @@ public interface TaskService {
|
||||
ApiResponse<PageInfo<TaskRespVO>> pageQuery(TaskReqQuery taskReqQuery);
|
||||
ApiResponse<List<TaskRespVO>> list(TaskReqQuery taskReqQuery);
|
||||
ApiResponse<TaskRespVO> getById(Long id);
|
||||
ApiResponse<Boolean> add(TaskEntity task);
|
||||
ApiResponse<Boolean> deleteById(Long id);
|
||||
ApiResponse<Boolean> update(TaskEntity task);
|
||||
ApiResponse<Boolean> updateStatus(Long id,Integer status);
|
||||
|
Reference in New Issue
Block a user