You've already forked FrameTour-BE
feat(storage): 集成动态存储配置管理
- 引入ScenicConfigManager以支持景区级别的存储配置 - 添加StorageFactory和IStorageAdapter以实现灵活的存储适配 - 在图像处理流程中集成存储适配器的初始化逻辑 - 支持从配置中加载存储类型和相关参数 - 提供降级机制,默认使用assets存储适配器 - 增强SourceRepository对存储配置的依赖注入支持
This commit is contained in:
@@ -6,6 +6,7 @@ import com.ycwl.basic.image.pipeline.enums.ImageSource;
|
||||
import com.ycwl.basic.image.pipeline.enums.ImageType;
|
||||
import com.ycwl.basic.image.pipeline.enums.PipelineScene;
|
||||
import com.ycwl.basic.image.pipeline.stages.*;
|
||||
import com.ycwl.basic.integration.common.manager.ScenicConfigManager;
|
||||
import com.ycwl.basic.mapper.SourceMapper;
|
||||
import com.ycwl.basic.model.pc.face.entity.FaceEntity;
|
||||
import com.ycwl.basic.model.pc.source.entity.MemberSourceEntity;
|
||||
@@ -16,6 +17,9 @@ import com.ycwl.basic.pipeline.core.PipelineBuilder;
|
||||
import com.ycwl.basic.pricing.dto.VoucherInfo;
|
||||
import com.ycwl.basic.pricing.enums.VoucherDiscountType;
|
||||
import com.ycwl.basic.pricing.service.IVoucherService;
|
||||
import com.ycwl.basic.storage.StorageFactory;
|
||||
import com.ycwl.basic.storage.adapters.IStorageAdapter;
|
||||
import com.ycwl.basic.storage.exceptions.StorageUnsupportedException;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.redis.core.RedisTemplate;
|
||||
@@ -43,6 +47,8 @@ public class SourceRepository {
|
||||
private DeviceRepository deviceRepository;
|
||||
@Autowired
|
||||
private MemberRelationRepository memberRelationRepository;
|
||||
@Autowired
|
||||
private ScenicRepository scenicRepository;
|
||||
|
||||
public void addSource(SourceEntity source) {
|
||||
sourceMapper.add(source);
|
||||
@@ -127,6 +133,15 @@ public class SourceRepository {
|
||||
.build();
|
||||
context.enableStage("image_sr");
|
||||
context.enableStage("image_enhance");
|
||||
ScenicConfigManager configManager = scenicRepository.getScenicConfigManager(source.getScenicId());
|
||||
IStorageAdapter adapter;
|
||||
try {
|
||||
adapter = StorageFactory.get(configManager.getString("store_type"));
|
||||
adapter.loadConfig(configManager.getObject("store_config_json", Map.class));
|
||||
} catch (StorageUnsupportedException ignored) {
|
||||
adapter = StorageFactory.use("assets");
|
||||
}
|
||||
context.setStorageAdapter(adapter);
|
||||
|
||||
// 2. 设置结果URL回调 - 更新source记录
|
||||
context.setResultUrlCallback(newUrl -> {
|
||||
|
||||
Reference in New Issue
Block a user