优化是否能生成判断逻辑

This commit is contained in:
2025-01-11 16:13:19 +08:00
parent ad9e91cd7a
commit 0d2c92e8e1
18 changed files with 150 additions and 77 deletions

View File

@ -0,0 +1,42 @@
package com.ycwl.basic.biz;
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.template.entity.TemplateConfigEntity;
import com.ycwl.basic.repository.FaceRepository;
import com.ycwl.basic.repository.TemplateRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.Arrays;
import java.util.List;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors;
@Component
public class TemplateBiz {
@Autowired
private TemplateRepository templateRepository;
@Autowired
private FaceRepository faceRepository;
public boolean determineTemplateCanGenerate(Long templateId, Long faceId) {
List<String> placeholderList = templateRepository.getTemplatePlaceholder(templateId);
TemplateConfigEntity templateConfig = templateRepository.getTemplateConfig(templateId);
int minimalPlaceholderFill = 1;
if (null != templateConfig) {
if (null != templateConfig.getMinimalPlaceholderFill()) {
minimalPlaceholderFill = templateConfig.getMinimalPlaceholderFill();
}
}
if (minimalPlaceholderFill <= 0) {
return true;
}
List<FaceSampleEntity> faceSampleList = faceRepository.getFaceSampleList(faceId);
long count = faceSampleList.stream().map(FaceSampleEntity::getDeviceId).filter(deviceId -> placeholderList.contains(deviceId.toString())).count();
return count >= minimalPlaceholderFill;
}
}