package com.infynova.udi.manager; import com.infynova.udi.common.api.ResponseData; import com.infynova.udi.common.entity.UploadResultVo; import com.infynova.udi.common.exception.SaasException; import com.infynova.udi.dto.UdiMatchTaskFileDto; import com.infynova.udi.dto.file.OSSBatchIdReqVo; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Component; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import java.util.*; @Slf4j @Component public class OssManager { @Resource private OSSServiceClient oSSServiceClient; protected <T> T handleResponse(ResponseData<T> resp){ if (resp.isSuccess()) { return resp.getData(); } else { throw new SaasException("服务调用失败:错误码=" + resp.getCode() + ",原因=" + resp.getMsg()); } } public UploadResultVo upload(MultipartFile multipartFile) { ResponseData<UploadResultVo> result = oSSServiceClient.upload(multipartFile); return handleResponse(result); } public String getUrlById(Long id){ ResponseData<String> responseData = oSSServiceClient.getUrlById(id); return responseData.getData(); } public List<UdiMatchTaskFileDto> queryBatchById(List<Long> ids){ OSSBatchIdReqVo ossBatchId = new OSSBatchIdReqVo(); ossBatchId.setIds(ids); ResponseData<List<UploadResultVo>> responseData = oSSServiceClient.queryBatchById(ossBatchId); if(responseData.isSuccess() && CollectionUtils.isNotEmpty(responseData.getData())){ List<UploadResultVo> data = responseData.getData(); List<UdiMatchTaskFileDto> resultList = new ArrayList<>(data.size()); for (UploadResultVo datum : data) { resultList.add(UdiMatchTaskFileDto.builder().fileId(datum.getId()).fileName(datum.getFileName()).filePath(datum.getFilePath()).build()); } return resultList; }else{ return null; } } }