feat(source): 处理ZT-Source消息时支持设备裁剪配置

- 新增DeviceRepository依赖注入
- 获取设备配置管理器并检查裁剪配置
- 根据裁剪配置设置缩略图URL
-优化sourceEntity数据处理逻辑
This commit is contained in:
2025-09-27 23:28:50 +08:00
parent f4a16b5b09
commit 9f66544a29

View File

@@ -1,11 +1,14 @@
package com.ycwl.basic.service; package com.ycwl.basic.service;
import com.ycwl.basic.dto.ZTSourceMessage; import com.ycwl.basic.dto.ZTSourceMessage;
import com.ycwl.basic.integration.common.manager.DeviceConfigManager;
import com.ycwl.basic.mapper.SourceMapper; import com.ycwl.basic.mapper.SourceMapper;
import com.ycwl.basic.model.pc.source.entity.SourceEntity; import com.ycwl.basic.model.pc.source.entity.SourceEntity;
import com.ycwl.basic.repository.DeviceRepository;
import com.ycwl.basic.utils.SnowFlakeUtil; import com.ycwl.basic.utils.SnowFlakeUtil;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.logging.log4j.util.Strings;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.sql.Timestamp; import java.sql.Timestamp;
@@ -25,6 +28,7 @@ import java.util.Date;
public class ZTSourceDataService { public class ZTSourceDataService {
private final SourceMapper sourceMapper; private final SourceMapper sourceMapper;
private final DeviceRepository deviceRepository;
/** /**
* 处理ZT-Source消息,仅处理照片类型(sourceType=2) * 处理ZT-Source消息,仅处理照片类型(sourceType=2)
@@ -49,6 +53,12 @@ public class ZTSourceDataService {
// 转换为SourceEntity // 转换为SourceEntity
SourceEntity sourceEntity = convertToSourceEntity(message); SourceEntity sourceEntity = convertToSourceEntity(message);
DeviceConfigManager configManager = deviceRepository.getDeviceConfigManager(sourceEntity.getDeviceId());
if (configManager != null) {
if (Strings.isNotBlank(configManager.getString("crop_config"))) {
sourceEntity.setUrl(message.getThumbnailUrl());
}
}
// 保存到数据库 // 保存到数据库
int result = sourceMapper.addFromZTSource(sourceEntity); int result = sourceMapper.addFromZTSource(sourceEntity);