Browse Source

上传文件保存

feature-1.0-img-prototype
qyhdd 4 years ago
parent
commit
c3b3602cf5
  1. 7
      bnyer-api/bnyer-api-img/src/main/java/com/bnyer/img/api/dto/TiktokImgMiniDto.java
  2. 2
      bnyer-gateway/src/main/resources/bootstrap.yml
  3. 10
      bnyer-services/bnyer-file/pom.xml
  4. 26
      bnyer-services/bnyer-file/src/main/java/com/bnyer/file/controller/SysFileController.java
  5. 38
      bnyer-services/bnyer-file/src/main/java/com/bnyer/file/dto/FileUploadDto.java
  6. 3
      bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/IFileService.java
  7. 25
      bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/FileServiceImpl.java
  8. 3
      bnyer-services/bnyer-file/src/main/java/com/bnyer/file/vo/ChekFileVo.java
  9. 9
      bnyer-services/bnyer-file/src/main/java/com/bnyer/file/vo/UploadVo.java

7
bnyer-api/bnyer-api-img/src/main/java/com/bnyer/img/api/dto/TiktokImgMiniDto.java

@ -27,6 +27,13 @@ public class TiktokImgMiniDto implements Serializable {
@ApiModelProperty(value="分类id") @ApiModelProperty(value="分类id")
private Long typeId; private Long typeId;
/**
* 状态(0->待审核;1->审核通过)
*/
@ApiModelProperty(value="状态(0->待审核;1->审核通过;2->审核拒绝)")
private String status;
public TiktokImg extractParam(){ public TiktokImg extractParam(){
TiktokImg tiktokImg = new TiktokImg(); TiktokImg tiktokImg = new TiktokImg();
BeanUtils.copyProperties(this,tiktokImg); BeanUtils.copyProperties(this,tiktokImg);

2
bnyer-gateway/src/main/resources/bootstrap.yml

@ -1,6 +1,6 @@
# Tomcat # Tomcat
server: server:
port: 7010 port: 6010
# Spring # Spring
spring: spring:

10
bnyer-services/bnyer-file/pom.xml

@ -93,6 +93,16 @@
<artifactId>spring-mock</artifactId> <artifactId>spring-mock</artifactId>
<version>2.0.8</version> <version>2.0.8</version>
</dependency> </dependency>
<dependency>
<groupId>com.dimensionalnode</groupId>
<artifactId>bnyer-api-img</artifactId>
</dependency>
<dependency>
<groupId>com.dimensionalnode</groupId>
<artifactId>bnyer-common-security</artifactId>
</dependency>
</dependencies> </dependencies>

26
bnyer-services/bnyer-file/src/main/java/com/bnyer/file/controller/SysFileController.java

@ -1,7 +1,9 @@
package com.bnyer.file.controller; package com.bnyer.file.controller;
import cn.hutool.log.Log;
import com.bnyer.common.core.domain.R; import com.bnyer.common.core.domain.R;
import com.bnyer.file.config.ImgConfig; import com.bnyer.file.config.ImgConfig;
import com.bnyer.file.dto.FileUploadDto;
import com.bnyer.file.service.IFileService; import com.bnyer.file.service.IFileService;
import com.bnyer.file.service.IQiniuService; import com.bnyer.file.service.IQiniuService;
import com.bnyer.file.service.MinioService; import com.bnyer.file.service.MinioService;
@ -11,12 +13,10 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -39,6 +39,7 @@ public class SysFileController {
@Autowired @Autowired
private ImgConfig imgConfig; private ImgConfig imgConfig;
/** /**
* 批量上传图片 * 批量上传图片
*/ */
@ -108,4 +109,21 @@ public class SysFileController {
return R.ok(url); return R.ok(url);
} }
@ApiOperation(value="图片批量检测上传保存")
@PostMapping("/checkUploadSave")
@ResponseBody
public R checkUploadSave(@RequestParam Long creatorId, @RequestParam Long typeId, @RequestParam ArrayList<MultipartFile> files) {
try {
FileUploadDto fileUploadDto = new FileUploadDto();
fileUploadDto.setFiles(files);
fileUploadDto.setCreatorId(creatorId);
fileUploadDto.setTypeId(typeId);
fileService.checkUploadSave(fileUploadDto);
} catch (Exception e) {
log.error("文件上传失败,原因为:【{}】", e.getMessage());
return R.fail("banner上传失败!");
}
return R.ok();
}
} }

38
bnyer-services/bnyer-file/src/main/java/com/bnyer/file/dto/FileUploadDto.java

@ -0,0 +1,38 @@
package com.bnyer.file.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import org.springframework.web.multipart.MultipartFile;
import java.util.ArrayList;
/**
* @Author qyh
* @Date 2022/7/9 18:24
* @Description
*/
@Getter
@Setter
@ApiModel("文件上传")
public class FileUploadDto {
@ApiModelProperty(value="id")
private Long id;
@ApiModelProperty(value="图片地址")
private String imgUrl;
@ApiModelProperty(value="艺术家id")
private Long creatorId;
@ApiModelProperty(value="分类id")
private Long typeId;
@ApiModelProperty(value="状态(0->待审核;1->审核通过;2->审核拒绝)")
private String status;
@ApiModelProperty(value="要上传的图片")
private ArrayList<MultipartFile> files;
}

3
bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/IFileService.java

@ -1,5 +1,6 @@
package com.bnyer.file.service; package com.bnyer.file.service;
import com.bnyer.file.dto.FileUploadDto;
import com.bnyer.file.vo.ChekFileVo; import com.bnyer.file.vo.ChekFileVo;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
@ -12,4 +13,6 @@ import java.util.ArrayList;
*/ */
public interface IFileService { public interface IFileService {
ArrayList<ChekFileVo> checkImg(ArrayList<MultipartFile> multipartFiles); ArrayList<ChekFileVo> checkImg(ArrayList<MultipartFile> multipartFiles);
//图片检测+图片上传+图片保存
void checkUploadSave(FileUploadDto fileUploadDto);
} }

25
bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/FileServiceImpl.java

@ -1,14 +1,20 @@
package com.bnyer.file.service.impl; package com.bnyer.file.service.impl;
import com.bnyer.file.dto.FileUploadDto;
import com.bnyer.file.service.IFileService; import com.bnyer.file.service.IFileService;
import com.bnyer.file.service.IQiniuService; import com.bnyer.file.service.IQiniuService;
import com.bnyer.file.service.ITikTokImage; import com.bnyer.file.service.ITikTokImage;
import com.bnyer.file.utils.ImgUtil; import com.bnyer.file.utils.ImgUtil;
import com.bnyer.file.vo.ChekFileVo; import com.bnyer.file.vo.ChekFileVo;
import com.bnyer.file.vo.TiktokImgVo;
import com.bnyer.img.api.RemoteImgService;
import com.bnyer.img.api.dto.TiktokImgMiniDto;
import com.bnyer.system.api.RemoteFileService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import java.util.ArrayList; import java.util.ArrayList;
/** /**
@ -22,6 +28,8 @@ public class FileServiceImpl implements IFileService {
private IQiniuService qiniuService; private IQiniuService qiniuService;
@Autowired @Autowired
private ITikTokImage tikTokImage; private ITikTokImage tikTokImage;
@Autowired
private RemoteImgService remoteImgService;
@Override @Override
public ArrayList<ChekFileVo> checkImg(ArrayList<MultipartFile> multipartFiles) { public ArrayList<ChekFileVo> checkImg(ArrayList<MultipartFile> multipartFiles) {
ArrayList<ChekFileVo> chekFileVos = new ArrayList<>(); ArrayList<ChekFileVo> chekFileVos = new ArrayList<>();
@ -29,6 +37,7 @@ public class FileServiceImpl implements IFileService {
ArrayList<MultipartFile> multipartFileList = qiniuService.checkImageFormat(multipartFiles); ArrayList<MultipartFile> multipartFileList = qiniuService.checkImageFormat(multipartFiles);
for (MultipartFile multipartFile : multipartFileList) { for (MultipartFile multipartFile : multipartFileList) {
ChekFileVo chekFileVo = new ChekFileVo(); ChekFileVo chekFileVo = new ChekFileVo();
chekFileVo.setFile(multipartFile);
String filename = multipartFile.getResource().getFilename(); String filename = multipartFile.getResource().getFilename();
chekFileVo.setFileName(filename); chekFileVo.setFileName(filename);
String imageString = ImgUtil.getImageString(multipartFile); String imageString = ImgUtil.getImageString(multipartFile);
@ -60,4 +69,20 @@ public class FileServiceImpl implements IFileService {
} }
return chekFileVos; return chekFileVos;
} }
@Override
public void checkUploadSave(FileUploadDto fileUploadDto) {
//检测图片
for (ChekFileVo chekFileVo : checkImg(fileUploadDto.getFiles())) {
//图片上传
String imgUrl = qiniuService.userUpload(chekFileVo.getFile());
TiktokImgMiniDto tiktokImg = new TiktokImgMiniDto();
tiktokImg.setImgUrl(imgUrl);
tiktokImg.setStatus(chekFileVo.getStatus());
tiktokImg.setTypeId(fileUploadDto.getTypeId());
tiktokImg.setCreatorId(fileUploadDto.getCreatorId());
remoteImgService.insertTiktokImg(tiktokImg);
}
}
} }

3
bnyer-services/bnyer-file/src/main/java/com/bnyer/file/vo/ChekFileVo.java

@ -4,6 +4,7 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import org.springframework.web.multipart.MultipartFile;
/** /**
* @Author qyh * @Author qyh
@ -18,4 +19,6 @@ public class ChekFileVo {
private String status; private String status;
@ApiModelProperty(value="文件名称") @ApiModelProperty(value="文件名称")
private String fileName; private String fileName;
@ApiModelProperty(value = "文件")
private MultipartFile file;
} }

9
bnyer-services/bnyer-file/src/main/java/com/bnyer/file/vo/UploadVo.java

@ -0,0 +1,9 @@
package com.bnyer.file.vo;
/**
* @Author qyh
* @Date 2022/7/9 18:22
* @Description
*/
public class UploadVo {
}
Loading…
Cancel
Save