OrderTaskImageController.java 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. package com.ydtech.modules.order.controller;
  2. import com.ydtech.core.page.BaseController;
  3. import com.ydtech.core.page.HttpResult;
  4. import com.ydtech.exception.SystemException;
  5. import com.ydtech.modules.esm.model.InsTaskImage;
  6. import com.ydtech.modules.esm.service.InsTaskImageService;
  7. import com.ydtech.modules.order.convert.InsTaskImageConvert;
  8. import com.ydtech.modules.order.entity.po.InsUploadFiles;
  9. import com.ydtech.modules.order.entity.vo.InsTaskImageVo;
  10. import com.ydtech.modules.order.entity.vo.InsTaskImagesVo;
  11. import com.ydtech.modules.order.service.InsTaskImagesService;
  12. import com.ydtech.modules.order.service.InsUploadFilesService;
  13. import com.ydtech.utils.ImageCompressionUtils;
  14. import com.ydtech.utils.StringUtils;
  15. import com.ydtech.utils.idgen.IdGenerate;
  16. import com.ydtech.validation.annotation.CheckObjectNotNull;
  17. import io.swagger.annotations.Api;
  18. import io.swagger.annotations.ApiOperation;
  19. import org.springframework.web.bind.annotation.*;
  20. import org.springframework.web.multipart.MultipartFile;
  21. import javax.servlet.http.HttpServletRequest;
  22. import javax.validation.constraints.NotBlank;
  23. import java.io.IOException;
  24. import java.util.Base64;
  25. import java.util.Date;
  26. import java.util.List;
  27. @Api(tags = "影像")
  28. @RequestMapping("/ins/taskImage")
  29. @RestController
  30. public class OrderTaskImageController extends BaseController {
  31. private final InsTaskImageService insTaskImageService;
  32. private final InsUploadFilesService insUploadFilesService;
  33. private final InsTaskImagesService insTaskImagesService;
  34. public OrderTaskImageController(InsTaskImageService insTaskImageService, InsUploadFilesService insUploadFilesService, InsTaskImagesService insTaskImagesService) {
  35. this.insTaskImageService = insTaskImageService;
  36. this.insUploadFilesService = insUploadFilesService;
  37. this.insTaskImagesService = insTaskImagesService;
  38. }
  39. @PostMapping(value = "/uploadImage")
  40. @ApiOperation(value = "上传影像")
  41. public HttpResult uploadImage(@RequestBody InsTaskImageVo insTaskImageVo) {
  42. InsTaskImage record = InsTaskImageConvert.INSTANCE.toInsTaskImage(insTaskImageVo);
  43. // 将数据存入数据库
  44. if (record.getTaskid() == null || record.getTaskid().equalsIgnoreCase("")) {
  45. throw new SystemException("任务号taskid不能为空");
  46. }
  47. if (record.getImgtype() == null || record.getImgtype().equalsIgnoreCase("")) {
  48. throw new SystemException("图片类型imgtype不能为空");
  49. }
  50. if (record.getImgList() == null || record.getImgList().isEmpty()) {
  51. throw new SystemException("图片列表imgList不能为空");
  52. }
  53. this.insTaskImageService.delete(record.getTaskid(), record.getImgtype());
  54. for (int i = 1; i <= record.getImgList().size(); i++) {
  55. String image = record.getImgList().get(i - 1);
  56. // 空文件不上传
  57. if (StringUtils.isNullOrEmpty(image)) {
  58. continue;
  59. }
  60. record.setId(IdGenerate.nextId());
  61. record.setCreator(getUserName());
  62. record.setCreatetime(new Date());
  63. record.setImage(image);
  64. this.insTaskImageService.insert(record);
  65. }
  66. return HttpResult.ok();
  67. }
  68. @PostMapping(value = "/uploadImages")
  69. @ApiOperation(value = "新上传影像")
  70. public HttpResult uploadImages(@RequestBody InsTaskImagesVo insTaskImagesVo, HttpServletRequest request) {
  71. return insTaskImagesService.uploadImages(insTaskImagesVo, getJwtUserName(request));
  72. }
  73. @GetMapping(value = "/findById")
  74. @ApiOperation(value = "根据任务号查询")
  75. public HttpResult findById(@RequestParam String taskid, String imgtype) {
  76. if (taskid == null || taskid.equalsIgnoreCase("")) {
  77. return HttpResult.ok("任务号taskid不能为空");
  78. }
  79. if (imgtype == null || imgtype.equalsIgnoreCase("")) {
  80. return HttpResult.ok("图片类型imgtype不能为空");
  81. }
  82. List<InsTaskImage> selectList = this.insTaskImageService.selectList(" where taskid=? and imgtype=?", new Object[]{taskid, imgtype});
  83. return HttpResult.ok(selectList);
  84. }
  85. @GetMapping(value = "/findByQuoteNo")
  86. @ApiOperation(value = "根据报价号查询")
  87. public HttpResult findByQuoteNo(@RequestParam @NotBlank(message = "报价号ID不能为空") String quoteNo) {
  88. return this.insTaskImagesService.findByQuoteNo(quoteNo);
  89. }
  90. @PostMapping("/imageCompression")
  91. @ApiOperation(value = "图片压缩")
  92. public HttpResult imageCompression(@RequestParam(value = "file") MultipartFile file) {
  93. try {
  94. // 转换后的图片
  95. byte[] bytes_bytes = ImageCompressionUtils.compressPicForScale(file.getBytes(), 100);
  96. String s = Base64.getEncoder().encodeToString(bytes_bytes);
  97. return HttpResult.ok("转换成功", s);
  98. } catch (Exception e) {
  99. e.printStackTrace();
  100. throw new SystemException("图片压缩失败");
  101. }
  102. }
  103. @PostMapping("/uploadFile")
  104. @ApiOperation(value = "文件上传")
  105. public HttpResult uploadFile(@CheckObjectNotNull(message = "上传文件不能为空") MultipartFile multipartFile, String type, HttpServletRequest request) throws IOException {
  106. InsUploadFiles insUploadFiles = insUploadFilesService.uploadFile(multipartFile, getJwtUserName(request), type);
  107. return HttpResult.ok(insUploadFiles);
  108. }
  109. }