From cc6ef1003730dfd2cbedaf229fefda5bfb504509 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E7=A3=8A?= <45566618@qq.com> Date: Tue, 13 May 2025 09:13:36 +0800 Subject: [PATCH] =?UTF-8?q?tplink=E6=91=84=E5=83=8F=E5=A4=B4=E5=BD=95?= =?UTF-8?q?=E5=83=8F=E8=AE=A1=E5=88=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/CameraInfoController.java | 707 ++++++++++-------- .../tplink/camera/entity/CameraInfo.java | 108 +-- .../camera/mapper/CameraInfoMapper.java | 2 + .../camera/mapper/xml/CameraInfoMapper.xml | 258 ++++--- .../tplink/camera/model/CameraTreeModel.java | 149 ++++ .../camera/service/ICameraInfoService.java | 8 +- .../service/impl/CameraInfoServiceImpl.java | 300 +++++++- .../com/nu/modules/tplink/enums/ApiEnum.java | 8 +- .../com/nu/modules/tplink/utils/TumsApi.java | 67 +- 9 files changed, 1091 insertions(+), 516 deletions(-) create mode 100644 nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/camera/model/CameraTreeModel.java diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/camera/controller/CameraInfoController.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/camera/controller/CameraInfoController.java index b6669d3..bf7b09d 100644 --- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/camera/controller/CameraInfoController.java +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/camera/controller/CameraInfoController.java @@ -11,9 +11,13 @@ */ package com.nu.modules.tplink.camera.controller; +import java.util.ArrayList; +import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; import cn.hutool.json.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.nu.modules.tplink.camera.model.CameraTreeModel; import org.jeecg.common.api.vo.Result; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -21,13 +25,14 @@ import lombok.extern.slf4j.Slf4j; import com.nu.modules.tplink.camera.service.ICameraInfoService; import org.jeecg.common.system.base.controller.JeecgController; import com.nu.modules.tplink.camera.entity.CameraInfo; +import org.jeecg.common.system.query.QueryGenerator; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.jeecg.common.aspect.annotation.AutoLog; - /** +/** * @Description: 护理单元-物联管理-摄像头信息 * @Author: jeecg-boot * @Date: 2025-01-17 @@ -54,25 +59,40 @@ public class CameraInfoController extends JeecgController> queryPageList(CameraInfo CameraInfo, - @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - HttpServletRequest req) { + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { Page page = new Page(pageNo, pageSize); IPage pageList = service.findPage(page, CameraInfo); return Result.OK(pageList); } - @ApiOperation(value="护理单元分页列表查询", notes="护理单元分页列表查询") - @GetMapping(value = "/nuList") - public Result> queryNuPageList(CameraInfo CameraInfo, - @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - HttpServletRequest req) { - Page page = new Page(pageNo, pageSize); - IPage pageList = service.findNuPage(page, CameraInfo); - return Result.OK(pageList); - } - + @RequestMapping(value = "/queryTreeList", method = RequestMethod.GET) + public Result> queryTreeList(CameraInfo CameraInfo) { + Result> result = new Result<>(); + try { + List list = service.findModelList(CameraInfo); + result.setResult(list); + result.setSuccess(true); + } catch (Exception e) { + log.error(e.getMessage(),e); + result.setSuccess(false); + result.setMessage("查询失败"); + } + return result; + } + + @ApiOperation(value="护理单元分页列表查询", notes="护理单元分页列表查询") + @GetMapping(value = "/nuList") + public Result> queryNuPageList(CameraInfo CameraInfo, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + Page page = new Page(pageNo, pageSize); + IPage pageList = service.findNuPage(page, CameraInfo); + return Result.OK(pageList); + } + /** * 编辑 * @@ -87,338 +107,385 @@ public class CameraInfoController extends JeecgController rebootDevice(@RequestBody CameraInfo cameraInfo) { - service.rebootDevice(cameraInfo); - return Result.OK("重启成功!"); - } + /** + * 修改摄像头信息 + * + * @param cameraInfo + * @return + */ + @RequestMapping(value = "/rebootDevice", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result rebootDevice(@RequestBody CameraInfo cameraInfo) { + service.rebootDevice(cameraInfo); + return Result.OK("重启成功!"); + } - /** - * 获取IPC设备能力集 - * - * @param cameraInfo - * @return - */ - @GetMapping(value = "/getIpcCapability") - public Result getIpcCapability(CameraInfo cameraInfo) { - return service.getIpcCapability(cameraInfo); - } + /** + * 获取IPC设备能力集 + * + * @param cameraInfo + * @return + */ + @GetMapping(value = "/getIpcCapability") + public Result getIpcCapability(CameraInfo cameraInfo) { + return service.getIpcCapability(cameraInfo); + } - /** - * 获取画面基本信息 - * - * @param map - * @return - */ - @PostMapping(value = "/getImageCommon") - public Result getImageCommon(@RequestBody Map map) { - return service.getImageCommon(map); - } + /** + * 获取画面基本信息 + * + * @param map + * @return + */ + @PostMapping(value = "/getImageCommon") + public Result getImageCommon(@RequestBody Map map) { + return service.getImageCommon(map); + } - /** - * 设置画面基本信息 - * - * @param map - * @return - */ - @PostMapping(value = "/setImageCommon") - public Result setImageCommon(@RequestBody Map map) { - return service.setImageCommon(map); - } + /** + * 设置画面基本信息 + * + * @param map + * @return + */ + @PostMapping(value = "/setImageCommon") + public Result setImageCommon(@RequestBody Map map) { + return service.setImageCommon(map); + } - /** - * 获取OSD能力集 - * - * @param map - * @return - */ - @PostMapping(value = "/getOsdCapability") - public Result getOsdCapability(@RequestBody Map map) { - return service.getOsdCapability(map); - } + /** + * 获取OSD能力集 + * + * @param map + * @return + */ + @PostMapping(value = "/getOsdCapability") + public Result getOsdCapability(@RequestBody Map map) { + return service.getOsdCapability(map); + } - /** - * 获取OSD参数 - * - * @param map - * @return - */ - @PostMapping(value = "/getOsd") - public Result getOsd(@RequestBody Map map) { - return service.getOsd(map); - } + /** + * 获取OSD参数 + * + * @param map + * @return + */ + @PostMapping(value = "/getOsd") + public Result getOsd(@RequestBody Map map) { + return service.getOsd(map); + } - /** - * 设置OSD参数 - * - * @param map - * @return - */ - @PostMapping(value = "/setOsd") - public Result setOsd(@RequestBody Map map) { - return service.setOsd(map); - } + /** + * 设置OSD参数 + * + * @param map + * @return + */ + @PostMapping(value = "/setOsd") + public Result setOsd(@RequestBody Map map) { + return service.setOsd(map); + } - /** - * 获取码率参数 - * - * @param map - * @return - */ - @PostMapping(value = "/getVideoParams") - public Result getVideoParams(@RequestBody Map map) { - return service.getVideoParams(map); - } + /** + * 获取码率参数 + * + * @param map + * @return + */ + @PostMapping(value = "/getVideoParams") + public Result getVideoParams(@RequestBody Map map) { + return service.getVideoParams(map); + } - /** - * 设置码率参数 - * - * @param map - * @return - */ - @PostMapping(value = "/setVideoParams") - public Result setVideoParams(@RequestBody Map map) { - return service.setVideoParams(map); - } + /** + * 设置码率参数 + * + * @param map + * @return + */ + @PostMapping(value = "/setVideoParams") + public Result setVideoParams(@RequestBody Map map) { + return service.setVideoParams(map); + } - /** - * 恢复画面默认值 - * - * @param map - * @return - */ - @PostMapping(value = "/configRecovery") - public Result configRecovery(@RequestBody Map map) { - return service.configRecovery(map); - } + /** + * 恢复画面默认值 + * + * @param map + * @return + */ + @PostMapping(value = "/configRecovery") + public Result configRecovery(@RequestBody Map map) { + return service.configRecovery(map); + } - /** - * 获取摄像头实时播放地址 - * - * @param cameraInfo - * @return - */ - @GetMapping(value = "/getPreviewUrl") - public Result> getPreviewUrl(CameraInfo cameraInfo) { - return service.getPreviewUrl(cameraInfo); - } + /** + * 获取摄像头实时播放地址 + * + * @param cameraInfo + * @return + */ + @GetMapping(value = "/getPreviewUrl") + public Result> getPreviewUrl(CameraInfo cameraInfo) { + return service.getPreviewUrl(cameraInfo); + } - /** - * 获取录像配置--暂无用 - * - * @param cameraInfo - * @return - */ - @GetMapping(value = "/getRecordCfgs") - public Result getRecordCfgs(CameraInfo cameraInfo) throws Exception{ - return service.getRecordCfgs(cameraInfo); - } + /** + * 获取存储设备列表 + * + * @param cameraInfo + * @return + */ + @GetMapping(value = "/getStorageDevice") + public Result getStorageDevice(CameraInfo cameraInfo) throws Exception{ + return service.getStorageDevice(cameraInfo); + } - /** - * 设置录像计划--暂无用 - * - * @param cameraInfo - * @return - */ - @GetMapping(value = "/setRecordCfgs") - public Result setRecordCfgs(CameraInfo cameraInfo) throws Exception{ - return service.setRecordCfgs(cameraInfo); - } + /** + * 获取所有录像计划列表 + * + * @param cameraInfo + * @return + */ + @GetMapping(value = "/getAllRecordPlans") + public Result getAllRecordPlans(CameraInfo cameraInfo) throws Exception{ + return service.getAllRecordPlans(cameraInfo); + } - /** - * 获取批量操作录像计划进度--暂无用 - * - * @param cameraInfo - * @return - */ - @GetMapping(value = "/getBatchProgress") - public Result getBatchProgress(CameraInfo cameraInfo) throws Exception{ - return service.getBatchProgress(cameraInfo); - } + /** + * 添加录像计划 + * + * @param cameraInfo + * @return + */ + @PostMapping(value = "/addRecordCfgs") + public Result addRecordCfgs(@RequestBody CameraInfo cameraInfo) throws Exception{ + return service.addRecordCfgs(cameraInfo); + } - /** - * 获取镜头遮挡参数 - * - * @param map - * @return - */ - @PostMapping(value = "/getTamperDet") - public Result getTamperDet(@RequestBody Map map) { - return service.getTamperDet(map); - } + /** + * 设置录像计划 + * + * @param cameraInfo + * @return + */ + @PostMapping(value = "/setRecordCfgs") + public Result setRecordCfgs(@RequestBody CameraInfo cameraInfo) throws Exception{ + return service.setRecordCfgs(cameraInfo); + } - /** - * 设置镜头遮挡参数 - * - * @param map - * @return - */ - @PostMapping(value = "/setTamperDet") - public Result setTamperDet(@RequestBody Map map) { - return service.setTamperDet(map); - } + /** + * 删除录像计划 + * + * @param cameraInfo + * @return + */ + @GetMapping(value = "/delRecordCfgs") + public Result delRecordCfgs(CameraInfo cameraInfo) throws Exception{ + return service.delRecordCfgs(cameraInfo); + } - /** - * 获取镜头遮挡处理方式 - * - * @param map - * @return - */ - @PostMapping(value = "/getTamperNotif") - public Result getTamperNotif(@RequestBody Map map) { - return service.getTamperNotif(map); - } + /** + * 获取录像配置 + * + * @param cameraInfo + * @return + */ + @GetMapping(value = "/getRecordCfgs") + public Result> getRecordCfgs(CameraInfo cameraInfo, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize) throws Exception{ + IPage pageList = service.getRecordCfgs(cameraInfo,pageNo,pageSize); + return Result.OK(pageList); + } - /** - * 设置镜头遮挡处理方式 - * - * @param map - * @return - */ - @PostMapping(value = "/setTamperNotif") - public Result setTamperNotif(@RequestBody Map map) { - return service.setTamperNotif(map); - } + /** + * 获取批量操作录像计划进度 + * + * @param cameraInfo + * @return + */ + @GetMapping(value = "/getBatchProgress") + public Result getBatchProgress(CameraInfo cameraInfo) throws Exception{ + return service.getBatchProgress(cameraInfo); + } - /** - * 报警声音试听 - * - * @param map - * @return - */ - @PostMapping(value = "/testAudio") - public Result testAudio(@RequestBody Map map) { - return service.testAudio(map); - } + /** + * 获取镜头遮挡参数 + * + * @param map + * @return + */ + @PostMapping(value = "/getTamperDet") + public Result getTamperDet(@RequestBody Map map) { + return service.getTamperDet(map); + } - /** - * 获取白光/声音告警参数 - * - * @param map - * @return - */ - @PostMapping(value = "/getAlarmInfo") - public Result getAlarmInfo(@RequestBody Map map) { - return service.getAlarmInfo(map); - } + /** + * 设置镜头遮挡参数 + * + * @param map + * @return + */ + @PostMapping(value = "/setTamperDet") + public Result setTamperDet(@RequestBody Map map) { + return service.setTamperDet(map); + } - /** - * 设置白光/声音告警参数 - * - * @param map - * @return - */ - @PostMapping(value = "/setAlarmInfo") - public Result setAlarmInfo(@RequestBody Map map) { - return service.setAlarmInfo(map); - } + /** + * 获取镜头遮挡处理方式 + * + * @param map + * @return + */ + @PostMapping(value = "/getTamperNotif") + public Result getTamperNotif(@RequestBody Map map) { + return service.getTamperNotif(map); + } - /** - * 获取白光/声音告警布防时间 - * - * @param map - * @return - */ - @PostMapping(value = "/getAlarmPlan") - public Result getAlarmPlan(@RequestBody Map map) { - return service.getAlarmPlan(map); - } + /** + * 设置镜头遮挡处理方式 + * + * @param map + * @return + */ + @PostMapping(value = "/setTamperNotif") + public Result setTamperNotif(@RequestBody Map map) { + return service.setTamperNotif(map); + } - /** - * 设置白光/声音告警布防时间 - * - * @param map - * @return - */ - @PostMapping(value = "/setAlarmPlan") - public Result setAlarmPlan(@RequestBody Map map) { - return service.setAlarmPlan(map); - } + /** + * 报警声音试听 + * + * @param map + * @return + */ + @PostMapping(value = "/testAudio") + public Result testAudio(@RequestBody Map map) { + return service.testAudio(map); + } - /** - * 搜索某天的录像数据 - * - * @param cameraInfo - * @return - */ - @GetMapping(value = "/searchVideo") - public Result> searchVideo(CameraInfo cameraInfo, - @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - HttpServletRequest req) { - return service.searchVideo(pageNo, pageSize, cameraInfo); - } + /** + * 获取白光/声音告警参数 + * + * @param map + * @return + */ + @PostMapping(value = "/getAlarmInfo") + public Result getAlarmInfo(@RequestBody Map map) { + return service.getAlarmInfo(map); + } - /** - * 获取摄像头录像回放地址 - * - * @param cameraInfo - * @return - */ - @GetMapping(value = "/getPlaybackUrlList") - public Result> getPlaybackUrlList(CameraInfo cameraInfo) { - return service.getPlaybackUrlList(cameraInfo); - } + /** + * 设置白光/声音告警参数 + * + * @param map + * @return + */ + @PostMapping(value = "/setAlarmInfo") + public Result setAlarmInfo(@RequestBody Map map) { + return service.setAlarmInfo(map); + } - /** - * 删除回放通道 - * - * @param cameraInfo - * @return - */ - @GetMapping(value = "/deletePlaybackChn") - public Result deletePlaybackChn(CameraInfo cameraInfo) { - return service.deletePlaybackChn(cameraInfo); - } + /** + * 获取白光/声音告警布防时间 + * + * @param map + * @return + */ + @PostMapping(value = "/getAlarmPlan") + public Result getAlarmPlan(@RequestBody Map map) { + return service.getAlarmPlan(map); + } - /** - * 获取摄像头录像回放地址 - * - * @param cameraInfo - * @return - */ - @GetMapping(value = "/getMultitransUrl") - public Result> getMultitransUrl(CameraInfo cameraInfo) throws Exception{ - return service.getMultitransUrl(cameraInfo); - } + /** + * 设置白光/声音告警布防时间 + * + * @param map + * @return + */ + @PostMapping(value = "/setAlarmPlan") + public Result setAlarmPlan(@RequestBody Map map) { + return service.setAlarmPlan(map); + } - /** - * 回放视频转mp4上传 - * - * @param cameraInfo - * @return - */ - @GetMapping(value = "/uploadToServer") - public Result uploadToServer(CameraInfo cameraInfo) throws Exception{ - return service.uploadToServer(cameraInfo); - } + /** + * 搜索某天的录像数据 + * + * @param cameraInfo + * @return + */ + @GetMapping(value = "/searchVideo") + public Result> searchVideo(CameraInfo cameraInfo, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + return service.searchVideo(pageNo, pageSize, cameraInfo); + } - /** - * 停止转存MP4上传任务 - * - * @param cameraInfo - * @return - */ - @GetMapping(value = "/stopUploadToServer") - public Result stopUploadToServer(CameraInfo cameraInfo) throws Exception{ - return service.stopUploadToServer(cameraInfo); - } + /** + * 获取摄像头录像回放地址 + * + * @param cameraInfo + * @return + */ + @GetMapping(value = "/getPlaybackUrlList") + public Result> getPlaybackUrlList(CameraInfo cameraInfo) { + return service.getPlaybackUrlList(cameraInfo); + } - /** - * 获取转存MP4上传任务进度 - * - * @param cameraInfo - * @return - */ - @GetMapping(value = "/getUploadToServerProcess") - public Result getUploadToServerProcess(CameraInfo cameraInfo) throws Exception{ - return service.getUploadToServerProcess(cameraInfo); - } + /** + * 删除回放通道 + * + * @param cameraInfo + * @return + */ + @GetMapping(value = "/deletePlaybackChn") + public Result deletePlaybackChn(CameraInfo cameraInfo) { + return service.deletePlaybackChn(cameraInfo); + } - } + /** + * 获取摄像头录像回放地址 + * + * @param cameraInfo + * @return + */ + @GetMapping(value = "/getMultitransUrl") + public Result> getMultitransUrl(CameraInfo cameraInfo) throws Exception{ + return service.getMultitransUrl(cameraInfo); + } + + /** + * 回放视频转mp4上传 + * + * @param cameraInfo + * @return + */ + @GetMapping(value = "/uploadToServer") + public Result uploadToServer(CameraInfo cameraInfo) throws Exception{ + return service.uploadToServer(cameraInfo); + } + + /** + * 停止转存MP4上传任务 + * + * @param cameraInfo + * @return + */ + @GetMapping(value = "/stopUploadToServer") + public Result stopUploadToServer(CameraInfo cameraInfo) throws Exception{ + return service.stopUploadToServer(cameraInfo); + } + + /** + * 获取转存MP4上传任务进度 + * + * @param cameraInfo + * @return + */ + @GetMapping(value = "/getUploadToServerProcess") + public Result getUploadToServerProcess(CameraInfo cameraInfo) throws Exception{ + return service.getUploadToServerProcess(cameraInfo); + } + +} diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/camera/entity/CameraInfo.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/camera/entity/CameraInfo.java index c4c6890..b5ea11a 100644 --- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/camera/entity/CameraInfo.java +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/camera/entity/CameraInfo.java @@ -27,83 +27,83 @@ import lombok.experimental.Accessors; @EqualsAndHashCode(callSuper = false) @ApiModel(value="nu_iot_tplink_camera对象", description="护理单元-物联管理-TPLINK摄像头信息") public class CameraInfo implements Serializable { - private static final long serialVersionUID = 1L; + private static final long serialVersionUID = 1L; /**ID*/ @TableId(type = IdType.AUTO) - @ApiModelProperty(value = "ID") - private Integer id; + @ApiModelProperty(value = "ID") + private Integer id; /**设备序号*/ @Excel(name = "设备序号", width = 15) - @ApiModelProperty(value = "设备序号") - private String deviceIndex; + @ApiModelProperty(value = "设备序号") + private String deviceIndex; /**设备名称*/ @Excel(name = "设备名称", width = 15) - @ApiModelProperty(value = "设备名称") - private String deviceName; + @ApiModelProperty(value = "设备名称") + private String deviceName; /**设备类型*/ @Excel(name = "设备类型", width = 15) - @ApiModelProperty(value = "设备类型") - private String deviceType; + @ApiModelProperty(value = "设备类型") + private String deviceType; /**设备状态 0 离线 1 在线 2 重启中 3 升级中 4 配置中 5 同步中*/ @Excel(name = "设备状态 0 离线 1 在线 2 重启中 3 升级中 4 配置中 5 同步中", width = 15, dicCode = "tplink_status") @Dict(dicCode = "tplink_status") - @ApiModelProperty(value = "设备状态 0 离线 1 在线 2 重启中 3 升级中 4 配置中 5 同步中") - private String deviceStatus; + @ApiModelProperty(value = "设备状态 0 离线 1 在线 2 重启中 3 升级中 4 配置中 5 同步中") + private String deviceStatus; /**设备型号*/ @Excel(name = "设备型号", width = 15) - @ApiModelProperty(value = "设备型号") - private String deviceModel; + @ApiModelProperty(value = "设备型号") + private String deviceModel; /**IP地址*/ @Excel(name = "IP地址", width = 15) - @ApiModelProperty(value = "IP地址") - private String ip; + @ApiModelProperty(value = "IP地址") + private String ip; /**MAC地址*/ @Excel(name = "MAC地址", width = 15) - @ApiModelProperty(value = "MAC地址") - private String mac; + @ApiModelProperty(value = "MAC地址") + private String mac; /**分组ID*/ @Excel(name = "分组ID", width = 15) - @ApiModelProperty(value = "分组ID") - private String regionId; + @ApiModelProperty(value = "分组ID") + private String regionId; /**分组名称*/ @Excel(name = "分组名称", width = 15) - @ApiModelProperty(value = "分组名称") - private String regionName; + @ApiModelProperty(value = "分组名称") + private String regionName; /**父设备ID*/ @Excel(name = "父设备ID", width = 15) - @ApiModelProperty(value = "父设备ID") - private String parentId; + @ApiModelProperty(value = "父设备ID") + private String parentId; /**父设备名称*/ @Excel(name = "父设备名称", width = 15) - @ApiModelProperty(value = "父设备名称") - private String parentDeviceName; + @ApiModelProperty(value = "父设备名称") + private String parentDeviceName; /**项目ID*/ @Excel(name = "项目ID", width = 15) - @ApiModelProperty(value = "项目ID") - private String projectId; + @ApiModelProperty(value = "项目ID") + private String projectId; /**项目名称*/ @Excel(name = "项目名称", width = 15) - @ApiModelProperty(value = "项目名称") - private String projectName; + @ApiModelProperty(value = "项目名称") + private String projectName; /**软件版本*/ @Excel(name = "软件版本", width = 15) - @ApiModelProperty(value = "软件版本") - private String firmwareVer; + @ApiModelProperty(value = "软件版本") + private String firmwareVer; /**硬件版本*/ @Excel(name = "硬件版本", width = 15) - @ApiModelProperty(value = "硬件版本") - private String hardwareVer; + @ApiModelProperty(value = "硬件版本") + private String hardwareVer; /**用户权限类型 -1 无权限 0 可读 1 可控制 2 可配置 3 可控制/配置 4 所有*/ @Excel(name = "用户权限类型 -1 无权限 0 可读 1 可控制 2 可配置 3 可控制/配置 4 所有", width = 15, dicCode = "tplink_manager_auth_type") @Dict(dicCode = "tplink_manager_auth_type") - @ApiModelProperty(value = "用户权限类型 -1 无权限 0 可读 1 可控制 2 可配置 3 可控制/配置 4 所有") - private String managerAuthType; + @ApiModelProperty(value = "用户权限类型 -1 无权限 0 可读 1 可控制 2 可配置 3 可控制/配置 4 所有") + private String managerAuthType; /**告警消息权限 1 有权限 -1 无权限*/ @Excel(name = "告警消息权限 1 有权限 -1 无权限", width = 15, dicCode = "tplink_msg_auth_type") @Dict(dicCode = "tplink_msg_auth_type") - @ApiModelProperty(value = "告警消息权限 1 有权限 -1 无权限") - private String msgAuthType; + @ApiModelProperty(value = "告警消息权限 1 有权限 -1 无权限") + private String msgAuthType; /**扩展信息*/ @Excel(name = "扩展信息", width = 15) @ApiModelProperty(value = "扩展信息") @@ -111,30 +111,30 @@ public class CameraInfo implements Serializable { private JSONObject extend; /**国标编码*/ @Excel(name = "国标编码", width = 15) - @ApiModelProperty(value = "国标编码") - private String sipCode; + @ApiModelProperty(value = "国标编码") + private String sipCode; /**位置名称*/ @Excel(name = "位置名称", width = 15) - @ApiModelProperty(value = "位置名称") - private String locationName; + @ApiModelProperty(value = "位置名称") + private String locationName; /**系统类型 public 通用 vms 监控 nms 网络 evcs 新能源充电桩 rms 客控 nbs 音箱 bas 楼控 ams 门禁 smart_agriculture 智慧农业 vps 停车管理 aaa 认证计费*/ @Excel(name = "系统类型 public 通用 vms 监控 nms 网络 evcs 新能源充电桩 rms 客控 nbs 音箱 bas 楼控 ams 门禁 smart_agriculture 智慧农业 vps 停车管理 aaa 认证计费", width = 15, dicCode = "tplink_system_type") @Dict(dicCode = "tplink_system_type") - @ApiModelProperty(value = "系统类型 public 通用 vms 监控 nms 网络 evcs 新能源充电桩 rms 客控 nbs 音箱 bas 楼控 ams 门禁 smart_agriculture 智慧农业 vps 停车管理 aaa 认证计费") - private String systemType; + @ApiModelProperty(value = "系统类型 public 通用 vms 监控 nms 网络 evcs 新能源充电桩 rms 客控 nbs 音箱 bas 楼控 ams 门禁 smart_agriculture 智慧农业 vps 停车管理 aaa 认证计费") + private String systemType; /**协议类型*/ @Excel(name = "协议类型", width = 15) - @ApiModelProperty(value = "协议类型") - private String protocol; + @ApiModelProperty(value = "协议类型") + private String protocol; /**置顶的时间*/ @Excel(name = "用户设置置顶的时间,毫秒级时间戳", width = 15) @ApiModelProperty(value = "用户设置置顶的时间,毫秒级时间戳") @TableField(exist = false) private String topTime; /**护理单元*/ - @ApiModelProperty(value = "护理单元ID") + @ApiModelProperty(value = "护理单元ID") @Dict(dictTable ="nu_base_info",dicText = "nu_name",dicCode = "id") - private String nuId; + private String nuId; /**护理单元*/ @ApiModelProperty(value = "护理单元") @TableField(exist = false) @@ -143,6 +143,14 @@ public class CameraInfo implements Serializable { @TableField(exist = false) private int streamType; + @ApiModelProperty(value = "录像计划ID") + private String recordPlanId; + @ApiModelProperty(value = "录像计划名称") + @TableField(exist = false) + private String planName; + @ApiModelProperty(value = "批量处理类型 1:表示查询添加进度,2:表示查询设置进度,3:表示查询删除进度") + @TableField(exist = false) + private int batchType; /** * 能力集属性 ==> */ @@ -269,6 +277,9 @@ public class CameraInfo implements Serializable { @ApiModelProperty(value = "录像开关;枚举:[0:表示关,1:表示开]") @TableField(exist = false) private String recordSwitch; + @ApiModelProperty(value = "录像开关;枚举:[false:表示关,true:表示开]") + @TableField(exist = false) + private boolean recordSwitchBoolean; @ApiModelProperty(value = "任务taskId") @TableField(exist = false) private String taskId; @@ -278,4 +289,7 @@ public class CameraInfo implements Serializable { @ApiModelProperty(value = "上传进度") @TableField(exist = false) private String process; + @ApiModelProperty(value = "IDS") + @TableField(exist = false) + private String ids; } diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/camera/mapper/CameraInfoMapper.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/camera/mapper/CameraInfoMapper.java index ebc2425..7c398e3 100644 --- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/camera/mapper/CameraInfoMapper.java +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/camera/mapper/CameraInfoMapper.java @@ -19,10 +19,12 @@ import java.util.List; @Mapper public interface CameraInfoMapper extends BaseMapper { IPage findPage(Page page, @Param("params") CameraInfo cameraInfo); + List findList(CameraInfo cameraInfo); List findAllList(); IPage findNuPage(Page page, @Param("params") CameraInfo cameraInfo); CameraInfo getByDeviceId(CameraInfo cameraInfo); CameraInfo getCapabilityByDeviceId(CameraInfo cameraInfo); void insertCapability(CameraInfo cameraInfo); void updateCapabilityById(CameraInfo cameraInfo); + void updatePlanByDevId(CameraInfo cameraInfo); } diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/camera/mapper/xml/CameraInfoMapper.xml b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/camera/mapper/xml/CameraInfoMapper.xml index 4cf86a2..5b9c610 100644 --- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/camera/mapper/xml/CameraInfoMapper.xml +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/camera/mapper/xml/CameraInfoMapper.xml @@ -4,30 +4,31 @@ + + select a.id, - device_index as deviceIndex, - device_name as deviceName, - device_type as deviceType, - device_status as deviceStatus, - device_model as deviceModel, - ip as ip, - mac as mac, - region_id as regionId, - region_name as regionName, - parent_id as parentId, - parent_device_name as parentDeviceName, - project_id as projectId, - project_name as projectName, - firmware_ver as firmwareVer, - hardware_ver as hardwareVer, - manager_auth_type as managerAuthType, - msg_auth_type as msgAuthType, - sip_code as sipCode, - location_name as locationName, - system_type as systemType, - protocol as protocol, - a.nu_id as nuId, - b.nu_name as nuName + device_index as deviceIndex, + device_name as deviceName, + device_type as deviceType, + device_status as deviceStatus, + device_model as deviceModel, + ip as ip, + mac as mac, + region_id as regionId, + region_name as regionName, + parent_id as parentId, + parent_device_name as parentDeviceName, + project_id as projectId, + project_name as projectName, + firmware_ver as firmwareVer, + hardware_ver as hardwareVer, + manager_auth_type as managerAuthType, + msg_auth_type as msgAuthType, + sip_code as sipCode, + location_name as locationName, + system_type as systemType, + protocol as protocol, + a.nu_id as nuId, + b.nu_name as nuName from nu_iot_tplink_camera a left join nu_base_info b on a.nu_id = b.id where device_index = #{deviceIndex} @@ -172,24 +214,24 @@ backlight_coexistence ) values ( - #{id}, - #{deviceIndex}, - #{motionDetection}, - #{videoCover}, - #{ptz}, - #{motor}, - #{smartCode}, - #{forceIdrFrame}, - #{audio}, - #{localStorage}, - #{playbackApiVersionTwo}, - #{multitrans}, - #{passengerFlow}, - #{getPreviewThumbnail}, - #{previewThumbnailJpeg}, - #{corridorMod}, - #{backlightCoexistence} - ) + #{id}, + #{deviceIndex}, + #{motionDetection}, + #{videoCover}, + #{ptz}, + #{motor}, + #{smartCode}, + #{forceIdrFrame}, + #{audio}, + #{localStorage}, + #{playbackApiVersionTwo}, + #{multitrans}, + #{passengerFlow}, + #{getPreviewThumbnail}, + #{previewThumbnailJpeg}, + #{corridorMod}, + #{backlightCoexistence} + ) @@ -214,4 +256,10 @@ where id = #{id} + + UPDATE nu_iot_tplink_camera + SET record_plan_id = #{recordPlanId} + where device_index = #{deviceIndex} + + \ No newline at end of file diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/camera/model/CameraTreeModel.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/camera/model/CameraTreeModel.java new file mode 100644 index 0000000..a69a990 --- /dev/null +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/camera/model/CameraTreeModel.java @@ -0,0 +1,149 @@ +package com.nu.modules.tplink.camera.model; + +import com.nu.modules.tplink.camera.entity.CameraInfo; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; + +/** + *

+ * 摄像头表 存储摄像头结构数据的实体类 + *

+ * + * @Author 曹磊 + * @Since 2025-02-27 + */ +public class CameraTreeModel implements Serializable{ + + private static final long serialVersionUID = 1L; + + /** 对应SysDepart中的id字段,前端数据树中的key*/ + private String key; + + /** 对应SysDepart中的id字段,前端数据树中的value*/ + private String value; + + /** 对应depart_name字段,前端数据树中的title*/ + private String title; + + private boolean isLeaf; + + private String type; + // 以下所有字段均与CameraInfo相同 + + private String deviceIndex; + + private String deviceName; + + private List children = new ArrayList<>(); + + + /** + * 将CameraInfo对象转换成CameraTreeModel对象 + * @param cameraInfo + */ + public CameraTreeModel(CameraInfo cameraInfo) { + this.key = cameraInfo.getDeviceIndex(); + this.value = cameraInfo.getDeviceIndex(); + this.title = cameraInfo.getDeviceName(); + this.type = "camera"; + this.deviceIndex = cameraInfo.getDeviceIndex(); + this.deviceName = cameraInfo.getDeviceName(); + this.isLeaf = true; + } + + public String getKey() { + return key; + } + + public void setKey(String key) { + this.key = key; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public boolean getIsLeaf() { + return isLeaf; + } + + public void setIsLeaf(boolean isleaf) { + this.isLeaf = isleaf; + } + + public List getChildren() { + return children; + } + + public void setChildren(List children) { + if (children==null){ + this.isLeaf=true; + } + this.children = children; + } + + public String getDeviceIndex() { + return deviceIndex; + } + + public void setDeviceIndex(String deviceIndex) { + this.deviceIndex = deviceIndex; + } + + public String getDeviceName() { + return deviceName; + } + + public void setDeviceName(String deviceName) { + this.deviceName = deviceName; + } + + /** + * 重写equals方法 + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CameraTreeModel model = (CameraTreeModel) o; + return Objects.equals(deviceIndex, model.deviceIndex) && + Objects.equals(deviceName, model.deviceName) && + Objects.equals(children, model.children); + } + + /** + * 重写hashCode方法 + */ + @Override + public int hashCode() { + return Objects.hash(deviceIndex, deviceName, children); + } + +} diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/camera/service/ICameraInfoService.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/camera/service/ICameraInfoService.java index 7d0cf7d..4d8d50a 100644 --- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/camera/service/ICameraInfoService.java +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/camera/service/ICameraInfoService.java @@ -3,6 +3,7 @@ package com.nu.modules.tplink.camera.service; import cn.hutool.json.JSONObject; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.nu.modules.tplink.camera.model.CameraTreeModel; import org.jeecg.common.api.vo.Result; import com.nu.modules.tplink.camera.entity.CameraInfo; import com.baomidou.mybatisplus.extension.service.IService; @@ -18,6 +19,7 @@ import java.util.Map; */ public interface ICameraInfoService extends IService { IPage findPage(Page page, CameraInfo cameraInfo); + List findModelList(CameraInfo cameraInfo); List findAllList(); IPage findNuPage(Page page, CameraInfo cameraInfo); void edit(CameraInfo cameraInfo); @@ -34,8 +36,12 @@ public interface ICameraInfoService extends IService { Result setVideoParams(Map map); Result configRecovery(Map map); Result> getPreviewUrl(CameraInfo cameraInfo); - Result getRecordCfgs(CameraInfo cameraInfo) throws Exception; + Result getStorageDevice(CameraInfo cameraInfo) throws Exception; + Result getAllRecordPlans(CameraInfo cameraInfo) throws Exception; + Result addRecordCfgs(CameraInfo cameraInfo) throws Exception; Result setRecordCfgs(CameraInfo cameraInfo) throws Exception; + Result delRecordCfgs(CameraInfo cameraInfo) throws Exception; + IPage getRecordCfgs(CameraInfo cameraInfo,Integer pageNo,Integer pageSize) throws Exception; Result getBatchProgress(CameraInfo cameraInfo) throws Exception; Result getTamperDet(Map map); Result setTamperDet(Map map); diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/camera/service/impl/CameraInfoServiceImpl.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/camera/service/impl/CameraInfoServiceImpl.java index d0f2804..cebe578 100644 --- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/camera/service/impl/CameraInfoServiceImpl.java +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/camera/service/impl/CameraInfoServiceImpl.java @@ -5,6 +5,7 @@ import cn.hutool.json.JSONObject; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.fasterxml.jackson.databind.ObjectMapper; +import com.nu.modules.tplink.camera.model.CameraTreeModel; import com.nu.modules.tplink.common.entity.TumsConfig; import com.nu.modules.tplink.common.mapper.TumsConfigMapper; import org.apache.commons.compress.utils.Lists; @@ -54,6 +55,17 @@ public class CameraInfoServiceImpl extends ServiceImpl findModelList(CameraInfo cameraInfo){ + List modelList = Lists.newArrayList(); + List list = baseMapper.findList(cameraInfo); + for (int i = 0; i < list.size(); i++) { + CameraInfo entity = list.get(i); + CameraTreeModel treeModel = new CameraTreeModel(entity); + modelList.add(treeModel); + } + return modelList; + } + /** * 获取所有摄像头信息 * @return @@ -906,43 +918,137 @@ public class CameraInfoServiceImpl extends ServiceImpl0){ + idsStr = idsStr.substring(0,idsStr.length()-1); + } + StringBuffer sb = new StringBuffer(); + sb.append("{"); + sb.append("\"devIds\"").append(":").append("[").append(idsStr).append("],"); + sb.append("\"storageList\"").append(":").append("["); + sb.append("{"); + if(cameraInfo.getStorageDevId()!=null&&!cameraInfo.getStorageDevId().equals("")){ + //存储设备ID + sb.append("\"storageDevId\"").append(":").append(cameraInfo.getStorageDevId()).append(","); + if(cameraInfo.getStorageDevId().equals("0")){ + sb.append("\"storageType\"").append(":").append("1").append(","); + }else{ + sb.append("\"storageType\"").append(":").append("2").append(","); + } + } + sb.append("\"recordPlanId\"").append(":").append(cameraInfo.getRecordPlanId()).append(","); + sb.append("\"streamType\"").append(":").append(cameraInfo.getStreamType()); + sb.append("}"); + sb.append("]"); + sb.append("}"); + String res = tumsApi.addRecordCfgs(sb.toString()); + JSONObject jsonObject = new JSONObject(res); + int errorCode = jsonObject.getInt("error_code"); + if(errorCode == 0){ + for(int i=0;i0){ + idsStr = idsStr.substring(0,idsStr.length()-1); + } + StringBuffer sb = new StringBuffer(); + sb.append("{"); + sb.append("\"ids\"").append(":").append("[").append(idsStr).append("]"); + sb.append("}"); + String res = tumsApi.delRecordCfgs(sb.toString()); + JSONObject jsonObject = new JSONObject(res); + int errorCode = jsonObject.getInt("error_code"); + if(errorCode == 0){ + for(int i=0;i getRecordCfgs(CameraInfo cameraInfo,Integer pageNo,Integer pageSize) throws Exception{ + IPage page = new Page<>(); + page.setSize(pageSize); + page.setCurrent(pageNo); + if(cameraInfo.getProjectId()==null||cameraInfo.getProjectId().equals("")){ + return page; + } + if(cameraInfo.getRegionId()==null||cameraInfo.getRegionId().equals("")){ + return page; + } + StringBuffer sb = new StringBuffer(); + sb.append("{"); + sb.append("\"start\"").append(":").append((pageNo-1)*pageSize).append(","); + sb.append("\"limit\"").append(":").append(pageSize).append(","); + sb.append("\"filterAnd\"").append(":").append("{"); + sb.append("\"projectId\"").append(":").append("\"").append(cameraInfo.getProjectId()).append("\","); + sb.append("\"regionId\"").append(":").append("\"").append(cameraInfo.getRegionId()).append("\""); + sb.append("},"); + sb.append("\"sort\"").append(":").append("[{"); + sb.append("\"key\"").append(":").append("\"ip\","); + sb.append("\"value\"").append(":").append("\"desc\""); + sb.append("}]"); + sb.append("}"); + String res = tumsApi.getRecordCfgs(sb.toString()); + JSONObject jsonObject = new JSONObject(res); + int errorCode = jsonObject.getInt("error_code"); + if(errorCode == 0){ + JSONObject result = (JSONObject)jsonObject.get("result"); + Long total = result.getLong("total"); + page.setTotal(total); + if(total>0){ + List list = Lists.newArrayList(); + JSONArray array = result.getJSONArray("list"); + for(int i=0;i暂时无用 **/ - IPC_GET_RECORD_CFGS("/tums/record/v1/getRecordCfgs","获取录像配置"), + IPC_ADD_RECORD_CFGS("/tums/record/v1/addRecordCfgs","添加录像配置"), IPC_SET_RECORD_CFGS("/tums/record/v1/setRecordCfgs","设置录像计划"), + IPC_DEL_RECORD_CFGS("/tums/record/v1/delRecordCfgs","删除录像计划"), + IPC_GET_RECORD_CFGS("/tums/record/v1/getRecordCfgs","获取录像配置"), IPC_GET_BATCH_PROGRESS("/tums/record/v1/getBatchProgress","获取批量操作录像计划进度"), + IPC_GET_STORAGE_DEVICE("/tums/record/v1/getStorageDevice","获取存储设备列表"), + IPC_GET_ALL_RECORD_PLANS("/tums/record/v1/getAllRecordPlans","获取所有录像计划列表"), + /** =================>暂时无用 **/ IPC_MOTION_CTRL("/tums/ptz/v1/motionCtrl","高速球机移动方向控制"), IPC_GET_ALL_PRESETS("/tums/ptz/v1/getAllPresets","获取高速球机的所有预置点"), IPC_OPERATE_PRESET("/tums/ptz/v1/operatePreset","操作高速球机的预置点"), diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/utils/TumsApi.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/utils/TumsApi.java index 551e2a4..f638ca0 100644 --- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/utils/TumsApi.java +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/utils/TumsApi.java @@ -457,14 +457,15 @@ public class TumsApi { } /** - * 获取录像配置 + * 添加录像计划 * @param jsonRequest * @return */ - public String getRecordCfgs(String jsonRequest){ + public String addRecordCfgs(String jsonRequest){ this.createTumsClient(); - String jsonResponse = tumsClient.request(jsonRequest, ApiEnum.IPC_GET_RECORD_CFGS.getValue()); - log.info("getRecordCfgs:{}",jsonResponse); + log.info("addRecordCfgs:request:{}",jsonRequest); + String jsonResponse = tumsClient.request(jsonRequest, ApiEnum.IPC_ADD_RECORD_CFGS.getValue()); + log.info("addRecordCfgs:response:{}",jsonResponse); return jsonResponse; } @@ -475,8 +476,35 @@ public class TumsApi { */ public String setRecordCfgs(String jsonRequest){ this.createTumsClient(); + log.info("setRecordCfgs:request:{}",jsonRequest); String jsonResponse = tumsClient.request(jsonRequest, ApiEnum.IPC_SET_RECORD_CFGS.getValue()); - log.info("setRecordCfgs:{}",jsonResponse); + log.info("setRecordCfgs:response:{}",jsonResponse); + return jsonResponse; + } + + /** + * 删除录像计划 + * @param jsonRequest + * @return + */ + public String delRecordCfgs(String jsonRequest){ + this.createTumsClient(); + log.info("delRecordCfgs:request:{}",jsonRequest); + String jsonResponse = tumsClient.request(jsonRequest, ApiEnum.IPC_DEL_RECORD_CFGS.getValue()); + log.info("delRecordCfgs:response:{}",jsonResponse); + return jsonResponse; + } + + /** + * 获取录像配置 + * @param jsonRequest + * @return + */ + public String getRecordCfgs(String jsonRequest){ + this.createTumsClient(); + log.info("getRecordCfgs:request:{}",jsonRequest); + String jsonResponse = tumsClient.request(jsonRequest, ApiEnum.IPC_GET_RECORD_CFGS.getValue()); + log.info("getRecordCfgs:response:{}",jsonResponse); return jsonResponse; } @@ -487,8 +515,35 @@ public class TumsApi { */ public String getBatchProgress(String jsonRequest){ this.createTumsClient(); + log.info("getBatchProgress:request:{}",jsonRequest); String jsonResponse = tumsClient.request(jsonRequest, ApiEnum.IPC_GET_BATCH_PROGRESS.getValue()); - log.info("getBatchProgress:{}",jsonResponse); + log.info("getBatchProgress:response:{}",jsonResponse); + return jsonResponse; + } + + /** + * 获取存储设备列表 + * @param jsonRequest + * @return + */ + public String getStorageDevice(String jsonRequest){ + this.createTumsClient(); + log.info("getStorageDevice:request:{}",jsonRequest); + String jsonResponse = tumsClient.request(jsonRequest, ApiEnum.IPC_GET_STORAGE_DEVICE.getValue()); + log.info("getStorageDevice:response:{}",jsonResponse); + return jsonResponse; + } + + /** + * 获取所有录像计划列表 + * @param jsonRequest + * @return + */ + public String getAllRecordPlans(String jsonRequest){ + this.createTumsClient(); + log.info("getAllRecordPlans:request:{}",jsonRequest); + String jsonResponse = tumsClient.request(jsonRequest, ApiEnum.IPC_GET_ALL_RECORD_PLANS.getValue()); + log.info("getAllRecordPlans:response:{}",jsonResponse); return jsonResponse; }