From 91c67198a84e9c0a76cc0154fbebf62813c1de26 Mon Sep 17 00:00:00 2001 From: jinlin <jinlin> Date: 星期三, 13 三月 2024 18:06:09 +0800 Subject: [PATCH] 修改 --- modules/mainPart/src/main/java/com/zt/life/modules/sysPictureBase/controller/SysPictureBaseController.java | 122 ++++++++++++++++++++++++++++++++-------- 1 files changed, 96 insertions(+), 26 deletions(-) diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/sysPictureBase/controller/SysPictureBaseController.java b/modules/mainPart/src/main/java/com/zt/life/modules/sysPictureBase/controller/SysPictureBaseController.java index 36701f5..11cc5a0 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/sysPictureBase/controller/SysPictureBaseController.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/sysPictureBase/controller/SysPictureBaseController.java @@ -1,6 +1,7 @@ package com.zt.life.modules.sysPictureBase.controller; +import com.spire.xls.Workbook; import com.zt.common.annotation.LogOperation; import com.zt.common.constant.Constant; import com.zt.common.annotation.QueryParam; @@ -16,13 +17,26 @@ import com.zt.life.modules.sysPictureBase.service.SysPictureBaseService; import com.zt.life.sys.dto.OssDto; import com.zt.life.sys.service.SysOssConfigService; +import com.zt.modules.oss.enums.CloudChannel; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.http.HttpHeaders; +import org.springframework.http.HttpStatus; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; +import org.springframework.util.FileCopyUtils; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; import springfox.documentation.annotations.ApiIgnore; + +import javax.imageio.ImageIO; +import javax.servlet.http.HttpServletResponse; +import java.awt.image.BufferedImage; +import java.io.*; /** @@ -32,7 +46,7 @@ * @since 1.0.0 2024-02-27 */ @RestController -@RequestMapping("/sysPictureBase/SysPictureBase/") +@RequestMapping("/sysPictureBase/") @Api(tags = "sys_picture_base") public class SysPictureBaseController { @Autowired @@ -40,6 +54,8 @@ @Autowired private SysOssConfigService sysOssConfigService; + @Value("${zt.oss.local-path}") + private String localPath; @GetMapping("page") @ApiOperation("鍒嗛〉") @@ -58,38 +74,92 @@ @ApiOperation("淇℃伅") public Result<SysPictureBase> get(@PathVariable("id") Long id) { SysPictureBase data = sysPictureBaseService.get(id); - if (id != null) { - OssDto ossDto = sysOssConfigService.getOssByBusiType(id, "sys_picture"); - if (ossDto != null) { - data.setFiles(ossDto); - } - } return Result.ok(data); } - @PostMapping - @ApiOperation("鏂板") - @LogOperation("鏂板") - public Result insert(@RequestBody SysPictureBase sysPictureBase) { - //鏁堥獙鏁版嵁 - ValidatorUtils.validateEntity(sysPictureBase, AddGroup.class, DefaultGroup.class); - Integer no = sysPictureBaseService.getNo(); - sysPictureBase.setSortNo(no + 1); - sysPictureBaseService.insert(sysPictureBase); - sysOssConfigService.updateOss(sysPictureBase.getId(), sysPictureBase.getFiles());// 淇濆瓨闄勪欢 + @PostMapping("save") + @ApiOperation("淇濆瓨") + @LogOperation("淇濆瓨") + public Result save(@RequestBody MultipartFile file, Long id, String type, String subType, + String name, String contentType, String systemMark, Integer sortNo, String remark) { + SysPictureBase sysPictureBase; + if (id != null) { + sysPictureBase = sysPictureBaseService.get(id); + sysPictureBase.setType(type); + sysPictureBase.setSubType(subType); + sysPictureBase.setName(name); + sysPictureBase.setContentType(contentType); + sysPictureBase.setSystemMark(systemMark); + sysPictureBase.setSortNo(sortNo); + sysPictureBase.setRemark(remark); + sysPictureBaseService.update(sysPictureBase); + } else { + sysPictureBase = new SysPictureBase(); + sysPictureBase.setType(type); + sysPictureBase.setSubType(subType); + sysPictureBase.setName(name); + sysPictureBase.setContentType(contentType); + sysPictureBase.setSystemMark(systemMark); + Integer no = sysPictureBaseService.getNo(); + sysPictureBase.setSortNo(no + 1); + sysPictureBase.setRemark(remark); + sysPictureBaseService.insert(sysPictureBase); + } + if (file != null) { + BufferedImage bufferedImage = null; + try { + String fileName = file.getOriginalFilename(); + String[] arr = fileName.split("\\."); + String suffixName = arr[arr.length - 1].toLowerCase(); + + bufferedImage = ImageIO.read(file.getInputStream()); + // 瀹藉害 + int width = bufferedImage.getWidth(); + sysPictureBase.setWidth(width); + // 楂樺害 + int height = bufferedImage.getHeight(); + sysPictureBase.setHeight(height); + sysPictureBaseService.update(sysPictureBase); + String tempUploadDir = localPath + "/product_img/"; + File dir = new File(tempUploadDir); + if (!dir.exists()) { + dir.mkdirs(); + } + ImageIO.write(bufferedImage, suffixName, new File(tempUploadDir + sysPictureBase.getId().toString())); + } catch (IOException e) { + e.printStackTrace(); + } + + } return Result.ok(); } - @PutMapping - @ApiOperation("淇敼") - @LogOperation("淇敼") - public Result update(@RequestBody SysPictureBase sysPictureBase) { - //鏁堥獙鏁版嵁 - ValidatorUtils.validateEntity(sysPictureBase, UpdateGroup.class, DefaultGroup.class); - sysPictureBaseService.update(sysPictureBase); - sysOssConfigService.updateOss(sysPictureBase.getId(), sysPictureBase.getFiles());// 淇濆瓨闄勪欢 + @RequestMapping("/getProductImg") + public void getProductImg(HttpServletResponse response, Long id) { + try { + String tempUploadDir = localPath + "/product_img/" + id; + File file = new File(tempUploadDir); + //璇诲彇鎸囧畾璺緞涓嬮潰鐨勬枃浠� + InputStream in = new FileInputStream(file); - return Result.ok(); + OutputStream outputStream = new BufferedOutputStream(response.getOutputStream()); + //鍒涘缓瀛樻斁鏂囦欢鍐呭鐨勬暟缁� + byte[] buff = new byte[1024]; + //鎵�璇诲彇鐨勫唴瀹逛娇鐢╪鏉ユ帴鏀� + int n; + //褰撴病鏈夎鍙栧畬鏃�,缁х画璇诲彇,寰幆 + while ((n = in.read(buff)) != -1) { + //灏嗗瓧鑺傛暟缁勭殑鏁版嵁鍏ㄩ儴鍐欏叆鍒拌緭鍑烘祦涓� + outputStream.write(buff, 0, n); + } + //寮哄埗灏嗙紦瀛樺尯鐨勬暟鎹繘琛岃緭鍑� + outputStream.flush(); + //鍏虫祦 + outputStream.close(); + in.close(); + } catch (IOException e) { + e.printStackTrace(); + } } @DeleteMapping -- Gitblit v1.9.1