package com.bohuikeji.delivery.backstage.entity.open.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.bohuikeji.delivery.backstage.entity.open.VoBase;
import com.bohuikeji.frame.module.admin.entity.vo.AddressVo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 开放平台订单返回实体对象
 * @author 孙劲辉
 */
@Data
public class OrderVo extends VoBase<OrderVo> {
    @ApiModelProperty(value = "订单编号")
    private String orderNum;

    @ApiModelProperty(value = "寄件人姓名")
    private String mailingName;

    @ApiModelProperty(value = "寄件人手机号")
    private String mailingPhone;

    @ApiModelProperty(value = "寄件地址")
    private AddressVo mailingAddress;

    @ApiModelProperty(value = "收件人姓名")
    private String receiptName;

    @ApiModelProperty(value = "收件人手机号")
    private String receiptPhone;

    @ApiModelProperty(value = "收件地址")
    private AddressVo receiptAddress;

    @ApiModelProperty(value = "地址距离(公里),用于计算金额")
    private Integer orderDistance=1;

    @ApiModelProperty(value = "车辆类型(名称)")
    @TableField("vehicle_name")
    private String vehicleName;

    @ApiModelProperty(value = "货物类型(鲜花,家电等等..)")
    private String cargoName;

    @ApiModelProperty(value = "物品价值名称")
    private String worthName;

    @ApiModelProperty(value = "运输方式名称")
    private String wayName;

    @ApiModelProperty(value = "结算方式(寄付,到付)")
    private String paymentType;

    @ApiModelProperty(value = "货物重量,用于计算金额")
    private Integer cargoWeight=1;

    @ApiModelProperty(value = "货物照片")
    private String cargoPhotos;


    @ApiModelProperty(value = "到户取件（是否）")
    private String doorAccess="是";

    @ApiModelProperty(value = "取件时间")
    private String pickTime="今天/一小时内";

    @ApiModelProperty(value = "订单预估金额(￥)")
    private BigDecimal orderExpectPrice=new BigDecimal("0.00").setScale(2, BigDecimal.ROUND_DOWN);

    @ApiModelProperty(value = "订单实际支付金额")
    private BigDecimal orderFactPrice=new BigDecimal("0.00").setScale(2, BigDecimal.ROUND_DOWN);

    @ApiModelProperty(value = "下单时间")
    private LocalDateTime orderCreateTime=LocalDateTime.now();

    @ApiModelProperty(value = "接单时间")
    private LocalDateTime acceptanceTime;

    @ApiModelProperty(value = "预计到达时间")
    private LocalDateTime orderExpectTime=LocalDateTime.now().plusHours(8);

    /*@ApiModelProperty(value = "剩余取件时间")
    private LocalDateTime surplusPickTime;*/

    @ApiModelProperty(value = "确认取件时间")
    private LocalDateTime confirmPickTime;

    @ApiModelProperty(value = "订单结束时间")
    private LocalDateTime orderEndTime;

    @ApiModelProperty(value = "订单状态(待接单,待支付,待取件,取件中,待派送,派送中,已完成,已取消,已退款,异常)")
    private String orderStatus="待接单";



}
