package com.cyksj.dto;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Getter;
import lombok.Setter;

/**
 * 项目名: yhlxj
 * 文件名: ArkIpAddressDto
 * 创建者: JavaZou
 * 创建时间:2024/6/21 11:15
 */
@Getter
@Setter
public class ArkIpAddressDto {
	@JsonProperty("INPUT_STRING")
	private String inputString;
	@JsonProperty("INPUT_IP_ADDRESS")
	private String inputIpAddress;
	@JsonProperty("CALLER_IP_ADDRESS")
	private String callerIpAddress;
	@JsonProperty("STATUS")
	private String status;
	@JsonProperty("ENTITY")
	private Entity entity;

	@Getter
	@Setter
	public static class Entity {
		@JsonProperty("INPUT_IP_ADDRESS")
		private InputIpAddress inputIpAddress;
		@JsonProperty("CALLER_IP_ADDRESS")
		private CallerIpAddress callerIpAddress;

		/**
		 * ip信息
		 */
		@Getter
		@Setter
		public static class InputIpAddress {
			@JsonProperty("IP_ADDRESS")
			private String ipAddress;
			@JsonProperty("GLOBAL")
			private String global;
			@JsonProperty("NATION")
			private String nation;
			@JsonProperty("NATION_NAME_EN")
			private String nationNameEn;
			@JsonProperty("NATION_NAME_EN_ABBR")
			private String nationNameEnAbbr;
			@JsonProperty("PROVINCE")
			private String province;
			@JsonProperty("CITY")
			private String city;
			@JsonProperty("DISTRICT")
			private String district;
			@JsonProperty("ISP")
			private String isp;
			@JsonProperty("ADCODE")
			private String adcode;
			@JsonProperty("GPS")
			private String gps;
			@JsonProperty("STATUS")
			private String status;
		}

		@Getter
		@Setter
		public static class CallerIpAddress {
			@JsonProperty("IP_ADDRESS")
			private String ipAddress;
			@JsonProperty("GLOBAL")
			private String global;
			@JsonProperty("NATION")
			private String nation;
			@JsonProperty("NATION_NAME_EN")
			private String nationNameEn;
			@JsonProperty("NATION_NAME_EN_ABBR")
			private String nationNameEnAbbr;
			@JsonProperty("PROVINCE")
			private String province;
			@JsonProperty("CITY")
			private String city;
			@JsonProperty("DISTRICT")
			private String district;
			@JsonProperty("ISP")
			private String isp;
			@JsonProperty("ADCODE")
			private String adcode;
			@JsonProperty("GPS")
			private String gps;
			@JsonProperty("STATUS")
			private String status;
		}
	}
}
