| | |
| | | package org.dromara.system.runner; |
| | | |
| | | import cn.hutool.extra.ftp.Ftp; |
| | | import com.amazonaws.services.s3.AmazonS3; |
| | | import org.dromara.common.core.utils.MapstructUtils; |
| | | import org.dromara.common.oss.core.OssClient; |
| | | import org.dromara.common.oss.factory.OssFactory; |
| | | import org.dromara.common.oss.properties.OssProperties; |
| | | import org.dromara.common.redis.utils.QueueUtils; |
| | | import org.dromara.system.convert.SysOssConfigClassConvert; |
| | | import org.dromara.system.domain.SysOssConfig; |
| | | import org.dromara.system.domain.properties.Boundary; |
| | | import org.dromara.system.domain.properties.FtpConfig; |
| | | import org.dromara.system.domain.vo.SysOssVo; |
| | | import org.dromara.system.mapper.SysOssConfigMapper; |
| | | import org.dromara.system.mapper.SysOssMapper; |
| | |
| | | import lombok.RequiredArgsConstructor; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.dromara.system.service.ISysOssService; |
| | | import org.dromara.system.uitil.FtpApche; |
| | | import org.dromara.system.uitil.HttpUtils; |
| | | import org.springframework.boot.ApplicationArguments; |
| | | import org.springframework.boot.ApplicationRunner; |
| | |
| | | @Component |
| | | public class SystemApplicationRunner implements ApplicationRunner { |
| | | |
| | | private final Boundary boundary; |
| | | // private final FtpConfig ftpConfig; |
| | | // private final Boundary boundary; |
| | | private final ISysOssConfigService ossConfigService; |
| | | private final SysOssMapper ossMapper; |
| | | private final SysOssConfigMapper sysOssConfigMapper; |
| | | // private final SysOssMapper ossMapper; |
| | | // private final SysOssConfigMapper sysOssConfigMapper; |
| | | // private final AmazonS3 client; |
| | | |
| | | @Override |
| | | public void run(ApplicationArguments args) throws Exception { |
| | | // FtpApche.connect(ftpConfig); |
| | | // log.info("连接ftp服务成功"); |
| | | ossConfigService.init(); |
| | | //初始化ossclient |
| | | List<SysOssConfig> collect = sysOssConfigMapper.selectList().stream().filter(e -> e.getStatus().equals("0")) |
| | | .collect(Collectors.toList()); |
| | | OssProperties properties = SysOssConfigClassConvert.INSTANCE.sysOssConfigToossProperties(collect.get(0)); |
| | | OssClient client = new OssClient("minio",properties); |
| | | log.info("初始化OSS配置成功"); |
| | | log.info("通道: {} 监听中......", "OSS"); |
| | | // List<SysOssConfig> collect = sysOssConfigMapper.selectList().stream().filter(e -> e.getStatus().equals("0")) |
| | | // .collect(Collectors.toList()); |
| | | // OssProperties properties = SysOssConfigClassConvert.INSTANCE.sysOssConfigToossProperties(collect.get(0)); |
| | | // OssClient client = new OssClient("minio",properties); |
| | | // log.info("初始化OSS配置成功"); |
| | | // log.info("通道: {} 监听中......", "OSS"); |
| | | // 项目初始化设置一次即可 |
| | | QueueUtils.subscribeBlockingQueue("OSS", (String ossId) -> { |
| | | // 观察接收时间 |
| | | log.info("通道: {}, 收到数据: {}", "OSS", ossId); |
| | | SysOssVo vo = ossMapper.selectVoById(ossId); |
| | | client.delete( vo.getUrl()); |
| | | ossMapper.deleteById(Long.valueOf(ossId)); |
| | | try { |
| | | HttpUtils.sendDeleteRequest(boundary.getVideo() + "/resource/synchronization/delete",ossId); |
| | | } catch (IOException e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | }); |
| | | // QueueUtils.subscribeBlockingQueue("OSS", (String name) -> { |
| | | // // 观察接收时间 |
| | | // log.info("通道: {}, 收到数据: {}", "OSS", name); |
| | | //// try { |
| | | //// HttpUtils.sendDeleteRequest2(boundary.getLocalhost() + "/resource/synchronization/uploadByFileName",name); |
| | | //// } catch (IOException e) { |
| | | //// throw new RuntimeException(e); |
| | | //// } |
| | | // |
| | | //// SysOssVo vo = ossMapper.selectVoById(ossId); |
| | | //// client.delete( vo.getUrl()); |
| | | //// ossMapper.deleteById(Long.valueOf(ossId)); |
| | | //// try { |
| | | //// HttpUtils.sendDeleteRequest(boundary.getVideo() + "/resource/synchronization/delete",ossId); |
| | | //// } catch (IOException e) { |
| | | //// throw new RuntimeException(e); |
| | | //// } |
| | | // }); |
| | | } |
| | | |
| | | } |