You've already forked FrameTour-BE
1、清理功能修复;2、device在线状态放redis;3、viid传入时重查redis缓存,避免关闭的设备传入素材
This commit is contained in:
@ -33,6 +33,16 @@ public class DeviceServiceImpl implements DeviceService {
|
||||
public ApiResponse<PageInfo<DeviceRespVO>> pageQuery(DeviceReqQuery deviceReqQuery) {
|
||||
PageHelper.startPage(deviceReqQuery.getPageNum(), deviceReqQuery.getPageSize());
|
||||
List<DeviceRespVO> list = deviceMapper.list(deviceReqQuery);
|
||||
for (DeviceRespVO deviceRespVO : list) {
|
||||
DeviceEntity onlineStatus = deviceRepository.getOnlineStatus(deviceRespVO.getId());
|
||||
if (onlineStatus != null) {
|
||||
deviceRespVO.setOnline(onlineStatus.getOnline());
|
||||
deviceRespVO.setKeepaliveAt(onlineStatus.getKeepaliveAt());
|
||||
} else {
|
||||
deviceRespVO.setOnline(0);
|
||||
deviceRespVO.setKeepaliveAt(null);
|
||||
}
|
||||
}
|
||||
PageInfo<DeviceRespVO> pageInfo = new PageInfo<>(list);
|
||||
return ApiResponse.success(pageInfo);
|
||||
}
|
||||
|
@ -206,30 +206,22 @@ public class FaceServiceImpl implements FaceService {
|
||||
SearchFaceRespVo scenicDbSearchResult = faceService.searchFace(face.getScenicId(), face.getFaceUrl());
|
||||
// 写死逻辑
|
||||
if (scenicDbSearchResult.getSampleListIds() != null && scenicDbSearchResult.getFirstMatchRate() != null && !scenicDbSearchResult.getSampleListIds().isEmpty()) {
|
||||
if (scenicDbSearchResult.getSampleListIds().size() < 2) {
|
||||
if (scenicDbSearchResult.getSampleListIds().size() < 5) {
|
||||
// 补救逻辑
|
||||
Long faceSampleId = scenicDbSearchResult.getSampleListIds().get(0);
|
||||
FaceSampleEntity faceSample = faceRepository.getFaceSample(faceSampleId);
|
||||
if (faceSample != null) {
|
||||
// 以这个结果为人脸库的匹配结果
|
||||
scenicDbSearchResult = faceService.searchFace(face.getScenicId().toString(), faceSample.getFaceUrl(), "补救措施1:人脸数太少只有一张");
|
||||
scenicDbSearchResult = faceService.searchFace(face.getScenicId().toString(), faceSample.getFaceUrl(), "补救措施1:人脸数太少少于5");
|
||||
}
|
||||
} else if (scenicDbSearchResult.getFirstMatchRate() > 0.75 && scenicDbSearchResult.getSampleListIds().size() < 2) {
|
||||
} else if (scenicDbSearchResult.getFirstMatchRate() > 0.7) {
|
||||
// 如果匹配度高于阈值,则使用景区第一张人脸去匹配景区库
|
||||
// 找第一张人脸
|
||||
Long faceSampleId = scenicDbSearchResult.getSampleListIds().get(0);
|
||||
FaceSampleEntity faceSample = faceRepository.getFaceSample(faceSampleId);
|
||||
if (faceSample != null) {
|
||||
// 以这个结果为人脸库的匹配结果
|
||||
scenicDbSearchResult = faceService.searchFace(face.getScenicId().toString(), faceSample.getFaceUrl(), "补救措施2:存在得分够高但是结果少");
|
||||
}
|
||||
} else if (scenicDbSearchResult.getSampleListIds().size() > 5) {
|
||||
// 补救逻辑
|
||||
Long faceSampleId = scenicDbSearchResult.getSampleListIds().get(0);
|
||||
FaceSampleEntity faceSample = faceRepository.getFaceSample(faceSampleId);
|
||||
if (faceSample != null) {
|
||||
// 以这个结果为人脸库的匹配结果
|
||||
scenicDbSearchResult = faceService.searchFace(face.getScenicId().toString(), faceSample.getFaceUrl(), "补救措施3:人脸数过多大于5");
|
||||
scenicDbSearchResult = faceService.searchFace(face.getScenicId().toString(), faceSample.getFaceUrl(), "补救措施2:存在得分够高");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user