diff --git a/web/src/main/java/com/leaper/web/controller/CameraController.java b/web/src/main/java/com/leaper/web/controller/CameraController.java index 8bb7b8d..1426d5a 100644 --- a/web/src/main/java/com/leaper/web/controller/CameraController.java +++ b/web/src/main/java/com/leaper/web/controller/CameraController.java @@ -199,4 +199,30 @@ public class CameraController { return Result.success(); } + @GetMapping("/rtcConfig") + @ApiOperation(value = "获取rtcConfig") + public Result rtcConfig(String rtcServer) { + List cameraList = cameraService.getCamerasByRtcServer(rtcServer); + JSONObject jsonObject = new JSONObject(); + JSONObject server = new JSONObject(); + server.put("http_port",":8083"); + String [] strings = new String[1]; + strings[0] = "stun:stun.l.google.com:19302"; + server.put("ice_servers",strings); + server.put("ice_username",""); + server.put("ice_credential",""); + jsonObject.put("server",server); + JSONObject streams = new JSONObject(); + cameraList.forEach(camera -> { + JSONObject obj = new JSONObject(); + obj.put("on_demand",false); + obj.put("disable_audio",true); + obj.put("url",camera.getRtsp()); + streams.put("camera"+camera.getId(),obj); + }); + jsonObject.put("streams",streams); + + return Result.success(jsonObject.toJSONString()); + } + } diff --git a/web/src/main/java/com/leaper/web/service/CameraService.java b/web/src/main/java/com/leaper/web/service/CameraService.java index a78f8aa..63060ca 100644 --- a/web/src/main/java/com/leaper/web/service/CameraService.java +++ b/web/src/main/java/com/leaper/web/service/CameraService.java @@ -1,6 +1,7 @@ package com.leaper.web.service; import com.alibaba.excel.EasyExcel; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.zhehekeji.core.util.Assert; @@ -162,6 +163,13 @@ public class CameraService { return cameraMapper.selectByMap(new HashMap<>()); } + public List getCamerasByRtcServer(String rtcServer){ + if(StringUtils.isEmpty(rtcServer)){ + rtcServer = "127.0.0.1"; + } + return cameraMapper.selectList(new QueryWrapper().eq("rtc_server",rtcServer)); + } + /** * 导入IO配置 * diff --git a/web/src/main/java/com/leaper/web/service/CommandRunnable.java b/web/src/main/java/com/leaper/web/service/CommandRunnable.java index e2fff80..8fcceda 100644 --- a/web/src/main/java/com/leaper/web/service/CommandRunnable.java +++ b/web/src/main/java/com/leaper/web/service/CommandRunnable.java @@ -14,6 +14,9 @@ import org.slf4j.LoggerFactory; import org.springframework.util.StringUtils; import java.nio.charset.Charset; +import java.time.LocalDate; +import java.util.HashMap; +import java.util.Map; @Slf4j public class CommandRunnable implements Runnable{ @@ -24,6 +27,13 @@ public class CommandRunnable implements Runnable{ lastLotnum = lotnum; } + /** + * 用来记录 订单的时间,因为昆船的任务号没到30000就重新开始 + * 这里加上一个日期 + */ + private Map dateMap = new HashMap<>(); + + private static String lastLotnum; private PlcService plcService; @@ -75,8 +85,14 @@ public class CommandRunnable implements Runnable{ String srmNumber = null; String cmdName = null; if(dataInfo != null){ + LocalDate now = LocalDate.now(); + if(dateMap.get(dataInfo.getTaskId()) == null){ + dateMap.put(dataInfo.getTaskId(),now); + }else { + now = dateMap.get(dataInfo.getTaskId()); + } - plcCmdInfo = new PlcCmdInfo(dataInfo.getSRMNumber(), dataInfo.getTaskId(), dataInfo.getFromSide(), dataInfo.getFromDirection(), dataInfo.getFromColumn(), dataInfo.getFromRow(), dataInfo.getFromSeparation(),dataInfo.getToSide(), dataInfo.getToDirection(), dataInfo.getToColumn(), dataInfo.getToRow(),dataInfo.getToSeparation(),lotnum); + plcCmdInfo = new PlcCmdInfo(dataInfo.getSRMNumber(), dataInfo.getTaskId()+"-"+now, dataInfo.getFromSide(), dataInfo.getFromDirection(), dataInfo.getFromColumn(), dataInfo.getFromRow(), dataInfo.getFromSeparation(),dataInfo.getToSide(), dataInfo.getToDirection(), dataInfo.getToColumn(), dataInfo.getToRow(),dataInfo.getToSeparation(),lotnum); srmNumber = dataInfo.getSRMNumber(); cmdName = dataInfo.getCmdName(); @@ -119,6 +135,7 @@ public class CommandRunnable implements Runnable{ } plcService.gyrateCamera(plcCmdInfo,Cmd.C5.name()); plcService.orderStop(plcCmdInfo); + dateMap.remove(dataInfo.getTaskId()); } } else if (Cmd.C.name().equals(ksecInfo.getType())) {