From be97de9e402675fd44a645b6985c16d9772c0304 Mon Sep 17 00:00:00 2001 From: punchhhh <87906027+punchhhh@users.noreply.github.com> Date: Sun, 12 Jan 2025 11:00:19 +0800 Subject: [PATCH 01/11] =?UTF-8?q?datacenter=20=E5=85=A8=E7=90=83=E7=9C=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../datacenter/controller/CameraApi.java | 53 ++++ .../controller/app/camera/vo/CameraDO.java | 234 ++++++++++++++++++ .../controller/app/camera/vo/CameraDTO.java | 24 ++ .../app/camera/vo/CameraPageReqVO.java | 47 ++++ .../app/camera/vo/CameraRespVO.java | 174 +++++++++++++ .../app/camera/vo/CameraSaveReqVO.java | 129 ++++++++++ .../dal/mysql/camera/CameraMapper.java | 32 +++ .../service/camera/CameraService.java | 55 ++++ .../service/camera/CameraServiceImpl.java | 72 ++++++ 9 files changed, 820 insertions(+) create mode 100644 ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/CameraApi.java create mode 100644 ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/camera/vo/CameraDO.java create mode 100644 ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/camera/vo/CameraDTO.java create mode 100644 ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/camera/vo/CameraPageReqVO.java create mode 100644 ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/camera/vo/CameraRespVO.java create mode 100644 ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/camera/vo/CameraSaveReqVO.java create mode 100644 ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/dal/mysql/camera/CameraMapper.java create mode 100644 ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/service/camera/CameraService.java create mode 100644 ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/service/camera/CameraServiceImpl.java diff --git a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/CameraApi.java b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/CameraApi.java new file mode 100644 index 000000000..298b92fd7 --- /dev/null +++ b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/CameraApi.java @@ -0,0 +1,53 @@ +package cn.iocoder.yudao.module.datacenter.controller; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.datacenter.controller.app.camera.vo.CameraDO; +import cn.iocoder.yudao.module.datacenter.controller.app.camera.vo.CameraDTO; +import cn.iocoder.yudao.module.datacenter.controller.app.camera.vo.CameraPageReqVO; +import cn.iocoder.yudao.module.datacenter.service.camera.CameraService; +import com.baomidou.dynamic.datasource.annotation.DS; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.*; + +@Tag(name = "大屏服务 - 监控点") +@RestController +@RequestMapping("/camera") +@Validated +public class CameraApi { + @Resource + private CameraService cameraService; + + @GetMapping("/selectCameraByPageAndCondition") + @Operation(summary = "分页条件查询监控点信息") + @DS("slave") + public Map selectCameraByPageAndCondition(@Valid CameraPageReqVO pageReqVO) { +// System.out.println(name); +// CameraPageReqVO cameraPageReqVO = new CameraPageReqVO(); +// cameraPageReqVO.setName(name); + PageResult cameraPage = cameraService.getCameraPage(pageReqVO); + List cameraDTOList = new ArrayList<>(); + cameraPage.getList().forEach(cameraDO -> { + CameraDTO cameraDTO = new CameraDTO(); + cameraDTO.setCamera_type(cameraDO.getCameraType()); + cameraDTO.setName(cameraDO.getName()); + cameraDTO.setId(cameraDO.getId()); + cameraDTOList.add(cameraDTO); + }); + Map result = new HashMap<>(); + result.put("cameraDTOList", cameraDTOList); + result.put("total", cameraPage.getTotal()); + + return result; + } + + +} diff --git a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/camera/vo/CameraDO.java b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/camera/vo/CameraDO.java new file mode 100644 index 000000000..8385afd99 --- /dev/null +++ b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/camera/vo/CameraDO.java @@ -0,0 +1,234 @@ +package cn.iocoder.yudao.module.datacenter.controller.app.camera.vo; + +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; +import com.baomidou.mybatisplus.annotation.KeySequence; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.*; + +import java.math.BigDecimal; + +/** + * 资源 DO + * + * @author 管理员 + */ +@TableName("hiking_camera") +@KeySequence("hiking_camera_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class CameraDO extends BaseDO { + + /** + * 主键 + */ + @TableId + private Long id; + /** + * 监控点唯一标识 + */ + private String cameraIndexCode; + /** + * 海拔 + */ + private String altitude; + /** + * 监控点类型 + * + * 枚举 {@link TODO camera_type 对应的类} + */ + private Integer cameraType; + /** + * 监控点类型说明 + */ + private String cameraTypeName; + /** + * 资源类型 + */ + private String resourceType; + /** + * 设备能力集 + */ + private String capabilitySet; + /** + * 能力集说明 + */ + private String capabilitySetName; + /** + * 智能分析能力集 + */ + private String intelligentSet; + /** + * 智能分析能力集说明 + */ + private String intelligentSetName; + /** + * 通道编号 + */ + private String channelNo; + /** + * 通道类型说明 + */ + private String channelTypeName; + /** + * 所属编码设备唯一标识 + */ + private String encodeDevIndexCode; + /** + * 所属设备类型 + */ + private String encodeDevResourceType; + /** + * 所属设备类型说明 + */ + private String encodeDevResourceTypeName; + /** + * 监控点国标编号 + */ + private String gbIndexCode; + /** + * 键盘控制码 + */ + private String keyBoardCode; + /** + * 摄像机像素 + */ + private String pixel; + /** + * 云镜类型 + */ + private String ptz; + /** + * 云镜类型说明 + */ + private String ptzName; + /** + * 云台控制 + */ + private String ptzController; + /** + * 云台控制说明 + */ + private String ptzControllerName; + /** + * 录像存储位置说明 + */ + private String recordLocationName; + /** + * 在线状态 + */ + private String status; + /** + * 在线状态说明 + */ + private String statusName; + /** + * 传输协议 + */ + private Integer transType; + /** + * 传输协议说明 + */ + private String transTypeName; + /** + * 接入协议 + */ + private String treatyType; + /** + * 接入协议说明 + */ + private String treatyTypeName; + /** + * 可视域相关 + */ + private String viewshed; + /** + * 唯一编码 + */ + private String indexCode; + /** + * 监控点国标编号 + */ + private String externalIndexCode; + /** + * 资源名称 + */ + private String name; + /** + * 通道号 + */ + private Integer chanNum; + /** + * 级联编号 + */ + private String cascadeCode; + /** + * 父级资源编号 + */ + private String parentIndexCode; + /** + * 经度 + */ + private BigDecimal longitude; + /** + * 纬度 + */ + private BigDecimal latitude; + /** + * 海拔高度 + */ + private String elevation; + /** + * 能力集 + */ + private String capability; + /** + * 录像存储位置 + */ + private String recordLocation; + /** + * 通道子类型 + */ + private String channelType; + /** + * 所属区域 + */ + private String regionIndexCode; + /** + * 所属区域路径 + */ + private String regionPath; + /** + * 安装位置 + */ + private String installLocation; + /** + * 数据在界面上的显示顺序 + */ + private Integer disOrder; + /** + * 资源唯一编码 + */ + private String resourceIndexCode; + /** + * 解码模式 + */ + private String decodeTag; + /** + * 监控点关联对讲唯一标志 + */ + private String cameraRelateTalk; + /** + * 所属区域路径 + */ + private String regionName; + /** + * 区域路径名称 + */ + private String regionPathName; + +} \ No newline at end of file diff --git a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/camera/vo/CameraDTO.java b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/camera/vo/CameraDTO.java new file mode 100644 index 000000000..3cd1fceca --- /dev/null +++ b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/camera/vo/CameraDTO.java @@ -0,0 +1,24 @@ +package cn.iocoder.yudao.module.datacenter.controller.app.camera.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Schema(description = "监控点 Response DTO") +@Data +public class CameraDTO { + @Schema(description = "监控点ID") + private Long id; + + @Schema(description = "监控点名称") + private String name; + + @Schema(description = "监控点类型") + private Integer camera_type; + + @Schema(description = "预览URL") + private String previewUrl; + + @Schema(description = "回放URL") + private String playBackUrl; + +} diff --git a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/camera/vo/CameraPageReqVO.java b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/camera/vo/CameraPageReqVO.java new file mode 100644 index 000000000..bad3ad693 --- /dev/null +++ b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/camera/vo/CameraPageReqVO.java @@ -0,0 +1,47 @@ +package cn.iocoder.yudao.module.datacenter.controller.app.camera.vo; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 资源分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class CameraPageReqVO extends PageParam { + + @Schema(description = "监控点类型说明") + private String cameraTypeName; + + @Schema(description = "资源类型") + private String resourceType; + + @Schema(description = "通道类型说明") + private String channelTypeName; + + @Schema(description = "传输协议说明") + private String transTypeName; + + @Schema(description = "接入协议说明") + private String treatyTypeName; + + @Schema(description = "资源名称") + private String name; + + @Schema(description = "安装位置") + private String installLocation; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private String[] createTime; + + @Schema(description = "更新时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private String[] updateTime; + +} \ No newline at end of file diff --git a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/camera/vo/CameraRespVO.java b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/camera/vo/CameraRespVO.java new file mode 100644 index 000000000..1d15744a1 --- /dev/null +++ b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/camera/vo/CameraRespVO.java @@ -0,0 +1,174 @@ +package cn.iocoder.yudao.module.datacenter.controller.app.camera.vo; + +import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat; +import cn.iocoder.yudao.framework.excel.core.convert.DictConvert; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; + +@Schema(description = "管理后台 - 资源 Response VO") +@Data +@ExcelIgnoreUnannotated +public class CameraRespVO { + + @Schema(description = "监控点唯一标识") + @ExcelProperty("监控点唯一标识") + private String cameraIndexCode; + + @Schema(description = "海拔") + @ExcelProperty("海拔") + private String altitude; + + @Schema(description = "监控点类型") + @ExcelProperty(value = "监控点类型", converter = DictConvert.class) + @DictFormat("camera_type") // TODO 代码优化:建议设置到对应的 DictTypeConstants 枚举类中 + private Integer cameraType; + + @Schema(description = "监控点类型说明") + @ExcelProperty("监控点类型说明") + private String cameraTypeName; + + @Schema(description = "资源类型") + @ExcelProperty("资源类型") + private String resourceType; + + @Schema(description = "设备能力集") + @ExcelProperty("设备能力集") + private String capabilitySet; + + @Schema(description = "能力集说明") + @ExcelProperty("能力集说明") + private String capabilitySetName; + + @Schema(description = "通道编号") + @ExcelProperty("通道编号") + private String channelNo; + + @Schema(description = "通道类型说明") + @ExcelProperty("通道类型说明") + private String channelTypeName; + + @Schema(description = "所属编码设备唯一标识") + @ExcelProperty("所属编码设备唯一标识") + private String encodeDevIndexCode; + + @Schema(description = "监控点国标编号") + @ExcelProperty("监控点国标编号") + private String gbIndexCode; + + @Schema(description = "键盘控制码") + @ExcelProperty("键盘控制码") + private String keyBoardCode; + + @Schema(description = "录像存储位置说明") + @ExcelProperty("录像存储位置说明") + private String recordLocationName; + + @Schema(description = "传输协议") + @ExcelProperty("传输协议") + private Integer transType; + + @Schema(description = "传输协议说明") + @ExcelProperty("传输协议说明") + private String transTypeName; + + @Schema(description = "接入协议") + @ExcelProperty("接入协议") + private String treatyType; + + @Schema(description = "接入协议说明") + @ExcelProperty("接入协议说明") + private String treatyTypeName; + + @Schema(description = "唯一编码") + @ExcelProperty("唯一编码") + private String indexCode; + + @Schema(description = "监控点国标编号") + @ExcelProperty("监控点国标编号") + private String externalIndexCode; + + @Schema(description = "资源名称") + @ExcelProperty("资源名称") + private String name; + + @Schema(description = "通道号") + @ExcelProperty("通道号") + private Integer chanNum; + + @Schema(description = "级联编号") + @ExcelProperty("级联编号") + private String cascadeCode; + + @Schema(description = "父级资源编号") + @ExcelProperty("父级资源编号") + private String parentIndexCode; + + @Schema(description = "经度") + @ExcelProperty("经度") + private BigDecimal longitude; + + @Schema(description = "纬度") + @ExcelProperty("纬度") + private BigDecimal latitude; + + @Schema(description = "海拔高度") + @ExcelProperty("海拔高度") + private String elevation; + + @Schema(description = "能力集") + @ExcelProperty("能力集") + private String capability; + + @Schema(description = "录像存储位置") + @ExcelProperty("录像存储位置") + private String recordLocation; + + @Schema(description = "通道子类型") + @ExcelProperty("通道子类型") + private String channelType; + + @Schema(description = "所属区域") + @ExcelProperty("所属区域") + private String regionIndexCode; + + @Schema(description = "所属区域路径") + @ExcelProperty("所属区域路径") + private String regionPath; + + @Schema(description = "安装位置") + @ExcelProperty("安装位置") + private String installLocation; + + @Schema(description = "创建时间") + @ExcelProperty("创建时间") + private String createTime; + + @Schema(description = "更新时间") + @ExcelProperty("更新时间") + private String updateTime; + + @Schema(description = "资源唯一编码") + @ExcelProperty("资源唯一编码") + private String resourceIndexCode; + + @Schema(description = "解码模式") + @ExcelProperty("解码模式") + private String decodeTag; + + @Schema(description = "监控点关联对讲唯一标志") + @ExcelProperty("监控点关联对讲唯一标志") + private String cameraRelateTalk; + + @Schema(description = "所属区域路径") + @ExcelProperty("所属区域路径") + private String regionName; + + @Schema(description = "区域路径名称") + @ExcelProperty("区域路径名称") + private String regionPathName; + +} \ No newline at end of file diff --git a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/camera/vo/CameraSaveReqVO.java b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/camera/vo/CameraSaveReqVO.java new file mode 100644 index 000000000..3aad8afd8 --- /dev/null +++ b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/camera/vo/CameraSaveReqVO.java @@ -0,0 +1,129 @@ +package cn.iocoder.yudao.module.datacenter.controller.app.camera.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; + +@Schema(description = "管理后台 - 资源新增/修改 Request VO") +@Data +public class CameraSaveReqVO { + + @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED) + private Long id; + + @Schema(description = "监控点唯一标识") + private String cameraIndexCode; + + @Schema(description = "海拔") + private String altitude; + + @Schema(description = "监控点类型") + private Integer cameraType; + + @Schema(description = "监控点类型说明") + private String cameraTypeName; + + @Schema(description = "资源类型") + private String resourceType; + + @Schema(description = "设备能力集") + private String capabilitySet; + + @Schema(description = "能力集说明") + private String capabilitySetName; + + @Schema(description = "通道编号") + private String channelNo; + + @Schema(description = "通道类型说明") + private String channelTypeName; + + @Schema(description = "所属编码设备唯一标识") + private String encodeDevIndexCode; + + @Schema(description = "监控点国标编号") + private String gbIndexCode; + + @Schema(description = "键盘控制码") + private String keyBoardCode; + + @Schema(description = "录像存储位置说明") + private String recordLocationName; + + @Schema(description = "传输协议") + private Integer transType; + + @Schema(description = "传输协议说明") + private String transTypeName; + + @Schema(description = "接入协议") + private String treatyType; + + @Schema(description = "接入协议说明") + private String treatyTypeName; + + @Schema(description = "唯一编码") + private String indexCode; + + @Schema(description = "监控点国标编号") + private String externalIndexCode; + + @Schema(description = "资源名称") + private String name; + + @Schema(description = "通道号") + private Integer chanNum; + + @Schema(description = "级联编号") + private String cascadeCode; + + @Schema(description = "父级资源编号") + private String parentIndexCode; + + @Schema(description = "经度") + private BigDecimal longitude; + + @Schema(description = "纬度") + private BigDecimal latitude; + + @Schema(description = "海拔高度") + private String elevation; + + @Schema(description = "能力集") + private String capability; + + @Schema(description = "录像存储位置") + private String recordLocation; + + @Schema(description = "通道子类型") + private String channelType; + + @Schema(description = "所属区域") + private String regionIndexCode; + + @Schema(description = "所属区域路径") + private String regionPath; + + @Schema(description = "安装位置") + private String installLocation; + + @Schema(description = "数据在界面上的显示顺序") + private Integer disOrder; + + @Schema(description = "资源唯一编码") + private String resourceIndexCode; + + @Schema(description = "解码模式") + private String decodeTag; + + @Schema(description = "监控点关联对讲唯一标志") + private String cameraRelateTalk; + + @Schema(description = "所属区域路径") + private String regionName; + + @Schema(description = "区域路径名称") + private String regionPathName; + +} \ No newline at end of file diff --git a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/dal/mysql/camera/CameraMapper.java b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/dal/mysql/camera/CameraMapper.java new file mode 100644 index 000000000..06775b867 --- /dev/null +++ b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/dal/mysql/camera/CameraMapper.java @@ -0,0 +1,32 @@ +package cn.iocoder.yudao.module.datacenter.dal.mysql.camera; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.module.datacenter.controller.app.camera.vo.CameraDO; +import cn.iocoder.yudao.module.datacenter.controller.app.camera.vo.CameraPageReqVO; +import org.apache.ibatis.annotations.Mapper; + +/** + * 资源 Mapper + * + * @author 管理员 + */ +@Mapper +public interface CameraMapper extends BaseMapperX { + + default PageResult selectPage(CameraPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .likeIfPresent(CameraDO::getCameraTypeName, reqVO.getCameraTypeName()) + .eqIfPresent(CameraDO::getResourceType, reqVO.getResourceType()) + .likeIfPresent(CameraDO::getChannelTypeName, reqVO.getChannelTypeName()) + .likeIfPresent(CameraDO::getTransTypeName, reqVO.getTransTypeName()) + .likeIfPresent(CameraDO::getTreatyTypeName, reqVO.getTreatyTypeName()) + .likeIfPresent(CameraDO::getName, reqVO.getName()) + .eqIfPresent(CameraDO::getInstallLocation, reqVO.getInstallLocation()) + .betweenIfPresent(CameraDO::getCreateTime, reqVO.getCreateTime()) + .betweenIfPresent(CameraDO::getUpdateTime, reqVO.getUpdateTime()) + .orderByDesc(CameraDO::getId)); + } + +} \ No newline at end of file diff --git a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/service/camera/CameraService.java b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/service/camera/CameraService.java new file mode 100644 index 000000000..61ac683f7 --- /dev/null +++ b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/service/camera/CameraService.java @@ -0,0 +1,55 @@ +package cn.iocoder.yudao.module.datacenter.service.camera; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.datacenter.controller.app.camera.vo.CameraDO; +import cn.iocoder.yudao.module.datacenter.controller.app.camera.vo.CameraPageReqVO; +import cn.iocoder.yudao.module.datacenter.controller.app.camera.vo.CameraSaveReqVO; + +import javax.validation.Valid; + +/** + * 资源 Service 接口 + * + * @author 管理员 + */ +public interface CameraService { + + /** + * 创建资源 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createCamera(@Valid CameraSaveReqVO createReqVO); + + /** + * 更新资源 + * + * @param updateReqVO 更新信息 + */ + void updateCamera(@Valid CameraSaveReqVO updateReqVO); + + /** + * 删除资源 + * + * @param id 编号 + */ + void deleteCamera(Long id); + + /** + * 获得资源 + * + * @param id 编号 + * @return 资源 + */ + CameraDO getCamera(Long id); + + /** + * 获得资源分页 + * + * @param pageReqVO 分页查询 + * @return 资源分页 + */ + PageResult getCameraPage(CameraPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/service/camera/CameraServiceImpl.java b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/service/camera/CameraServiceImpl.java new file mode 100644 index 000000000..1eeacab89 --- /dev/null +++ b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/service/camera/CameraServiceImpl.java @@ -0,0 +1,72 @@ +package cn.iocoder.yudao.module.datacenter.service.camera; + +import cn.iocoder.yudao.framework.common.exception.ErrorCode; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.datacenter.controller.app.camera.vo.CameraDO; +import cn.iocoder.yudao.module.datacenter.controller.app.camera.vo.CameraPageReqVO; +import cn.iocoder.yudao.module.datacenter.controller.app.camera.vo.CameraSaveReqVO; +import cn.iocoder.yudao.module.datacenter.dal.mysql.camera.CameraMapper; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +import javax.annotation.Resource; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; + + +/** + * 资源 Service 实现类 + * + * @author 管理员 + */ +@Service +@Validated +public class CameraServiceImpl implements CameraService { + + @Resource + private CameraMapper cameraMapper; + + @Override + public Long createCamera(CameraSaveReqVO createReqVO) { + // 插入 + CameraDO camera = BeanUtils.toBean(createReqVO, CameraDO.class); + cameraMapper.insert(camera); + // 返回 + return camera.getId(); + } + + @Override + public void updateCamera(CameraSaveReqVO updateReqVO) { + // 校验存在 + validateCameraExists(updateReqVO.getId()); + // 更新 + CameraDO updateObj = BeanUtils.toBean(updateReqVO, CameraDO.class); + cameraMapper.updateById(updateObj); + } + + @Override + public void deleteCamera(Long id) { + // 校验存在 + validateCameraExists(id); + // 删除 + cameraMapper.deleteById(id); + } + + private void validateCameraExists(Long id) { + if (cameraMapper.selectById(id) == null) { + throw exception(new ErrorCode(88888, "监控不存在")); + } + } + + @Override + public CameraDO getCamera(Long id) { + return cameraMapper.selectById(id); + } + + @Override + public PageResult getCameraPage(CameraPageReqVO pageReqVO) { + return cameraMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file From c672fb03fdc551f1a4cef63c020ca66c59a93525 Mon Sep 17 00:00:00 2001 From: punchhhh <87906027+punchhhh@users.noreply.github.com> Date: Sun, 12 Jan 2025 11:04:47 +0800 Subject: [PATCH 02/11] =?UTF-8?q?datacenter=20=E5=85=A8=E7=90=83=E7=9C=BC?= =?UTF-8?q?=20=E6=9B=B4=E6=94=B9=E6=95=B0=E6=8D=AE=E6=BA=90=E4=B8=BAhiking?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../iocoder/yudao/module/datacenter/controller/CameraApi.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/CameraApi.java b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/CameraApi.java index 298b92fd7..50429d436 100644 --- a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/CameraApi.java +++ b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/CameraApi.java @@ -8,7 +8,6 @@ import cn.iocoder.yudao.module.datacenter.service.camera.CameraService; import com.baomidou.dynamic.datasource.annotation.DS; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.cloud.openfeign.FeignClient; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; @@ -28,7 +27,7 @@ public class CameraApi { @GetMapping("/selectCameraByPageAndCondition") @Operation(summary = "分页条件查询监控点信息") - @DS("slave") + @DS("hiking") public Map selectCameraByPageAndCondition(@Valid CameraPageReqVO pageReqVO) { // System.out.println(name); // CameraPageReqVO cameraPageReqVO = new CameraPageReqVO(); From 019a3f5be7c2fef4f38ada6427cbc2bf5989a173 Mon Sep 17 00:00:00 2001 From: punchhhh <87906027+punchhhh@users.noreply.github.com> Date: Fri, 17 Jan 2025 14:38:56 +0800 Subject: [PATCH 03/11] =?UTF-8?q?=E5=94=AE=E7=A5=A8=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E6=8C=89=E6=80=A7=E5=88=AB=E7=BB=9F=E8=AE=A1=E6=95=B0=E9=87=8F?= =?UTF-8?q?=20=20=E5=A2=9E=E5=8A=A0=E8=BA=AB=E4=BB=BD=E8=AF=81=E9=9D=9E?= =?UTF-8?q?=E7=A9=BA=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../saledata/SaleDataTodayRepository.java | 37 +++++++++++++++++-- 1 file changed, 34 insertions(+), 3 deletions(-) diff --git a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/dal/mongodb/saledata/SaleDataTodayRepository.java b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/dal/mongodb/saledata/SaleDataTodayRepository.java index 549cebd70..aea877cc2 100644 --- a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/dal/mongodb/saledata/SaleDataTodayRepository.java +++ b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/dal/mongodb/saledata/SaleDataTodayRepository.java @@ -36,12 +36,43 @@ public interface SaleDataTodayRepository extends MongoRepository Date: Fri, 17 Jan 2025 14:41:30 +0800 Subject: [PATCH 04/11] revert 4a0f6af423a05866dd31808ee78bf6dc1815cbfe MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit revert 注册中心地址变更 --- .../yudao-module-system-biz/src/main/resources/bootstrap.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yudao-module-system/yudao-module-system-biz/src/main/resources/bootstrap.yaml b/yudao-module-system/yudao-module-system-biz/src/main/resources/bootstrap.yaml index 913f2a508..dd6b4dfdc 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/resources/bootstrap.yaml +++ b/yudao-module-system/yudao-module-system-biz/src/main/resources/bootstrap.yaml @@ -32,7 +32,7 @@ spring: nacos: # Nacos Config 配置项,对应 NacosConfigProperties 配置属性类 config: - server-addr: 172.17.0.1:8848 # Nacos 服务器地址 + server-addr: 121.36.203.133:8848 # Nacos 服务器地址 namespace: ${spring.profiles.active} # 命名空间 dev 的ID,不能直接使用 dev 名称。创建命名空间的时候需要指定ID为 dev,这里使用 dev 开发环境 group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP name: ${spring.application.name} # 使用的 Nacos 配置集的 dataId,默认为 spring.application.name From e20623db48663518e11d5a8e8bfbadf25fe1af70 Mon Sep 17 00:00:00 2001 From: tesra <2667521914@qq.com> Date: Fri, 17 Jan 2025 14:47:07 +0800 Subject: [PATCH 05/11] revert 12a2f7b7cd4cd5616e98715612c812681d783e91 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit revert revert 4a0f6af423a05866dd31808ee78bf6dc1815cbfe revert 注册中心地址变更 --- .../yudao-module-system-biz/src/main/resources/bootstrap.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yudao-module-system/yudao-module-system-biz/src/main/resources/bootstrap.yaml b/yudao-module-system/yudao-module-system-biz/src/main/resources/bootstrap.yaml index dd6b4dfdc..913f2a508 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/resources/bootstrap.yaml +++ b/yudao-module-system/yudao-module-system-biz/src/main/resources/bootstrap.yaml @@ -32,7 +32,7 @@ spring: nacos: # Nacos Config 配置项,对应 NacosConfigProperties 配置属性类 config: - server-addr: 121.36.203.133:8848 # Nacos 服务器地址 + server-addr: 172.17.0.1:8848 # Nacos 服务器地址 namespace: ${spring.profiles.active} # 命名空间 dev 的ID,不能直接使用 dev 名称。创建命名空间的时候需要指定ID为 dev,这里使用 dev 开发环境 group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP name: ${spring.application.name} # 使用的 Nacos 配置集的 dataId,默认为 spring.application.name From 2f99e49c234f05570535c12cc00e3d816314fa76 Mon Sep 17 00:00:00 2001 From: tesra <2667521914@qq.com> Date: Fri, 17 Jan 2025 14:47:59 +0800 Subject: [PATCH 06/11] revert c672fb03fdc551f1a4cef63c020ca66c59a93525 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit revert datacenter 全球眼 更改数据源为hiking --- .../iocoder/yudao/module/datacenter/controller/CameraApi.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/CameraApi.java b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/CameraApi.java index 50429d436..298b92fd7 100644 --- a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/CameraApi.java +++ b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/CameraApi.java @@ -8,6 +8,7 @@ import cn.iocoder.yudao.module.datacenter.service.camera.CameraService; import com.baomidou.dynamic.datasource.annotation.DS; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.cloud.openfeign.FeignClient; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; @@ -27,7 +28,7 @@ public class CameraApi { @GetMapping("/selectCameraByPageAndCondition") @Operation(summary = "分页条件查询监控点信息") - @DS("hiking") + @DS("slave") public Map selectCameraByPageAndCondition(@Valid CameraPageReqVO pageReqVO) { // System.out.println(name); // CameraPageReqVO cameraPageReqVO = new CameraPageReqVO(); From 969532c4dde78f29b38a0f8957028aa69859cc85 Mon Sep 17 00:00:00 2001 From: tesra <2667521914@qq.com> Date: Fri, 17 Jan 2025 14:48:16 +0800 Subject: [PATCH 07/11] revert be97de9e402675fd44a645b6985c16d9772c0304 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit revert datacenter 全球眼 --- .../datacenter/controller/CameraApi.java | 53 ---- .../controller/app/camera/vo/CameraDO.java | 234 ------------------ .../controller/app/camera/vo/CameraDTO.java | 24 -- .../app/camera/vo/CameraPageReqVO.java | 47 ---- .../app/camera/vo/CameraRespVO.java | 174 ------------- .../app/camera/vo/CameraSaveReqVO.java | 129 ---------- .../dal/mysql/camera/CameraMapper.java | 32 --- .../service/camera/CameraService.java | 55 ---- .../service/camera/CameraServiceImpl.java | 72 ------ 9 files changed, 820 deletions(-) delete mode 100644 ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/CameraApi.java delete mode 100644 ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/camera/vo/CameraDO.java delete mode 100644 ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/camera/vo/CameraDTO.java delete mode 100644 ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/camera/vo/CameraPageReqVO.java delete mode 100644 ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/camera/vo/CameraRespVO.java delete mode 100644 ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/camera/vo/CameraSaveReqVO.java delete mode 100644 ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/dal/mysql/camera/CameraMapper.java delete mode 100644 ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/service/camera/CameraService.java delete mode 100644 ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/service/camera/CameraServiceImpl.java diff --git a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/CameraApi.java b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/CameraApi.java deleted file mode 100644 index 298b92fd7..000000000 --- a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/CameraApi.java +++ /dev/null @@ -1,53 +0,0 @@ -package cn.iocoder.yudao.module.datacenter.controller; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.module.datacenter.controller.app.camera.vo.CameraDO; -import cn.iocoder.yudao.module.datacenter.controller.app.camera.vo.CameraDTO; -import cn.iocoder.yudao.module.datacenter.controller.app.camera.vo.CameraPageReqVO; -import cn.iocoder.yudao.module.datacenter.service.camera.CameraService; -import com.baomidou.dynamic.datasource.annotation.DS; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import javax.annotation.Resource; -import javax.validation.Valid; -import java.util.*; - -@Tag(name = "大屏服务 - 监控点") -@RestController -@RequestMapping("/camera") -@Validated -public class CameraApi { - @Resource - private CameraService cameraService; - - @GetMapping("/selectCameraByPageAndCondition") - @Operation(summary = "分页条件查询监控点信息") - @DS("slave") - public Map selectCameraByPageAndCondition(@Valid CameraPageReqVO pageReqVO) { -// System.out.println(name); -// CameraPageReqVO cameraPageReqVO = new CameraPageReqVO(); -// cameraPageReqVO.setName(name); - PageResult cameraPage = cameraService.getCameraPage(pageReqVO); - List cameraDTOList = new ArrayList<>(); - cameraPage.getList().forEach(cameraDO -> { - CameraDTO cameraDTO = new CameraDTO(); - cameraDTO.setCamera_type(cameraDO.getCameraType()); - cameraDTO.setName(cameraDO.getName()); - cameraDTO.setId(cameraDO.getId()); - cameraDTOList.add(cameraDTO); - }); - Map result = new HashMap<>(); - result.put("cameraDTOList", cameraDTOList); - result.put("total", cameraPage.getTotal()); - - return result; - } - - -} diff --git a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/camera/vo/CameraDO.java b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/camera/vo/CameraDO.java deleted file mode 100644 index 8385afd99..000000000 --- a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/camera/vo/CameraDO.java +++ /dev/null @@ -1,234 +0,0 @@ -package cn.iocoder.yudao.module.datacenter.controller.app.camera.vo; - -import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; -import com.baomidou.mybatisplus.annotation.KeySequence; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.*; - -import java.math.BigDecimal; - -/** - * 资源 DO - * - * @author 管理员 - */ -@TableName("hiking_camera") -@KeySequence("hiking_camera_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class CameraDO extends BaseDO { - - /** - * 主键 - */ - @TableId - private Long id; - /** - * 监控点唯一标识 - */ - private String cameraIndexCode; - /** - * 海拔 - */ - private String altitude; - /** - * 监控点类型 - * - * 枚举 {@link TODO camera_type 对应的类} - */ - private Integer cameraType; - /** - * 监控点类型说明 - */ - private String cameraTypeName; - /** - * 资源类型 - */ - private String resourceType; - /** - * 设备能力集 - */ - private String capabilitySet; - /** - * 能力集说明 - */ - private String capabilitySetName; - /** - * 智能分析能力集 - */ - private String intelligentSet; - /** - * 智能分析能力集说明 - */ - private String intelligentSetName; - /** - * 通道编号 - */ - private String channelNo; - /** - * 通道类型说明 - */ - private String channelTypeName; - /** - * 所属编码设备唯一标识 - */ - private String encodeDevIndexCode; - /** - * 所属设备类型 - */ - private String encodeDevResourceType; - /** - * 所属设备类型说明 - */ - private String encodeDevResourceTypeName; - /** - * 监控点国标编号 - */ - private String gbIndexCode; - /** - * 键盘控制码 - */ - private String keyBoardCode; - /** - * 摄像机像素 - */ - private String pixel; - /** - * 云镜类型 - */ - private String ptz; - /** - * 云镜类型说明 - */ - private String ptzName; - /** - * 云台控制 - */ - private String ptzController; - /** - * 云台控制说明 - */ - private String ptzControllerName; - /** - * 录像存储位置说明 - */ - private String recordLocationName; - /** - * 在线状态 - */ - private String status; - /** - * 在线状态说明 - */ - private String statusName; - /** - * 传输协议 - */ - private Integer transType; - /** - * 传输协议说明 - */ - private String transTypeName; - /** - * 接入协议 - */ - private String treatyType; - /** - * 接入协议说明 - */ - private String treatyTypeName; - /** - * 可视域相关 - */ - private String viewshed; - /** - * 唯一编码 - */ - private String indexCode; - /** - * 监控点国标编号 - */ - private String externalIndexCode; - /** - * 资源名称 - */ - private String name; - /** - * 通道号 - */ - private Integer chanNum; - /** - * 级联编号 - */ - private String cascadeCode; - /** - * 父级资源编号 - */ - private String parentIndexCode; - /** - * 经度 - */ - private BigDecimal longitude; - /** - * 纬度 - */ - private BigDecimal latitude; - /** - * 海拔高度 - */ - private String elevation; - /** - * 能力集 - */ - private String capability; - /** - * 录像存储位置 - */ - private String recordLocation; - /** - * 通道子类型 - */ - private String channelType; - /** - * 所属区域 - */ - private String regionIndexCode; - /** - * 所属区域路径 - */ - private String regionPath; - /** - * 安装位置 - */ - private String installLocation; - /** - * 数据在界面上的显示顺序 - */ - private Integer disOrder; - /** - * 资源唯一编码 - */ - private String resourceIndexCode; - /** - * 解码模式 - */ - private String decodeTag; - /** - * 监控点关联对讲唯一标志 - */ - private String cameraRelateTalk; - /** - * 所属区域路径 - */ - private String regionName; - /** - * 区域路径名称 - */ - private String regionPathName; - -} \ No newline at end of file diff --git a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/camera/vo/CameraDTO.java b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/camera/vo/CameraDTO.java deleted file mode 100644 index 3cd1fceca..000000000 --- a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/camera/vo/CameraDTO.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.iocoder.yudao.module.datacenter.controller.app.camera.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -@Schema(description = "监控点 Response DTO") -@Data -public class CameraDTO { - @Schema(description = "监控点ID") - private Long id; - - @Schema(description = "监控点名称") - private String name; - - @Schema(description = "监控点类型") - private Integer camera_type; - - @Schema(description = "预览URL") - private String previewUrl; - - @Schema(description = "回放URL") - private String playBackUrl; - -} diff --git a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/camera/vo/CameraPageReqVO.java b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/camera/vo/CameraPageReqVO.java deleted file mode 100644 index bad3ad693..000000000 --- a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/camera/vo/CameraPageReqVO.java +++ /dev/null @@ -1,47 +0,0 @@ -package cn.iocoder.yudao.module.datacenter.controller.app.camera.vo; - -import cn.iocoder.yudao.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; -import org.springframework.format.annotation.DateTimeFormat; - -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 资源分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class CameraPageReqVO extends PageParam { - - @Schema(description = "监控点类型说明") - private String cameraTypeName; - - @Schema(description = "资源类型") - private String resourceType; - - @Schema(description = "通道类型说明") - private String channelTypeName; - - @Schema(description = "传输协议说明") - private String transTypeName; - - @Schema(description = "接入协议说明") - private String treatyTypeName; - - @Schema(description = "资源名称") - private String name; - - @Schema(description = "安装位置") - private String installLocation; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private String[] createTime; - - @Schema(description = "更新时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private String[] updateTime; - -} \ No newline at end of file diff --git a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/camera/vo/CameraRespVO.java b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/camera/vo/CameraRespVO.java deleted file mode 100644 index 1d15744a1..000000000 --- a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/camera/vo/CameraRespVO.java +++ /dev/null @@ -1,174 +0,0 @@ -package cn.iocoder.yudao.module.datacenter.controller.app.camera.vo; - -import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat; -import cn.iocoder.yudao.framework.excel.core.convert.DictConvert; -import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; -import com.alibaba.excel.annotation.ExcelProperty; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.math.BigDecimal; - -@Schema(description = "管理后台 - 资源 Response VO") -@Data -@ExcelIgnoreUnannotated -public class CameraRespVO { - - @Schema(description = "监控点唯一标识") - @ExcelProperty("监控点唯一标识") - private String cameraIndexCode; - - @Schema(description = "海拔") - @ExcelProperty("海拔") - private String altitude; - - @Schema(description = "监控点类型") - @ExcelProperty(value = "监控点类型", converter = DictConvert.class) - @DictFormat("camera_type") // TODO 代码优化:建议设置到对应的 DictTypeConstants 枚举类中 - private Integer cameraType; - - @Schema(description = "监控点类型说明") - @ExcelProperty("监控点类型说明") - private String cameraTypeName; - - @Schema(description = "资源类型") - @ExcelProperty("资源类型") - private String resourceType; - - @Schema(description = "设备能力集") - @ExcelProperty("设备能力集") - private String capabilitySet; - - @Schema(description = "能力集说明") - @ExcelProperty("能力集说明") - private String capabilitySetName; - - @Schema(description = "通道编号") - @ExcelProperty("通道编号") - private String channelNo; - - @Schema(description = "通道类型说明") - @ExcelProperty("通道类型说明") - private String channelTypeName; - - @Schema(description = "所属编码设备唯一标识") - @ExcelProperty("所属编码设备唯一标识") - private String encodeDevIndexCode; - - @Schema(description = "监控点国标编号") - @ExcelProperty("监控点国标编号") - private String gbIndexCode; - - @Schema(description = "键盘控制码") - @ExcelProperty("键盘控制码") - private String keyBoardCode; - - @Schema(description = "录像存储位置说明") - @ExcelProperty("录像存储位置说明") - private String recordLocationName; - - @Schema(description = "传输协议") - @ExcelProperty("传输协议") - private Integer transType; - - @Schema(description = "传输协议说明") - @ExcelProperty("传输协议说明") - private String transTypeName; - - @Schema(description = "接入协议") - @ExcelProperty("接入协议") - private String treatyType; - - @Schema(description = "接入协议说明") - @ExcelProperty("接入协议说明") - private String treatyTypeName; - - @Schema(description = "唯一编码") - @ExcelProperty("唯一编码") - private String indexCode; - - @Schema(description = "监控点国标编号") - @ExcelProperty("监控点国标编号") - private String externalIndexCode; - - @Schema(description = "资源名称") - @ExcelProperty("资源名称") - private String name; - - @Schema(description = "通道号") - @ExcelProperty("通道号") - private Integer chanNum; - - @Schema(description = "级联编号") - @ExcelProperty("级联编号") - private String cascadeCode; - - @Schema(description = "父级资源编号") - @ExcelProperty("父级资源编号") - private String parentIndexCode; - - @Schema(description = "经度") - @ExcelProperty("经度") - private BigDecimal longitude; - - @Schema(description = "纬度") - @ExcelProperty("纬度") - private BigDecimal latitude; - - @Schema(description = "海拔高度") - @ExcelProperty("海拔高度") - private String elevation; - - @Schema(description = "能力集") - @ExcelProperty("能力集") - private String capability; - - @Schema(description = "录像存储位置") - @ExcelProperty("录像存储位置") - private String recordLocation; - - @Schema(description = "通道子类型") - @ExcelProperty("通道子类型") - private String channelType; - - @Schema(description = "所属区域") - @ExcelProperty("所属区域") - private String regionIndexCode; - - @Schema(description = "所属区域路径") - @ExcelProperty("所属区域路径") - private String regionPath; - - @Schema(description = "安装位置") - @ExcelProperty("安装位置") - private String installLocation; - - @Schema(description = "创建时间") - @ExcelProperty("创建时间") - private String createTime; - - @Schema(description = "更新时间") - @ExcelProperty("更新时间") - private String updateTime; - - @Schema(description = "资源唯一编码") - @ExcelProperty("资源唯一编码") - private String resourceIndexCode; - - @Schema(description = "解码模式") - @ExcelProperty("解码模式") - private String decodeTag; - - @Schema(description = "监控点关联对讲唯一标志") - @ExcelProperty("监控点关联对讲唯一标志") - private String cameraRelateTalk; - - @Schema(description = "所属区域路径") - @ExcelProperty("所属区域路径") - private String regionName; - - @Schema(description = "区域路径名称") - @ExcelProperty("区域路径名称") - private String regionPathName; - -} \ No newline at end of file diff --git a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/camera/vo/CameraSaveReqVO.java b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/camera/vo/CameraSaveReqVO.java deleted file mode 100644 index 3aad8afd8..000000000 --- a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/camera/vo/CameraSaveReqVO.java +++ /dev/null @@ -1,129 +0,0 @@ -package cn.iocoder.yudao.module.datacenter.controller.app.camera.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.math.BigDecimal; - -@Schema(description = "管理后台 - 资源新增/修改 Request VO") -@Data -public class CameraSaveReqVO { - - @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED) - private Long id; - - @Schema(description = "监控点唯一标识") - private String cameraIndexCode; - - @Schema(description = "海拔") - private String altitude; - - @Schema(description = "监控点类型") - private Integer cameraType; - - @Schema(description = "监控点类型说明") - private String cameraTypeName; - - @Schema(description = "资源类型") - private String resourceType; - - @Schema(description = "设备能力集") - private String capabilitySet; - - @Schema(description = "能力集说明") - private String capabilitySetName; - - @Schema(description = "通道编号") - private String channelNo; - - @Schema(description = "通道类型说明") - private String channelTypeName; - - @Schema(description = "所属编码设备唯一标识") - private String encodeDevIndexCode; - - @Schema(description = "监控点国标编号") - private String gbIndexCode; - - @Schema(description = "键盘控制码") - private String keyBoardCode; - - @Schema(description = "录像存储位置说明") - private String recordLocationName; - - @Schema(description = "传输协议") - private Integer transType; - - @Schema(description = "传输协议说明") - private String transTypeName; - - @Schema(description = "接入协议") - private String treatyType; - - @Schema(description = "接入协议说明") - private String treatyTypeName; - - @Schema(description = "唯一编码") - private String indexCode; - - @Schema(description = "监控点国标编号") - private String externalIndexCode; - - @Schema(description = "资源名称") - private String name; - - @Schema(description = "通道号") - private Integer chanNum; - - @Schema(description = "级联编号") - private String cascadeCode; - - @Schema(description = "父级资源编号") - private String parentIndexCode; - - @Schema(description = "经度") - private BigDecimal longitude; - - @Schema(description = "纬度") - private BigDecimal latitude; - - @Schema(description = "海拔高度") - private String elevation; - - @Schema(description = "能力集") - private String capability; - - @Schema(description = "录像存储位置") - private String recordLocation; - - @Schema(description = "通道子类型") - private String channelType; - - @Schema(description = "所属区域") - private String regionIndexCode; - - @Schema(description = "所属区域路径") - private String regionPath; - - @Schema(description = "安装位置") - private String installLocation; - - @Schema(description = "数据在界面上的显示顺序") - private Integer disOrder; - - @Schema(description = "资源唯一编码") - private String resourceIndexCode; - - @Schema(description = "解码模式") - private String decodeTag; - - @Schema(description = "监控点关联对讲唯一标志") - private String cameraRelateTalk; - - @Schema(description = "所属区域路径") - private String regionName; - - @Schema(description = "区域路径名称") - private String regionPathName; - -} \ No newline at end of file diff --git a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/dal/mysql/camera/CameraMapper.java b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/dal/mysql/camera/CameraMapper.java deleted file mode 100644 index 06775b867..000000000 --- a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/dal/mysql/camera/CameraMapper.java +++ /dev/null @@ -1,32 +0,0 @@ -package cn.iocoder.yudao.module.datacenter.dal.mysql.camera; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; -import cn.iocoder.yudao.module.datacenter.controller.app.camera.vo.CameraDO; -import cn.iocoder.yudao.module.datacenter.controller.app.camera.vo.CameraPageReqVO; -import org.apache.ibatis.annotations.Mapper; - -/** - * 资源 Mapper - * - * @author 管理员 - */ -@Mapper -public interface CameraMapper extends BaseMapperX { - - default PageResult selectPage(CameraPageReqVO reqVO) { - return selectPage(reqVO, new LambdaQueryWrapperX() - .likeIfPresent(CameraDO::getCameraTypeName, reqVO.getCameraTypeName()) - .eqIfPresent(CameraDO::getResourceType, reqVO.getResourceType()) - .likeIfPresent(CameraDO::getChannelTypeName, reqVO.getChannelTypeName()) - .likeIfPresent(CameraDO::getTransTypeName, reqVO.getTransTypeName()) - .likeIfPresent(CameraDO::getTreatyTypeName, reqVO.getTreatyTypeName()) - .likeIfPresent(CameraDO::getName, reqVO.getName()) - .eqIfPresent(CameraDO::getInstallLocation, reqVO.getInstallLocation()) - .betweenIfPresent(CameraDO::getCreateTime, reqVO.getCreateTime()) - .betweenIfPresent(CameraDO::getUpdateTime, reqVO.getUpdateTime()) - .orderByDesc(CameraDO::getId)); - } - -} \ No newline at end of file diff --git a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/service/camera/CameraService.java b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/service/camera/CameraService.java deleted file mode 100644 index 61ac683f7..000000000 --- a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/service/camera/CameraService.java +++ /dev/null @@ -1,55 +0,0 @@ -package cn.iocoder.yudao.module.datacenter.service.camera; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.module.datacenter.controller.app.camera.vo.CameraDO; -import cn.iocoder.yudao.module.datacenter.controller.app.camera.vo.CameraPageReqVO; -import cn.iocoder.yudao.module.datacenter.controller.app.camera.vo.CameraSaveReqVO; - -import javax.validation.Valid; - -/** - * 资源 Service 接口 - * - * @author 管理员 - */ -public interface CameraService { - - /** - * 创建资源 - * - * @param createReqVO 创建信息 - * @return 编号 - */ - Long createCamera(@Valid CameraSaveReqVO createReqVO); - - /** - * 更新资源 - * - * @param updateReqVO 更新信息 - */ - void updateCamera(@Valid CameraSaveReqVO updateReqVO); - - /** - * 删除资源 - * - * @param id 编号 - */ - void deleteCamera(Long id); - - /** - * 获得资源 - * - * @param id 编号 - * @return 资源 - */ - CameraDO getCamera(Long id); - - /** - * 获得资源分页 - * - * @param pageReqVO 分页查询 - * @return 资源分页 - */ - PageResult getCameraPage(CameraPageReqVO pageReqVO); - -} \ No newline at end of file diff --git a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/service/camera/CameraServiceImpl.java b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/service/camera/CameraServiceImpl.java deleted file mode 100644 index 1eeacab89..000000000 --- a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/service/camera/CameraServiceImpl.java +++ /dev/null @@ -1,72 +0,0 @@ -package cn.iocoder.yudao.module.datacenter.service.camera; - -import cn.iocoder.yudao.framework.common.exception.ErrorCode; -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.util.object.BeanUtils; -import cn.iocoder.yudao.module.datacenter.controller.app.camera.vo.CameraDO; -import cn.iocoder.yudao.module.datacenter.controller.app.camera.vo.CameraPageReqVO; -import cn.iocoder.yudao.module.datacenter.controller.app.camera.vo.CameraSaveReqVO; -import cn.iocoder.yudao.module.datacenter.dal.mysql.camera.CameraMapper; -import org.springframework.stereotype.Service; -import org.springframework.validation.annotation.Validated; - -import javax.annotation.Resource; - -import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; - - -/** - * 资源 Service 实现类 - * - * @author 管理员 - */ -@Service -@Validated -public class CameraServiceImpl implements CameraService { - - @Resource - private CameraMapper cameraMapper; - - @Override - public Long createCamera(CameraSaveReqVO createReqVO) { - // 插入 - CameraDO camera = BeanUtils.toBean(createReqVO, CameraDO.class); - cameraMapper.insert(camera); - // 返回 - return camera.getId(); - } - - @Override - public void updateCamera(CameraSaveReqVO updateReqVO) { - // 校验存在 - validateCameraExists(updateReqVO.getId()); - // 更新 - CameraDO updateObj = BeanUtils.toBean(updateReqVO, CameraDO.class); - cameraMapper.updateById(updateObj); - } - - @Override - public void deleteCamera(Long id) { - // 校验存在 - validateCameraExists(id); - // 删除 - cameraMapper.deleteById(id); - } - - private void validateCameraExists(Long id) { - if (cameraMapper.selectById(id) == null) { - throw exception(new ErrorCode(88888, "监控不存在")); - } - } - - @Override - public CameraDO getCamera(Long id) { - return cameraMapper.selectById(id); - } - - @Override - public PageResult getCameraPage(CameraPageReqVO pageReqVO) { - return cameraMapper.selectPage(pageReqVO); - } - -} \ No newline at end of file From b17fb5c6eb46b5a3a2619d4bc6a5d80844954596 Mon Sep 17 00:00:00 2001 From: punchhhh <87906027+punchhhh@users.noreply.github.com> Date: Tue, 21 Jan 2025 20:21:42 +0800 Subject: [PATCH 08/11] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=B5=B7=E5=BA=B7?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=20=E4=BC=98=E5=8C=96=E7=A5=A8=E5=8A=A1?= =?UTF-8?q?=E6=9C=8D=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ludu-module-datacenter-biz/pom.xml | 6 ++ .../datacenter/controller/CameraApi.java | 90 +++++++++++++++++- .../controller/app/camera/vo/CameraDO.java | 2 +- .../controller/app/camera/vo/CameraDTO.java | 16 ++-- .../app/camera/vo/CameraPageReqVO.java | 2 +- .../app/camera/vo/CameraRespVO.java | 2 +- .../app/camera/vo/CameraSaveReqVO.java | 2 +- .../app/camera/vo/RegionCameraListDTO.java | 24 +++++ .../app/checkticket/CheckTicketApi.java | 14 ++- .../controller/app/region/vo/RegionDO.java | 90 ++++++++++++++++++ .../controller/app/region/vo/RegionDTO.java | 22 +++++ .../app/region/vo/RegionPageReqVO.java | 43 +++++++++ .../app/region/vo/RegionRespVO.java | 59 ++++++++++++ .../app/region/vo/RegionSaveReqVO.java | 58 ++++++++++++ .../controller/app/saledata/SaleDataApi.java | 8 ++ .../checkticket/CheckTicketRepository.java | 4 +- .../dal/mysql/camera/CameraMapper.java | 11 ++- .../service/camera/CameraService.java | 11 +++ .../service/camera/CameraServiceImpl.java | 92 +++++++++++++++++++ .../checkticket/CheckTicketService.java | 2 +- .../checkticket/CheckTicketServiceImpl.java | 4 +- .../service/saledata/SaleDataService.java | 1 + .../service/saledata/SaleDataServiceImpl.java | 23 ++++- 23 files changed, 564 insertions(+), 22 deletions(-) create mode 100644 ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/camera/vo/RegionCameraListDTO.java create mode 100644 ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/region/vo/RegionDO.java create mode 100644 ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/region/vo/RegionDTO.java create mode 100644 ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/region/vo/RegionPageReqVO.java create mode 100644 ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/region/vo/RegionRespVO.java create mode 100644 ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/region/vo/RegionSaveReqVO.java diff --git a/ludu-module-datacenter/ludu-module-datacenter-biz/pom.xml b/ludu-module-datacenter/ludu-module-datacenter-biz/pom.xml index 4d2dea9cd..674b94125 100644 --- a/ludu-module-datacenter/ludu-module-datacenter-biz/pom.xml +++ b/ludu-module-datacenter/ludu-module-datacenter-biz/pom.xml @@ -122,6 +122,12 @@ spring-cloud-starter-openfeign + + com.hikvision.ga + artemis-http-client + 1.1.3 + + diff --git a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/CameraApi.java b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/CameraApi.java index 50429d436..a3927a034 100644 --- a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/CameraApi.java +++ b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/CameraApi.java @@ -1,10 +1,14 @@ package cn.iocoder.yudao.module.datacenter.controller; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.module.datacenter.controller.app.camera.vo.CameraDO; import cn.iocoder.yudao.module.datacenter.controller.app.camera.vo.CameraDTO; import cn.iocoder.yudao.module.datacenter.controller.app.camera.vo.CameraPageReqVO; +import cn.iocoder.yudao.module.datacenter.controller.app.camera.vo.RegionCameraListDTO; +import cn.iocoder.yudao.module.datacenter.controller.app.region.vo.RegionDTO; import cn.iocoder.yudao.module.datacenter.service.camera.CameraService; +import cn.iocoder.yudao.module.datacenter.service.region.RegionService; import com.baomidou.dynamic.datasource.annotation.DS; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; @@ -17,6 +21,8 @@ import javax.annotation.Resource; import javax.validation.Valid; import java.util.*; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + @Tag(name = "大屏服务 - 监控点") @RestController @RequestMapping("/camera") @@ -25,6 +31,9 @@ public class CameraApi { @Resource private CameraService cameraService; + @Resource + private RegionService regionService; + @GetMapping("/selectCameraByPageAndCondition") @Operation(summary = "分页条件查询监控点信息") @DS("hiking") @@ -36,9 +45,10 @@ public class CameraApi { List cameraDTOList = new ArrayList<>(); cameraPage.getList().forEach(cameraDO -> { CameraDTO cameraDTO = new CameraDTO(); - cameraDTO.setCamera_type(cameraDO.getCameraType()); - cameraDTO.setName(cameraDO.getName()); + cameraDTO.setCameraType(cameraDO.getCameraType()); + cameraDTO.setCameraName(cameraDO.getCameraName()); cameraDTO.setId(cameraDO.getId()); + cameraDTO.setStatus(cameraDO.getStatus()); cameraDTOList.add(cameraDTO); }); Map result = new HashMap<>(); @@ -48,5 +58,81 @@ public class CameraApi { return result; } + @GetMapping("/selectPreviewUrlByCameraIndexCode") + @Operation(summary = "获取监控点预览流URL") + public Map selectPreviewUrlByCameraIndexCode(String cameraIndexCode, Integer streamType, String protocol, Integer transmode, String expand, String streamform) { + Map result = new HashMap<>(); +// String previewUrl = cameraService.getPreviewUrl(cameraIndexCode, streamType, protocol, transmode, expand, streamform); +// result.put("previewUrl", previewUrl); + result.put("previewUrl", ""); + result.put("传入的参数", "cameraIndexCode:" + cameraIndexCode + " streamType:" + streamType + " protocol:" + protocol + " transmode:" + transmode + " expand:" + expand + " streamform:" + streamform); + result.put("status", "success"); + return result; + } + @GetMapping("/selectPlayBackUrlByCameraIndexCode") + @Operation(summary = "获取监控点回放流URL") + public Map selectPlayBackUrlByCameraIndexCode(String cameraIndexCode, Integer recordLocation, String protocol, Integer transmode, String beginTime, String endTime, String uuid, String expand, String streamform, Integer lockType) { + Map result = new HashMap<>(); +// String playBack = cameraService.getPlayBackUrl(cameraIndexCode,recordLocation, protocol, transmode, beginTime, endTime, uuid, expand, streamform,lockType); +// result.put("previewUrl", playBack); +// result.put("playBackUrl", ""); + result.put("传入的参数", "cameraIndexCode:" + cameraIndexCode + " recordLocation:" + recordLocation + " protocol:" + protocol + " transmode:" + transmode + " beginTime:" + beginTime + " endTime:" + endTime + " uuid:" + uuid + " expand:" + expand + " streamform:" + streamform + " lockType:" + lockType); + result.put("status", "success"); + return result; + } + + @GetMapping("/selZoom") + @Operation(summary = "监控点3D缩放") + public Map selZoom(String cameraIndexCode, Integer startX, Integer startY, Integer endX, Integer endY) { + Map result = new HashMap<>(); + String selZoomResult = cameraService.selZoom(cameraIndexCode, startX, startY, endX, endY); + result.put("selZoomResult", selZoomResult); +// result.put("selZoomResult", ""); + result.put("传入的参数", "cameraIndexCode:" + cameraIndexCode + " startX:" + startX + " startY:" + startY + " endX:" + endX + " endY:" + endY); + result.put("status", "success"); + return result; + } + + @GetMapping("/controlling") + @Operation(summary = "云台控制") + public Map controlling(String cameraIndexCode, Integer action, String command, Integer speed, Integer presetIndex) { + Map result = new HashMap<>(); +// String controllingResult = cameraService.controlling(cameraIndexCode,action, command, speed, presetIndex); +// result.put("selZoomResult", controllingResult); + result.put("controllingResult", ""); + result.put("传入的参数", "cameraIndexCode:" + cameraIndexCode + " action:" + action + " command:" + command + " speed:" + speed + " presetIndex:" + presetIndex); + result.put("status", "success"); + return result; + } + + @GetMapping("/selectCameraByRegionIndexCode") + @Operation(summary = "根据区域编码获取监控点信息") + @DS("hiking") + public Map selectCameraByRegionIndexCode(String regionIndexCode) { + Map result = new HashMap<>(); + List cameraDTOS = cameraService.selectCameraByRegionIndexCode(regionIndexCode); + result.put("cameraDTOS", cameraDTOS); + System.out.println(result); + return result; + } + + @GetMapping("/rtspTest") + @Operation(summary = "rtsp推流测试") + public Map rtspTest() { + Map result = new HashMap<>(); + result.put("rtsp_url", "rtsp://192.168.1.7/stream"); + return result; + } + + @GetMapping("/selectCameraIndexCodeByCameraName") + @Operation(summary = "根据监控点名称获取监控点编码") + @DS("hiking") + public Map selectCameraIndexCodeByCameraName(String cameraName) { + System.out.println(cameraName); + Map result = new HashMap<>(); + String cameraIndexCode = cameraService.selectCameraIndexCodeByCameraName(cameraName); + result.put("cameraIndexCode", cameraIndexCode); + return result; + } } diff --git a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/camera/vo/CameraDO.java b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/camera/vo/CameraDO.java index 8385afd99..c850f4643 100644 --- a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/camera/vo/CameraDO.java +++ b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/camera/vo/CameraDO.java @@ -157,7 +157,7 @@ public class CameraDO extends BaseDO { /** * 资源名称 */ - private String name; + private String cameraName; /** * 通道号 */ diff --git a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/camera/vo/CameraDTO.java b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/camera/vo/CameraDTO.java index 3cd1fceca..54c944648 100644 --- a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/camera/vo/CameraDTO.java +++ b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/camera/vo/CameraDTO.java @@ -10,15 +10,19 @@ public class CameraDTO { private Long id; @Schema(description = "监控点名称") - private String name; + private String cameraName; @Schema(description = "监控点类型") - private Integer camera_type; + private Integer cameraType; - @Schema(description = "预览URL") - private String previewUrl; + @Schema(description = "监控点状态") + private String status; - @Schema(description = "回放URL") - private String playBackUrl; + private Integer leaf = 1; +// @Schema(description = "预览URL") +// private String previewUrl; +// +// @Schema(description = "回放URL") +// private String playBackUrl; } diff --git a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/camera/vo/CameraPageReqVO.java b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/camera/vo/CameraPageReqVO.java index bad3ad693..003dd1624 100644 --- a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/camera/vo/CameraPageReqVO.java +++ b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/camera/vo/CameraPageReqVO.java @@ -31,7 +31,7 @@ public class CameraPageReqVO extends PageParam { private String treatyTypeName; @Schema(description = "资源名称") - private String name; + private String cameraName; @Schema(description = "安装位置") private String installLocation; diff --git a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/camera/vo/CameraRespVO.java b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/camera/vo/CameraRespVO.java index 1d15744a1..52612b0a0 100644 --- a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/camera/vo/CameraRespVO.java +++ b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/camera/vo/CameraRespVO.java @@ -93,7 +93,7 @@ public class CameraRespVO { @Schema(description = "资源名称") @ExcelProperty("资源名称") - private String name; + private String cameraName; @Schema(description = "通道号") @ExcelProperty("通道号") diff --git a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/camera/vo/CameraSaveReqVO.java b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/camera/vo/CameraSaveReqVO.java index 3aad8afd8..fb2a6c79a 100644 --- a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/camera/vo/CameraSaveReqVO.java +++ b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/camera/vo/CameraSaveReqVO.java @@ -70,7 +70,7 @@ public class CameraSaveReqVO { private String externalIndexCode; @Schema(description = "资源名称") - private String name; + private String cameraName; @Schema(description = "通道号") private Integer chanNum; diff --git a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/camera/vo/RegionCameraListDTO.java b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/camera/vo/RegionCameraListDTO.java new file mode 100644 index 000000000..26f02f3ff --- /dev/null +++ b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/camera/vo/RegionCameraListDTO.java @@ -0,0 +1,24 @@ +package cn.iocoder.yudao.module.datacenter.controller.app.camera.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +@Schema(description = "区域 Response DTO") +@Data +public class RegionCameraListDTO { + @Schema(description = "区域唯一编码") + private String regionIndexCode; + @Schema(description = "区域名称") + private String regionName; + @Schema(description = "父区域唯一编码") + private String parentIndexCode; + @Schema(description = "是否为叶子节点") + private Integer leaf; + @Schema(description = "子区域") + private List children = new ArrayList<>(); + @Schema(description = "摄像头列表") + private List cameraList = new ArrayList<>(); +} diff --git a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/checkticket/CheckTicketApi.java b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/checkticket/CheckTicketApi.java index 5924a2d58..44fb094d1 100644 --- a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/checkticket/CheckTicketApi.java +++ b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/checkticket/CheckTicketApi.java @@ -26,12 +26,20 @@ public class CheckTicketApi { @Resource private LoginClient loginClient; +// @GetMapping() +// @Operation(summary = "获得日期当天的检票人数") +// public Long checkTicketTotal(String starTime, String endTime, String checkStationName) { +// String replace = starTime.replace("-", ""); +// String replace1 = endTime.replace("-", ""); +// return checkTicketService.checkTicketTotal(replace,replace1, checkStationName); +// } + @GetMapping() - @Operation(summary = "获得日期当天的检票人数") - public Long checkTicketTotal(String starTime, String endTime) { + @Operation(summary = "获得日期当天某检查点的检票人数") + public Long checkTicketTotal(String starTime, String endTime, String checkStationName) { String replace = starTime.replace("-", ""); String replace1 = endTime.replace("-", ""); - return checkTicketService.checkTicketTotal(replace,replace1); + return checkTicketService.checkTicketTotal(replace,replace1, checkStationName); } @GetMapping("/qushi") diff --git a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/region/vo/RegionDO.java b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/region/vo/RegionDO.java new file mode 100644 index 000000000..7f869507f --- /dev/null +++ b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/region/vo/RegionDO.java @@ -0,0 +1,90 @@ +package cn.iocoder.yudao.module.datacenter.controller.app.region.vo; + +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; +import com.baomidou.mybatisplus.annotation.KeySequence; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.*; + +/** + * 区域 DO + * + * @author 管理员 + */ +@TableName("hiking_region") +@KeySequence("hiking_region_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class RegionDO extends BaseDO { + + /** + * 主键 + */ + @TableId + private Long id; + /** + * 区域唯一标识码 + */ + private String indexCode; + /** + * 区域名称 + */ + private String name; + /** + * 父级区域唯一标识码 + */ + private String parentIndexCode; + /** + * 树编号 + */ + private String treeCode; + /** + * 区域类型 + */ + private Integer regionType; + /** + * 区域完整路径 + */ + private String regionPath; + /** + * 是否为叶子节点 + */ + private Integer leaf; + /** + * 级联平台标识 + */ + private String cascadeCode; + /** + * 区域标识 + */ + private Integer cascadeType; + /** + * 区域类型 + */ + private Integer catalogType; + /** + * 权限码 + */ + private String authCodes; + /** + * 外码 + */ + private String externalIndexCode; + /** + * 父外码 + */ + private String parentExternalIndexCode; + /** + * 同级区域顺序 + */ + private Integer sort; + /** + * 资源状态 + */ + private Integer status; + +} \ No newline at end of file diff --git a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/region/vo/RegionDTO.java b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/region/vo/RegionDTO.java new file mode 100644 index 000000000..afed8b5f1 --- /dev/null +++ b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/region/vo/RegionDTO.java @@ -0,0 +1,22 @@ +package cn.iocoder.yudao.module.datacenter.controller.app.region.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +@Schema(description = "区域 Response DTO") +@Data +public class RegionDTO { + @Schema(description = "区域唯一编码") + private String regionIndexCode; + @Schema(description = "区域名称") + private String regionName; + @Schema(description = "父区域唯一编码") + private String parentIndexCode; + @Schema(description = "是否为叶子节点") + private Integer leaf; + @Schema(description = "子区域") + private List children = new ArrayList<>(); +} diff --git a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/region/vo/RegionPageReqVO.java b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/region/vo/RegionPageReqVO.java new file mode 100644 index 000000000..e61c575e0 --- /dev/null +++ b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/region/vo/RegionPageReqVO.java @@ -0,0 +1,43 @@ +package cn.iocoder.yudao.module.datacenter.controller.app.region.vo; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 区域分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class RegionPageReqVO extends PageParam { + + @Schema(description = "区域唯一标识码") + private String indexCode; + + @Schema(description = "区域名称") + private String name; + + @Schema(description = "区域类型") + private Integer regionType; + + @Schema(description = "区域类型") + private Integer catalogType; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "更新时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] updateTime; + + @Schema(description = "资源状态") + private Integer status; + +} \ No newline at end of file diff --git a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/region/vo/RegionRespVO.java b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/region/vo/RegionRespVO.java new file mode 100644 index 000000000..39700c1bd --- /dev/null +++ b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/region/vo/RegionRespVO.java @@ -0,0 +1,59 @@ +package cn.iocoder.yudao.module.datacenter.controller.app.region.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 区域 Response VO") +@Data +@ExcelIgnoreUnannotated +public class RegionRespVO { + + @Schema(description = "区域唯一标识码") + @ExcelProperty("区域唯一标识码") + private String indexCode; + + @Schema(description = "区域名称") + @ExcelProperty("区域名称") + private String name; + + @Schema(description = "区域类型") + @ExcelProperty("区域类型") + private Integer regionType; + + @Schema(description = "区域完整路径") + @ExcelProperty("区域完整路径") + private String regionPath; + + @Schema(description = "区域类型") + @ExcelProperty("区域类型") + private Integer catalogType; + + @Schema(description = "权限码") + @ExcelProperty("权限码") + private String authCodes; + + @Schema(description = "外码") + @ExcelProperty("外码") + private String externalIndexCode; + + @Schema(description = "父外码") + @ExcelProperty("父外码") + private String parentExternalIndexCode; + + @Schema(description = "创建时间") + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "更新时间") + @ExcelProperty("更新时间") + private LocalDateTime updateTime; + + @Schema(description = "资源状态") + @ExcelProperty("资源状态") + private Integer status; + +} \ No newline at end of file diff --git a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/region/vo/RegionSaveReqVO.java b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/region/vo/RegionSaveReqVO.java new file mode 100644 index 000000000..674e01c7f --- /dev/null +++ b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/region/vo/RegionSaveReqVO.java @@ -0,0 +1,58 @@ +package cn.iocoder.yudao.module.datacenter.controller.app.region.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Schema(description = "管理后台 - 区域新增/修改 Request VO") +@Data +public class RegionSaveReqVO { + + @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED) + private Long id; + + @Schema(description = "区域唯一标识码") + private String indexCode; + + @Schema(description = "区域名称") + private String name; + + @Schema(description = "父级区域唯一标识码") + private String parentIndexCode; + + @Schema(description = "树编号") + private String treeCode; + + @Schema(description = "区域类型") + private Integer regionType; + + @Schema(description = "区域完整路径") + private String regionPath; + + @Schema(description = "是否为叶子节点") + private Integer leaf; + + @Schema(description = "级联平台标识") + private String cascadeCode; + + @Schema(description = "区域标识") + private Integer cascadeType; + + @Schema(description = "区域类型") + private Integer catalogType; + + @Schema(description = "权限码") + private String authCodes; + + @Schema(description = "外码") + private String externalIndexCode; + + @Schema(description = "父外码") + private String parentExternalIndexCode; + + @Schema(description = "同级区域顺序") + private Integer sort; + + @Schema(description = "资源状态") + private Integer status; + +} \ No newline at end of file diff --git a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/saledata/SaleDataApi.java b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/saledata/SaleDataApi.java index 7847219ac..dcdebcca2 100644 --- a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/saledata/SaleDataApi.java +++ b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/saledata/SaleDataApi.java @@ -27,6 +27,7 @@ public class SaleDataApi { @GetMapping() @Operation(summary = "获得输入日期的当天总售票数") public Long checkTicketTotal(String starTime, String endTime) { + System.out.println("checkTicketTotal"); String replace = starTime.replace("-", ""); String replace1 = endTime.replace("-", ""); return saleDataService.countBySddate(replace, replace1); @@ -135,6 +136,13 @@ public class SaleDataApi { return saleDataService.findyearJun(saleDataService.findEventsLastYear()); } + + @GetMapping("/thisyear/nianjunCount") + @Operation(summary = "查询某年年度售票数量") + public Integer findCountthisyear(Integer year) { + System.out.println(saleDataService.findEventsByYear(year)); + return saleDataService.findEventsByYear(year).size(); + } // @GetMapping("/test") // public void testMethod(){ // diff --git a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/dal/mongodb/checkticket/CheckTicketRepository.java b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/dal/mongodb/checkticket/CheckTicketRepository.java index ab6b24cf0..9dacba05b 100644 --- a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/dal/mongodb/checkticket/CheckTicketRepository.java +++ b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/dal/mongodb/checkticket/CheckTicketRepository.java @@ -14,8 +14,8 @@ public interface CheckTicketRepository extends MongoRepository findByName(String q, PageRequest pageable); - @Query("{'checkticketdate':{'$gte': ?0, '$lt': ?1}}") - List countByCheckticketdateBetween(String starTime, String endTime); + @Query("{'checkticketdate':{'$gte': ?0, '$lt': ?1}, 'checkstationname': {'$regex': ?2, '$options': 'i'}}") + List countByCheckticketdateBetween(String starTime, String endTime, String checkStationName); @Query("{'checktickettime':{'$gte': ?0, '$lt': ?1},'checkticketdate':{'$dt': ?2}}") List findByTimestampBetweenAndCheckticketdate(String startTime, String endTime,String day); diff --git a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/dal/mysql/camera/CameraMapper.java b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/dal/mysql/camera/CameraMapper.java index 06775b867..45de695f9 100644 --- a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/dal/mysql/camera/CameraMapper.java +++ b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/dal/mysql/camera/CameraMapper.java @@ -7,6 +7,8 @@ import cn.iocoder.yudao.module.datacenter.controller.app.camera.vo.CameraDO; import cn.iocoder.yudao.module.datacenter.controller.app.camera.vo.CameraPageReqVO; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** * 资源 Mapper * @@ -22,11 +24,18 @@ public interface CameraMapper extends BaseMapperX { .likeIfPresent(CameraDO::getChannelTypeName, reqVO.getChannelTypeName()) .likeIfPresent(CameraDO::getTransTypeName, reqVO.getTransTypeName()) .likeIfPresent(CameraDO::getTreatyTypeName, reqVO.getTreatyTypeName()) - .likeIfPresent(CameraDO::getName, reqVO.getName()) + .likeIfPresent(CameraDO::getCameraName, reqVO.getCameraName()) .eqIfPresent(CameraDO::getInstallLocation, reqVO.getInstallLocation()) .betweenIfPresent(CameraDO::getCreateTime, reqVO.getCreateTime()) .betweenIfPresent(CameraDO::getUpdateTime, reqVO.getUpdateTime()) .orderByDesc(CameraDO::getId)); } + default List selectCameraByRegionIndexCode(String regionIndexCode) { + return selectList(new LambdaQueryWrapperX().eq(CameraDO::getRegionIndexCode, regionIndexCode)); + } + + default String selectCameraIndexCodeByCameraName(String cameraName) { + return selectOne(new LambdaQueryWrapperX().eq(CameraDO::getCameraName, cameraName)).getCameraIndexCode(); + } } \ No newline at end of file diff --git a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/service/camera/CameraService.java b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/service/camera/CameraService.java index 61ac683f7..4644e8caf 100644 --- a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/service/camera/CameraService.java +++ b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/service/camera/CameraService.java @@ -2,10 +2,12 @@ package cn.iocoder.yudao.module.datacenter.service.camera; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.module.datacenter.controller.app.camera.vo.CameraDO; +import cn.iocoder.yudao.module.datacenter.controller.app.camera.vo.CameraDTO; import cn.iocoder.yudao.module.datacenter.controller.app.camera.vo.CameraPageReqVO; import cn.iocoder.yudao.module.datacenter.controller.app.camera.vo.CameraSaveReqVO; import javax.validation.Valid; +import java.util.List; /** * 资源 Service 接口 @@ -52,4 +54,13 @@ public interface CameraService { */ PageResult getCameraPage(CameraPageReqVO pageReqVO); + String getPreviewUrl(String cameraIndexCode, Integer streamType, String protocol, Integer transmode, String expand, String streamform); + String getPlayBackUrl(String cameraIndexCode, Integer recordLocation, String protocol, Integer transmode, String beginTime, String endTime, String uuid, String expand, String streamform, Integer lockType); + + String selZoom(String cameraIndexCode,int startX,int startY,int endX,int endY); + String controlling(String cameraIndexCode, Integer action, String command, Integer speed, Integer presetIndex); + + List selectCameraByRegionIndexCode(String regionIndexCode); + + String selectCameraIndexCodeByCameraName(String cameraName); } \ No newline at end of file diff --git a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/service/camera/CameraServiceImpl.java b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/service/camera/CameraServiceImpl.java index 1eeacab89..e3794bdab 100644 --- a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/service/camera/CameraServiceImpl.java +++ b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/service/camera/CameraServiceImpl.java @@ -1,17 +1,28 @@ package cn.iocoder.yudao.module.datacenter.service.camera; +import cn.hutool.core.bean.BeanUtil; import cn.iocoder.yudao.framework.common.exception.ErrorCode; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.datacenter.controller.app.camera.vo.CameraDO; +import cn.iocoder.yudao.module.datacenter.controller.app.camera.vo.CameraDTO; import cn.iocoder.yudao.module.datacenter.controller.app.camera.vo.CameraPageReqVO; import cn.iocoder.yudao.module.datacenter.controller.app.camera.vo.CameraSaveReqVO; import cn.iocoder.yudao.module.datacenter.dal.mysql.camera.CameraMapper; +import cn.iocoder.yudao.module.datacenter.utlis.IntegrationURL; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; +import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; +import org.springframework.util.StringUtils; import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; +import java.util.List; +import java.util.concurrent.TimeUnit; + import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; @@ -26,6 +37,57 @@ public class CameraServiceImpl implements CameraService { @Resource private CameraMapper cameraMapper; + private ObjectMapper objectMapper; + @Resource + private RedisTemplate redisTemplate; + private static final String ACCESS_TOKEN_KEY = "hikingAPI:access_token"; + + + public String getAccessToken() { + // 检查 Redis 中是否有 access_token + String accessToken = (String) redisTemplate.opsForValue().get(ACCESS_TOKEN_KEY); + if (!StringUtils.isEmpty(accessToken)) { + System.out.println("使用缓存的token:" + accessToken); + return accessToken; // 如果存在则直接返回 + } + + // 如果没有,调用 API 获取并存入 Redis + System.out.println("获取新的token"); + String accessTokenUrlResp = IntegrationURL.getAccessTokenURL(); + try { + + JsonNode jsonNode = objectMapper.readTree(accessTokenUrlResp); + accessToken = jsonNode.get("access_token").asText(); + + // 将 access_token 存入 Redis,设置过期时间为 11 小时(有效期12小时) + redisTemplate.opsForValue().set(ACCESS_TOKEN_KEY, accessToken, 11, TimeUnit.HOURS); + } catch (Exception e) { + + e.printStackTrace(); + } + return accessToken; + } + + public void deleteAccessToken() { + redisTemplate.delete(ACCESS_TOKEN_KEY); + } + + + public Boolean checkToken(String result) { + try { + + JsonNode jsonNode = objectMapper.readTree(result); + String code = jsonNode.path("code").asText(); + if ("0x02401007".equals(code)) { + System.out.println("token失效,重新获取"); + deleteAccessToken(); + return false; + } + } catch (JsonProcessingException e) { + e.printStackTrace(); + } + return true; + } @Override public Long createCamera(CameraSaveReqVO createReqVO) { @@ -69,4 +131,34 @@ public class CameraServiceImpl implements CameraService { return cameraMapper.selectPage(pageReqVO); } + @Override + public String getPreviewUrl(String cameraIndexCode, Integer streamType, String protocol, Integer transmode, String expand, String streamform) { + return IntegrationURL.getPreviewURL(cameraIndexCode, streamType, protocol, transmode, expand, streamform, getAccessToken()); + } + + @Override + public String getPlayBackUrl(String cameraIndexCode, Integer recordLocation, String protocol, Integer transmode, String beginTime, String endTime, String uuid, String expand, String streamform, Integer lockType) { + return IntegrationURL.getPlaybackURL(cameraIndexCode,recordLocation, protocol, transmode, beginTime, endTime, uuid, expand, streamform,lockType, getAccessToken()); + } + + @Override + public String selZoom(String cameraIndexCode,int startX,int startY,int endX,int endY) { + return IntegrationURL.getControlURL(cameraIndexCode, startX, startY, endX, endY, getAccessToken()); + } + + @Override + public String controlling(String cameraIndexCode, Integer action, String command, Integer speed, Integer presetIndex) { + return IntegrationURL.getYunTaiOperationURL(cameraIndexCode, action, command, speed, presetIndex, getAccessToken()); + } + + @Override + public List selectCameraByRegionIndexCode(String regionIndexCode) { + List cameraDOS = cameraMapper.selectCameraByRegionIndexCode(regionIndexCode); + return BeanUtil.copyToList(cameraDOS, CameraDTO.class); + } + + @Override + public String selectCameraIndexCodeByCameraName(String cameraName) { + return cameraMapper.selectCameraIndexCodeByCameraName(cameraName); + } } \ No newline at end of file diff --git a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/service/checkticket/CheckTicketService.java b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/service/checkticket/CheckTicketService.java index de6bbb056..fbd735149 100644 --- a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/service/checkticket/CheckTicketService.java +++ b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/service/checkticket/CheckTicketService.java @@ -24,5 +24,5 @@ public interface CheckTicketService { * @param starTime 日期 * @return long 检票人数 */ - public long checkTicketTotal(String starTime, String endTime); + public long checkTicketTotal(String starTime, String endTime, String checkStationName); } \ No newline at end of file diff --git a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/service/checkticket/CheckTicketServiceImpl.java b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/service/checkticket/CheckTicketServiceImpl.java index 97cc043b3..cd7ed1983 100644 --- a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/service/checkticket/CheckTicketServiceImpl.java +++ b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/service/checkticket/CheckTicketServiceImpl.java @@ -92,7 +92,7 @@ public class CheckTicketServiceImpl implements CheckTicketService { } @Override - public long checkTicketTotal(String starTime, String endTime) { + public long checkTicketTotal(String starTime, String endTime, String checkStationName) { // 创建 DateTimeFormatter 实例以解析指定日期的格式 DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyyMMdd"); // 解析指定日期字符串为 LocalDate 对象 @@ -102,7 +102,7 @@ public class CheckTicketServiceImpl implements CheckTicketService { // 格式化指定日期和下一天 DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("yyyyMMdd"); String formattedNextDay = nextDay.format(outputFormatter); - return checkTicketRepository.countByCheckticketdateBetween(starTime,formattedNextDay).size(); + return checkTicketRepository.countByCheckticketdateBetween(starTime,formattedNextDay, checkStationName).size(); } public String publicMethod(String endTime){ diff --git a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/service/saledata/SaleDataService.java b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/service/saledata/SaleDataService.java index 3bd51e375..e3c8b213b 100644 --- a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/service/saledata/SaleDataService.java +++ b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/service/saledata/SaleDataService.java @@ -44,6 +44,7 @@ public interface SaleDataService { * @return */ public List findEventsLastYear(); + public List findEventsByYear(int year); public List findEventsLastYear(String starTime, String endTime); /** * 查询今年1月1日到12月31日的全部数据 diff --git a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/service/saledata/SaleDataServiceImpl.java b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/service/saledata/SaleDataServiceImpl.java index 946dbe961..31de06628 100644 --- a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/service/saledata/SaleDataServiceImpl.java +++ b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/service/saledata/SaleDataServiceImpl.java @@ -97,6 +97,7 @@ public class SaleDataServiceImpl implements SaleDataService { @Override public List> findByAge(String starTime, String endTime) { AgeVo byAge = saleDataRepository.findByAge(starTime,this.publicMethod(endTime)); + System.out.println("byAge = " + byAge); List>map=new ArrayList<>(); Mapmap1=new LinkedHashMap<>(); Mapmap2=new LinkedHashMap<>(); @@ -136,6 +137,24 @@ public class SaleDataServiceImpl implements SaleDataService { String end = date.format(endOfYear); return saleDataRepository.findBySddateBetween(start, end); } + + @Override + public List findEventsByYear(int year) { + // 定义日期格式:数据库使用yyyyMMdd,传入的日期使用yyyy-MM-dd + DateTimeFormatter outputDateFormatter = DateTimeFormatter.ofPattern("yyyyMMdd"); + + // 获取指定年份的开始日期和结束日期 + LocalDate startOfYear = LocalDate.of(year, 1, 1); + LocalDate endOfYear = LocalDate.of(year, 12, 31); + + // 转换为yyyyMMdd格式的字符串 + String start = outputDateFormatter.format(startOfYear); + String end = outputDateFormatter.format(endOfYear); + + // 调用仓库方法查询指定年份范围内的数据 + return saleDataRepository.findBySddateBetween(start, end); + } + @Override public List findEventsLastYear(String starTime, String endTime) { // DateTimeFormatter date = DateTimeFormatter.ofPattern("yyyyMMdd"); @@ -156,6 +175,8 @@ public class SaleDataServiceImpl implements SaleDataService { String end = date.format(endOfYear); return saleDataRepository.findBySddateBetween(start,end); } + + @Override public List findEventsThisYear(String starTime, String endTime) { // DateTimeFormatter date = DateTimeFormatter.ofPattern("yyyyMMdd"); @@ -403,7 +424,7 @@ public class SaleDataServiceImpl implements SaleDataService { assert date1 != null; calendar.setTime(date1); calendar.add(Calendar.DAY_OF_YEAR, -29); - Mapmap = new LinkedHashMap<>(); + Map map = new LinkedHashMap<>(); int count = 0; while (!calendar.getTime().after(date1)){ String date = inputFormat.format(calendar.getTime()); From c47e0f0ffc80d82f6e3eed9d4c8b184a93e8c22f Mon Sep 17 00:00:00 2001 From: punchhhh <87906027+punchhhh@users.noreply.github.com> Date: Tue, 21 Jan 2025 20:37:50 +0800 Subject: [PATCH 09/11] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=B5=B7=E5=BA=B7?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=20=E4=BC=98=E5=8C=96=E7=A5=A8=E5=8A=A1?= =?UTF-8?q?=E6=9C=8D=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../yudao/module/hiking/IntegrationURL.java | 503 ++++++++++++++++++ 1 file changed, 503 insertions(+) create mode 100644 ludu-module-hiking/ludu-module-hiking-biz/src/main/java/cn/iocoder/yudao/module/hiking/IntegrationURL.java diff --git a/ludu-module-hiking/ludu-module-hiking-biz/src/main/java/cn/iocoder/yudao/module/hiking/IntegrationURL.java b/ludu-module-hiking/ludu-module-hiking-biz/src/main/java/cn/iocoder/yudao/module/hiking/IntegrationURL.java new file mode 100644 index 000000000..ce2b919e4 --- /dev/null +++ b/ludu-module-hiking/ludu-module-hiking-biz/src/main/java/cn/iocoder/yudao/module/hiking/IntegrationURL.java @@ -0,0 +1,503 @@ +package cn.iocoder.yudao.module.hiking; + +import cn.iocoder.yudao.module.hiking.dal.dataobject.region.RegionDO; +import cn.iocoder.yudao.module.hiking.service.region.RegionService; +import com.alibaba.fastjson.JSONObject; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.hikvision.artemis.sdk.ArtemisHttpUtil; +import com.hikvision.artemis.sdk.config.ArtemisConfig; +import org.springframework.beans.factory.annotation.Autowired; + +import javax.annotation.Resource; +import java.util.HashMap; +import java.util.Map; + +public class IntegrationURL { + + + //设置平台参数,根据实际情况,设置host appKey appSecret 三个参数. + static { + ArtemisConfig.host = "127.0.0.1:443"; // 平台的ip端口 + ArtemisConfig.appKey = "29180881"; // 密钥appkey + ArtemisConfig.appSecret = "XO0wCAYGi4KV70ybjznx";// 密钥appSecret + } + + //设置OpenAPI接口的上下文 + public static final String ARTEMIS_PATH = "/artemis"; + + + // 获取根区域信息 + public static String getRegionsRootURL(String accessToken) { + + + //设置接口的URI地址 + final String previewURLsApi = ARTEMIS_PATH + "/api/resource/v1/regions/root"; + Map path = new HashMap(2) { + { + put("https://", previewURLsApi);//根据现场环境部署确认是http还是https + } + }; + + //设置参数提交方式 + String contentType = "application/json"; + + //请求头添加 access_token认证 + Map attributesMap = new HashMap<>(); + attributesMap.put("access_token", accessToken); + + //调用接口 + String result = ArtemisHttpUtil.doPostStringArtemis(path, null, null, null, contentType , attributesMap);// post请求application/json类型参数 + return result; + } + + //查询区域列表v2 + public static String getRegionListURL(String resourceType,int pageNo,int pageSize,String accessToken) { + + + //设置接口的URI地址 + final String previewURLsApi = ARTEMIS_PATH + "/api/irds/v2/region/nodesByParams"; + Map path = new HashMap(2) { + { + put("https://", previewURLsApi);//根据现场环境部署确认是http还是https + } + }; + + //设置参数提交方式 + String contentType = "application/json"; + + //组装请求参数 + JSONObject jsonBody = new JSONObject(); + jsonBody.put("resourceType",resourceType); + jsonBody.put("pageNo", pageNo); + jsonBody.put("pageSize", pageSize); + String body = jsonBody.toJSONString(); + + //请求头添加 access_token认证 + Map attributesMap = new HashMap<>(); + attributesMap.put("access_token", accessToken); + + //调用接口 + String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, contentType , attributesMap);// post请求application/json类型参数 + return result; + } + + // 根据区域编号获取下一级区域列表v2 + public static String getRegionListByParentIndexCodeURL(String parentIndexCode, String resourceType,int pageNo,int pageSize,String accessToken) { + + + //设置接口的URI地址 + final String previewURLsApi = ARTEMIS_PATH + "/api/resource/v2/regions/subRegions"; + Map path = new HashMap(2) { + { + put("https://", previewURLsApi);//根据现场环境部署确认是http还是https + } + }; + + //设置参数提交方式 + String contentType = "application/json"; + + //组装请求参数 + JSONObject jsonBody = new JSONObject(); + jsonBody.put("parentIndexCode", parentIndexCode); + jsonBody.put("resourceType",resourceType); + jsonBody.put("pageNo", pageNo); + jsonBody.put("pageSize", pageSize); + String body = jsonBody.toJSONString(); + + //请求头添加 access_token认证 + Map attributesMap = new HashMap<>(); + attributesMap.put("access_token", accessToken); + + //调用接口 + String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, contentType , attributesMap);// post请求application/json类型参数 + return result; + } + + // 分页获取区域列表 + public static String getRegionListPageURL(int pageNo,int pageSize,String accessToken) { + + + //设置接口的URI地址 + final String previewURLsApi = ARTEMIS_PATH + "/api/resource/v1/regions"; + Map path = new HashMap(2) { + { + put("https://", previewURLsApi);//根据现场环境部署确认是http还是https + } + }; + + //设置参数提交方式 + String contentType = "application/json"; + + //组装请求参数 + JSONObject jsonBody = new JSONObject(); + jsonBody.put("pageNo", pageNo); + jsonBody.put("pageSize", pageSize); + String body = jsonBody.toJSONString(); + + //请求头添加 access_token认证 + Map attributesMap = new HashMap<>(); + attributesMap.put("access_token", accessToken); + + //调用接口 + String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, contentType , attributesMap);// post请求application/json类型参数 + return result; + } + + // 根据编号获取区域详细信息 + public static String getRegionByIndexCodesURL(String[] indexCodes,String accessToken) { + //设置接口的URI地址 + final String previewURLsApi = ARTEMIS_PATH + "/api/resource/v1/region/regionCatalog/regionInfo"; + Map path = new HashMap(2) { + { + put("https://", previewURLsApi);//根据现场环境部署确认是http还是https + } + }; + + //设置参数提交方式 + String contentType = "application/json"; + + //组装请求参数 + JSONObject jsonBody = new JSONObject(); + jsonBody.put("indexCodes", indexCodes); + String body = jsonBody.toJSONString(); + + //请求头添加 access_token认证 + Map attributesMap = new HashMap<>(); + attributesMap.put("access_token", accessToken); + + //调用接口 + String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, contentType , attributesMap);// post请求application/json类型参数 + return result; + } + + // 增量获取区域数据 + public static String getRegionTimeRangeURL(String startTime, String pageNo, String pageSize,String accessToken) { + //设置接口的URI地址 + final String previewURLsApi = ARTEMIS_PATH + "/api/resource/v1/region/timeRange"; + Map path = new HashMap(2) { + { + put("https://", previewURLsApi);//根据现场环境部署确认是http还是https + } + }; + + //设置参数提交方式 + String contentType = "application/json"; + + //组装请求参数 + JSONObject jsonBody = new JSONObject(); + jsonBody.put("startTime", startTime); + jsonBody.put("pageNo", pageNo); + jsonBody.put("pageSize", pageSize); + String body = jsonBody.toJSONString(); + + //请求头添加 access_token认证 + Map attributesMap = new HashMap<>(); + attributesMap.put("access_token", accessToken); + + //调用接口 + String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, contentType , attributesMap);// post请求application/json类型参数 + return result; + } + + //查询监控点列表v2 + public static String getCameraListURL(int pageNo,int pageSize,String accessToken) { + + //设置接口的URI地址 + final String previewURLsApi = ARTEMIS_PATH + "/api/resource/v2/camera/search"; + Map path = new HashMap(2) { + { + put("https://", previewURLsApi);//根据现场环境部署确认是http还是https + } + }; + + //设置参数提交方式 + String contentType = "application/json"; + + //组装请求参数 + JSONObject jsonBody = new JSONObject(); + jsonBody.put("pageNo", pageNo); //当前页码 + jsonBody.put("pageSize", pageSize); //分页大小 + String body = jsonBody.toJSONString(); + + //请求头添加 access_token认证 + Map attributesMap = new HashMap<>(); + attributesMap.put("access_token", accessToken); + + //调用接口 + String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, contentType , attributesMap);// post请求application/json类型参数 + return result; + } + + + //分页获取监控点资源 + public static String getCameraResourceURL(int pageNo,int pageSize,String accessToken) { + + //设置接口的URI地址 + final String previewURLsApi = ARTEMIS_PATH + "/api/resource/v1/cameras"; + Map path = new HashMap(2) { + { + put("https://", previewURLsApi);//根据现场环境部署确认是http还是https + } + }; + + //设置参数提交方式 + String contentType = "application/json"; + + //组装请求参数 + JSONObject jsonBody = new JSONObject(); + jsonBody.put("pageNo", pageNo); //当前页码 + jsonBody.put("pageSize", pageSize); //分页大小 + String body = jsonBody.toJSONString(); + + //请求头添加 access_token认证 + Map attributesMap = new HashMap<>(); + attributesMap.put("access_token", accessToken); + + //调用接口 + String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, contentType , attributesMap);// post请求application/json类型参数 + return result; + } + + // 根据区域编号获取下级监控点列表 + public static String getCameraListByRegionIndexCodeURL(String regionIndexCode, int pageNo,int pageSize,String accessToken) { + + //设置接口的URI地址 + final String previewURLsApi = ARTEMIS_PATH + "/api/resource/v1/regions/regionIndexCode/cameras"; + Map path = new HashMap(2) { + { + put("https://", previewURLsApi);//根据现场环境部署确认是http还是https + } + }; + + //设置参数提交方式 + String contentType = "application/json"; + + //组装请求参数 + JSONObject jsonBody = new JSONObject(); + jsonBody.put("regionIndexCode", regionIndexCode); //区域编号 + jsonBody.put("pageNo", pageNo); //当前页码 + jsonBody.put("pageSize", pageSize); //分页大小 + String body = jsonBody.toJSONString(); + + //请求头添加 access_token认证 + Map attributesMap = new HashMap<>(); + attributesMap.put("access_token", accessToken); + + //调用接口 + String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, contentType , attributesMap);// post请求application/json类型参数 + return result; + } + + // 根据编号获取监控点详细信息 + public static String getCameraByCameraIndexCodeURL(String cameraIndexCode,String accessToken) { + + //设置接口的URI地址 + final String previewURLsApi = ARTEMIS_PATH + "/api/resource/v1/cameras/indexCode"; + Map path = new HashMap(2) { + { + put("https://", previewURLsApi);//根据现场环境部署确认是http还是https + } + }; + + //设置参数提交方式 + String contentType = "application/json"; + + //组装请求参数 + JSONObject jsonBody = new JSONObject(); + jsonBody.put("cameraIndexCode", cameraIndexCode); //监控点唯一标识 + String body = jsonBody.toJSONString(); + + //请求头添加 access_token认证 + Map attributesMap = new HashMap<>(); + attributesMap.put("access_token", accessToken); + + //调用接口 + String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, contentType , attributesMap);// post请求application/json类型参数 + return result; + } + + // 增量获取监控点数据 + public static String getCameraTimeRangeURL(String startTime, int pageNo, int pageSize, String accessToken) { + + //设置接口的URI地址 + final String previewURLsApi = ARTEMIS_PATH + "/api/resource/v1/camera/timeRange"; + Map path = new HashMap(2) { + { + put("https://", previewURLsApi);//根据现场环境部署确认是http还是https + } + }; + + //设置参数提交方式 + String contentType = "application/json"; + + //组装请求参数 + JSONObject jsonBody = new JSONObject(); + jsonBody.put("startTime", startTime); + jsonBody.put("pageNo", pageNo); //当前页码 + jsonBody.put("pageSize", pageSize); //分页大小 + String body = jsonBody.toJSONString(); + + //请求头添加 access_token认证 + Map attributesMap = new HashMap<>(); + attributesMap.put("access_token", accessToken); + + //调用接口 + String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, contentType , attributesMap);// post请求application/json类型参数 + return result; + } + + + //获取监控点预览取流URLv2 + public static String getPreviewURL(String cameraIndexCode,String accessToken) { + + //设置接口的URI地址 + final String previewURLsApi = ARTEMIS_PATH + "/api/video/v2/cameras/previewURLs"; + Map path = new HashMap(2) { + { + put("https://", previewURLsApi);//根据现场环境部署确认是http还是https + } + }; + + //设置参数提交方式 + String contentType = "application/json"; + + //组装请求参数 + JSONObject jsonBody = new JSONObject(); + jsonBody.put("cameraIndexCode", cameraIndexCode); //监控点唯一标识,分页获取监控点资源接口获取返回参数cameraIndexCode + String body = jsonBody.toJSONString(); + + //请求头添加 access_token认证 + Map attributesMap = new HashMap<>(); + attributesMap.put("access_token", accessToken); + + //调用接口 + String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, contentType , attributesMap);// post请求application/json类型参数 + return result; + } + + + //获取监控点回放取流URLv2 + public static String getPlaybackURL(String cameraIndexCode,String beginTime,String endTime,String accessToken) { + + //设置接口的URI地址 + final String previewURLsApi = ARTEMIS_PATH + "/api/video/v2/cameras/playbackURLs"; + Map path = new HashMap(2) { + { + put("https://", previewURLsApi);//根据现场环境部署确认是http还是https + } + }; + + //设置参数提交方式 + String contentType = "application/json"; + + //组装请求参数 + JSONObject jsonBody = new JSONObject(); + jsonBody.put("cameraIndexCode", cameraIndexCode);//监控点唯一标识,分页获取监控点资源接口获取返回参数cameraIndexCode + jsonBody.put("beginTime",beginTime );//开始查询时间(IOS8601格式:yyyy-MM-dd’T’HH:mm:ss.SSSXXX)例如北京时间:2017-06-14T00:00:00.000+08:00, + jsonBody.put("endTime",endTime);//结束时间 + String body = jsonBody.toJSONString(); + + //请求头添加 access_token认证 + Map attributesMap = new HashMap<>(); + attributesMap.put("access_token", accessToken); + + //调用接口 + String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, contentType , attributesMap);// post请求application/json类型参数 + return result; + } + + + //监控点3D放大 + public static String getControlURL(String cameraIndexCode,int startX,int startY,int endX,int endY,String accessToken) { + + //设置接口的URI地址 + final String previewURLsApi = ARTEMIS_PATH + "/api/video/v1/ptzs/selZoom"; + Map path = new HashMap(2) { + { + put("https://", previewURLsApi);//根据现场环境部署确认是http还是https + } + }; + + //设置参数提交方式 + String contentType = "application/json"; + + //组装请求参数 + JSONObject jsonBody = new JSONObject(); + jsonBody.put("cameraIndexCode",cameraIndexCode ); + jsonBody.put("startX",startX ); + jsonBody.put("startY",startY ); + jsonBody.put("endX",endX ); + jsonBody.put("endY",endY ); + String body = jsonBody.toJSONString(); + + //请求头添加 access_token认证 + Map attributesMap = new HashMap<>(); + attributesMap.put("access_token", accessToken); + + //调用接口 + String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, contentType , attributesMap);// post请求application/json类型参数 + return result; + } + + + //根据监控点编号进行云台操作 + public static String getYunTaiOperationURL(String cameraIndexCode,int action,String command,String accessToken) { + + //设置接口的URI地址 + final String previewURLsApi = ARTEMIS_PATH + "/api/video/v1/ptzs/controlling"; + Map path = new HashMap(2) { + { + put("https://", previewURLsApi);//根据现场环境部署确认是http还是https + } + }; + + //设置参数提交方式 + String contentType = "application/json"; + + //组装请求参数 + JSONObject jsonBody = new JSONObject(); + jsonBody.put("cameraIndexCode", cameraIndexCode); + jsonBody.put("action",action ); + jsonBody.put("command",command ); + String body = jsonBody.toJSONString(); + + //请求头添加 access_token认证 + Map attributesMap = new HashMap<>(); + attributesMap.put("access_token", accessToken); + + //调用接口 + String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, contentType , attributesMap);// post请求application/json类型参数 + return result; + } + + + //access_token认证 + public static String getAccessTokenURL() { + + //设置接口的URI地址 + final String previewURLsApi = ARTEMIS_PATH + "/api/v1/oauth/token"; + Map path = new HashMap(2) { + { + put("https://", previewURLsApi);//根据现场环境部署确认是http还是https + } + }; + + //设置参数提交方式 + String contentType = "application/json"; + + //组装请求参数 + JSONObject jsonBody = new JSONObject(); + String body = jsonBody.toJSONString(); + + //调用接口 + String result = ArtemisHttpUtil.doPostStringArtemis(path, null, null, null, contentType , null);// post请求application/json类型参数 + + return result; + } + + + + + +} From bebc3ac9045a1213c964c6aaf809c9330b88a490 Mon Sep 17 00:00:00 2001 From: tesra <2667521914@qq.com> Date: Tue, 21 Jan 2025 20:39:38 +0800 Subject: [PATCH 10/11] revert c47e0f0ffc80d82f6e3eed9d4c8b184a93e8c22f MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit revert 添加海康接口 优化票务服务 --- .../yudao/module/hiking/IntegrationURL.java | 503 ------------------ 1 file changed, 503 deletions(-) delete mode 100644 ludu-module-hiking/ludu-module-hiking-biz/src/main/java/cn/iocoder/yudao/module/hiking/IntegrationURL.java diff --git a/ludu-module-hiking/ludu-module-hiking-biz/src/main/java/cn/iocoder/yudao/module/hiking/IntegrationURL.java b/ludu-module-hiking/ludu-module-hiking-biz/src/main/java/cn/iocoder/yudao/module/hiking/IntegrationURL.java deleted file mode 100644 index ce2b919e4..000000000 --- a/ludu-module-hiking/ludu-module-hiking-biz/src/main/java/cn/iocoder/yudao/module/hiking/IntegrationURL.java +++ /dev/null @@ -1,503 +0,0 @@ -package cn.iocoder.yudao.module.hiking; - -import cn.iocoder.yudao.module.hiking.dal.dataobject.region.RegionDO; -import cn.iocoder.yudao.module.hiking.service.region.RegionService; -import com.alibaba.fastjson.JSONObject; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.hikvision.artemis.sdk.ArtemisHttpUtil; -import com.hikvision.artemis.sdk.config.ArtemisConfig; -import org.springframework.beans.factory.annotation.Autowired; - -import javax.annotation.Resource; -import java.util.HashMap; -import java.util.Map; - -public class IntegrationURL { - - - //设置平台参数,根据实际情况,设置host appKey appSecret 三个参数. - static { - ArtemisConfig.host = "127.0.0.1:443"; // 平台的ip端口 - ArtemisConfig.appKey = "29180881"; // 密钥appkey - ArtemisConfig.appSecret = "XO0wCAYGi4KV70ybjznx";// 密钥appSecret - } - - //设置OpenAPI接口的上下文 - public static final String ARTEMIS_PATH = "/artemis"; - - - // 获取根区域信息 - public static String getRegionsRootURL(String accessToken) { - - - //设置接口的URI地址 - final String previewURLsApi = ARTEMIS_PATH + "/api/resource/v1/regions/root"; - Map path = new HashMap(2) { - { - put("https://", previewURLsApi);//根据现场环境部署确认是http还是https - } - }; - - //设置参数提交方式 - String contentType = "application/json"; - - //请求头添加 access_token认证 - Map attributesMap = new HashMap<>(); - attributesMap.put("access_token", accessToken); - - //调用接口 - String result = ArtemisHttpUtil.doPostStringArtemis(path, null, null, null, contentType , attributesMap);// post请求application/json类型参数 - return result; - } - - //查询区域列表v2 - public static String getRegionListURL(String resourceType,int pageNo,int pageSize,String accessToken) { - - - //设置接口的URI地址 - final String previewURLsApi = ARTEMIS_PATH + "/api/irds/v2/region/nodesByParams"; - Map path = new HashMap(2) { - { - put("https://", previewURLsApi);//根据现场环境部署确认是http还是https - } - }; - - //设置参数提交方式 - String contentType = "application/json"; - - //组装请求参数 - JSONObject jsonBody = new JSONObject(); - jsonBody.put("resourceType",resourceType); - jsonBody.put("pageNo", pageNo); - jsonBody.put("pageSize", pageSize); - String body = jsonBody.toJSONString(); - - //请求头添加 access_token认证 - Map attributesMap = new HashMap<>(); - attributesMap.put("access_token", accessToken); - - //调用接口 - String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, contentType , attributesMap);// post请求application/json类型参数 - return result; - } - - // 根据区域编号获取下一级区域列表v2 - public static String getRegionListByParentIndexCodeURL(String parentIndexCode, String resourceType,int pageNo,int pageSize,String accessToken) { - - - //设置接口的URI地址 - final String previewURLsApi = ARTEMIS_PATH + "/api/resource/v2/regions/subRegions"; - Map path = new HashMap(2) { - { - put("https://", previewURLsApi);//根据现场环境部署确认是http还是https - } - }; - - //设置参数提交方式 - String contentType = "application/json"; - - //组装请求参数 - JSONObject jsonBody = new JSONObject(); - jsonBody.put("parentIndexCode", parentIndexCode); - jsonBody.put("resourceType",resourceType); - jsonBody.put("pageNo", pageNo); - jsonBody.put("pageSize", pageSize); - String body = jsonBody.toJSONString(); - - //请求头添加 access_token认证 - Map attributesMap = new HashMap<>(); - attributesMap.put("access_token", accessToken); - - //调用接口 - String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, contentType , attributesMap);// post请求application/json类型参数 - return result; - } - - // 分页获取区域列表 - public static String getRegionListPageURL(int pageNo,int pageSize,String accessToken) { - - - //设置接口的URI地址 - final String previewURLsApi = ARTEMIS_PATH + "/api/resource/v1/regions"; - Map path = new HashMap(2) { - { - put("https://", previewURLsApi);//根据现场环境部署确认是http还是https - } - }; - - //设置参数提交方式 - String contentType = "application/json"; - - //组装请求参数 - JSONObject jsonBody = new JSONObject(); - jsonBody.put("pageNo", pageNo); - jsonBody.put("pageSize", pageSize); - String body = jsonBody.toJSONString(); - - //请求头添加 access_token认证 - Map attributesMap = new HashMap<>(); - attributesMap.put("access_token", accessToken); - - //调用接口 - String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, contentType , attributesMap);// post请求application/json类型参数 - return result; - } - - // 根据编号获取区域详细信息 - public static String getRegionByIndexCodesURL(String[] indexCodes,String accessToken) { - //设置接口的URI地址 - final String previewURLsApi = ARTEMIS_PATH + "/api/resource/v1/region/regionCatalog/regionInfo"; - Map path = new HashMap(2) { - { - put("https://", previewURLsApi);//根据现场环境部署确认是http还是https - } - }; - - //设置参数提交方式 - String contentType = "application/json"; - - //组装请求参数 - JSONObject jsonBody = new JSONObject(); - jsonBody.put("indexCodes", indexCodes); - String body = jsonBody.toJSONString(); - - //请求头添加 access_token认证 - Map attributesMap = new HashMap<>(); - attributesMap.put("access_token", accessToken); - - //调用接口 - String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, contentType , attributesMap);// post请求application/json类型参数 - return result; - } - - // 增量获取区域数据 - public static String getRegionTimeRangeURL(String startTime, String pageNo, String pageSize,String accessToken) { - //设置接口的URI地址 - final String previewURLsApi = ARTEMIS_PATH + "/api/resource/v1/region/timeRange"; - Map path = new HashMap(2) { - { - put("https://", previewURLsApi);//根据现场环境部署确认是http还是https - } - }; - - //设置参数提交方式 - String contentType = "application/json"; - - //组装请求参数 - JSONObject jsonBody = new JSONObject(); - jsonBody.put("startTime", startTime); - jsonBody.put("pageNo", pageNo); - jsonBody.put("pageSize", pageSize); - String body = jsonBody.toJSONString(); - - //请求头添加 access_token认证 - Map attributesMap = new HashMap<>(); - attributesMap.put("access_token", accessToken); - - //调用接口 - String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, contentType , attributesMap);// post请求application/json类型参数 - return result; - } - - //查询监控点列表v2 - public static String getCameraListURL(int pageNo,int pageSize,String accessToken) { - - //设置接口的URI地址 - final String previewURLsApi = ARTEMIS_PATH + "/api/resource/v2/camera/search"; - Map path = new HashMap(2) { - { - put("https://", previewURLsApi);//根据现场环境部署确认是http还是https - } - }; - - //设置参数提交方式 - String contentType = "application/json"; - - //组装请求参数 - JSONObject jsonBody = new JSONObject(); - jsonBody.put("pageNo", pageNo); //当前页码 - jsonBody.put("pageSize", pageSize); //分页大小 - String body = jsonBody.toJSONString(); - - //请求头添加 access_token认证 - Map attributesMap = new HashMap<>(); - attributesMap.put("access_token", accessToken); - - //调用接口 - String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, contentType , attributesMap);// post请求application/json类型参数 - return result; - } - - - //分页获取监控点资源 - public static String getCameraResourceURL(int pageNo,int pageSize,String accessToken) { - - //设置接口的URI地址 - final String previewURLsApi = ARTEMIS_PATH + "/api/resource/v1/cameras"; - Map path = new HashMap(2) { - { - put("https://", previewURLsApi);//根据现场环境部署确认是http还是https - } - }; - - //设置参数提交方式 - String contentType = "application/json"; - - //组装请求参数 - JSONObject jsonBody = new JSONObject(); - jsonBody.put("pageNo", pageNo); //当前页码 - jsonBody.put("pageSize", pageSize); //分页大小 - String body = jsonBody.toJSONString(); - - //请求头添加 access_token认证 - Map attributesMap = new HashMap<>(); - attributesMap.put("access_token", accessToken); - - //调用接口 - String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, contentType , attributesMap);// post请求application/json类型参数 - return result; - } - - // 根据区域编号获取下级监控点列表 - public static String getCameraListByRegionIndexCodeURL(String regionIndexCode, int pageNo,int pageSize,String accessToken) { - - //设置接口的URI地址 - final String previewURLsApi = ARTEMIS_PATH + "/api/resource/v1/regions/regionIndexCode/cameras"; - Map path = new HashMap(2) { - { - put("https://", previewURLsApi);//根据现场环境部署确认是http还是https - } - }; - - //设置参数提交方式 - String contentType = "application/json"; - - //组装请求参数 - JSONObject jsonBody = new JSONObject(); - jsonBody.put("regionIndexCode", regionIndexCode); //区域编号 - jsonBody.put("pageNo", pageNo); //当前页码 - jsonBody.put("pageSize", pageSize); //分页大小 - String body = jsonBody.toJSONString(); - - //请求头添加 access_token认证 - Map attributesMap = new HashMap<>(); - attributesMap.put("access_token", accessToken); - - //调用接口 - String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, contentType , attributesMap);// post请求application/json类型参数 - return result; - } - - // 根据编号获取监控点详细信息 - public static String getCameraByCameraIndexCodeURL(String cameraIndexCode,String accessToken) { - - //设置接口的URI地址 - final String previewURLsApi = ARTEMIS_PATH + "/api/resource/v1/cameras/indexCode"; - Map path = new HashMap(2) { - { - put("https://", previewURLsApi);//根据现场环境部署确认是http还是https - } - }; - - //设置参数提交方式 - String contentType = "application/json"; - - //组装请求参数 - JSONObject jsonBody = new JSONObject(); - jsonBody.put("cameraIndexCode", cameraIndexCode); //监控点唯一标识 - String body = jsonBody.toJSONString(); - - //请求头添加 access_token认证 - Map attributesMap = new HashMap<>(); - attributesMap.put("access_token", accessToken); - - //调用接口 - String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, contentType , attributesMap);// post请求application/json类型参数 - return result; - } - - // 增量获取监控点数据 - public static String getCameraTimeRangeURL(String startTime, int pageNo, int pageSize, String accessToken) { - - //设置接口的URI地址 - final String previewURLsApi = ARTEMIS_PATH + "/api/resource/v1/camera/timeRange"; - Map path = new HashMap(2) { - { - put("https://", previewURLsApi);//根据现场环境部署确认是http还是https - } - }; - - //设置参数提交方式 - String contentType = "application/json"; - - //组装请求参数 - JSONObject jsonBody = new JSONObject(); - jsonBody.put("startTime", startTime); - jsonBody.put("pageNo", pageNo); //当前页码 - jsonBody.put("pageSize", pageSize); //分页大小 - String body = jsonBody.toJSONString(); - - //请求头添加 access_token认证 - Map attributesMap = new HashMap<>(); - attributesMap.put("access_token", accessToken); - - //调用接口 - String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, contentType , attributesMap);// post请求application/json类型参数 - return result; - } - - - //获取监控点预览取流URLv2 - public static String getPreviewURL(String cameraIndexCode,String accessToken) { - - //设置接口的URI地址 - final String previewURLsApi = ARTEMIS_PATH + "/api/video/v2/cameras/previewURLs"; - Map path = new HashMap(2) { - { - put("https://", previewURLsApi);//根据现场环境部署确认是http还是https - } - }; - - //设置参数提交方式 - String contentType = "application/json"; - - //组装请求参数 - JSONObject jsonBody = new JSONObject(); - jsonBody.put("cameraIndexCode", cameraIndexCode); //监控点唯一标识,分页获取监控点资源接口获取返回参数cameraIndexCode - String body = jsonBody.toJSONString(); - - //请求头添加 access_token认证 - Map attributesMap = new HashMap<>(); - attributesMap.put("access_token", accessToken); - - //调用接口 - String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, contentType , attributesMap);// post请求application/json类型参数 - return result; - } - - - //获取监控点回放取流URLv2 - public static String getPlaybackURL(String cameraIndexCode,String beginTime,String endTime,String accessToken) { - - //设置接口的URI地址 - final String previewURLsApi = ARTEMIS_PATH + "/api/video/v2/cameras/playbackURLs"; - Map path = new HashMap(2) { - { - put("https://", previewURLsApi);//根据现场环境部署确认是http还是https - } - }; - - //设置参数提交方式 - String contentType = "application/json"; - - //组装请求参数 - JSONObject jsonBody = new JSONObject(); - jsonBody.put("cameraIndexCode", cameraIndexCode);//监控点唯一标识,分页获取监控点资源接口获取返回参数cameraIndexCode - jsonBody.put("beginTime",beginTime );//开始查询时间(IOS8601格式:yyyy-MM-dd’T’HH:mm:ss.SSSXXX)例如北京时间:2017-06-14T00:00:00.000+08:00, - jsonBody.put("endTime",endTime);//结束时间 - String body = jsonBody.toJSONString(); - - //请求头添加 access_token认证 - Map attributesMap = new HashMap<>(); - attributesMap.put("access_token", accessToken); - - //调用接口 - String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, contentType , attributesMap);// post请求application/json类型参数 - return result; - } - - - //监控点3D放大 - public static String getControlURL(String cameraIndexCode,int startX,int startY,int endX,int endY,String accessToken) { - - //设置接口的URI地址 - final String previewURLsApi = ARTEMIS_PATH + "/api/video/v1/ptzs/selZoom"; - Map path = new HashMap(2) { - { - put("https://", previewURLsApi);//根据现场环境部署确认是http还是https - } - }; - - //设置参数提交方式 - String contentType = "application/json"; - - //组装请求参数 - JSONObject jsonBody = new JSONObject(); - jsonBody.put("cameraIndexCode",cameraIndexCode ); - jsonBody.put("startX",startX ); - jsonBody.put("startY",startY ); - jsonBody.put("endX",endX ); - jsonBody.put("endY",endY ); - String body = jsonBody.toJSONString(); - - //请求头添加 access_token认证 - Map attributesMap = new HashMap<>(); - attributesMap.put("access_token", accessToken); - - //调用接口 - String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, contentType , attributesMap);// post请求application/json类型参数 - return result; - } - - - //根据监控点编号进行云台操作 - public static String getYunTaiOperationURL(String cameraIndexCode,int action,String command,String accessToken) { - - //设置接口的URI地址 - final String previewURLsApi = ARTEMIS_PATH + "/api/video/v1/ptzs/controlling"; - Map path = new HashMap(2) { - { - put("https://", previewURLsApi);//根据现场环境部署确认是http还是https - } - }; - - //设置参数提交方式 - String contentType = "application/json"; - - //组装请求参数 - JSONObject jsonBody = new JSONObject(); - jsonBody.put("cameraIndexCode", cameraIndexCode); - jsonBody.put("action",action ); - jsonBody.put("command",command ); - String body = jsonBody.toJSONString(); - - //请求头添加 access_token认证 - Map attributesMap = new HashMap<>(); - attributesMap.put("access_token", accessToken); - - //调用接口 - String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, contentType , attributesMap);// post请求application/json类型参数 - return result; - } - - - //access_token认证 - public static String getAccessTokenURL() { - - //设置接口的URI地址 - final String previewURLsApi = ARTEMIS_PATH + "/api/v1/oauth/token"; - Map path = new HashMap(2) { - { - put("https://", previewURLsApi);//根据现场环境部署确认是http还是https - } - }; - - //设置参数提交方式 - String contentType = "application/json"; - - //组装请求参数 - JSONObject jsonBody = new JSONObject(); - String body = jsonBody.toJSONString(); - - //调用接口 - String result = ArtemisHttpUtil.doPostStringArtemis(path, null, null, null, contentType , null);// post请求application/json类型参数 - - return result; - } - - - - - -} From 2a7e7989178c2e350dbbb73b4f69c4a910fbc02f Mon Sep 17 00:00:00 2001 From: punchhhh <87906027+punchhhh@users.noreply.github.com> Date: Tue, 21 Jan 2025 20:41:52 +0800 Subject: [PATCH 11/11] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=B5=B7=E5=BA=B7?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=20=E4=BC=98=E5=8C=96=E7=A5=A8=E5=8A=A1?= =?UTF-8?q?=E6=9C=8D=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../datacenter/controller/RegionApi.java | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/RegionApi.java diff --git a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/RegionApi.java b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/RegionApi.java new file mode 100644 index 000000000..c661315f3 --- /dev/null +++ b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/RegionApi.java @@ -0,0 +1,31 @@ +package cn.iocoder.yudao.module.datacenter.controller; + +import cn.iocoder.yudao.module.datacenter.controller.app.camera.vo.CameraDTO; +import cn.iocoder.yudao.module.datacenter.controller.app.camera.vo.RegionCameraListDTO; +import cn.iocoder.yudao.module.datacenter.controller.app.region.vo.RegionDTO; +import cn.iocoder.yudao.module.datacenter.service.camera.CameraService; +import cn.iocoder.yudao.module.datacenter.service.region.RegionService; +import com.baomidou.dynamic.datasource.annotation.DS; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.List; + +@Tag(name = "大屏服务 - 区域") +@RestController +@RequestMapping("/region") +@Validated +public class RegionApi { + @Resource + private RegionService regionService; + + @GetMapping("/list") + @DS("hiking") + public List list() { + return regionService.getRegionList(); + } +}