瀏覽代碼

批量上伟相册图片

luobo 4 年之前
父節點
當前提交
3f73ee8cb1

+ 36 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/family/TbFamilyPhotoController.java

@@ -2,11 +2,16 @@ package com.ruoyi.web.controller.api.family;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 
+import java.io.IOException;
+import java.util.Date;
 import java.util.List;
 import java.util.Arrays;
 
 import com.ruoyi.app.family.photo.domain.TbFamilyPhoto;
 import com.ruoyi.app.family.photo.service.ITbFamilyPhotoService;
+import com.ruoyi.common.core.domain.model.LoginUser;
+import com.ruoyi.common.utils.ServletUtils;
+import com.ruoyi.framework.web.service.TokenService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import com.ruoyi.common.utils.StringUtils;
@@ -28,6 +33,7 @@ import com.ruoyi.common.enums.BusinessType;
 
 import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.common.core.page.TableDataInfo;
+import org.springframework.web.multipart.MultipartFile;
 
 /**
  * 家族相簿照片
@@ -43,6 +49,9 @@ public class TbFamilyPhotoController extends BaseController {
 
     private final ITbFamilyPhotoService iTbFamilyPhotoService;
 
+    @Autowired
+    private TokenService tokenService;
+
     /**
      * 查询家族相簿照片列表
      */
