diff --git a/SC-boot/linkage-scm/src/main/java/jnpf/monitorItem/controller/Monitoring_itemController.java b/SC-boot/linkage-scm/src/main/java/jnpf/monitorItem/controller/Monitoring_itemController.java index dc0712db..9e30b214 100644 --- a/SC-boot/linkage-scm/src/main/java/jnpf/monitorItem/controller/Monitoring_itemController.java +++ b/SC-boot/linkage-scm/src/main/java/jnpf/monitorItem/controller/Monitoring_itemController.java @@ -6,6 +6,8 @@ import cn.afterturn.easypoi.excel.ExcelExportUtil; import cn.afterturn.easypoi.excel.entity.ExportParams; import cn.afterturn.easypoi.excel.entity.enmus.ExcelType; import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity; +import cn.hutool.json.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import jnpf.base.ActionResult; @@ -18,6 +20,7 @@ import jnpf.exception.DataException; import jnpf.monitorItem.entity.Monitoring_itemEntity; import jnpf.monitorItem.model.monitoring_item.*; import jnpf.monitorItem.service.Monitoring_itemService; +import jnpf.monitorItem.utils.ImouConfig; import jnpf.util.*; import jnpf.util.enums.FileTypeEnum; import jnpf.util.file.UploadUtil; @@ -33,6 +36,7 @@ import javax.validation.Valid; import java.io.FileOutputStream; import java.io.IOException; import java.util.ArrayList; +import java.util.Date; import java.util.List; import java.util.Map; @@ -47,7 +51,7 @@ import java.util.Map; @Slf4j @RestController @Api(tags = "监控管理" , value = "example") -@RequestMapping("/api/example/monitoringItem") +@RequestMapping("/api/example/Jg_monitoring_item0") public class Monitoring_itemController { @Autowired @@ -61,8 +65,70 @@ public class Monitoring_itemController { @Autowired private Monitoring_itemService monitoring_itemService; + @ApiOperation("更新摄像头视频流地址") + @GetMapping("/updateMonitoring") + public ActionResult updateMonitoring() throws Exception { + // 查询rtmp协议直播地址 +// String URL="https://openapi.lechange.cn/openapi/queryDeviceRtmpLive"; +// 获取管理员token + ImouConfig config = new ImouConfig(); + String accessToken = config.getAccessToken(); + +// 获取设备的列表信息 +// config.getList(accessToken); + +// 批量创建设备flv直播(支持录像直播和实时直播) +// for (int i = 0; i < 32; i++) { +// config.createFlvLive(accessToken,i+""); +// } + +////获取开发者当前账号下创建的直播详情列表,包含直播地址、直播状态、直播计划等详细信息。 +// config.getLiveList(accessToken); + + for (int i = 0; i < 32; i++) { +// 1 根据通道号获取地址 + JSONObject flvLive = config.getFlvLive(accessToken, i+""); + // flv标清直播 + String flv = String.valueOf(flvLive.get("flv")); + // flv高清直播 + String flvHD = String.valueOf(flvLive.get("flvHD")); +// 设备序列号 + String deviceId = String.valueOf(flvLive.get("deviceId")); +// 设备通道号 + String channelId = String.valueOf(flvLive.get("channelId")); + Monitoring_itemEntity monitor = new Monitoring_itemEntity(); +// 设置区域为日照金属 + + monitor.setMonitoringId("1"); + monitor.setMName("NVR-3FA0-"+i); + monitor.setSerialnumber(deviceId); + monitor.setMStatus("1"); + monitor.setFlvAddress(flv); + monitor.setFlvHdAddress(flvHD); + monitor.setChannelNumber(channelId); +// boolean save = monitoring_itemService.save(monitor); + // 2 查询本地表中此通道是否存在 + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(Monitoring_itemEntity::getChannelNumber,channelId); + Monitoring_itemEntity one = monitoring_itemService.getOne(wrapper); + if (one!=null){ + // 3 存在根据返回的id进行更新 + monitor.setMName(null); + monitor.setLastModifyUserId("1"); + monitor.setLastModifyUserName("admin"); + monitor.setLastModifyTime(new Date()); + monitoring_itemService.update(monitor,wrapper); + }else{ + // 4 不存在进行保存 + monitor.setCreatorTime(new Date()); + monitor.setCreatorUserId("1"); + monitor.setCreatorUserName("admin"); + monitoring_itemService.save(monitor); + } + } - + return ActionResult.success("成功"); + } /** @@ -71,6 +137,7 @@ public class Monitoring_itemController { * @param monitoring_itemPagination * @return */ + @ApiOperation("列表") @PostMapping("/getList") public ActionResult list(@RequestBody Monitoring_itemPagination monitoring_itemPagination)throws IOException{ List list= monitoring_itemService.getList(monitoring_itemPagination); diff --git a/SC-boot/linkage-scm/src/main/java/jnpf/monitorItem/entity/Monitoring_itemEntity.java b/SC-boot/linkage-scm/src/main/java/jnpf/monitorItem/entity/Monitoring_itemEntity.java index 9405fc09..fea543fd 100644 --- a/SC-boot/linkage-scm/src/main/java/jnpf/monitorItem/entity/Monitoring_itemEntity.java +++ b/SC-boot/linkage-scm/src/main/java/jnpf/monitorItem/entity/Monitoring_itemEntity.java @@ -2,6 +2,7 @@ package jnpf.monitorItem.entity; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @@ -51,6 +52,7 @@ public class Monitoring_itemEntity { private Date deleteTime; @TableField("DELETE_MARK") + @TableLogic private String deleteMark; @TableField("ORGNIZE_ID") @@ -71,16 +73,16 @@ public class Monitoring_itemEntity { @TableField("M_STATUS") private String mStatus; - @TableField("FLV_ADDRESS") + @TableField("flvAddress") private String flvAddress; - @TableField("FLV_HD_ADDRESS") + @TableField("flvHdAddress") private String flvHdAddress; - @TableField("CHANNEL_NUMBER") + @TableField("channelNumber") private String channelNumber; - @TableField("IS_ENABLE") + @TableField("isEnable") private String isEnable; } diff --git a/SC-boot/linkage-scm/src/main/java/jnpf/monitorItem/utils/ImouConfig.java b/SC-boot/linkage-scm/src/main/java/jnpf/monitorItem/utils/ImouConfig.java index 3747c40b..04a4c7d8 100644 --- a/SC-boot/linkage-scm/src/main/java/jnpf/monitorItem/utils/ImouConfig.java +++ b/SC-boot/linkage-scm/src/main/java/jnpf/monitorItem/utils/ImouConfig.java @@ -9,6 +9,8 @@ import jnpf.util.Md5Util; import lombok.extern.slf4j.Slf4j; import okhttp3.*; import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; import java.io.IOException; import java.text.SimpleDateFormat; @@ -17,7 +19,7 @@ import java.util.Calendar; import java.util.Date; @Slf4j -//@Component +@Component public class ImouConfig { private String appSecret="189fec75174e487684a16c49dd1789"; @@ -34,10 +36,9 @@ public class ImouConfig { // id请求唯一标示ID,每次请求调用时传入唯一非空字符串 private String id="98a7a257-c4e4-4db3-a2d3-d97a3836b87c"; -// @Resource + @Autowired private Monitoring_itemService monitoring_itemService; - // 设备序列号 private String deviceId="5K0A36BPAZ73FA0"; @Test diff --git a/SC-web/src/views/scm/basicInformation/monitormanage/Detail.vue b/SC-web/src/views/scm/basicInformation/monitormanage/Detail.vue index 787bb221..636e566f 100644 --- a/SC-web/src/views/scm/basicInformation/monitormanage/Detail.vue +++ b/SC-web/src/views/scm/basicInformation/monitormanage/Detail.vue @@ -13,57 +13,63 @@ - -

{{dataForm.serialnumber}}

+ +

{{dataForm.monitoringId}}

- -

{{dataForm.ip}}

+ +

{{ dataForm.mStatus | dynamicText(mStatusOptions) }}

- -

{{dataForm.port}}

+ +

{{dataForm.flvAddress}}

- -

{{dataForm.account}}

+ +

{{dataForm.flvHdAddress}}

- -

{{dataForm.password}}

+ +

{{dataForm.channelNumber}}

- -

{{dataForm.creatorusername}}

+ +

{{ dataForm.isEnable | dynamicText(isEnableOptions) }}

- -

{{jnpf.dateFormat(dataForm.creatortime)}}

+ +

{{jnpf.dateFormat(dataForm.lastmodifytime)}}

- -

{{dataForm.lastmodifyusername}}

+ +

{{dataForm.deleteUserId}}

- -

{{jnpf.dateFormat(dataForm.lastmodifytime)}}

+ +

{{dataForm.creatorUserName}}

+
+
+ + +

{{jnpf.dateFormat(dataForm.creatorTime)}}

@@ -90,16 +96,20 @@ dataForm: { id :'', mName : '', + monitoringId : "", serialnumber : '', - ip : '', - port : '', - account : '', - password : '', - creatorusername : '', - creatortime : '', - lastmodifyusername : '', + mStatus : "0", + flvAddress : '', + flvHdAddress : '', + channelNumber : '', + isEnable : "0", lastmodifytime : '', + deleteUserId : '', + creatorUserName : '', + creatorTime : '', }, + mStatusOptions:[{"fullName":"在线","id":"1"},{"fullName":"不在线","id":"0"}], + isEnableOptions:[{"fullName":"显示","id":"1"},{"fullName":"不显示","id":"0"}], } }, @@ -122,7 +132,7 @@ if(this.dataForm.id){ this.loading = true request({ - url: '/api/monitormanage/Monitormanage/detail/'+this.dataForm.id, + url: '/api/example/Jg_monitoring_item0/detail/'+this.dataForm.id, method: 'get' }).then(res => { this.dataInfo(res.data) diff --git a/SC-web/src/views/scm/basicInformation/monitormanage/Form.vue b/SC-web/src/views/scm/basicInformation/monitormanage/Form.vue index df7c1a24..2f6c3e5a 100644 --- a/SC-web/src/views/scm/basicInformation/monitormanage/Form.vue +++ b/SC-web/src/views/scm/basicInformation/monitormanage/Form.vue @@ -1,228 +1,262 @@ diff --git a/SC-web/src/views/scm/basicInformation/monitormanage/index.vue b/SC-web/src/views/scm/basicInformation/monitormanage/index.vue index 4701b2b3..4e99ed12 100644 --- a/SC-web/src/views/scm/basicInformation/monitormanage/index.vue +++ b/SC-web/src/views/scm/basicInformation/monitormanage/index.vue @@ -1,300 +1,285 @@