package com.hys.app.service.kuaidiniao.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;

/**
 * 推送下单失败状态
 */
@Data
public class ReturnCreateOrderSuccess {
    @ApiModelProperty(value = "快递鸟订单号")
    private String kdnOrderCode;

    @ApiModelProperty(value = "商家订单号")
    private String orderCode;

    @ApiModelProperty(value = "即时配物流单号")
    private String channelOrderCode;

    @ApiModelProperty(value = "KDN订单状态 固定为100")
    private Integer orderStatus;

    @ApiModelProperty(value = "取件码")
    private String pickupCode;

    @ApiModelProperty(value = "总距离单位米")
    private Double totalDistance;

    @ApiModelProperty(value = "总费用，单位：元（常规配送费+加价费+拒收扣费+特殊时段费+增值费用总和—优惠总费用）")
    private Double totalAmount;

    @ApiModelProperty(value = "实际支付的费用，单位：元（总金额-优惠费用-限时补贴）")
    private Double actualTotalFee;

    @ApiModelProperty(value = "限时补贴的费用,单位：元")
    private Double dynamicSubsidyAmount;

    @ApiModelProperty(value = "起步价，单位：元")
    private Double startAmount;

    @ApiModelProperty(value = "超重费，单位：元；默认为0时，无需处理。非0，前端展示(6KG，超重3KG)")
    private Double continuousWeightAmount;

    private List<Object> continuousWeightInfoList;

    @ApiModelProperty(value = "超距费用")
    private Double continuousDistanceAmount;

    @TableField(typeHandler = FastjsonTypeHandler.class)
    private List<Object> continuousDistanceInfoList;

    @ApiModelProperty(value = "时段加价费，单位：元；默认为0时，无需处理。非0，前端展示")
    private Double specialTimeAmount;

    @TableField(typeHandler = FastjsonTypeHandler.class)
    private List<Object> specialTimeInfoList;

    @ApiModelProperty(value = "费用")
    private Double additionAmount;

    @ApiModelProperty(value = "加价费用明细")
    private String additionDesc;

    @ApiModelProperty(value = "拒收费用")
    private Double rejectFee;

    @ApiModelProperty(value = "优惠金额")
    private Double discountFee;

    @ApiModelProperty(value = "优惠明细JSON数据")
    private String discountInfoList;

    @ApiModelProperty(value = "增值费用总金额")
    private Double incrementFee;

    @ApiModelProperty(value = "增值费用明细JSON数据")
    private String incrementFeeInfoList;

    @ApiModelProperty(value = "备注说明")
    private String  remark;

    @ApiModelProperty(value = "请求时间毫秒级时间戳")
    private Long requestTime;
}
