Bladeren bron

更新密码

523096025 1 jaar geleden
bovenliggende
commit
053b68b516

+ 8 - 3
huimv-admin/src/main/java/com/huimv/guowei/admin/controller/SysCameraController.java

@@ -1,6 +1,7 @@
 package com.huimv.guowei.admin.controller;
 
 
+import com.huimv.guowei.admin.common.token.TokenSign;
 import com.huimv.guowei.admin.common.utils.Result;
 import com.huimv.guowei.admin.common.utils.ResultCode;
 import com.huimv.guowei.admin.entity.SysCamera;
@@ -37,12 +38,9 @@ public class SysCameraController {
 
     @PostMapping("/add")
     public Result add(@RequestBody SysCamera camera) {
-
         if (camera == null) {
             return new Result(ResultCode.FAIL, "添加失败");
         }
-
-
         return cameraService.add(camera);
 
     }
@@ -65,4 +63,11 @@ public class SysCameraController {
         List list = cameraService.getCameraDetails(cameraListsVo);
         return new Result(ResultCode.SUCCESS, list);
     }
+
+    @GetMapping("/initCamera")
+    private Result initCamera(@RequestParam(name = "farmId") Integer farmId, HttpServletRequest request) {
+        Integer userId = TokenSign.getMemberIdByJwtToken(request);
+
+        return cameraService.initCamera(farmId, userId);
+    }
 }

+ 1 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/service/ISysCameraService.java

@@ -29,4 +29,5 @@ public interface ISysCameraService extends IService<SysCamera> {
 
     Result updates(SysCamera camera);
 
+    Result initCamera(Integer farmId, Integer userId);
 }

+ 1 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/service/impl/BaseBuildingServiceImpl.java

@@ -336,6 +336,7 @@ public class BaseBuildingServiceImpl extends ServiceImpl<BaseBuildingMapper, Bas
             List<TreeBaseBuilding> childNodes = parent.getChildNode();
             childNodes.sort(Comparator.comparingInt(o -> Integer.parseInt(o.getId())));
         });
+//        roots.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(TreeBaseBuilding::getId)) ),ArrayList ::new));
         return roots;
     }
 }

+ 59 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/service/impl/SysCameraServiceImpl.java

@@ -11,10 +11,12 @@ import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.huimv.guowei.admin.common.utils.Result;
 import com.huimv.guowei.admin.common.utils.ResultCode;
+import com.huimv.guowei.admin.entity.BaseScreenCameraAccount;
 import com.huimv.guowei.admin.entity.SysCamera;
 import com.huimv.guowei.admin.entity.SysCameraArea;
 import com.huimv.guowei.admin.entity.SysCameraBrand;
 import com.huimv.guowei.admin.entity.vo.*;
+import com.huimv.guowei.admin.mapper.BaseScreenCameraAccountMapper;
 import com.huimv.guowei.admin.mapper.SysCameraAreaMapper;
 import com.huimv.guowei.admin.mapper.SysCameraBrandMapper;
 import com.huimv.guowei.admin.mapper.SysCameraMapper;
@@ -46,6 +48,9 @@ public class SysCameraServiceImpl extends ServiceImpl<SysCameraMapper, SysCamera
     @Autowired
     private SysCameraBrandMapper cameraBrandMapper;
 
+    @Autowired
+    private BaseScreenCameraAccountMapper cameraAccountMapper;
+
     @Override
     public Result listPage(CameraListVo cameraListVo) {
         Integer current = cameraListVo.getCurrent();
@@ -199,4 +204,58 @@ public class SysCameraServiceImpl extends ServiceImpl<SysCameraMapper, SysCamera
         return new Result(10000, "修改成功", true);
     }
 
