You've already forked FrameTour-BE
优化是否能生成判断逻辑
This commit is contained in:
@ -1,11 +1,13 @@
|
||||
package com.ycwl.basic.task;
|
||||
|
||||
import com.ycwl.basic.biz.TemplateBiz;
|
||||
import com.ycwl.basic.mapper.DeviceMapper;
|
||||
import com.ycwl.basic.mapper.FaceMapper;
|
||||
import com.ycwl.basic.mapper.FaceSampleMapper;
|
||||
import com.ycwl.basic.mapper.ScenicMapper;
|
||||
import com.ycwl.basic.mapper.TemplateMapper;
|
||||
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.resp.FaceSampleRespVO;
|
||||
import com.ycwl.basic.model.pc.scenic.entity.ScenicConfigEntity;
|
||||
import com.ycwl.basic.model.pc.scenic.req.ScenicReqQuery;
|
||||
@ -45,6 +47,8 @@ public class DynamicTaskGenerator {
|
||||
private TaskService taskService;
|
||||
@Autowired
|
||||
private DeviceMapper deviceMapper;
|
||||
@Autowired
|
||||
private TemplateBiz templateBiz;
|
||||
|
||||
@Scheduled(cron = "0 0 * * * ?")
|
||||
public void dynamicTask() {
|
||||
@ -77,27 +81,6 @@ public class DynamicTaskGenerator {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
Integer minimalPlaceholderFill = templateConfig.getMinimalPlaceholderFill();
|
||||
int maxPlaceholder = 0;
|
||||
List<String> placeholderList = new ArrayList<>();
|
||||
if (minimalPlaceholderFill == null) {
|
||||
minimalPlaceholderFill = 0;
|
||||
}
|
||||
List<TemplateRespVO> subTemplateList = templateMapper.getByPid(template.getId());
|
||||
for (TemplateRespVO subTemplate : subTemplateList) {
|
||||
if (subTemplate.getIsPlaceholder() == 1) {
|
||||
placeholderList.add(subTemplate.getSourceUrl());
|
||||
}
|
||||
}
|
||||
if (minimalPlaceholderFill == 0) {
|
||||
for (TemplateRespVO subTemplate : subTemplateList) {
|
||||
maxPlaceholder += 1;
|
||||
if (subTemplate.getIsPlaceholder() == 1) {
|
||||
minimalPlaceholderFill += 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
log.info("当前模板{}启用默认,最小占位素材:{}", template.getName(), minimalPlaceholderFill);
|
||||
// 查找人脸样本
|
||||
List<FaceRespVO> list = faceMapper.listByScenicIdAndNotFinished(scenic.getId());
|
||||
for (FaceRespVO face : list) {
|
||||
@ -122,23 +105,12 @@ public class DynamicTaskGenerator {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
List<FaceSampleRespVO> faceSampleList = faceSampleMapper.listByIds(searchFace.getSampleListIds());
|
||||
int matchedPlaceholder = 0;
|
||||
for (FaceSampleRespVO faceSample : faceSampleList) {
|
||||
if (placeholderList.contains(faceSample.getDeviceId().toString())) {
|
||||
matchedPlaceholder += 1;
|
||||
}
|
||||
}
|
||||
if (matchedPlaceholder >= maxPlaceholder) {
|
||||
log.info("当前人脸样本{}已超过最大占位素材{},自动创建任务", face.getFaceUrl(), maxPlaceholder);
|
||||
taskService.createRenderTask(scenic.getId(), template.getId(), face.getId());
|
||||
faceMapper.finishedJourney(face.getId());
|
||||
} else if (matchedPlaceholder >= minimalPlaceholderFill) {
|
||||
log.info("当前人脸样本{}已超过最小占位素材{},自动创建任务", face.getFaceUrl(), minimalPlaceholderFill);
|
||||
if (templateBiz.determineTemplateCanGenerate(template.getId(), face.getId())) {
|
||||
log.info("当前人脸样本{}已超过最小占位素材,自动创建任务", face.getFaceUrl());
|
||||
taskService.createRenderTask(scenic.getId(), template.getId(), face.getId());
|
||||
faceMapper.finishedJourney(face.getId());
|
||||
} else {
|
||||
log.info("当前人脸样本{}未超过最小占位素材{},未达到自动生成条件", face.getFaceUrl(), minimalPlaceholderFill);
|
||||
log.info("当前人脸样本{}未超过最小占位素材,未达到自动生成条件", face.getFaceUrl());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user