package org.ta.pddserver.model.pddjy.request;

import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serial;
import java.io.Serializable;
import java.util.List;

@EqualsAndHashCode(callSuper = true)
@Data
public class PddServiceConsoSelfSiteSyncRequest extends JYBaseRequestModel implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 服务商code（必填）
     */
    private String providerCode;

    /**
     * 类型（必填）
     * <p>cabinet：自提柜；site：自提点</p>
     */
    private String type;

    /**
     * 操作类型（必填）
     * <p>1:新增；2:更新；3:新增或更新</p>
     */
    private Integer action;

    /**
     * 业务发生时间（必填，格式：yyyy-MM-dd HH:mm:ss）
     */
    private String executeTime;

    /**
     * 时区（非必填，默认北京时区：UTC+8）
     */
    private String timeZone;

    /**
     * 自提点列表（必填）
     */
    private List<SelfPickupItem> items;


    /**
     * 自提点/自提柜详情
     */
    @Data
    public static class SelfPickupItem {
        /**
         * 自提点（柜）编码（必填）
         */
        private String code;

        /**
         * 自提点（柜）名称（必填）
         */
        private String name;

        /**
         * 自提点（柜）品牌编码（必填）
         */
        private String brandCode;

        /**
         * 支持集运的类型（必填）
         * <p>1：快捷；2：标准；3：快捷/标准</p>
         */
        private Integer supportConsoModel;

        /**
         * 是否可用（必填）
         * <p>1：可用；0：不可用</p>
         */
        private Integer inUse;

        /**
         * 地区/国家（必填）
         */
        private String country;

        /**
         * 省（必填）
         */
        private String province;

        /**
         * 市（必填）
         */
        private String city;

        /**
         * 区（必填）
         */
        private String district;

        /**
         * 乡镇/街道（非必填）
         */
        private String town;

        /**
         * 详细地址（必填）
         */
        private String detailAddress;

        /**
         * 自提点经度（必填，保留7位小数）
         */
        private String longitude;

        /**
         * 自提点纬度（必填，保留7位小数）
         */
        private String latitude;

        /**
         * 地图坐标系（必填）
         * <p>WGS-84：大地坐标系</p>
         */
        private String mapCoordinateSystem;

        /**
         * 营业时间描述（必填）
         */
        private String businessTimeDesc;

        /**
         * 唯一记录识别ID（必填）
         */
        private String objectId;
    }


}