+    @Override
+    public Result initCamera(Integer farmId, Integer userId) {
+        BaseScreenCameraAccount cameraAccount = cameraAccountMapper.selectOne(new QueryWrapper<BaseScreenCameraAccount>().eq("farm_id", farmId).eq("account_id", userId));
+        Integer cameraId;
+        if (ObjectUtil.isEmpty(cameraAccount)) {
+            SysCamera one = this.getOne(new QueryWrapper<SysCamera>().eq("run_status", 1).eq("farm_id", farmId).last("limit 1"));
+            if (ObjectUtil.isNotEmpty(one)){
+                cameraId = one.getId();
+            }else {
+                return new Result(10001,"改牧场无耳标", false);
+            }
+
+        } else {
+            cameraId = cameraAccount.getCameraId();
+        }
+
+
+        SysCamera camera = this.getById(cameraId);
+        if (!camera.getRunStatus()) {
+            return new Result(10001, "该摄像头已经被禁用", false);
+        }
+
+        return new Result(ResultCode.SUCCESS, getCameraVo(camera));
+    }
+
+    public CameraVo getCameraVo(SysCamera camera) {
+
+        String cameraAccount = camera.getAccount();
+        String cameraPassword = camera.getPassword();
+        String camerIp = camera.getCameraIp();
+        String cameraName = camera.getCameraName();
+        Integer areaId = camera.getAreaId();
+        String url = cameraAreaMapper.selectById(areaId).getPublicUrl();
+
+        String rtsp;
+        SysCameraBrand cameraBrand = cameraBrandMapper.selectById(camera.getBrandId());
+        Integer type = cameraBrand.getStreamType();
+        if (type == 0) {
+            rtsp = cameraBrand.getMainStream();
+        } else {
+            rtsp = cameraBrand.getAssistStream();
+        }
+
+
+        CameraVo cameraVo = new CameraVo();
+        cameraVo.setAreaId(areaId);
+
+        cameraVo.setWsUrl("ws://" + url + "/camera_relay?tcpaddr=" + cameraAccount + "%3A" + cameraPassword + "%40" + camerIp);
+        cameraVo.setRtspUrl("rtsp://" + cameraAccount + ":" + cameraPassword + "@" + camerIp + rtsp);
+        cameraVo.setCameraName(cameraName);
+        return cameraVo;
+    }
+
+
 }

+ 14 - 28
input/src/main/java/com/huimv/input/server/EnvInputServerHandler.java

@@ -1,5 +1,6 @@
 package com.huimv.input.server;
 
+import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ObjectUtil;
@@ -115,37 +116,22 @@ public class EnvInputServerHandler extends ChannelInboundHandlerAdapter {
                 }
             }
 
-
-
-
-        }else if (length== 18 ) {
-            LocalTime currentTime = LocalTime.now();
-
-            // 定义一点和三点的时间
-            LocalTime startTime = LocalTime.of(0, 55);
-            LocalTime endTime = LocalTime.of(1, 5);
-//            LocalTime startTime = LocalTime.of(3, 0);
-//            LocalTime endTime = LocalTime.of(3, 0);
-
-            // 检查当前时间是否在一点到三点之间
-            if (isTimeInRange(currentTime, startTime, endTime)) {
-
-                List<DeviceFarmConfig> farm_id = farmConfigMapper.selectList(new QueryWrapper<DeviceFarmConfig>().like("device_id",str ));
-                if (ObjectUtil.isNotEmpty(farm_id)) {
-                    String timestr = farm_id.stream()
-                            .map(config -> String.format("%02X%02X", config.getStartHour(), config.getEndHour()))
-                            .collect(Collectors.joining());
-
-                    for (int i = 0; i < 120; i++) {
-                        ctx.writeAndFlush(Unpooled.copiedBuffer(hexStringToByteArray("550B02" + getDateX() + timestr + "AA")));
-                        Thread.sleep(3000);
-                    }
-
+        }/*else if (length== 18 ) {*/
+            List<DeviceFarmConfig> farm_id = farmConfigMapper.selectList(new QueryWrapper<DeviceFarmConfig>().like("device_id",str ));
+            if (ObjectUtil.isNotEmpty(farm_id)) {
+                String timestr = farm_id.stream()
+                        .map(config -> String.format("%02X%02X", config.getStartHour(), config.getEndHour()))
+                        .collect(Collectors.joining());
+               String str1 =  "550B02" + getDateX() + timestr + "AA";
+                for (int i = 0; i < 10; i++) {
+                    ctx.writeAndFlush(Unpooled.copiedBuffer(hexStringToByteArray(str1)));
+                    System.out.println(i+" : 下发数据:"+str1);
+                    Thread.sleep(3000);
                 }
 
             }
 
-        }
+//        }
 
         System.out.println("保存成功");
     }
@@ -540,7 +526,7 @@ public class EnvInputServerHandler extends ChannelInboundHandlerAdapter {
 //            System.out.println("##时间同步请求-未注册设备 idCode=" + deviceCode);
 //            return;
 //        }
-        String answerText = "hm+2+"  + "+0+4+end";
+        String answerText = "hm+2+" + "+0+4+end";
 //        log.info(">>时间同步请求-应答数据>>" + answerText);
         answerCmd(answerText, ctx);
     }