Przeglądaj źródła

新增 测报灯重新识别接口

zhaiyifei 1 rok temu
rodzic
commit
17789130d6

+ 1 - 1
src/main/java/com/yunfeiyun/agmp/iotm/device/pest/controller/IotCbdimgController.java

@@ -75,7 +75,7 @@ public class IotCbdimgController extends BaseController {
 
         return AjaxResult.success(iotCbdimgSumInfoResVo);
     }
-    
+
     /**
      * 识别数据列表
      */

+ 13 - 13
src/main/java/com/yunfeiyun/agmp/iotm/device/pest/controller/IotCbdrecogController.java

@@ -1,16 +1,16 @@
 package com.yunfeiyun.agmp.iotm.device.pest.controller;
 
+import com.yunfeiyun.agmp.common.constant.ErrorCode;
 import com.yunfeiyun.agmp.common.core.controller.BaseController;
 import com.yunfeiyun.agmp.common.core.domain.AjaxResult;
+import com.yunfeiyun.agmp.iot.common.domain.reqvo.IotCbdrecogAgainReqVo;
 import com.yunfeiyun.agmp.iot.common.domain.reqvo.IotCbdrecogReqVo;
 import com.yunfeiyun.agmp.iot.common.service.MongoService;
 import com.yunfeiyun.agmp.iotm.device.pest.domain.IotCbdrecogInfoResVo;
 import com.yunfeiyun.agmp.iotm.device.pest.service.IIotCbdrecogService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 /**
  * 虫情识别信息表Controller
@@ -38,6 +38,16 @@ public class IotCbdrecogController extends BaseController
         return success(resVo);
     }
 
+    /**
+     * 测报灯图片识别数据详情
+     */
+    @PreAuthorize("@ss.hasPermi('iot:cbdrecog:again')")
+    @PostMapping(value = "/again")
+    public AjaxResult againRecog(@RequestBody IotCbdrecogAgainReqVo reqVo) {
+        iotCbdrecogService.againRecog(reqVo);
+        return new AjaxResult(ErrorCode.SUCCESS.getCode(), "下发成功,等待设备响应结果", null);
+    }
+
 //    /**
 //     * 识别数据列表
 //     */
@@ -91,14 +101,4 @@ public class IotCbdrecogController extends BaseController
 //        return rspData;
 //    }
 //
-//    /**
-//     * 测报灯图片识别数据详情
-//     */
-//    @PreAuthorize("@ss.hasPermi('iot:cbdrecog:again')")
-//    @PostMapping(value = "/again")
-//    public AjaxResult againRecog(@RequestBody IotCbdrecogAgainReqVo reqVo) {
-//
-//        IotCbdrecogResVo resVo = iotCbdrecogService.againRecog(reqVo);
-//        return success(resVo);
-//    }
 }

+ 1 - 1
src/main/java/com/yunfeiyun/agmp/iotm/device/pest/service/IIotCbdrecogService.java

@@ -37,5 +37,5 @@ public interface IIotCbdrecogService
      */
     public List<IotCbdrecogResVo> getCbdImgLimit(List<String> devIds, String startData, String endDate, Integer limitNum);
 
-    public IotCbdrecogResVo againRecog(IotCbdrecogAgainReqVo reqVo);
+    public void againRecog(IotCbdrecogAgainReqVo reqVo);
 }

+ 27 - 36
src/main/java/com/yunfeiyun/agmp/iotm/device/pest/service/impl/IotCbdrecogServiceImpl.java

@@ -10,9 +10,11 @@ import com.yunfeiyun.agmp.common.utils.DateUtils;
 import com.yunfeiyun.agmp.common.utils.JSONUtils;
 import com.yunfeiyun.agmp.common.utils.SecurityUtils;
 import com.yunfeiyun.agmp.common.utils.StringUtils;
+import com.yunfeiyun.agmp.iot.common.constant.mq.IotActionEnums;
 import com.yunfeiyun.agmp.iot.common.domain.*;
 import com.yunfeiyun.agmp.iot.common.domain.reqvo.IotCbdrecogAgainReqVo;
 import com.yunfeiyun.agmp.iot.common.domain.reqvo.IotCbdrecogReqVo;
