package com.ard.work.sdk.zlxd.netty.message.request;
|
|
import com.ard.work.api.domian.ArdCamera;
|
import com.ard.work.sdk.zlxd.service.ZlxdLoginEncryptor;
|
import lombok.Data;
|
import lombok.EqualsAndHashCode;
|
import lombok.NoArgsConstructor;
|
import javax.xml.bind.annotation.*;
|
import java.nio.charset.StandardCharsets;
|
import java.util.Base64;
|
|
|
/**
|
* 类描述:登录请求
|
*
|
* @author lsy
|
* @since 2026/2/2 9:14
|
*/
|
@EqualsAndHashCode(callSuper = true)
|
@Data
|
@NoArgsConstructor
|
@XmlRootElement(name = "Message")
|
@XmlAccessorType(XmlAccessType.FIELD)
|
public class LoginRequest extends BaseXmlRequest {
|
|
@XmlElement(name = "parameters")
|
private Parameters parameters;
|
|
@NoArgsConstructor
|
@XmlAccessorType(XmlAccessType.FIELD)
|
public static class Parameters {
|
@XmlElement(name = "UserName")
|
private String userName;
|
@XmlElement(name = "Password")
|
private String password;
|
@XmlElement(name = "clientIp")
|
private String clientIp;
|
|
public Parameters(String userName, String password, String sessionId, String challenge) {
|
this.userName = Base64.getEncoder().encodeToString(userName.getBytes(StandardCharsets.UTF_8));
|
this.password = ZlxdLoginEncryptor.encrypt(userName, password, sessionId, challenge);
|
this.clientIp = "";
|
}
|
}
|
|
public LoginRequest(ArdCamera ardCamera, String sessionId, String salt, int sequence) {
|
super.setHeader(new Header("LOGGING", sequence, "", "", ""));
|
this.parameters = new Parameters(ardCamera.getUsername(), ardCamera.getPassword(), sessionId, salt);
|
}
|
|
|
}
|