This commit is contained in:
2025-01-16 18:28:04 +08:00
parent 0bba613001
commit bbcbdd2839
24 changed files with 436 additions and 111 deletions

View File

@@ -112,7 +112,7 @@ public class TaskFaceServiceImpl implements TaskFaceService {
request.setDbName(dbName);
request.setImageUrl(faceUrl);
request.setLimit(100);
request.setQualityScoreThreshold(60f);
// request.setQualityScoreThreshold(60f);
FaceDetectLog log = FaceDetectLog.quickCreate("预留字段", request);
try {
SearchFaceResponse response = client.getAcsResponse(request);

View File

@@ -183,6 +183,10 @@ public class TaskTaskServiceImpl implements TaskService {
List<SourceEntity> sourceEntityList = sourceMapper.listVideoByScenicFaceRelation(scenicId, faceId);
Map<String, List<SourceEntity>> sourcesMap = sourceEntityList.stream()
.collect(Collectors.groupingBy(item -> item.getDeviceId().toString()));
sourcesMap.forEach((key, value) -> {
// 每个value只保留第一个
value.removeIf(item -> !value.get(0).equals(item));
});
TaskEntity taskEntity = new TaskEntity();
taskEntity.setId(SnowFlakeUtil.getLongId());
taskEntity.setFaceId(faceId);
@@ -227,13 +231,16 @@ public class TaskTaskServiceImpl implements TaskService {
public void autoCreateTaskByFaceId(Long faceId) {
FaceRespVO faceRespVO = faceMapper.getById(faceId);
if (faceRespVO == null) {
log.info("faceId:{} is not exist", faceId);
return;
}
if (!StringUtils.isNotBlank(faceRespVO.getMatchSampleIds())) {
log.info("faceId:{} matchSampleIds is empty", faceId);
return;
}
List<FaceSampleEntity> faceSampleList = faceSampleMapper.listByIds(Arrays.stream(faceRespVO.getMatchSampleIds().split(",")).map(Long::valueOf).collect(Collectors.toList()));
if (faceSampleList.isEmpty()) {
log.info("faceId:{} faceSampleList is empty", faceId);
return;
}
ScenicConfigEntity scenicConfig = scenicRepository.getScenicConfig(faceRespVO.getScenicId());
@@ -270,39 +277,39 @@ public class TaskTaskServiceImpl implements TaskService {
if (sourceList.isEmpty()) {
return;
}
if (automatic > 0) {
TaskReqQuery taskReqQuery = new TaskReqQuery();
taskReqQuery.setFaceId(faceId);
taskReqQuery.setTemplateId(templateId);
List<TaskRespVO> list = taskMapper.list(taskReqQuery);
if (!list.isEmpty()) {
list.parallelStream().forEach(task -> {
MemberVideoEntity memberVideo = videoMapper.queryRelationByMemberTask(faceRespVO.getMemberId(), task.getId());
if (memberVideo == null) {
memberVideo = new MemberVideoEntity();
memberVideo.setMemberId(faceRespVO.getMemberId());
memberVideo.setScenicId(task.getScenicId());
memberVideo.setFaceId(faceId);
memberVideo.setTemplateId(task.getTemplateId());
if (Integer.valueOf(1).equals(scenicConfig.getAllFree())) {
memberVideo.setIsBuy(1);
} else {
memberVideo.setIsBuy(0);
}
memberVideo.setTaskId(task.getId());
VideoEntity video = videoMapper.findByTaskId(task.getId());
if (video != null) {
memberVideo.setVideoId(video.getId());
}
videoMapper.addRelation(memberVideo);
new Thread(() -> {
sendVideoGeneratedServiceNotification(list.get(0).getId(), faceRespVO.getMemberId());
}).start();
}
});
return;
}
}
// if (automatic > 0) {
// TaskReqQuery taskReqQuery = new TaskReqQuery();
// taskReqQuery.setFaceId(faceId);
// taskReqQuery.setTemplateId(templateId);
// List<TaskRespVO> list = taskMapper.list(taskReqQuery);
// if (!list.isEmpty()) {
// list.parallelStream().forEach(task -> {
// MemberVideoEntity memberVideo = videoMapper.queryRelationByMemberTask(faceRespVO.getMemberId(), task.getId());
// if (memberVideo == null) {
// memberVideo = new MemberVideoEntity();
// memberVideo.setMemberId(faceRespVO.getMemberId());
// memberVideo.setScenicId(task.getScenicId());
// memberVideo.setFaceId(faceId);
// memberVideo.setTemplateId(task.getTemplateId());
// if (Integer.valueOf(1).equals(scenicConfig.getAllFree())) {
// memberVideo.setIsBuy(1);
// } else {
// memberVideo.setIsBuy(0);
// }
// memberVideo.setTaskId(task.getId());
// VideoEntity video = videoMapper.findByTaskId(task.getId());
// if (video != null) {
// memberVideo.setVideoId(video.getId());
// }
// videoMapper.addRelation(memberVideo);
// new Thread(() -> {
// sendVideoGeneratedServiceNotification(list.get(0).getId(), faceRespVO.getMemberId());
// }).start();
// }
// });
// return;
// }
// }
VideoPieceGetter.Task task = new VideoPieceGetter.Task();
task.faceId = faceId;
task.faceSampleIds = faceSampleIds;
@@ -319,6 +326,10 @@ public class TaskTaskServiceImpl implements TaskService {
Map<String, List<SourceEntity>> sourcesMap = videoSourceList.stream()
.peek(item -> item.setUrl(item.getVideoUrl()))
.collect(Collectors.groupingBy(item -> item.getDeviceId().toString()));
sourcesMap.forEach((key, value) -> {
// 每个value只保留第一个
value.removeIf(item -> !value.get(0).equals(item));
});
TaskReqQuery taskReqQuery = new TaskReqQuery();
taskReqQuery.setFaceId(faceId);
taskReqQuery.setTemplateId(templateId);
@@ -332,6 +343,7 @@ public class TaskTaskServiceImpl implements TaskService {
memberVideoEntity.setTemplateId(templateId);
memberVideoEntity.setIsBuy(0);
if (list.isEmpty()) {
log.info("创建任务! faceId:{},templateId:{},taskParams:{}", faceId, templateId, sourcesMap);
TaskEntity taskEntity = new TaskEntity();
taskEntity.setId(SnowFlakeUtil.getLongId());
taskEntity.setScenicId(faceRespVO.getScenicId());
@@ -343,6 +355,7 @@ public class TaskTaskServiceImpl implements TaskService {
taskMapper.add(taskEntity);
memberVideoEntity.setTaskId(taskEntity.getId());
} else {
log.info("重复task! faceId:{},templateId:{},taskParams:{}", faceId, templateId, sourcesMap);
memberVideoEntity.setTaskId(list.get(0).getId());
VideoEntity video = videoMapper.findByTaskId(list.get(0).getId());
if (video != null) {