疯狂的狮子li
2021-08-02 f8ab5663ef7220f8adc0fd8fcbd7d0cf84c6d77d
ruoyi-oss/src/main/java/com/ruoyi/system/service/impl/SysOssServiceImpl.java
@@ -1,6 +1,6 @@
package com.ruoyi.system.service.impl;
import cn.hutool.core.util.StrUtil;
import com.ruoyi.common.utils.StringUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
@@ -8,13 +8,14 @@
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.exception.CustomException;
import com.ruoyi.common.utils.PageUtils;
import com.ruoyi.oss.entity.UploadResult;
import com.ruoyi.oss.factory.OssFactory;
import com.ruoyi.oss.service.ICloudStorageService;
import com.ruoyi.system.bo.SysOssQueryBo;
import com.ruoyi.system.domain.bo.SysOssBo;
import com.ruoyi.system.domain.SysOss;
import com.ruoyi.system.mapper.SysOssMapper;
import com.ruoyi.system.service.ISysOssService;
import com.ruoyi.system.vo.SysOssVo;
import com.ruoyi.system.domain.vo.SysOssVo;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
@@ -29,49 +30,53 @@
 * @author Lion Li
 */
@Service
public class SysOssServiceImpl extends ServicePlusImpl<SysOssMapper, SysOss> implements ISysOssService {
public class SysOssServiceImpl extends ServicePlusImpl<SysOssMapper, SysOss, SysOssVo> implements ISysOssService {
   @Override
   public TableDataInfo<SysOssVo> queryPageList(SysOssQueryBo bo) {
      PagePlus<SysOss, SysOssVo> result = pageVo(PageUtils.buildPagePlus(), buildQueryWrapper(bo), SysOssVo.class);
   public TableDataInfo<SysOssVo> queryPageList(SysOssBo bo) {
      PagePlus<SysOss, SysOssVo> result = pageVo(PageUtils.buildPagePlus(), buildQueryWrapper(bo));
      return PageUtils.buildDataInfo(result);
   }
   private LambdaQueryWrapper<SysOss> buildQueryWrapper(SysOssQueryBo bo) {
   private LambdaQueryWrapper<SysOss> buildQueryWrapper(SysOssBo bo) {
      Map<String, Object> params = bo.getParams();
      LambdaQueryWrapper<SysOss> lqw = Wrappers.lambdaQuery();
      lqw.like(StrUtil.isNotBlank(bo.getFileName()), SysOss::getFileName, bo.getFileName());
      lqw.eq(StrUtil.isNotBlank(bo.getFileSuffix()), SysOss::getFileSuffix, bo.getFileSuffix());
      lqw.eq(StrUtil.isNotBlank(bo.getUrl()), SysOss::getUrl, bo.getUrl());
      lqw.like(StringUtils.isNotBlank(bo.getFileName()), SysOss::getFileName, bo.getFileName());
      lqw.like(StringUtils.isNotBlank(bo.getOriginalName()), SysOss::getOriginalName, bo.getOriginalName());
      lqw.eq(StringUtils.isNotBlank(bo.getFileSuffix()), SysOss::getFileSuffix, bo.getFileSuffix());
      lqw.eq(StringUtils.isNotBlank(bo.getUrl()), SysOss::getUrl, bo.getUrl());
      lqw.between(params.get("beginCreateTime") != null && params.get("endCreateTime") != null,
         SysOss::getCreateTime ,params.get("beginCreateTime"), params.get("endCreateTime"));
      lqw.eq(StrUtil.isNotBlank(bo.getCreateBy()), SysOss::getCreateBy, bo.getCreateBy());
      lqw.eq(StrUtil.isNotBlank(bo.getService()), SysOss::getService, bo.getService());
         SysOss::getCreateTime, params.get("beginCreateTime"), params.get("endCreateTime"));
      lqw.eq(StringUtils.isNotBlank(bo.getCreateBy()), SysOss::getCreateBy, bo.getCreateBy());
      lqw.eq(StringUtils.isNotBlank(bo.getService()), SysOss::getService, bo.getService());
      return lqw;
   }
   @Override
   public SysOss upload(MultipartFile file) {
      String originalfileName = file.getOriginalFilename();
      String suffix = StrUtil.sub(originalfileName, originalfileName.lastIndexOf("."), originalfileName.length());
      String suffix = StringUtils.sub(originalfileName, originalfileName.lastIndexOf("."), originalfileName.length());
      ICloudStorageService storage = OssFactory.instance();
      UploadResult uploadResult;
      try {
         ICloudStorageService storage = OssFactory.instance();
         String url = storage.uploadSuffix(file.getBytes(), suffix);
         // 保存文件信息
         SysOss oss = new SysOss()
            .setUrl(url).setFileSuffix(suffix)
            .setFileName(originalfileName)
            .setService(storage.getServiceType());
         save(oss);
         return oss;
         uploadResult = storage.uploadSuffix(file.getBytes(), suffix, file.getContentType());
      } catch (IOException e) {
         throw new CustomException("文件读取异常!!!", e);
      }
      // 保存文件信息
      SysOss oss = new SysOss()
         .setUrl(uploadResult.getUrl())
         .setFileSuffix(suffix)
         .setFileName(uploadResult.getFilename())
         .setOriginalName(originalfileName)
         .setService(storage.getServiceType());
      save(oss);
      return oss;
   }
   @Override
   public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
      if(isValid){
      if (isValid) {
         // 做一些业务上的校验,判断是否需要校验
      }
      List<SysOss> list = listByIds(ids);