package com.cyl.h5.pojo.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.cyl.manager.oms.domain.OmsOrderService;
import com.cyl.manager.oms.domain.OrderItem;
import com.cyl.manager.ums.pojo.vo.PetVO;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

@Data
public class H5OrderVO {

    @ApiModelProperty("订单id")
    private Long orderId;

    @ApiModelProperty("支付id")
    private Long payId;

    @ApiModelProperty("订单编号")
    private String orderSn;

    @ApiModelProperty("会员id")
    private Long memberId;

    @ApiModelProperty("订单总金额")
    private BigDecimal totalAmount;

    @ApiModelProperty("应付金额")
    private BigDecimal payAmount;

    @ApiModelProperty("订单状态 0->待付款；1->待发货；2->已发货；3->已完成；4->已关闭")
    private Integer status;

    @ApiModelProperty("售后状态")
    private Integer aftersaleStatus;

    @ApiModelProperty("订单Item")
    private List<OrderItem> orderItemList;

    @ApiModelProperty("订单service")
    private List<OmsOrderService> orderServiceList;

    @ApiModelProperty("订单Item")
    private OmsOrderService service;

    @ApiModelProperty("订单备注")
    private String note;

    @ApiModelProperty("物流单号")
    private String deliverySn;

    @ApiModelProperty("下单时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("支付时间")
    private LocalDateTime paymentTime;

    @ApiModelProperty("收货人姓名")
    private String receiverName;

    @ApiModelProperty("收货人手机号")
    private String receiverPhone;

    @ApiModelProperty("省份/直辖市")
    private String receiverProvince;

    @ApiModelProperty("城市")
    private String receiverCity;

    @ApiModelProperty("区")
    private String receiverDistrict;

    @ApiModelProperty("详细地址")
    private String receiverDetailAddress;

    @ApiModelProperty("支付倒计时")
    private Long timeToPay;

    @ApiModelProperty("员工id")
    private Long staffId;

    @TableField(exist = false)
    private  List<PetVO> petVOList;

    //接单的伴宠师
    private  Long teacherId;

    private  Integer companionLevel;

    private  Long addressId;
    /** 经度 */
    private String longitude;

    /** 纬度 */
    private String latitude;
//    @TableField(exist = false)
//    private  AppletUsersTeacher usersTeacher;

    /** 会员折扣金额 */
    private BigDecimal memberDiscount;

    /** 优惠券优惠金额 */
    private BigDecimal couponDiscount;

    /** 费用总计，计算过会员折扣金额后的 */
    private BigDecimal oldPrice;

    /** 提前熟悉的费用 */
    private BigDecimal preFamiliarizePrice;

    /** 伴宠师等级加价 */
    private BigDecimal companionLevelPrice;

    private Boolean needPreFamiliarize;

    private boolean evaluation;

    // 修改订单原订单id
    private  Long oldOrderId;

    //接单的伴宠师id
    private Long acceptAppUserId;
}
