| | |
| | | import org.dromara.system.domain.properties.Boundary; |
| | | import org.dromara.system.domain.vo.SysOssVo; |
| | | import org.dromara.system.mapper.SysOssMapper; |
| | | import org.dromara.system.service.ISysOssService; |
| | | import org.dromara.system.uitil.HttpUtils; |
| | | import org.springframework.scheduling.annotation.Scheduled; |
| | | import org.springframework.stereotype.Component; |
| | |
| | | @Component |
| | | public class deleteSync { |
| | | |
| | | private final SysOssMapper baseMapper; |
| | | private final ISysOssService ossService; |
| | | private final SysOssMapper ossMapper; |
| | | private final Boundary boundary; |
| | | |
| | | public deleteSync(SysOssMapper baseMapper, Boundary boundary) { |
| | | this.baseMapper = baseMapper; |
| | | public deleteSync(ISysOssService ossService, SysOssMapper ossMapper, Boundary boundary) { |
| | | this.ossService = ossService; |
| | | this.ossMapper = ossMapper; |
| | | this.boundary = boundary; |
| | | } |
| | | |
| | | // @Scheduled(cron = "0 */10 * * * ?") |
| | | // public void remove() throws IOException { |
| | | // log.error("同步删除......"); |
| | | // List<SysOss> list = new LambdaQueryChainWrapper<>(baseMapper) |
| | | // .le(SysOss::getCreateTime, LocalDateTime.now().minusDays(1L)) |
| | | // .list(); |
| | | // if (list.size() == 0) |
| | | // return; |
| | | // |
| | | // for (SysOss vo : list) { |
| | | // OssClient storage = OssFactory.instance(vo.getService()); |
| | | // storage.delete(vo.getUrl()); |
| | | // HttpResponse httpResponse = HttpUtils.sendDeleteRequest(this.boundary.getVideo() + "/resource/synchronization/delete", |
| | | // String.valueOf(vo.getOssId())); |
| | | // if (httpResponse.getStatusLine().getStatusCode() == 200) { |
| | | // baseMapper.deleteId(vo.getOssId()); |
| | | // } |
| | | // } |
| | | // } |
| | | |
| | | @Scheduled(cron = "0 */10 * * * ?") |
| | | public void remove() throws IOException { |
| | | log.error("同步删除......"); |
| | | List<SysOss> list = new LambdaQueryChainWrapper<>(baseMapper) |
| | | .le(SysOss::getCreateTime, LocalDateTime.now().minusDays(1L)) |
| | | .list(); |
| | | if (list.size() == 0) |
| | | System.out.println("self delete......"); |
| | | List<Long> ids = ossMapper.getWillDeleted(LocalDateTime.now().minusDays(1)); |
| | | if (ids.size() == 0) { |
| | | return; |
| | | |
| | | for (SysOss vo : list) { |
| | | OssClient storage = OssFactory.instance(vo.getService()); |
| | | storage.delete(vo.getUrl()); |
| | | HttpResponse httpResponse = HttpUtils.sendDeleteRequest(this.boundary.getVideo() + "/resource/synchronization/delete", |
| | | String.valueOf(vo.getOssId())); |
| | | if (httpResponse.getStatusLine().getStatusCode() == 200) { |
| | | baseMapper.deleteId(vo.getOssId()); |
| | | } |
| | | } |
| | | ossService.deleteByIds(ids); |
| | | } |
| | | |
| | | } |