You've already forked FrameTour-BE
获取人脸对应视频流程,自动删除源视频流程,自动创建任务渲染流程,自动删除人脸数据逻辑
This commit is contained in:
@ -7,6 +7,7 @@ import com.ycwl.basic.service.pc.MenuService;
|
||||
import com.ycwl.basic.utils.ApiResponse;
|
||||
import com.ycwl.basic.utils.SnowFlakeUtil;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@ -15,7 +16,7 @@ import java.util.List;
|
||||
* @Author:longbinbin
|
||||
* @Date:2024/12/3 10:16
|
||||
*/
|
||||
|
||||
@Service
|
||||
public class MenuServiceImpl implements MenuService {
|
||||
|
||||
@Autowired
|
||||
|
@ -96,7 +96,7 @@ public class ScenicServiceImpl implements ScenicService {
|
||||
public ApiResponse<Boolean> deleteById(Long id) {
|
||||
int i = scenicMapper.deleteById(id);
|
||||
if (i > 0) {
|
||||
scenicMapper.deleteConfigByscenicId(id);
|
||||
scenicMapper.deleteConfigByScenicId(id);
|
||||
scenicAccountMapper.deleteByScenicId(id);
|
||||
return ApiResponse.success(true);
|
||||
}else {
|
||||
|
@ -21,6 +21,7 @@ import com.ycwl.basic.model.pc.face.resp.FaceRespVO;
|
||||
import com.ycwl.basic.model.pc.faceSample.entity.FaceSampleEntity;
|
||||
import com.ycwl.basic.model.pc.faceSample.req.FaceSampleReqQuery;
|
||||
import com.ycwl.basic.model.pc.faceSample.resp.FaceSampleRespVO;
|
||||
import com.ycwl.basic.model.pc.scenic.entity.ScenicConfigEntity;
|
||||
import com.ycwl.basic.model.task.resp.AddFaceRespVo;
|
||||
import com.ycwl.basic.model.task.resp.SearchFaceRespVo;
|
||||
import com.ycwl.basic.service.task.TaskFaceService;
|
||||
@ -84,13 +85,12 @@ public class TaskFaceServiceImpl implements TaskFaceService {
|
||||
.map(SearchFaceResponse.Data.MatchListItem.FaceItemsItem::getExtraData)
|
||||
.map(Long::parseLong)
|
||||
.collect(Collectors.toList());
|
||||
faceEntity.setMatchSampleIds(StringUtils.joinWith(",", faceSampleIds));
|
||||
faceEntity.setMatchSampleIds(StringUtils.join(faceSampleIds, ","));
|
||||
faceMapper.update(faceEntity);
|
||||
respVo.setSampleListIds(faceSampleIds);
|
||||
respVo.setScore(matchList.get(0).getQualitieScore());
|
||||
return respVo;
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
log.error("人脸搜索失败:{}", e.getMessage());
|
||||
throw new BaseException(e.getMessage());
|
||||
}
|
||||
@ -136,7 +136,15 @@ public class TaskFaceServiceImpl implements TaskFaceService {
|
||||
FaceSampleReqQuery query = new FaceSampleReqQuery();
|
||||
query.setDeviceId(scenicId);
|
||||
faceSampleMapper.list(query);
|
||||
Date thatDay = DateUtil.offsetDay(new Date(), -3);
|
||||
ScenicConfigEntity scenicConfig = scenicMapper.getConfig(scenicId);
|
||||
if (scenicConfig == null) {
|
||||
return;
|
||||
}
|
||||
Integer sampleStoreDay = scenicConfig.getSampleStoreDay();
|
||||
if (sampleStoreDay == null) {
|
||||
sampleStoreDay = 3;
|
||||
}
|
||||
Date thatDay = DateUtil.offsetDay(new Date(), -sampleStoreDay);
|
||||
Date dayStart = DateUtil.beginOfDay(thatDay);
|
||||
Date dayEnd = DateUtil.endOfDay(thatDay);
|
||||
query.setStartTime(dayStart);
|
||||
|
@ -8,6 +8,7 @@ import com.ycwl.basic.mapper.pc.RenderWorkerMapper;
|
||||
import com.ycwl.basic.mapper.pc.SourceMapper;
|
||||
import com.ycwl.basic.mapper.pc.TaskMapper;
|
||||
import com.ycwl.basic.mapper.pc.TemplateMapper;
|
||||
import com.ycwl.basic.mapper.pc.VideoMapper;
|
||||
import com.ycwl.basic.model.pc.face.resp.FaceRespVO;
|
||||
import com.ycwl.basic.model.pc.faceSample.resp.FaceSampleRespVO;
|
||||
import com.ycwl.basic.model.pc.renderWorker.entity.RenderWorkerEntity;
|
||||
@ -16,6 +17,7 @@ import com.ycwl.basic.model.pc.task.entity.TaskEntity;
|
||||
import com.ycwl.basic.model.pc.task.resp.TaskRespVO;
|
||||
import com.ycwl.basic.model.pc.template.req.TemplateReqQuery;
|
||||
import com.ycwl.basic.model.pc.template.resp.TemplateRespVO;
|
||||
import com.ycwl.basic.model.pc.video.entity.VideoEntity;
|
||||
import com.ycwl.basic.model.task.req.ClientStatusReqVo;
|
||||
import com.ycwl.basic.model.task.req.TaskReqVo;
|
||||
import com.ycwl.basic.model.task.req.WorkerAuthReqVo;
|
||||
@ -57,6 +59,8 @@ public class TaskTaskServiceImpl implements TaskService {
|
||||
private SourceMapper sourceMapper;
|
||||
@Autowired
|
||||
private OssUtil ossUtil;
|
||||
@Autowired
|
||||
private VideoMapper videoMapper;
|
||||
|
||||
private RenderWorkerEntity getWorker(@NonNull WorkerAuthReqVo req) {
|
||||
String accessKey = req.getAccessKey();
|
||||
@ -112,9 +116,7 @@ public class TaskTaskServiceImpl implements TaskService {
|
||||
}
|
||||
List<TaskRespVO> taskList = taskMapper.selectNotRunning();
|
||||
resp.setTasks(taskList);
|
||||
taskList.forEach(task -> {
|
||||
taskMapper.assignToWorker(task.getId(), worker.getId());
|
||||
});
|
||||
taskList.forEach(task -> taskMapper.assignToWorker(task.getId(), worker.getId()));
|
||||
// return Task
|
||||
return resp;
|
||||
}
|
||||
@ -131,9 +133,7 @@ public class TaskTaskServiceImpl implements TaskService {
|
||||
}
|
||||
Map<String, List<SourceRespVO>> sourcesMap = Arrays.stream(faceRespVO.getMatchSampleIds().split(","))
|
||||
.map(Long::valueOf)
|
||||
.map(sampleId -> {
|
||||
return faceSampleMapper.getById(sampleId);
|
||||
})
|
||||
.map(sampleId -> faceSampleMapper.getById(sampleId))
|
||||
.filter(Objects::nonNull)
|
||||
.map(FaceSampleRespVO::getSourceId)
|
||||
.map(sourceId -> sourceMapper.getById(sourceId))
|
||||
@ -178,6 +178,22 @@ public class TaskTaskServiceImpl implements TaskService {
|
||||
taskUpdate.setStatus(1);
|
||||
taskUpdate.setWorkerId(worker.getId());
|
||||
taskMapper.update(taskUpdate);
|
||||
VideoEntity video = videoMapper.findByTaskId(taskId);
|
||||
if (video != null) {
|
||||
video.setVideoUrl(task.getVideoUrl());
|
||||
videoMapper.update(video);
|
||||
} else {
|
||||
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());
|
||||
video.setVideoUrl(task.getVideoUrl());
|
||||
video.setCreateTime(new Date());
|
||||
videoMapper.add(video);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
Reference in New Issue
Block a user