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()); } /**