UploadController.java 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. package com.ozs.controller.upload;
  2. import com.alibaba.fastjson2.JSONObject;
  3. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  4. import com.ozs.common.utils.MinioUtils;
  5. import com.ozs.common.utils.StringUtils;
  6. import com.ozs.common.utils.stateSecrets.SM4Utils;
  7. import com.ozs.common.utils.uuid.IdUtils;
  8. import com.ozs.service.entity.BaseCameraManagement;
  9. import com.ozs.service.service.BaseCameraManagementService;
  10. import org.springframework.beans.factory.annotation.Autowired;
  11. import org.springframework.beans.factory.annotation.Value;
  12. import org.springframework.util.ObjectUtils;
  13. import org.springframework.web.bind.annotation.PostMapping;
  14. import org.springframework.web.bind.annotation.RequestParam;
  15. import org.springframework.web.bind.annotation.RestController;
  16. import org.springframework.web.multipart.MultipartFile;
  17. import javax.annotation.Resource;
  18. import java.text.SimpleDateFormat;
  19. import java.util.Date;
  20. import java.util.HashMap;
  21. import java.util.List;
  22. import java.util.Map;
  23. @RestController
  24. public class UploadController {
  25. @Value("${minio.bucketName}")
  26. private String bucketName;
  27. @Resource
  28. MinioUtils minioUtils;
  29. @Autowired
  30. BaseCameraManagementService baseCameraManagementService;
  31. @Value("${base.imgUrl}")
  32. private String imgUrl;
  33. @PostMapping("/api/putFile")
  34. public JSONObject upLoadImage(@RequestParam("stream") MultipartFile stream,
  35. @RequestParam(value = "cameraCode", required = false) String cameraCode,
  36. @RequestParam(value = "size", required = false) Long size,
  37. @RequestParam(value = "contentType", required = false) String contentType,
  38. @RequestParam(value = "lineDir", required = false) Integer lineDir) throws Exception {
  39. JSONObject jsonObject = new JSONObject();
  40. if (stream.isEmpty()) {
  41. jsonObject.put("resultCode", 2);
  42. jsonObject.put("message", "失败");
  43. jsonObject.put("data", "不能上传空文件哦");
  44. return jsonObject;
  45. }
  46. //图片保存路径
  47. //String fileUploadPath ="/"+userId+"/image";
  48. String uploadFile = null;
  49. if (stream != null && !stream.isEmpty()) {
  50. String imageName = stream.getOriginalFilename();
  51. if (StringUtils.isNotBlank(imageName)) {
  52. LambdaQueryWrapper<BaseCameraManagement> wrapper = new LambdaQueryWrapper<BaseCameraManagement>();
  53. if (!ObjectUtils.isEmpty(cameraCode)) {
  54. wrapper.eq(BaseCameraManagement::getCameraCode, cameraCode);
  55. }
  56. List<BaseCameraManagement> list = baseCameraManagementService.list(wrapper);
  57. BaseCameraManagement baseCameraManagement = list.get(0);
  58. String filename = IdUtils.fastSimpleUUID() + stream.getOriginalFilename().substring(stream.getOriginalFilename().lastIndexOf("."));
  59. SimpleDateFormat dateFormat1 = new SimpleDateFormat("yyyy-MM-dd");
  60. String format1 = dateFormat1.format(new Date());
  61. Integer line = 0;
  62. if (!ObjectUtils.isEmpty(lineDir)) {
  63. line = lineDir;
  64. } else {
  65. line = baseCameraManagement.getLineDir();
  66. }
  67. String imgName = baseCameraManagement.getRailwayCode() + "/" + line + "/" + baseCameraManagement.getInstallMile() + "/" + format1 + "/" + filename;
  68. minioUtils.minIoClientUpload(stream.getInputStream(), imgName);
  69. uploadFile = imgUrl+"/" + baseCameraManagement.getRailwayCode() + "/" + line + "/" + baseCameraManagement.getInstallMile() + "/" + format1 + "/" + filename;
  70. }
  71. } else {
  72. jsonObject.put("resultCode", 2);
  73. jsonObject.put("message", "失败");
  74. jsonObject.put("data", "图片为null");
  75. return jsonObject;
  76. }
  77. Map<String, Object> map = new HashMap<>();
  78. map.put("imageUrl", uploadFile);
  79. jsonObject.put("resultCode", 1);
  80. jsonObject.put("message", "成功");
  81. jsonObject.put("data", map);
  82. return jsonObject;
  83. }
  84. // public static void main(String[] args) {
  85. // String[] sre = new String[3];
  86. // sre[0] = "/1244/1/25/2023-03-03/63a1fe3084f24928915dafcf8a47a925.png";
  87. // sre[1] = "/1244/1/25/2023-03-03/63a1fe3084f24928915dafcf8a47a925.png";
  88. // sre[2] = "/1244/1/25/2023-03-03/63a1fe3084f24928915dafcf8a47a925.png";
  89. // JSONObject res = new JSONObject();
  90. // res.put("alarmCamera", "123");
  91. // res.put("alarmId", "6588");
  92. // res.put("alarmTime", 68822222222L);
  93. // res.put("alarmMile", "1,2,6,8,6,7");
  94. // res.put("content", "报警内容");
  95. // res.put("alarmConfidence", 88);
  96. // res.put("lineDir", 1);
  97. // res.put("alarmAttr", "aaa");
  98. // res.put("alarmType", 1);
  99. // res.put("imageUrls", sre);
  100. // String s = SM4Utils.encryptData_ECB(JSONObject.toJSONString(res), "4370780c9a8c43e5");
  101. // System.out.println(s);
  102. // }
  103. public static void main(String[] args) {
  104. JSONObject res = new JSONObject();
  105. res.put("cameraCode", "654321");
  106. res.put("time", "1232456789");
  107. res.put("electricity", 88);
  108. res.put("cameraState", 1);
  109. String s = SM4Utils.encryptData_ECB(JSONObject.toJSONString(res), "4370780c9a8c43e5");
  110. System.out.println(s);
  111. }
  112. }