package com.ruoyi.system.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.config.RuoYiConfig; import com.ruoyi.common.utils.file.FileUtils; import com.ruoyi.system.domain.ZbFile; import com.ruoyi.system.service.IZbFileService; import com.ruoyi.system.mapper.ZbFileMapper; import com.ruoyi.system.service.IZbGalleryCategoryService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import java.io.File; import java.io.IOException; import java.util.List; /** * 系统附件Service业务层处理 * * @author ruoyi * @date 2020-11-19 */ @Slf4j @Service @RequiredArgsConstructor public class ZbFileServiceImpl extends ServiceImpl implements IZbFileService { private final IZbGalleryCategoryService categoryService; /** * 查询系统附件列表 * * @param zbFile 系统附件 * @return 系统附件 */ @Override public List selectZbFileList(ZbFile zbFile, Page page) { return baseMapper.selectZbFileList(zbFile, page); } /** * 新增系统附件 * * @param zbFile 系统附件 * @return 结果 */ @Override public int insertZbFile(ZbFile zbFile) { return baseMapper.insert(zbFile); } /** * 修改系统附件 * * @param zbFile 系统附件 * @return 结果 */ @Override public int updateZbFile(ZbFile zbFile) { return baseMapper.updateById(zbFile); } @Override public ZbFile findByHash(String hashString) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(ZbFile::getFileHash, hashString).last("limit 1"); return this.getOne(queryWrapper); } @Override public boolean deletePicture(ZbFile zbFile) { try { Integer id = zbFile.getId(); zbFile = baseMapper.selectById(id); File file = new File(RuoYiConfig.getProfile() + File.separator + zbFile.getPath()); log.info("删除原始文件: " + file); FileUtils.forceDelete(file); File fileThumbnail = new File(RuoYiConfig.getProfile() + File.separator + zbFile.getPath()); log.info("删除缩略图文件: " + fileThumbnail); FileUtils.forceDelete(fileThumbnail); } catch (IOException e) { // TODO Auto-generated catch block log.info("删除文件失败"); e.printStackTrace(); } return true; } }