@@ -104,6 +113,10 @@ public class TbFamilyPhotoController extends BaseController {
     @Log(title = "家族相簿照片" , businessType = BusinessType.INSERT)
     @PostMapping
     public AjaxResult add(@RequestBody TbFamilyPhoto tbFamilyPhoto) {
+        LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+        Long userId = loginUser.getUser().getUserId();
+        tbFamilyPhoto.setCreateBy(userId);
+        tbFamilyPhoto.setCreateTime(new Date());
         return toAjax(iTbFamilyPhotoService.save(tbFamilyPhoto) ? 1 : 0);
     }
 
@@ -115,6 +128,10 @@ public class TbFamilyPhotoController extends BaseController {
     @Log(title = "家族相簿照片" , businessType = BusinessType.UPDATE)
     @PutMapping
     public AjaxResult edit(@RequestBody TbFamilyPhoto tbFamilyPhoto) {
+        LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+        Long userId = loginUser.getUser().getUserId();
+        tbFamilyPhoto.setUpdateBy(userId);
+        tbFamilyPhoto.setUpdateTime(new Date());
         return toAjax(iTbFamilyPhotoService.updateById(tbFamilyPhoto) ? 1 : 0);
     }
 
@@ -128,4 +145,23 @@ public class TbFamilyPhotoController extends BaseController {
     public AjaxResult remove(@PathVariable Long[] ids) {
         return toAjax(iTbFamilyPhotoService.removeByIds(Arrays.asList(ids)) ? 1 : 0);
     }
+
+    /**
+     * 批量上传图片
+     * @return
+     */
+    @ApiOperation("批量上传家族相簿照片")
+    @PreAuthorize("@ss.hasPermi('system:familyPhoto:upload')" )
+    @Log(title = "家族相簿照片" , businessType = BusinessType.DELETE)
+    @DeleteMapping("/batchUpload/{albumId}" )
+    public AjaxResult batchUpload(@PathVariable Long albumId, MultipartFile[] files, String modName) throws IOException {
+        LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+        Long userId = loginUser.getUser().getUserId();
+        iTbFamilyPhotoService.batchUpload(userId,albumId,files,modName);
+        return AjaxResult.success();
+    }
+
+
+
+
 }

+ 2 - 0
ruoyi-system/src/main/java/com/ruoyi/app/family/photo/domain/TbFamilyPhoto.java

@@ -1,5 +1,6 @@
 package com.ruoyi.app.family.photo.domain;
 
+import com.baomidou.mybatisplus.annotation.TableLogic;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import com.fasterxml.jackson.annotation.JsonFormat;
@@ -88,5 +89,6 @@ public class TbFamilyPhoto implements Serializable {
 
     /** 删除标志(0代表存在 1代表删除) */
     @ApiModelProperty(value="删除标志(0代表存在 1代表删除)")
+    @TableLogic
     private String delFlag;
 }

+ 11 - 1
ruoyi-system/src/main/java/com/ruoyi/app/family/photo/service/ITbFamilyPhotoService.java

@@ -3,6 +3,9 @@ package com.ruoyi.app.family.photo.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ruoyi.app.family.photo.domain.TbFamilyPhoto;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.IOException;
 
 /**
  * 家族相簿照片
@@ -11,5 +14,12 @@ import com.ruoyi.app.family.photo.domain.TbFamilyPhoto;
  * @date 2020-10-14
  */
 public interface ITbFamilyPhotoService extends IService<TbFamilyPhoto> {
-
+    /**
+     * 批量上传图片
+     * @param albumId
+     * @param files
+     * @param modName
+     * @return
+     */
+    Boolean batchUpload(Long userId,Long albumId, MultipartFile[] files, String modName) throws IOException;
 }

+ 58 - 0
ruoyi-system/src/main/java/com/ruoyi/app/family/photo/service/impl/TbFamilyPhotoServiceImpl.java

@@ -1,10 +1,23 @@
 package com.ruoyi.app.family.photo.service.impl;
 
+import com.ruoyi.app.family.album.domain.TbFamilyAlbum;
+import com.ruoyi.app.family.album.service.ITbFamilyAlbumService;
 import com.ruoyi.app.family.photo.domain.TbFamilyPhoto;
 import com.ruoyi.app.family.photo.mapper.TbFamilyPhotoMapper;
 import com.ruoyi.app.family.photo.service.ITbFamilyPhotoService;
+import com.ruoyi.common.config.RuoYiConfig;
+import com.ruoyi.common.exception.CustomException;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.utils.file.FileUploadUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
 
 
 /**
@@ -15,5 +28,50 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  */
 @Service
 public class TbFamilyPhotoServiceImpl extends ServiceImpl<TbFamilyPhotoMapper, TbFamilyPhoto> implements ITbFamilyPhotoService {
+    @Autowired
+    private ITbFamilyAlbumService familyAlbumService;
+
+    @Override
+    public Boolean batchUpload(Long userId,Long albumId, MultipartFile[] files, String modName) throws IOException {
+        //查询相簿信息
+        TbFamilyAlbum albumEntity = familyAlbumService.getEntityById(albumId);
+        if (albumEntity == null) {
+            throw new CustomException("请选择相簿!");
+        }
+        // 上传文件路径
+        String filePath = RuoYiConfig.getUploadPath();
+        //@TODO 上传添加模块名称 luobo
+        if (StringUtils.isNotEmpty(modName) && !modName.equalsIgnoreCase("null") && !modName.equalsIgnoreCase("undefined")){
+            filePath += "/"+modName;
+        }
+        List<TbFamilyPhoto> list = new ArrayList<>();
+        for (MultipartFile item : files){
+            TbFamilyPhoto entity = new TbFamilyPhoto();
+            entity.setAlbumId(albumEntity.getId());
+            entity.setFamilyId(albumEntity.getFamilyId());
+            String title = item.getOriginalFilename();
+            title = title.substring(0,title.lastIndexOf("."));
+            entity.setTitle(title);
+            // 上传并返回新文件名称
+            String fileName = FileUploadUtils.upload(filePath, item);
+            entity.setUrl(fileName);
+            entity.setCreateBy(userId);
+            entity.setCreateTime(new Date());
+            entity.setStatus("0");
+            entity.setDelFlag("0");
+            list.add(entity);
+        }
+
+
+
+
+
+
+
+
+
+        // 上传并返回新文件名称
 
+        return null;
+    }
 }