From 3c8b3b0ace0ad68d430bd2fd07bfab1a45eacbfa Mon Sep 17 00:00:00 2001 From: Jerry Yan <792602257@qq.com> Date: Thu, 18 Dec 2025 19:40:24 +0800 Subject: [PATCH] =?UTF-8?q?refactor(printer):=20=E9=87=8D=E6=9E=84?= =?UTF-8?q?=E4=BA=BA=E8=84=B8=E7=B4=A0=E6=9D=90=E6=9F=A5=E8=AF=A2=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 移除对SourceMapper的依赖 - 新增MemberRelationRepository和SourceRepository依赖 - 修改getSourceByFaceSampleId方法参数faceSampleId为faceId - 方法返回类型由SourceEntity改为List - 使用memberRelationRepository查询关联素材 - 当查询结果为空时返回空集合而非失败响应 - 通过sourceRepository获取具体资源信息并转换返回 --- .../printer/PrinterTvController.java | 22 +++++++++++-------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/ycwl/basic/controller/printer/PrinterTvController.java b/src/main/java/com/ycwl/basic/controller/printer/PrinterTvController.java index c6f72298..575fe967 100644 --- a/src/main/java/com/ycwl/basic/controller/printer/PrinterTvController.java +++ b/src/main/java/com/ycwl/basic/controller/printer/PrinterTvController.java @@ -4,16 +4,18 @@ package com.ycwl.basic.controller.printer; import com.ycwl.basic.annotation.IgnoreToken; import com.ycwl.basic.integration.device.dto.device.DeviceV2DTO; import com.ycwl.basic.integration.scenic.dto.scenic.ScenicV2DTO; -import com.ycwl.basic.mapper.SourceMapper; import com.ycwl.basic.model.mobile.face.FaceRecognizeResp; import com.ycwl.basic.model.pc.face.entity.FaceEntity; import com.ycwl.basic.model.pc.faceSample.entity.FaceSampleEntity; import com.ycwl.basic.model.pc.mp.MpConfigEntity; import com.ycwl.basic.model.pc.scenic.req.ScenicReqQuery; +import com.ycwl.basic.model.pc.source.entity.MemberSourceEntity; import com.ycwl.basic.model.pc.source.entity.SourceEntity; import com.ycwl.basic.repository.DeviceRepository; import com.ycwl.basic.repository.FaceRepository; +import com.ycwl.basic.repository.MemberRelationRepository; import com.ycwl.basic.repository.ScenicRepository; +import com.ycwl.basic.repository.SourceRepository; import com.ycwl.basic.service.pc.FaceService; import com.ycwl.basic.utils.ApiResponse; import com.ycwl.basic.utils.WxMpUtil; @@ -30,6 +32,7 @@ import org.springframework.web.multipart.MultipartFile; import java.io.File; import java.io.FileInputStream; import java.io.OutputStream; +import java.util.Collections; import java.util.List; @IgnoreToken @@ -43,7 +46,8 @@ public class PrinterTvController { private final ScenicRepository scenicRepository; private final FaceRepository faceRepository; private final FaceService pcFaceService; - private final SourceMapper sourceMapper; + private final MemberRelationRepository memberRelationRepository; + private final SourceRepository sourceRepository; /** * 获取景区列表 @@ -165,16 +169,16 @@ public class PrinterTvController { /** * 根据人脸样本ID查询图像素材 * - * @param faceSampleId 人脸样本ID - * @return type=2且face_sample_id匹配的source记录 + * @param faceId 人脸样本ID + * @return 匹配的source记录 */ - @GetMapping("/{faceSampleId}/source") - public ApiResponse getSourceByFaceSampleId(@PathVariable Long faceSampleId, @RequestParam(name = "type", required = false, defaultValue = "2") Integer type) { - SourceEntity source = sourceMapper.getBySampleIdAndType(faceSampleId, type); + @GetMapping("/{faceId}/source") + public ApiResponse> getSourceByFaceId(@PathVariable Long faceId, @RequestParam(name = "type", required = false, defaultValue = "2") Integer type) { + List source = memberRelationRepository.listSourceByFaceRelation(faceId, type); if (source == null) { - return ApiResponse.fail("未找到对应的图像素材"); + return ApiResponse.success(Collections.emptyList()); } - return ApiResponse.success(source); + return ApiResponse.success(source.stream().map(item -> sourceRepository.getSource(item.getSourceId())).toList()); } /**