From f8ab5663ef7220f8adc0fd8fcbd7d0cf84c6d77d Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期一, 02 八月 2021 12:15:14 +0800 Subject: [PATCH] update 日常字符串校验 统一重构到 StringUtils 便于维护扩展 --- ruoyi-oss/src/main/java/com/ruoyi/system/service/impl/SysOssServiceImpl.java | 89 +++++++++++++++++++++++++++++--------------- 1 files changed, 58 insertions(+), 31 deletions(-) diff --git a/ruoyi-oss/src/main/java/com/ruoyi/system/service/impl/SysOssServiceImpl.java b/ruoyi-oss/src/main/java/com/ruoyi/system/service/impl/SysOssServiceImpl.java index 729470a..590ba70 100644 --- a/ruoyi-oss/src/main/java/com/ruoyi/system/service/impl/SysOssServiceImpl.java +++ b/ruoyi-oss/src/main/java/com/ruoyi/system/service/impl/SysOssServiceImpl.java @@ -1,63 +1,90 @@ package com.ruoyi.system.service.impl; +import com.ruoyi.common.utils.StringUtils; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl; +import com.ruoyi.common.core.page.PagePlus; +import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.exception.CustomException; -import com.ruoyi.oss.config.CloudStorageConfig; -import com.ruoyi.oss.service.abstractd.AbstractCloudStorageService; +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.domain.bo.SysOssBo; import com.ruoyi.system.domain.SysOss; -import com.ruoyi.system.factory.OSSFactory; import com.ruoyi.system.mapper.SysOssMapper; import com.ruoyi.system.service.ISysOssService; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; +import com.ruoyi.system.domain.vo.SysOssVo; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; import java.io.IOException; -import java.util.HashMap; +import java.util.Collection; import java.util.List; import java.util.Map; /** * 鏂囦欢涓婁紶 鏈嶅姟灞傚疄鐜� * - * @author chkj - * @date 2019-07-15 + * @author Lion Li */ -@Slf4j @Service -public class SysOssServiceImpl extends ServiceImpl<SysOssMapper, SysOss> implements ISysOssService { - - @Autowired - private CloudStorageConfig config; +public class SysOssServiceImpl extends ServicePlusImpl<SysOssMapper, SysOss, SysOssVo> implements ISysOssService { @Override - public List<SysOss> list(SysOss sysOss) { - LambdaQueryWrapper<SysOss> wrapper = new LambdaQueryWrapper<>(); - return baseMapper.selectList(wrapper); + public TableDataInfo<SysOssVo> queryPageList(SysOssBo bo) { + PagePlus<SysOss, SysOssVo> result = pageVo(PageUtils.buildPagePlus(), buildQueryWrapper(bo)); + return PageUtils.buildDataInfo(result); + } + + private LambdaQueryWrapper<SysOss> buildQueryWrapper(SysOssBo bo) { + Map<String, Object> params = bo.getParams(); + LambdaQueryWrapper<SysOss> lqw = Wrappers.lambdaQuery(); + 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(StringUtils.isNotBlank(bo.getCreateBy()), SysOss::getCreateBy, bo.getCreateBy()); + lqw.eq(StringUtils.isNotBlank(bo.getService()), SysOss::getService, bo.getService()); + return lqw; } @Override - public Map<String, String> upload(MultipartFile file) { + public SysOss upload(MultipartFile file) { String originalfileName = file.getOriginalFilename(); - String suffix = originalfileName.substring(originalfileName.lastIndexOf(".")); + String suffix = StringUtils.sub(originalfileName, originalfileName.lastIndexOf("."), originalfileName.length()); + ICloudStorageService storage = OssFactory.instance(); + UploadResult uploadResult; try { - AbstractCloudStorageService storage = OSSFactory.build(); - String url = storage.uploadSuffix(file.getBytes(), suffix); - // 淇濆瓨鏂囦欢淇℃伅 - SysOss ossEntity = new SysOss() - .setUrl(url).setFileSuffix(suffix) - .setFileName(originalfileName) - .setService(storage.getServiceType()); - save(ossEntity); - Map<String, String> map = new HashMap<>(2); - map.put("url", ossEntity.getUrl()); - map.put("fileName", ossEntity.getFileName()); - return map; + 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) { + // 鍋氫竴浜涗笟鍔′笂鐨勬牎楠�,鍒ゆ柇鏄惁闇�瑕佹牎楠� + } + List<SysOss> list = listByIds(ids); + for (SysOss sysOss : list) { + ICloudStorageService storage = OssFactory.instance(sysOss.getService()); + storage.delete(sysOss.getUrl()); + } + return removeByIds(ids); } } -- Gitblit v1.9.3