package com.yiqi.order.domain.vo;

import cn.binarywang.wx.miniapp.bean.express.WxMaExpressDelivery;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.google.gson.annotations.SerializedName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * @author xiaohei
 * @date 2024/1/21
 */
@Data
public class ExpressDeliveryVO {
    @ApiModelProperty("快递公司客户编码")
    private String bizId;

    @ApiModelProperty("快递公司 ID")
    private String deliveryId;

    @ApiModelProperty("快递公司名称")
    private String deliveryName;

    @ApiModelProperty("是否支持散单, 1表示支持")
    private Integer canUseCash;

    @ApiModelProperty("是否支持查询面单余额, 1表示支持")
    private Integer canGetQuota;

    @ApiModelProperty("散单对应的bizid，当can_use_cash=1时有效")
    private String cashBizId;

    @ApiModelProperty("账号绑定时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    @ApiModelProperty("账号更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;

    @ApiModelProperty("绑定状态")
    private String statusCode;

    @ApiModelProperty("账号绑定失败的错误信息（EMS审核结果）")
    private String remarkWrongMsg;

    @ApiModelProperty("账号绑定时的备注内容（提交EMS审核需要）")
    private String remarkContent;

    @ApiModelProperty("电子面单余额")
    private Integer quotaNum;

    @ApiModelProperty("电子面单余额更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date quotaUpdateTime;

    @ApiModelProperty("支持的服务类型")
    private List<ServiceType> serviceType;


    @Data
    public static class ServiceType {

        public ServiceType() {
        }

        public ServiceType(Integer serviceType, String serviceName) {
            this.serviceType = serviceType;
            this.serviceName = serviceName;
        }

        @ApiModelProperty("服务类型")
        private Integer serviceType;
        @ApiModelProperty("服务类型名称")
        private String serviceName;
    }
}
