You've already forked FrameTour-BE
feat(printer): 新增人脸绑定二维码生成功能
- 添加获取人脸绑定二维码接口,支持生成小程序二维码 - 实现二维码文件流输出及临时文件清理 - 修改人脸识别流程,保存人脸数据并返回faceId - 调整自动添加照片到打印列表逻辑,返回添加数量 - 更新响应模型,增加二维码URL字段 - 优化人脸匹配逻辑,使用memberRelationRepository查询关联照片 - 修复BCE适配器图片下载地址问题,去除内网地址替换逻辑
This commit is contained in:
@@ -1126,15 +1126,16 @@ public class PrinterServiceImpl implements PrinterService {
|
||||
* 根据景区和设备配置自动添加type=2的照片到用户打印列表
|
||||
*
|
||||
* @param faceId 人脸ID
|
||||
* @return 成功添加的照片数量
|
||||
*/
|
||||
@Override
|
||||
public void autoAddPhotosToPreferPrint(Long faceId) {
|
||||
public int autoAddPhotosToPreferPrint(Long faceId) {
|
||||
try {
|
||||
// 1. 获取人脸信息
|
||||
FaceEntity face = faceRepository.getFace(faceId);
|
||||
if (face == null) {
|
||||
log.warn("人脸不存在,无法自动添加打印: faceId={}", faceId);
|
||||
return;
|
||||
return 0;
|
||||
}
|
||||
|
||||
Long scenicId = face.getScenicId();
|
||||
@@ -1144,21 +1145,21 @@ public class PrinterServiceImpl implements PrinterService {
|
||||
ScenicConfigManager scenicConfig = scenicRepository.getScenicConfigManager(scenicId);
|
||||
if (scenicConfig == null) {
|
||||
log.warn("景区配置不存在,跳过自动添加打印: scenicId={}", scenicId);
|
||||
return;
|
||||
return 0;
|
||||
}
|
||||
|
||||
// 3. 检查景区是否启用打印功能
|
||||
Boolean printEnable = scenicConfig.getBoolean("print_enable");
|
||||
if (printEnable == null || !printEnable) {
|
||||
log.debug("景区未启用打印功能,跳过自动添加: scenicId={}", scenicId);
|
||||
return;
|
||||
return 0;
|
||||
}
|
||||
|
||||
// 4. 查询该faceId关联的所有type=2的照片
|
||||
List<SourceEntity> imageSources = sourceMapper.listImageSourcesByFaceId(faceId);
|
||||
if (imageSources == null || imageSources.isEmpty()) {
|
||||
log.debug("该人脸没有关联的照片,跳过自动添加: faceId={}", faceId);
|
||||
return;
|
||||
return 0;
|
||||
}
|
||||
|
||||
// 5. 按照deviceId分组处理
|
||||
@@ -1246,15 +1247,19 @@ public class PrinterServiceImpl implements PrinterService {
|
||||
log.error("等待照片添加任务完成时发生异常: faceId={}", faceId, e);
|
||||
}
|
||||
|
||||
if (totalAdded.get() > 0) {
|
||||
log.info("自动添加打印完成: faceId={}, 成功添加{}张照片", faceId, totalAdded.get());
|
||||
int added = totalAdded.get();
|
||||
if (added > 0) {
|
||||
log.info("自动添加打印完成: faceId={}, 成功添加{}张照片", faceId, added);
|
||||
} else {
|
||||
log.debug("自动添加打印完成: faceId={}, 无符合条件的照片", faceId);
|
||||
}
|
||||
|
||||
return added;
|
||||
|
||||
} catch (Exception e) {
|
||||
// 出现异常则放弃,不影响主流程
|
||||
log.error("自动添加打印失败,已忽略: faceId={}", faceId, e);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user