diff --git a/bnyer-api/bnyer-api-img/src/main/java/com/bnyer/img/api/dto/TiktokImgMiniDto.java b/bnyer-api/bnyer-api-img/src/main/java/com/bnyer/img/api/dto/TiktokImgMiniDto.java index 848255a..870f465 100644 --- a/bnyer-api/bnyer-api-img/src/main/java/com/bnyer/img/api/dto/TiktokImgMiniDto.java +++ b/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") private Long typeId; + /** + * 状态(0->待审核;1->审核通过) + */ + @ApiModelProperty(value="状态(0->待审核;1->审核通过;2->审核拒绝)") + private String status; + + public TiktokImg extractParam(){ TiktokImg tiktokImg = new TiktokImg(); BeanUtils.copyProperties(this,tiktokImg); diff --git a/bnyer-gateway/src/main/resources/bootstrap.yml b/bnyer-gateway/src/main/resources/bootstrap.yml index f52b854..e6b60c7 100644 --- a/bnyer-gateway/src/main/resources/bootstrap.yml +++ b/bnyer-gateway/src/main/resources/bootstrap.yml @@ -1,6 +1,6 @@ # Tomcat server: - port: 7010 + port: 6010 # Spring spring: diff --git a/bnyer-services/bnyer-file/pom.xml b/bnyer-services/bnyer-file/pom.xml index 4ee76a5..edfcb81 100644 --- a/bnyer-services/bnyer-file/pom.xml +++ b/bnyer-services/bnyer-file/pom.xml @@ -93,6 +93,16 @@ spring-mock 2.0.8 + + com.dimensionalnode + bnyer-api-img + + + com.dimensionalnode + bnyer-common-security + + + diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/controller/SysFileController.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/controller/SysFileController.java index f15f167..33666e3 100644 --- a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/controller/SysFileController.java +++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/controller/SysFileController.java @@ -1,7 +1,9 @@ package com.bnyer.file.controller; +import cn.hutool.log.Log; import com.bnyer.common.core.domain.R; import com.bnyer.file.config.ImgConfig; +import com.bnyer.file.dto.FileUploadDto; import com.bnyer.file.service.IFileService; import com.bnyer.file.service.IQiniuService; import com.bnyer.file.service.MinioService; @@ -11,12 +13,10 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PostMapping; -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.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; +import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.List; @@ -39,6 +39,7 @@ public class SysFileController { @Autowired private ImgConfig imgConfig; + /** * 批量上传图片 */ @@ -108,4 +109,21 @@ public class SysFileController { return R.ok(url); } + @ApiOperation(value="图片批量检测上传保存") + @PostMapping("/checkUploadSave") + @ResponseBody + public R checkUploadSave(@RequestParam Long creatorId, @RequestParam Long typeId, @RequestParam ArrayList 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(); + } + } diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/dto/FileUploadDto.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/dto/FileUploadDto.java new file mode 100644 index 0000000..dbb439f --- /dev/null +++ b/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 files; +} diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/IFileService.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/IFileService.java index e11f7cc..d57ed55 100644 --- a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/IFileService.java +++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/IFileService.java @@ -1,5 +1,6 @@ package com.bnyer.file.service; +import com.bnyer.file.dto.FileUploadDto; import com.bnyer.file.vo.ChekFileVo; import org.springframework.web.multipart.MultipartFile; @@ -12,4 +13,6 @@ import java.util.ArrayList; */ public interface IFileService { ArrayList checkImg(ArrayList multipartFiles); + //图片检测+图片上传+图片保存 + void checkUploadSave(FileUploadDto fileUploadDto); } diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/FileServiceImpl.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/FileServiceImpl.java index 67a10a9..0394ebe 100644 --- a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/FileServiceImpl.java +++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/FileServiceImpl.java @@ -1,14 +1,20 @@ package com.bnyer.file.service.impl; +import com.bnyer.file.dto.FileUploadDto; import com.bnyer.file.service.IFileService; import com.bnyer.file.service.IQiniuService; import com.bnyer.file.service.ITikTokImage; import com.bnyer.file.utils.ImgUtil; 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.stereotype.Service; import org.springframework.web.multipart.MultipartFile; +import javax.annotation.Resource; import java.util.ArrayList; /** @@ -22,6 +28,8 @@ public class FileServiceImpl implements IFileService { private IQiniuService qiniuService; @Autowired private ITikTokImage tikTokImage; + @Autowired + private RemoteImgService remoteImgService; @Override public ArrayList checkImg(ArrayList multipartFiles) { ArrayList chekFileVos = new ArrayList<>(); @@ -29,6 +37,7 @@ public class FileServiceImpl implements IFileService { ArrayList multipartFileList = qiniuService.checkImageFormat(multipartFiles); for (MultipartFile multipartFile : multipartFileList) { ChekFileVo chekFileVo = new ChekFileVo(); + chekFileVo.setFile(multipartFile); String filename = multipartFile.getResource().getFilename(); chekFileVo.setFileName(filename); String imageString = ImgUtil.getImageString(multipartFile); @@ -60,4 +69,20 @@ public class FileServiceImpl implements IFileService { } 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); + } + + } } diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/vo/ChekFileVo.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/vo/ChekFileVo.java index 12f6e03..28ba930 100644 --- a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/vo/ChekFileVo.java +++ b/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 lombok.Getter; import lombok.Setter; +import org.springframework.web.multipart.MultipartFile; /** * @Author qyh @@ -18,4 +19,6 @@ public class ChekFileVo { private String status; @ApiModelProperty(value="文件名称") private String fileName; + @ApiModelProperty(value = "文件") + private MultipartFile file; } diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/vo/UploadVo.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/vo/UploadVo.java new file mode 100644 index 0000000..105e70b --- /dev/null +++ b/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 { +}