package com.ard.work.sdk.zlxd.netty.message.request; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import javax.xml.bind.annotation.*; /** * 类描述:设置ptz * * @author lsy * @since 2026/2/3 15:06 */ @EqualsAndHashCode(callSuper = true) @Data @NoArgsConstructor @XmlRootElement(name = "Message") @XmlAccessorType(XmlAccessType.FIELD) public class SetAbsLocationZoomRequest extends BaseXmlRequest { @XmlElement(name = "parameters") private Parameters parameters; @NoArgsConstructor @XmlAccessorType(XmlAccessType.FIELD) public static class Parameters { /** * 1:可见光 2:热成像 */ @XmlElement(name = "ptzId") private int ptzId; /** * 水平角(度) */ @XmlElement(name = "panAngle") private float panAngle; /** * 俯仰角(度) */ @XmlElement(name = "tiltAngle") private float tiltAngle; /** * 变倍 */ @XmlElement(name = "zoomRatio") private float zoom; /** * 聚焦值 */ @XmlElement(name = "focus") private int focus; /** * 水平垂直转动速度范围 0-9 */ @XmlElement(name = "speed") private int speed = 9; /** * zoom移动范围 1-99 */ @XmlElement(name = "zoomSpeed") private int zoomSpeed = 50; public Parameters(Integer chanNo, Float panAngle, Float tiltAngle, Float zoom, Integer focus) { this.ptzId = chanNo; this.panAngle = panAngle; this.tiltAngle = tiltAngle; this.focus = focus; this.zoom = zoom; } public Parameters(Integer chanNo, Float panAngle, Float tiltAngle, Float zoom) { this.ptzId = chanNo; this.panAngle = panAngle; this.tiltAngle = tiltAngle; this.zoom = zoom; } } public SetAbsLocationZoomRequest(Integer chanNo, Float p, Float t, Float z, Integer focus, int seq, String sessionId) { super.setHeader(new Header("SetAbsLocationZoom", seq, sessionId, "", "")); this.parameters = new Parameters(chanNo, p, t, z, focus); } public SetAbsLocationZoomRequest(Integer chanNo, Float p, Float t, Float z, int seq, String sessionId) { super.setHeader(new Header("SetAbsLocationZoom", seq, sessionId, "", "")); this.parameters = new Parameters(chanNo, p, t, z); } }