Kaynağa Gözat

异物侵限接口开发

gao.qiang 2 ay önce
ebeveyn
işleme
3aefe84eec

+ 2 - 0
business-service/src/main/java/com/ozs/service/mapper/MsgAlarmExtMapper.java

@@ -2,6 +2,7 @@ package com.ozs.service.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ozs.service.entity.MsgAlarmExt;
+import org.apache.ibatis.annotations.Mapper;
 
 /**
  * <p>
@@ -11,6 +12,7 @@ import com.ozs.service.entity.MsgAlarmExt;
  * @author ozs
  * @since 2023-04-10
  */
+@Mapper
 public interface MsgAlarmExtMapper extends BaseMapper<MsgAlarmExt> {
 
 }

+ 20 - 23
hazard-sdk/src/main/java/com/ozs/controller/upload/GeoHazardMonitorTokenController.java

@@ -125,20 +125,19 @@ public class GeoHazardMonitorTokenController {
         AjaxResults AjaxResults1 = null;
         if (StringUtils.isNotEmpty(token)) {
             String[] split = token.split("-");
-            String key = split[split.length - 1];
             if (ObjectUtils.isEmpty(parameterVo)) {
                 AjaxResults1 = new AjaxResults(0, "parameterVo参数不能为空");
-                return SM4Utils.encryptData_ECB(JSONObject.toJSONString(AjaxResults1), key);
+                return SM4Utils.encryptData_ECB(JSONObject.toJSONString(AjaxResults1), "f5408458becc8c68");
             }
-            String s = SM4Utils.decryptData_ECB(parameterVo.getParameter(), key);
+            String s = SM4Utils.decryptData_ECB(parameterVo.getParameter(), "f5408458becc8c68");
             ReqMsgAlarmMatterVo reqMsgAlarmMatterVo = JSON.parseObject(s, ReqMsgAlarmMatterVo.class);
             if (!reqMsgAlarmMatterVo.getAlarmMile().toString().matches(PATTERNS)) {
                 AjaxResults1 = new AjaxResults(0, "报警里程位置填写错误");
-                return SM4Utils.encryptData_ECB(JSONObject.toJSONString(AjaxResults1), key);
+                return SM4Utils.encryptData_ECB(JSONObject.toJSONString(AjaxResults1), "f5408458becc8c68");
             }
             if (reqMsgAlarmMatterVo.getLineDir() != 1 && reqMsgAlarmMatterVo.getLineDir() != 2) {
                 AjaxResults1 = new AjaxResults(0, "行别填写错误");
-                return SM4Utils.encryptData_ECB(JSONObject.toJSONString(AjaxResults1), key);
+                return SM4Utils.encryptData_ECB(JSONObject.toJSONString(AjaxResults1), "f5408458becc8c68");
             }
             LambdaQueryWrapper<BaseRailwayManagement> queryWrapper = new LambdaQueryWrapper<BaseRailwayManagement>();
             if (!ObjectUtils.isEmpty(reqMsgAlarmMatterVo.getAlarmRailway())) {
@@ -147,23 +146,23 @@ public class GeoHazardMonitorTokenController {
             BaseRailwayManagement baseRailwayManagement = baseRailwayManagementService.getOne(queryWrapper);
             if (ObjectUtils.isEmpty(baseRailwayManagement)) {
                 AjaxResults1 = new AjaxResults(0, "填写的报警线路编码不存在");
-                return SM4Utils.encryptData_ECB(JSONObject.toJSONString(AjaxResults1), key);
+                return SM4Utils.encryptData_ECB(JSONObject.toJSONString(AjaxResults1), "f5408458becc8c68");
             }
             if (ObjectUtils.isEmpty(reqMsgAlarmMatterVo.getAlarmId())) {
                 AjaxResults1 = new AjaxResults(0, "报警的唯一标识不能为空");
-                return SM4Utils.encryptData_ECB(JSONObject.toJSONString(AjaxResults1), key);
+                return SM4Utils.encryptData_ECB(JSONObject.toJSONString(AjaxResults1), "f5408458becc8c68");
             }
             if (ObjectUtils.isEmpty(reqMsgAlarmMatterVo.getAlarmTime())) {
                 AjaxResults1 = new AjaxResults(0, "报警时间不能为空");
-                return SM4Utils.encryptData_ECB(JSONObject.toJSONString(AjaxResults1), key);
+                return SM4Utils.encryptData_ECB(JSONObject.toJSONString(AjaxResults1), "f5408458becc8c68");
             }
             if (reqMsgAlarmMatterVo.getAlarmType() < 1 || reqMsgAlarmMatterVo.getAlarmType() > 4) {
                 AjaxResults1 = new AjaxResults(0, "报警病害类型填写错误");
-                return SM4Utils.encryptData_ECB(JSONObject.toJSONString(AjaxResults1), key);
+                return SM4Utils.encryptData_ECB(JSONObject.toJSONString(AjaxResults1), "f5408458becc8c68");
             }
             if (!reqMsgAlarmMatterVo.getAlarmLevel().toString().matches(PATTERNS)) {
                 AjaxResults1 = new AjaxResults(0, "报警级别填写错误");
-                return SM4Utils.encryptData_ECB(JSONObject.toJSONString(AjaxResults1), key);
+                return SM4Utils.encryptData_ECB(JSONObject.toJSONString(AjaxResults1), "f5408458becc8c68");
             }
             if (reqMsgAlarmMatterVo.getAlarmTime().toString().length() == 10) {
                 reqMsgAlarmMatterVo.setAlarmTime(reqMsgAlarmMatterVo.getAlarmTime() * 1000);
@@ -198,11 +197,11 @@ public class GeoHazardMonitorTokenController {
                         for (int i = 0; i < files1.length; i++) {
                             if (ObjectUtils.isEmpty(files1[i].fileUrl)) {
                                 AjaxResults1 = new AjaxResults(0, "上传文件地址不能为空!!!");
-                                return SM4Utils.encryptData_ECB(JSONObject.toJSONString(AjaxResults1), key);
+                                return SM4Utils.encryptData_ECB(JSONObject.toJSONString(AjaxResults1), "f5408458becc8c68");
                             }
                             if (files1[i].fileType < 1 || files1[i].fileType > 3) {
                                 AjaxResults1 = new AjaxResults(0, "文件类型填写错误!!!");
-                                return SM4Utils.encryptData_ECB(JSONObject.toJSONString(AjaxResults1), key);
+                                return SM4Utils.encryptData_ECB(JSONObject.toJSONString(AjaxResults1), "f5408458becc8c68");
                             }
                             MsgAlarmExt msgAlarmExt = new MsgAlarmExt();
                             msgAlarmExt.setAlarmId(msgAlarmMatter.getAlarmId());
@@ -239,7 +238,7 @@ public class GeoHazardMonitorTokenController {
             long end = System.currentTimeMillis();
             log.info("报警信息数据传输结束时间: " + simpleDateFormat.format(new Date(end)));
             log.info("报警信息数据传输请求用时时间:" + (end - begin) + "毫秒");
-            return SM4Utils.encryptData_ECB(JSONObject.toJSONString(AjaxResults1), key);
+            return SM4Utils.encryptData_ECB(JSONObject.toJSONString(AjaxResults1), "f5408458becc8c68");
         } else {
             AjaxResults1 = new AjaxResults(2, "token验证失败");
             return JSONObject.toJSONString(AjaxResults1);
@@ -260,36 +259,34 @@ public class GeoHazardMonitorTokenController {
         log.info("token:{}", token);
         log.info("parameter:{}", parameterVo);
         if (StringUtils.isNotEmpty(token)) {
-            String[] split = token.split("-");
-            String key = split[split.length - 1];
             if (ObjectUtils.isEmpty(parameterVo)) {
                 AjaxResults1 = new AjaxResults(0, "parameterVo参数不能为空");
-                return SM4Utils.encryptData_ECB(JSONObject.toJSONString(AjaxResults1), key);
+                return SM4Utils.encryptData_ECB(JSONObject.toJSONString(AjaxResults1), "f5408458becc8c68");
             }
-            String s = SM4Utils.decryptData_ECB(parameterVo.getParameter(), key);
+            String s = SM4Utils.decryptData_ECB(parameterVo.getParameter(), "f5408458becc8c68");
             ReleaseAlarmVo releaseAlarmVo = JSON.parseObject(s, ReleaseAlarmVo.class);
             if (ObjectUtils.isEmpty(releaseAlarmVo.getAlarmId())) {
                 AjaxResults1 = new AjaxResults(0, "报警的唯一标识不能为空");
-                return SM4Utils.encryptData_ECB(JSONObject.toJSONString(AjaxResults1), key);
+                return SM4Utils.encryptData_ECB(JSONObject.toJSONString(AjaxResults1), "f5408458becc8c68");
             }
             if (ObjectUtils.isEmpty(releaseAlarmVo.getReleaseTime())) {
                 AjaxResults1 = new AjaxResults(0, "解除报警时间不能为空");
-                return SM4Utils.encryptData_ECB(JSONObject.toJSONString(AjaxResults1), key);
+                return SM4Utils.encryptData_ECB(JSONObject.toJSONString(AjaxResults1), "f5408458becc8c68");
             }
             if (ObjectUtils.isEmpty(releaseAlarmVo.getReleaseContent())) {
                 AjaxResults1 = new AjaxResults(0, "解除原因不能为空");
-                return SM4Utils.encryptData_ECB(JSONObject.toJSONString(AjaxResults1), key);
+                return SM4Utils.encryptData_ECB(JSONObject.toJSONString(AjaxResults1), "f5408458becc8c68");
             }
             if (ObjectUtils.isEmpty(releaseAlarmVo.getOperator())) {
                 AjaxResults1 = new AjaxResults(0, "解除人不能为空");
-                return SM4Utils.encryptData_ECB(JSONObject.toJSONString(AjaxResults1), key);
+                return SM4Utils.encryptData_ECB(JSONObject.toJSONString(AjaxResults1), "f5408458becc8c68");
             }
             LambdaQueryWrapper<MsgAlarmMatter> wrapper = new LambdaQueryWrapper<>();
             wrapper.eq(MsgAlarmMatter::getAlarmId, releaseAlarmVo.getAlarmId());
             MsgAlarmMatter msgAlarm = msgAlarmMatterService.getOne(wrapper);
             if (ObjectUtils.isEmpty(msgAlarm)) {
                 AjaxResults1 = new AjaxResults(0, "不存在该报警的唯一标识的数据");
-                return SM4Utils.encryptData_ECB(JSONObject.toJSONString(AjaxResults1), key);
+                return SM4Utils.encryptData_ECB(JSONObject.toJSONString(AjaxResults1), "f5408458becc8c68");
             }
             if (releaseAlarmVo.getReleaseTime().toString().length() == 10) {
                 releaseAlarmVo.setReleaseTime(releaseAlarmVo.getReleaseTime() * 1000);
@@ -314,7 +311,7 @@ public class GeoHazardMonitorTokenController {
                 map.put("releaseState", 2);
                 AjaxResults1 = new AjaxResults(0, "失败", map);
             }
-            return SM4Utils.encryptData_ECB(JSONObject.toJSONString(AjaxResults1), key);
+            return SM4Utils.encryptData_ECB(JSONObject.toJSONString(AjaxResults1), "f5408458becc8c68");
         } else {
             AjaxResults1 = new AjaxResults(2, "token验证失败");
             return JSONObject.toJSONString(AjaxResults1);

+ 49 - 49
hazard-sdk/src/main/java/com/ozs/controller/upload/UploadController.java

@@ -7,7 +7,9 @@ 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.entity.BaseRailwayManagement;
 import com.ozs.service.service.BaseCameraManagementService;
+import com.ozs.service.service.BaseRailwayManagementService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.util.ObjectUtils;
@@ -20,12 +22,12 @@ 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 {
 
+    public static final String PATTERN = "^[0-9]*$";
     @Value("${minio.bucketName}")
     private String bucketName;
 
@@ -35,88 +37,86 @@ public class UploadController {
     BaseCameraManagementService baseCameraManagementService;
     @Value("${base.imgUrl}")
     private String imgUrl;
+    @Autowired
+    private BaseRailwayManagementService baseRailwayManagementService;
 
 
     @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 = "alarmMile", required = false) Integer alarmMile,
+                                  @RequestParam(value = "alarmRailway", required = false) String alarmRailway,
+                                  @RequestParam(value = "fileType", required = false) Integer fileType,
                                   @RequestParam(value = "lineDir", required = false) Integer lineDir) throws Exception {
 
         JSONObject jsonObject = new JSONObject();
         if (stream.isEmpty()) {
-            jsonObject.put("resultCode", 2);
+            jsonObject.put("resultCode", 0);
             jsonObject.put("message", "失败");
             jsonObject.put("data", "不能上传空文件哦");
             return jsonObject;
         }
+        if (lineDir!=1&&lineDir!=2){
+            jsonObject.put("resultCode", 0);
+            jsonObject.put("message", "失败");
+            jsonObject.put("data", "行别填写错误");
+            return jsonObject;
+        }
+        if (!alarmMile.toString().matches(PATTERN)) {
+            jsonObject.put("resultCode", 0);
+            jsonObject.put("message", "失败");
+            jsonObject.put("data", "报警里程位置填写格式不正确");
+            return jsonObject;
+        }
+        if (!size.toString().matches(PATTERN)) {
+            jsonObject.put("resultCode", 0);
+            jsonObject.put("message", "失败");
+            jsonObject.put("data", "要上传的stream的填写格式不正确");
+            return jsonObject;
+        }
+        if (ObjectUtils.isEmpty(contentType)){
+            jsonObject.put("resultCode", 0);
+            jsonObject.put("message", "失败");
+            jsonObject.put("data", "Content Type不能为空");
+            return jsonObject;
+        }
+        LambdaQueryWrapper<BaseRailwayManagement> queryWrapper = new LambdaQueryWrapper<BaseRailwayManagement>();
+        if (!ObjectUtils.isEmpty(alarmRailway)) {
+            queryWrapper.eq(BaseRailwayManagement::getRailwayCode, alarmRailway);
+        }
+        BaseRailwayManagement baseRailwayManagement = baseRailwayManagementService.getOne(queryWrapper);
+        if (ObjectUtils.isEmpty(baseRailwayManagement)){
+            jsonObject.put("resultCode", 0);
+            jsonObject.put("message", "失败");
+            jsonObject.put("data", "填写的报警线路编码不存在");
+            return jsonObject;
+        }
         //图片保存路径
         //String fileUploadPath ="/"+userId+"/image";
         String uploadFile = null;
-        if (stream != null && !stream.isEmpty()) {
+        if (!stream.isEmpty()) {
 
             String imageName = stream.getOriginalFilename();
             if (StringUtils.isNotBlank(imageName)) {
-                LambdaQueryWrapper<BaseCameraManagement> wrapper = new LambdaQueryWrapper<BaseCameraManagement>();
-                if (!ObjectUtils.isEmpty(cameraCode)) {
-                    wrapper.eq(BaseCameraManagement::getCameraCode, cameraCode);
-                }
-                List<BaseCameraManagement> 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;
+                String imgName = alarmRailway + "/" + lineDir + "/" + alarmMile + "/" + format1 + "/" + filename;
                 minioUtils.minIoClientUpload(stream.getInputStream(), imgName);
-                uploadFile = imgUrl+"/" + baseCameraManagement.getRailwayCode() + "/" + line + "/" + baseCameraManagement.getInstallMile() + "/" + format1 + "/" + filename;
+                uploadFile = imgUrl+"/" + alarmRailway + "/" + lineDir + "/" + alarmMile + "/" + format1 + "/" + filename;
             }
         } else {
-            jsonObject.put("resultCode", 2);
+            jsonObject.put("resultCode", 0);
             jsonObject.put("message", "失败");
             jsonObject.put("data", "图片为null");
             return jsonObject;
         }
         Map<String, Object> map = new HashMap<>();
-        map.put("imageUrl", uploadFile);
+        map.put("url", 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);
-}
 }