diff --git a/src/main/java/com/ycwl/basic/repository/SourceRepository.java b/src/main/java/com/ycwl/basic/repository/SourceRepository.java index 0f42c810..254ee793 100644 --- a/src/main/java/com/ycwl/basic/repository/SourceRepository.java +++ b/src/main/java/com/ycwl/basic/repository/SourceRepository.java @@ -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 -> {