Procházet zdrojové kódy

photo add接口变更 取消upload接口

xusonglin před 5 roky
rodič
revize
aa5c8bd278

+ 2 - 0
src/main/java/com/jkcredit/sysnews/model/dto/photo/PhotoDto.java

@@ -1,6 +1,7 @@
 package com.jkcredit.sysnews.model.dto.photo;
 
 import lombok.Data;
+import org.springframework.web.multipart.MultipartFile;
 
 import java.io.Serializable;
 
@@ -19,4 +20,5 @@ public class PhotoDto implements Serializable {
     private Integer type;
     private Integer activated;
     private Integer status;
+    private MultipartFile photo;
 }

+ 16 - 16
src/main/java/com/jkcredit/sysnews/resource/web/photo/PhotoResource.java

@@ -30,20 +30,20 @@ public class PhotoResource extends WebResource {
     @Autowired
     PhotoService photoService;
 
-    @PostMapping("/upload")
-    @PreAuthorize("hasPermission('photo','upload')")
-    @ApiOperation(value = "上传图片")
-    public ResponseData upload(@RequestParam("photo") MultipartFile photo) {
-        if (photo == null) {
-            return ResponseData.failed("上传失败,图片不能为空!");
-        }
-        try {
-            String url = photoService.upload(photo);
-            return ResponseData.success((Object) url);
-        } catch (ServiceException e) {
-            return ResponseData.failed("图片上传失败");
-        }
-    }
+//    @PostMapping("/upload")
+//    @PreAuthorize("hasPermission('photo','upload')")
+//    @ApiOperation(value = "上传图片")
+//    public ResponseData upload(@RequestParam("photo") MultipartFile photo) {
+//        if (photo == null) {
+//            return ResponseData.failed("上传失败,图片不能为空!");
+//        }
+//        try {
+//            String url = photoService.upload(photo);
+//            return ResponseData.success((Object) url);
+//        } catch (ServiceException e) {
+//            return ResponseData.failed("图片上传失败");
+//        }
+//    }
 
     @GetMapping("/page/photos")
     @PreAuthorize("hasPermission('photo','read')")
@@ -78,9 +78,9 @@ public class PhotoResource extends WebResource {
             validate(photoFB);
 
             PhotoDto photoDto = mapper.map(photoFB, PhotoDto.class);
-            photoService.savePhoto(photoDto);
+            PhotoVo photoVo = photoService.savePhoto(photoDto);
 
-            return ResponseData.success("新增图片成功");
+            return ResponseData.success(photoVo);
         } catch (ServiceException e) {
             log.error(e.getMessage());
             return ResponseData.failed("新增图片失败,失败原因:" + e.getMessage());

+ 3 - 3
src/main/java/com/jkcredit/sysnews/resource/web/photo/fb/PhotoFB.java

@@ -1,6 +1,7 @@
 package com.jkcredit.sysnews.resource.web.photo.fb;
 
 import lombok.Data;
+import org.springframework.web.multipart.MultipartFile;
 
 import javax.validation.constraints.NotNull;
 import javax.validation.constraints.Pattern;
@@ -17,9 +18,8 @@ public class PhotoFB {
     @NotNull(message = "图片名称不能为空")
     private String name;
 
-    @NotNull(message = "图片地址不能为空")
-    private String url;
-
     @NotNull(message = "图片类型不能为空")
     private Integer type;
+
+    private MultipartFile photo;
 }

+ 0 - 4
src/main/java/com/jkcredit/sysnews/service/newsArticle/NewsArticleServiceImpl.java

@@ -31,8 +31,6 @@ import java.util.Date;
 @Slf4j
 @Service
 public class NewsArticleServiceImpl extends BaseService implements NewsArticleService {
-    @Value("${photo.absolutePath}")
-    private String absolutePath;
     @Value("${photo.relativePath}")
     private String relativePath;
 
@@ -49,7 +47,6 @@ public class NewsArticleServiceImpl extends BaseService implements NewsArticleSe
     private NewsArticleVo convert(NewsArticlePo po) {
         NewsArticleVo vo = new NewsArticleVo();
         BeanUtils.copyProperties(po, vo);
-        vo.setPhotoUrl(absolutePath + vo.getPhotoUrl());
         return vo;
     }
 
@@ -58,7 +55,6 @@ public class NewsArticleServiceImpl extends BaseService implements NewsArticleSe
         NewsArticlePo newsArticlePo = mapper.getNewsArticleById(id);
         NewsArticleVo newsArticleVo = new NewsArticleVo();
         BeanUtil.copyProperties(newsArticleVo, newsArticlePo);
-        newsArticleVo.setPhotoUrl(absolutePath + newsArticleVo.getPhotoUrl());
         return newsArticleVo;
     }
 

+ 2 - 2
src/main/java/com/jkcredit/sysnews/service/photo/PhotoService.java

@@ -13,11 +13,11 @@ import org.springframework.web.multipart.MultipartFile;
  * @version: V1.0
  **/
 public interface PhotoService {
-    String upload(MultipartFile photo);
+//    PhotoVo upload(MultipartFile photo);
 
     IPage<PhotoVo> getPhotos(Page page, PhotoDto photoDto);
 
-    void savePhoto(PhotoDto photoDto);
+    PhotoVo savePhoto(PhotoDto photoDto);
 
     void editPhoto(PhotoDto photoDto);
 

+ 36 - 24
src/main/java/com/jkcredit/sysnews/service/photo/PhotoServiceImpl.java

@@ -21,7 +21,9 @@ import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
 import java.io.File;
+import java.io.IOException;
 import java.util.Date;
+import java.util.UUID;
 
 /**
  * @description:
@@ -32,25 +34,30 @@ import java.util.Date;
 @Slf4j
 @Service
 public class PhotoServiceImpl extends BaseService implements PhotoService {
-    @Value("${photo.absolutePath}")
-    private String absolutePath;
     @Value("${photo.relativePath}")
     private String relativePath;
 
     @Resource
     PhotoMapper photoMapper;
 
-    @Override
-    public String upload(MultipartFile photo) {
-        String filePath = absolutePath + relativePath;
-        String realPath = UploadUtil.upload(photo, filePath);
-        if (!StringUtils.isBlank(realPath)) {
-            return realPath;
-        } else {
-            log.error("图片上传失败");
-            throw new ServiceException("图片上传失败");
-        }
-    }
+//    @Override
+//    public PhotoVo upload(MultipartFile photo) {
+//        String filePath = absolutePath + relativePath;
+//        String fileName = UUID.randomUUID().toString().replace("-","") + "-" + photo.getOriginalFilename();
+//        try {
+//            UploadUtil.upload(photo, filePath, fileName);
+//        } catch (IOException e) {
+//            log.error("图片上传错误,错误原因:" + e.getMessage());
+//            throw new ServiceException("图片上传失败");
+//        }
+//
+//        if (!StringUtils.isBlank(realPath)) {
+//            return realPath;
+//        } else {
+//            log.error("图片上传失败");
+//            throw new ServiceException("图片上传失败");
+//        }
+//    }
 
     @Override
     public IPage<PhotoVo> getPhotos(Page page, PhotoDto photoDto) {
@@ -61,27 +68,34 @@ public class PhotoServiceImpl extends BaseService implements PhotoService {
     private PhotoVo convert(PhotoPo po) {
         PhotoVo vo = new PhotoVo();
         BeanUtils.copyProperties(po, vo);
-        vo.setUrl(absolutePath + vo.getUrl());
         return vo;
     }
 
     @Override
-    public void savePhoto(PhotoDto photoDto) {
+    public PhotoVo savePhoto(PhotoDto photoDto) {
         validate(photoDto);
+        String fileName = UUID.randomUUID().toString().replace("-","") + "-" +
+                photoDto.getPhoto().getOriginalFilename();
+        String filePath = relativePath + File.separator + fileName;
 
-        String photoPath = photoDto.getUrl();
-        String[] photoPathArgs = photoPath.split("/");
-        String url = "/" +photoPathArgs[photoPathArgs.length-3] + "/" + photoPathArgs[photoPathArgs.length-2]
-                + "/" + photoPathArgs[photoPathArgs.length-1];
-        photoDto.setUrl(url);
+        try {
+            UploadUtil.upload(photoDto.getPhoto(), filePath);
+        } catch (IOException ioe) {
+            log.error("图片上传失败,失败原因:{}", ioe.getMessage());
+            throw new ServiceException("图片上传失败");
+        }
 
+        photoDto.setUrl(filePath);
         PhotoPo photoPo = new PhotoPo();
         BeanUtil.copyProperties(photoPo, photoDto);
-
         photoPo.setCreateTime(new Date());
 
         try {
             photoMapper.insert(photoPo);
+            PhotoVo photoVo = new PhotoVo();
+            BeanUtil.copyProperties(photoVo, photoPo);
+            photoVo.setStatus(2);
+            return photoVo;
         } catch (Exception e) {
             log.error("新增图片数据失败,失败原因:{}", e.getMessage());
             throw new ServiceException("新增图片数据失败");
@@ -116,8 +130,7 @@ public class PhotoServiceImpl extends BaseService implements PhotoService {
         AssertUtils.assertNotNull(photoPo, CommonConstant.PHOTO_NOT_EXIST);
 
         String url = photoPo.getUrl();
-        String realPath = absolutePath + url;
-        File file = new File(realPath);
+        File file = new File(url);
 
         boolean deleteResult = false;
         if (file.exists()) {
@@ -143,7 +156,6 @@ public class PhotoServiceImpl extends BaseService implements PhotoService {
         PhotoPo photoPo = photoMapper.selectById(id);
         PhotoVo photoVo = new PhotoVo();
         BeanUtil.copyProperties(photoVo, photoPo);
-        photoVo.setUrl(absolutePath + photoVo.getUrl());
         return photoVo;
     }
 }

+ 5 - 13
src/main/java/com/jkcredit/sysnews/util/UploadUtil.java

@@ -5,7 +5,6 @@ import org.springframework.web.multipart.MultipartFile;
 
 import java.io.File;
 import java.io.IOException;
-import java.util.UUID;
 
 /**
  * @description:
@@ -15,18 +14,11 @@ import java.util.UUID;
  **/
 @Slf4j
 public class UploadUtil {
-    public static String upload(MultipartFile file, String path) {
-        String realPath = path + File.separator + UUID.randomUUID().toString().replace("-","") + "-" + file.getOriginalFilename();
-        try {
-            File dest = new File(realPath);
-            if (!dest.getParentFile().exists()) {
-                dest.getParentFile().mkdir();
-            }
-            file.transferTo(dest);
-            return realPath;
-        } catch (IOException e) {
-            log.error("图片上传错误,错误原因:{}", e.getMessage(), e);
-            return null;
+    public static void upload(MultipartFile file, String path) throws IOException{
+        File dest = new File(path);
+        if (!dest.getParentFile().exists()) {
+            dest.getParentFile().mkdir();
         }
+        file.transferTo(dest);
     }
 }

+ 1 - 2
src/main/resources/application-dev.yml

@@ -10,5 +10,4 @@ spring:
 mybatis-plus:
   mapper-locations: classpath:mapper/*Mapper.xml
 photo:
-  absolutePath: C:\Users\Administrator\Desktop
-  relativePath: \excel\photo
+  relativePath: C:\Users\Administrator\Desktop\excel\photo

+ 0 - 1
src/main/resources/application-prod.yml

@@ -10,5 +10,4 @@ spring:
 mybatis-plus:
   mapper-locations: classpath:mapper/*Mapper.xml
 photo:
-  absolutePath:
   relativePath: