feat(smartCamCarData):增加方向参数并优化车牌相似性查询

- 在 FindSimilarRequest 中添加 direction 字段
- 更新 SmartCamCarDataService 中的 findSimilar 方法,加入 direction 参数
- 修改 SmartCamCarLicenseSnapshotDataRepository 中的 findSimilar 查询,增加 direction 条件并按 infoTimeObj 降序排序
- 更新 SmartCamCarLicenseSnapshotDataService 中的 findSimilar 方法,加入 direction 参数
This commit is contained in:
2025-04-21 23:48:24 +08:00
parent e3f6cf6076
commit 0623b1006d
4 changed files with 8 additions and 6 deletions

View File

@@ -12,4 +12,6 @@ public class FindSimilarRequest {
private Integer pageSize = Integer.MAX_VALUE;
private String number;
private String direction;
}

View File

@@ -252,7 +252,7 @@ public class SmartCamCarDataService
public Page<SmartCamCarLicenseSnapshotDataDto> findSimilar(FindSimilarRequest request) {
Page<SmartCamCarLicenseSnapshotDataDto> similar = smartCamCarLicenseSnapshotDataService.findSimilar(request.getNumber(), PageRequest.of(request.getPageNo(), request.getPageSize()));
Page<SmartCamCarLicenseSnapshotDataDto> similar = smartCamCarLicenseSnapshotDataService.findSimilar(request.getNumber(), request.getDirection(), PageRequest.of(request.getPageNo(), request.getPageSize()));
return similar;

View File

@@ -22,11 +22,11 @@ public interface SmartCamCarLicenseSnapshotDataRepository
left join SmartCamCarDataEntity c1 on c1.entry = e
left join SmartCamCarDataEntity c2 on c2.exit = e
where c1 is null and c2 is null
where c1 is null and c2 is null and e.number is not null and e.number != '' and e.smartCam.direction = :direction
order by similarity(e.numberPart, :number) desc
order by similarity(e.numberPart, :number) desc , e.infoTimeObj desc
""")
Page<SmartCamCarLicenseSnapshotDataEntity> findSimilar(@Param("number") String number, PageRequest of);
Page<SmartCamCarLicenseSnapshotDataEntity> findSimilar(@Param("number") String number, @Param("direction") String direction, PageRequest of);
}

View File

@@ -667,10 +667,10 @@ public class SmartCamCarLicenseSnapshotDataService
}
}
public Page<SmartCamCarLicenseSnapshotDataDto> findSimilar(String number, PageRequest of) {
public Page<SmartCamCarLicenseSnapshotDataDto> findSimilar(String number, String direction, PageRequest of) {
return repository.findSimilar(number.replaceAll("[^0-9a-zA-Z]", ""), of).map(mapper::toDto);
return repository.findSimilar(number.replaceAll("[^0-9a-zA-Z]", ""), direction, of).map(mapper::toDto);
}
public SmartCamCarLicenseSnapshotDataDto humanModify(HumanModifyRequest request) {