package com.xinelu.common.entity;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * @Description 获取小程序用户手机号实体类
 * @Author 纪寒
 * @Date 2022-08-17 17:44:53
 * @Version 1.0
 */
@NoArgsConstructor
@Data
public class AppletPhoneVO implements Serializable {
    private static final long serialVersionUID = -135523900524315866L;

    /**
     * 错误编码，
     * 0：成功
     * -1：系统繁忙，此时请开发者稍候再试
     * 40029：不合法的code（code不存在、已过期或者使用过）
     */
    @JsonProperty("errcode")
    private Integer errcode;

    /**
     * 返回提示信息，ok：成功
     */
    @JsonProperty("errmsg")
    private String errmsg;

    /**
     * 电话信息实体类
     */
    @JsonProperty("phone_info")
    private PhoneInfoDTO phoneInfo;

    @NoArgsConstructor
    @Data
    public static class PhoneInfoDTO {

        /**
         * 用户绑定的手机号（国外手机号会有区号）
         */
        @JsonProperty("phoneNumber")
        private String phoneNumber;

        /**
         * 没有区号的手机号
         */
        @JsonProperty("purePhoneNumber")
        private String purePhoneNumber;

        /**
         * 区号
         */
        @JsonProperty("countryCode")
        private Integer countryCode;

        /**
         * 数据水印
         */
        @JsonProperty("watermark")
        private WatermarkDTO watermark;

        @NoArgsConstructor
        @Data
        public static class WatermarkDTO {

            /**
             * 用户获取手机号操作的时间戳
             */
            @JsonProperty("timestamp")
            private Integer timestamp;

            /**
             * 小程序appid
             */
            @JsonProperty("appid")
            private String appid;
        }
    }
}
