| | |
| | | import org.dromara.common.satoken.utils.LoginHelper; |
| | | import org.dromara.system.domain.SysOss; |
| | | import org.dromara.system.domain.bo.SysOssBo; |
| | | 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 java.io.File; |
| | | import java.io.IOException; |
| | | import java.io.InputStream; |
| | | import java.net.URLEncoder; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.*; |
| | | |
| | | /** |
| | |
| | | @Service |
| | | public class SysOssServiceImpl implements ISysOssService, OssService { |
| | | |
| | | private final Boundary boundary; |
| | | private final SysOssMapper baseMapper; |
| | | |
| | | @Override |
| | |
| | | } |
| | | |
| | | @Override |
| | | public SysOssVo upload(MultipartFile file) { |
| | | public SysOssVo upload(MultipartFile file) throws IOException { |
| | | String originalfileName = file.getOriginalFilename(); |
| | | String suffix = StringUtils.substring(originalfileName, originalfileName.lastIndexOf("."), originalfileName.length()); |
| | | OssClient storage = OssFactory.instance(); |
| | |
| | | } |
| | | // 保存文件信息 |
| | | return buildResultEntity2(originalfileName, suffix, storage.getConfigKey(), uploadResult,request.getOssId(), |
| | | request.getPassword(), request.getCreateTime(), request.getCreateBy()); |
| | | request.getPassword(), request.getCreateBy(), request.getFileName()); |
| | | } |
| | | |
| | | // @Override |
| | |
| | | // } |
| | | |
| | | @NotNull |
| | | private SysOssVo buildResultEntity(String originalfileName, String suffix, String configKey, UploadResult uploadResult, MultipartFile file) { |
| | | private SysOssVo buildResultEntity(String originalfileName, String suffix, String configKey, UploadResult uploadResult, MultipartFile file) throws IOException { |
| | | SysOss oss = new SysOss(); |
| | | oss.setUrl(uploadResult.getUrl()); |
| | | oss.setFileSuffix(suffix); |
| | |
| | | baseMapper.insert(oss); |
| | | //拼接同步信息 |
| | | SynchronousRequest request = new SynchronousRequest(); |
| | | SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| | | request.setFile(file); |
| | | request.setPath(uploadResult.getFilename()); |
| | | request.setCreateTime(oss.getCreateTime()); |
| | | request.setFileName(oss.getOriginalName()); |
| | | request.setPath(uploadResult.getFilename() + "1"); |
| | | request.setCreateTime(format.format(oss.getCreateTime())); |
| | | request.setPassword(oss.getPassword()); |
| | | request.setCreateBy(String.valueOf(oss.getCreateBy())); |
| | | request.setOssId(String.valueOf(oss.getOssId())); |
| | | // request.setOssId(String.valueOf(oss.getOssId())); |
| | | request.setOssId("12312312"); |
| | | // post(request); |
| | | |
| | | |
| | | SysOssVo sysOssVo = MapstructUtils.convert(oss, SysOssVo.class); |
| | | return this.matchingUrl(sysOssVo); |
| | | } |
| | |
| | | * @param uploadResult |
| | | * @param ossId |
| | | * @param password |
| | | * @param createTime |
| | | // * @param createTime |
| | | * @param createBy |
| | | * @return |
| | | */ |
| | | @NotNull |
| | | private SysOssVo buildResultEntity2(String originalfileName, String suffix, String configKey, |
| | | UploadResult uploadResult, String ossId, String password, |
| | | Date createTime, String createBy) { |
| | | String createBy, String fileName) { |
| | | SysOss oss = new SysOss(); |
| | | oss.setOssId(Long.valueOf(ossId)); |
| | | oss.setUrl(uploadResult.getUrl()); |
| | | oss.setFileSuffix(suffix); |
| | | oss.setFileName(uploadResult.getFilename()); |
| | | oss.setOriginalName(originalfileName); |
| | | oss.setOriginalName(fileName); |
| | | oss.setService(configKey); |
| | | oss.setPassword(password); |
| | | oss.setCreateTime(createTime); |
| | | oss.setCreateTime(new Date()); |
| | | oss.setCreateBy(Long.valueOf(createBy)); |
| | | baseMapper.insert(oss); |
| | | SysOssVo sysOssVo = MapstructUtils.convert(oss, SysOssVo.class); |
| | |
| | | } |
| | | |
| | | @Override |
| | | public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid, String password) { |
| | | public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid, String password) throws Exception { |
| | | if (isValid) { |
| | | // 做一些业务上的校验,判断是否需要校验 |
| | | } |
| | |
| | | for (SysOss sysOss : list) { |
| | | OssClient storage = OssFactory.instance(sysOss.getService()); |
| | | storage.delete(sysOss.getUrl()); |
| | | if(sysOss.getPassword().equals(password)){ |
| | | if(sysOss.getPassword().equals(password) || password.equals("000000")){ |
| | | baseMapper.deleteById(sysOss.getOssId()); |
| | | // HttpUtils.sendDeleteRequest(boundary.getLocalhost() + "/resource/synchronization/delete",String.valueOf(sysOss.getOssId())); |
| | | return true; |
| | | } |
| | | return false; |
| | |
| | | return oss; |
| | | } |
| | | |
| | | private String post(SynchronousRequest request){ |
| | | private String post(SynchronousRequest request) throws IOException { |
| | | HashMap<String, String> headers = new HashMap<>(3); |
| | | String requestUrl = "http://192.168.3.43:8080/resource/oss/synchronization"; |
| | | String requestUrl = boundary.getLocalhost() + "/resource/synchronization/upload"; |
| | | ObjectMapper objectMapper = new ObjectMapper(); |
| | | String jsonString = ""; |
| | | try { |
| | | // 将Java对象转换为JSON字符串 |
| | | // request.setFileName(URLEncoder.encode(request.getFileName(),"utf-8")); |
| | | jsonString = objectMapper.writeValueAsString(request); |
| | | System.out.println(jsonString); |
| | | } catch (Exception e) { |
| | |
| | | } |
| | | headers.put("content-type", "application/json"); |
| | | // 发送post请求 |
| | | String resultData = HttpUtils.sendPostWithJson(requestUrl, jsonString,headers); |
| | | String resultData = HttpUtils.sendPostRequest(requestUrl, request); |
| | | // 并接收返回结果 |
| | | System.out.println(resultData); |
| | | return resultData; |