Administrator 4 years ago
parent
commit
86c480fdeb

+ 1 - 1
ruoyi-system/src/main/java/com/ruoyi/system/domain/grallery/ZbGalleryImg.java

@@ -32,7 +32,7 @@ public class ZbGalleryImg extends BaseEntity {
      * 图片id
      */
     @Excel(name = "图片id")
-    private Long thumbId;
+    private Integer thumbId;
 
     /**
      * 作者

+ 2 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/IZbGalleryImgService.java

@@ -43,6 +43,8 @@ public interface IZbGalleryImgService extends IService<ZbGalleryImg> {
 
     void removeByGalleryIds(List<Long> galleryId);
 
+    List<ZbGalleryImg> selectByGalleryIds(List<Long> galleryId);
+
     /**
      * 根据图库编号查询图片信息
      *

+ 3 - 1
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ZbFileServiceImpl.java

@@ -77,9 +77,11 @@ public class ZbFileServiceImpl extends ServiceImpl<ZbFileMapper, ZbFile> impleme
             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());
+            File fileThumbnail = new File(RuoYiConfig.getProfile() + File.separator + zbFile.getThumbnailPath());
             log.info("删除缩略图文件: " + fileThumbnail);
             FileUtils.forceDelete(fileThumbnail);
+            //删除数据库附件表信息
+            baseMapper.deleteById(id);
         } catch (IOException e) {
             // TODO Auto-generated catch block
             log.info("删除文件失败");

+ 5 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ZbGalleryImgServiceImpl.java

@@ -66,6 +66,11 @@ public class ZbGalleryImgServiceImpl extends ServiceImpl<ZbGalleryImgMapper, ZbG
         remove(new LambdaQueryWrapper<ZbGalleryImg>().in(ZbGalleryImg::getGallertId, galleryId));
     }
 
+    @Override
+    public List<ZbGalleryImg> selectByGalleryIds(List<Long> galleryId) {
+        return baseMapper.selectList(new LambdaQueryWrapper<ZbGalleryImg>().in(ZbGalleryImg::getGallertId, galleryId));
+    }
+
     @Override
     public List<GalleryImgDto> getByGalleryId(Long galleryId) {
         return baseMapper.getByGalleryId(galleryId);

+ 64 - 35
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ZbGalleryServiceImpl.java

@@ -10,6 +10,7 @@ import com.ruoyi.common.exception.BaseException;
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.bean.BeanUtils;
+import com.ruoyi.system.domain.ZbFile;
 import com.ruoyi.system.domain.grallery.ZbGallery;
 import com.ruoyi.system.domain.grallery.ZbGalleryCategory;
 import com.ruoyi.system.domain.grallery.ZbGalleryImg;
@@ -41,10 +42,11 @@ import java.util.stream.Collectors;
 @Service
 @RequiredArgsConstructor
 public class ZbGalleryServiceImpl extends ServiceImpl<ZbGalleryMapper, ZbGallery> implements IZbGalleryService {
-    private final IZbGalleryImgService      galleryImgService;
-    private final RuoYiConfig               ruoYiConfig;
-    private final IZbCommentService         commentService;
+    private final IZbGalleryImgService galleryImgService;
+    private final RuoYiConfig ruoYiConfig;
+    private final IZbCommentService commentService;
     private final IZbGalleryCategoryService galleryCategoryService;
+    private final ZbFileServiceImpl zbFileService;
 
     /**
      * 查询【请填写功能名称】列表
@@ -79,22 +81,27 @@ public class ZbGalleryServiceImpl extends ServiceImpl<ZbGalleryMapper, ZbGallery
             throw new BaseException("图库保存失败");
         }
 
-        List<ZbGalleryImg> imgList = zbGallery.getImgInfos().stream().map(x -> {
-            ZbGalleryImg galleryImg = new ZbGalleryImg();
-            galleryImg.setAuthor(x.getAuthor());
-            galleryImg.setLocation(x.getLocation());
-            galleryImg.setGallertId(gallery.getId());
-            galleryImg.setQrCodeId(x.getQrCode());
-            galleryImg.setThumbId(x.getId().longValue());
-            galleryImg.setWatermarkType(x.getWatermarkType());
-            galleryImg.setWatermarkColor(x.getWatermarkColor());
-            galleryImg.setCreateBy(createBy);
-            galleryImg.setCreateTime(nowDate);
-            galleryImg.setAuthorConcat(x.getConcat());
-            galleryImg.setRemark(x.getRemark());
-            return galleryImg;
-        }).collect(Collectors.toList());
-        galleryImgService.saveBatch(imgList);
+        //判断是否新增图库时,新增了图片
+        if (zbGallery.getImgInfos().size() > 0) {
+            List<ZbGalleryImg> imgList = zbGallery.getImgInfos().stream().filter(e -> e.getId() != null).map(x -> {
+                ZbGalleryImg galleryImg = new ZbGalleryImg();
+                galleryImg.setAuthor(x.getAuthor());
+                galleryImg.setLocation(x.getLocation());
+                galleryImg.setGallertId(gallery.getId());
+                galleryImg.setQrCodeId(x.getQrCode());
+                galleryImg.setThumbId(x.getId());
+                galleryImg.setWatermarkType(x.getWatermarkType());
+                galleryImg.setWatermarkColor(x.getWatermarkColor());
+                galleryImg.setCreateBy(createBy);
+                galleryImg.setCreateTime(nowDate);
+                galleryImg.setAuthorConcat(x.getConcat());
+                galleryImg.setRemark(x.getRemark());
+                return galleryImg;
+            }).collect(Collectors.toList());
+            if (imgList.size() > 0) {
+                galleryImgService.saveBatch(imgList);
+            }
+        }
         return true;
     }
 
@@ -121,24 +128,31 @@ public class ZbGalleryServiceImpl extends ServiceImpl<ZbGalleryMapper, ZbGallery
         }
 
         Long galleryId = gallery.getId();
+        //对应图片信息先删除
         galleryImgService.removeByGalleryId(galleryId);
 
-        List<ZbGalleryImg> imgList = zbGallery.getImgInfos().stream().map(x -> {
-            ZbGalleryImg galleryImg = new ZbGalleryImg();
-            galleryImg.setAuthor(x.getAuthor());
-            galleryImg.setLocation(x.getLocation());
-            galleryImg.setGallertId(galleryId);
-            galleryImg.setQrCodeId(x.getQrCode());
-            galleryImg.setThumbId(x.getId().longValue());
-            galleryImg.setWatermarkColor(x.getWatermarkColor());
-            galleryImg.setWatermarkType(x.getWatermarkType());
-            galleryImg.setCreateBy(createBy);
-            galleryImg.setCreateTime(nowDate);
-            galleryImg.setAuthorConcat(x.getConcat());
-            galleryImg.setRemark(x.getRemark());
-            return galleryImg;
-        }).collect(Collectors.toList());
-        galleryImgService.saveBatch(imgList);
+        //在添加
+        //判断是否修改图库时,是否包含图片
+        if (zbGallery.getImgInfos().size() > 0) {
+            List<ZbGalleryImg> imgList = zbGallery.getImgInfos().stream().filter(e -> e.getId() != null).map(x -> {
+                ZbGalleryImg galleryImg = new ZbGalleryImg();
+                galleryImg.setAuthor(x.getAuthor());
+                galleryImg.setLocation(x.getLocation());
+                galleryImg.setGallertId(galleryId);
+                galleryImg.setQrCodeId(x.getQrCode());
+                galleryImg.setThumbId(x.getId());
+                galleryImg.setWatermarkColor(x.getWatermarkColor());
+                galleryImg.setWatermarkType(x.getWatermarkType());
+                galleryImg.setCreateBy(createBy);
+                galleryImg.setCreateTime(nowDate);
+                galleryImg.setAuthorConcat(x.getConcat());
+                galleryImg.setRemark(x.getRemark());
+                return galleryImg;
+            }).collect(Collectors.toList());
+            if (imgList.size() > 0) {
+                galleryImgService.saveBatch(imgList);
+            }
+        }
         return true;
     }
 
@@ -172,11 +186,26 @@ public class ZbGalleryServiceImpl extends ServiceImpl<ZbGalleryMapper, ZbGallery
         return galleryDto;
     }
 
+    /**
+     * 删除图库
+     * @param gallerys
+     * @return
+     */
     @Override
     @Transactional(rollbackFor = Exception.class)
     public boolean delGallery(List<Long> gallerys) {
+        //删除图库表
         this.removeByIds(gallerys);
+        //先删除附件表信息和服务器存储数据
+        List<ZbGalleryImg> zbGalleryImgs = galleryImgService.selectByGalleryIds(gallerys);
+        for (ZbGalleryImg zbGalleryImg : zbGalleryImgs) {
+            ZbFile zbFile = new ZbFile();
+            zbFile.setId(zbGalleryImg.getThumbId());
+            zbFileService.deletePicture(zbFile);
+        }
+        //删除图库图片信息表
         galleryImgService.removeByGalleryIds(gallerys);
+        //删除评论信息
         commentService.removeByTypeAndFk(CommentType.GALLERY, gallerys);
         return true;
     }