This commit is contained in:
2025-09-24 09:35:24 +08:00
parent becbe5f6ab
commit 7728f4424f
3 changed files with 12 additions and 6 deletions

View File

@@ -12,6 +12,7 @@ import com.ycwl.basic.service.task.TaskFaceService;
import com.ycwl.basic.task.DynamicTaskGenerator; import com.ycwl.basic.task.DynamicTaskGenerator;
import com.ycwl.basic.integration.common.manager.DeviceConfigManager; import com.ycwl.basic.integration.common.manager.DeviceConfigManager;
// 不再需要SnowFlakeUtil,使用外部传入的ID // 不再需要SnowFlakeUtil,使用外部传入的ID
import com.ycwl.basic.utils.JacksonUtil;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
@@ -33,7 +34,6 @@ public class FaceProcessingKafkaService {
private static final String ZT_FACE_TOPIC = "zt-face"; private static final String ZT_FACE_TOPIC = "zt-face";
private final ObjectMapper objectMapper;
private final FaceSampleMapper faceSampleMapper; private final FaceSampleMapper faceSampleMapper;
private final TaskFaceService taskFaceService; private final TaskFaceService taskFaceService;
private final ScenicService scenicService; private final ScenicService scenicService;
@@ -43,10 +43,10 @@ public class FaceProcessingKafkaService {
* 消费外部系统发送的人脸处理消息 * 消费外部系统发送的人脸处理消息
* 先保存人脸样本数据,再进行异步人脸识别处理 * 先保存人脸样本数据,再进行异步人脸识别处理
*/ */
@KafkaListener(topics = ZT_FACE_TOPIC, groupId = "face-processing-group") @KafkaListener(topics = ZT_FACE_TOPIC)
public void processFaceMessage(String message) { public void processFaceMessage(String message) {
try { try {
FaceProcessingMessage faceMessage = objectMapper.readValue(message, FaceProcessingMessage.class); FaceProcessingMessage faceMessage = JacksonUtil.parseObject(message, FaceProcessingMessage.class);
log.info("接收到外部人脸处理消息, scenicId: {}, deviceId: {}, faceUrl: {}", log.info("接收到外部人脸处理消息, scenicId: {}, deviceId: {}, faceUrl: {}",
faceMessage.getScenicId(), faceMessage.getDeviceId(), faceMessage.getFaceUrl()); faceMessage.getScenicId(), faceMessage.getDeviceId(), faceMessage.getFaceUrl());
@@ -145,7 +145,7 @@ public class FaceProcessingKafkaService {
if (addFaceResp != null) { if (addFaceResp != null) {
// 更新人脸样本得分和状态 // 更新人脸样本得分和状态
faceSampleMapper.updateScore(faceSampleId, addFaceResp.getScore()); faceSampleMapper.updateScore(faceSampleId, addFaceResp.getScore());
updateFaceSampleStatus(faceSampleId, 2); // 成功状态 updateFaceSampleStatus(faceSampleId, 2);
log.info("人脸识别处理完成, faceSampleId: {}, score: {}", log.info("人脸识别处理完成, faceSampleId: {}, score: {}",
faceSampleId, addFaceResp.getScore()); faceSampleId, addFaceResp.getScore());
@@ -176,8 +176,7 @@ public class FaceProcessingKafkaService {
*/ */
private void updateFaceSampleStatus(Long faceSampleId, Integer status) { private void updateFaceSampleStatus(Long faceSampleId, Integer status) {
try { try {
// TODO: 需要在FaceSampleMapper中添加updateStatus方法 faceSampleMapper.updateStatus(faceSampleId, status);
// faceSampleMapper.updateStatus(faceSampleId, status);
log.info("人脸样本状态已更新, faceSampleId: {}, status: {} (0:初始,1:处理中,2:成功,-1:失败)", faceSampleId, status); log.info("人脸样本状态已更新, faceSampleId: {}, status: {} (0:初始,1:处理中,2:成功,-1:失败)", faceSampleId, status);
} catch (Exception e) { } catch (Exception e) {
log.error("更新人脸样本状态失败, faceSampleId: {}", faceSampleId, e); log.error("更新人脸样本状态失败, faceSampleId: {}", faceSampleId, e);

View File

@@ -29,4 +29,6 @@ public interface FaceSampleMapper {
List<FaceSampleEntity> listEntityBeforeDate(Long scenicId, Date endDate); List<FaceSampleEntity> listEntityBeforeDate(Long scenicId, Date endDate);
void updateScore(Long id, Float score); void updateScore(Long id, Float score);
void updateStatus(Long id, Integer status);
} }

View File

@@ -41,6 +41,11 @@
set score = #{score} set score = #{score}
where id = #{id} where id = #{id}
</update> </update>
<update id="updateStatus">
update face_sample
set `status` = #{status}
where id = #{id}
</update>
<delete id="deleteById"> <delete id="deleteById">
delete from face_sample where id = #{id} delete from face_sample where id = #{id}
</delete> </delete>