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

View File

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

View File

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