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 PddServiceConsoProblemOrderNotifyRequest extends JYBaseRequestModel implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;

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

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

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

    /**
     * 问题包裹列表（必填）
     */
    private List<MailInfo> mailInfos;


    /**
     * 问题包裹详情
     */
    @Data
    public static class MailInfo {
        /**
         * 集运单号（必填）
         */
        private String orderCode;

        /**
         * 运单号（必填）
         */
        private String mailNo;

        /**
         * 快递公司编码（必填）
         */
        private String expressCode;

        /**
         * 问题件原因（必填）
         * <p>1-禁运；2-超大；3-超重；4-运输品类限制（特货）；5-丢失</p>
         * <p>6-破损；7-申请退货；8-包裹无效（无实物）；9-到付件；10-非原面单/外包装</p>
         */
        private Integer reasonCode;
    }

}
