package com.ozs.controller.upload; import com.alibaba.fastjson2.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ozs.common.utils.MinioUtils; import com.ozs.common.utils.StringUtils; import com.ozs.common.utils.stateSecrets.SM4Utils; import com.ozs.common.utils.uuid.IdUtils; import com.ozs.service.entity.BaseCameraManagement; import com.ozs.service.service.BaseCameraManagementService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.util.ObjectUtils; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; @RestController public class UploadController { @Value("${minio.bucketName}") private String bucketName; @Resource MinioUtils minioUtils; @Autowired BaseCameraManagementService baseCameraManagementService; @Value("${base.imgUrl}") private String imgUrl; @PostMapping("/api/putFile") public JSONObject upLoadImage(@RequestParam("stream") MultipartFile stream, @RequestParam(value = "cameraCode", required = false) String cameraCode, @RequestParam(value = "size", required = false) Long size, @RequestParam(value = "contentType", required = false) String contentType, @RequestParam(value = "lineDir", required = false) Integer lineDir) throws Exception { JSONObject jsonObject = new JSONObject(); if (stream.isEmpty()) { jsonObject.put("resultCode", 2); jsonObject.put("message", "失败"); jsonObject.put("data", "不能上传空文件哦"); return jsonObject; } //图片保存路径 //String fileUploadPath ="/"+userId+"/image"; String uploadFile = null; if (stream != null && !stream.isEmpty()) { String imageName = stream.getOriginalFilename(); if (StringUtils.isNotBlank(imageName)) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper(); if (!ObjectUtils.isEmpty(cameraCode)) { wrapper.eq(BaseCameraManagement::getCameraCode, cameraCode); } List list = baseCameraManagementService.list(wrapper); BaseCameraManagement baseCameraManagement = list.get(0); String filename = IdUtils.fastSimpleUUID() + stream.getOriginalFilename().substring(stream.getOriginalFilename().lastIndexOf(".")); SimpleDateFormat dateFormat1 = new SimpleDateFormat("yyyy-MM-dd"); String format1 = dateFormat1.format(new Date()); Integer line = 0; if (!ObjectUtils.isEmpty(lineDir)) { line = lineDir; } else { line = baseCameraManagement.getLineDir(); } String imgName = baseCameraManagement.getRailwayCode() + "/" + line + "/" + baseCameraManagement.getInstallMile() + "/" + format1 + "/" + filename; minioUtils.minIoClientUpload(stream.getInputStream(), imgName); uploadFile = imgUrl+"/" + baseCameraManagement.getRailwayCode() + "/" + line + "/" + baseCameraManagement.getInstallMile() + "/" + format1 + "/" + filename; } } else { jsonObject.put("resultCode", 2); jsonObject.put("message", "失败"); jsonObject.put("data", "图片为null"); return jsonObject; } Map map = new HashMap<>(); map.put("imageUrl", uploadFile); jsonObject.put("resultCode", 1); jsonObject.put("message", "成功"); jsonObject.put("data", map); return jsonObject; } // public static void main(String[] args) { // String[] sre = new String[3]; // sre[0] = "/1244/1/25/2023-03-03/63a1fe3084f24928915dafcf8a47a925.png"; // sre[1] = "/1244/1/25/2023-03-03/63a1fe3084f24928915dafcf8a47a925.png"; // sre[2] = "/1244/1/25/2023-03-03/63a1fe3084f24928915dafcf8a47a925.png"; // JSONObject res = new JSONObject(); // res.put("alarmCamera", "123"); // res.put("alarmId", "6588"); // res.put("alarmTime", 68822222222L); // res.put("alarmMile", "1,2,6,8,6,7"); // res.put("content", "报警内容"); // res.put("alarmConfidence", 88); // res.put("lineDir", 1); // res.put("alarmAttr", "aaa"); // res.put("alarmType", 1); // res.put("imageUrls", sre); // String s = SM4Utils.encryptData_ECB(JSONObject.toJSONString(res), "4370780c9a8c43e5"); // System.out.println(s); // } public static void main(String[] args) { JSONObject res = new JSONObject(); res.put("cameraCode", "654321"); res.put("time", "1232456789"); res.put("electricity", 88); res.put("cameraState", 1); String s = SM4Utils.encryptData_ECB(JSONObject.toJSONString(res), "4370780c9a8c43e5"); System.out.println(s); } }