+import com.yunfeiyun.agmp.iot.common.enums.EnumCbdRecogType;
 import com.yunfeiyun.agmp.iot.common.exception.IotBizException;
 import com.yunfeiyun.agmp.iot.common.service.IotWeatherService;
 import com.yunfeiyun.agmp.iot.common.service.MongoService;
@@ -446,44 +448,33 @@ public class IotCbdrecogServiceImpl implements IIotCbdrecogService {
 
     }
 
+    /**
+     * @param reqVo
+     * @return
+     */
     @Override
-    public IotCbdrecogResVo againRecog(IotCbdrecogAgainReqVo reqVo) {
-        return null;
+    public void againRecog(IotCbdrecogAgainReqVo reqVo) {
+        String cbdrecogType = reqVo.getCbdrecogType();
+        String cbdimgBid = reqVo.getCbdimgBid();
+        String devBid = reqVo.getDevBid();
+
+        if (EnumCbdRecogType.findEnumByCode(cbdrecogType) == null) {
+            throw new IotBizException(ErrorCode.FAILURE.getCode(), "识别类型错误");
+        }
+
+        IotDevice iotDevice = iotDeviceService.selectIotDeviceByDevBid(devBid);
+        if (iotDevice == null) {
+            throw new IotBizException(ErrorCode.FAILURE.getCode(), "设备不存在");
+        }
+
+        Map<String, Object> map = new HashMap<>();
+        map.put("cbdimgBid", cbdimgBid);
+        IotCbdimg iotCbdimg = (IotCbdimg) mongoService.findOne(IotCbdimg.class, map, null, null);
+        if (iotCbdimg == null) {
+            throw new IotBizException(ErrorCode.FAILURE.getCode(), "图片不存在");
+        }
+        iotsMqProviderService.sendBaseDataToIots(IotActionEnums.DEVICE_CBD_AGAIN_RECORD,reqVo,"测报灯重新识别");
     }
-//
-//    /**
-//     * @param reqVo
-//     * @return
-//     */
-//    @Override
-//    public IotCbdrecogResVo againRecog(IotCbdrecogAgainReqVo reqVo) {
-//        String cbdrecogType = reqVo.getCbdrecogType();
-//        String cbdimgBid = reqVo.getCbdimgBid();
-//        String devBid = reqVo.getDevBid();
-//
-//        if (EnumCbdRecogType.findEnumByCode(cbdrecogType) == null) {
-//            throw new IotBizException(ErrorCode.FAILURE.getCode(), "识别类型错误");
-//        }
-//
-//        IotDevice iotDevice = iotDeviceService.selectIotDeviceByDevBid(devBid);
-//        if (iotDevice == null) {
-//            throw new IotBizException(ErrorCode.FAILURE.getCode(), "设备不存在");
-//        }
-//
-//        Map<String, Object> map = new HashMap<>();
-//        map.put("cbdimgBid", cbdimgBid);
-//        IotCbdimg iotCbdimg = (IotCbdimg) mongoService.findOne(IotCbdimg.class, map, null, null);
-//        if (iotCbdimg == null) {
-//            throw new IotBizException(ErrorCode.FAILURE.getCode(), "图片不存在");
-//        }
-//        iotsMqProviderService.sendBaseDataToIots(IotActionEnums.DEVICE_CBD_AGAIN_RECORD,reqVo,"测报灯重新识别");
-//        //Object recogResult = iotmMqService.sendMsgAndReceive("againRecog", IotMqConstant.CBD_IMAGE_AGAIN_RECOGE, reqVo);
-//        IotCbdrecogReqVo iotCbdrecogReqVo = new IotCbdrecogReqVo();
-//        iotCbdrecogReqVo.setCbdimgBid(reqVo.getCbdimgBid());
-//        iotCbdrecogReqVo.setCbdrecogMarktype("1");
-//        iotCbdrecogReqVo.setCbdrecogType(reqVo.getCbdrecogType());
-//        return info(iotCbdrecogReqVo);
-//    }
 
     public String getPestRecogImgOssUrl(String base64, String imgId) {
         if (base64.contains(",")) {