package com.xmomen.module.receipt.model;

import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.xmomen.module.order.entity.TbReturnOrderItem;
import com.xmomen.module.order.model.PackingModel;

/**
 * Created by tanxinzheng on 16/8/17.
 */
public @Data class ReturnOrderModel implements Serializable {


    // 返回订单ID
    private Integer id;
    

    // 订单ID
    private Integer returnOrderId;


    // 订单类型
    private Integer orderType;


    // 订单类型描述
    private String orderTypeDesc;


    // 订单来源
    private Integer orderSource;


    // 订单来源描述
    private String orderSourceDesc;

    // 支付方式
    private Integer paymentMode;


    // 支付方式描述
    private String paymentModeDesc;


    // 订单号
    private String orderNo;


    // 订单状态
    private String orderStatus;


    // 包装任务用户名
    private String packingTaskUsername;

    // 包装任务用户ID
    private Integer packingTaskUserId;


    // 包装任务状态
    private Integer packingTaskStatus;

    // 包装任务状态描述
    private String packingTaskStatusDesc;

    // 包装任务创建时间
    private Date packingTaskCreateTime;


    // 包装任务开始时间
    private Date packingTaskStartTime;


    // 包装任务结束时间
    private Date packingTaskEndTime;


    // 订单状态描述
    private String orderStatusDesc;


    // 收货人电话
    private String consigneePhone;


    // 收货人姓名
    private String consigneeName;


    // 收货人地址
    private String consigneeAddress;


    // 运输方式
    private Integer transportMode;


    // 备注
    private String remark;


    // 折扣价格
    private BigDecimal discountPrice;


    // 总金额
    private BigDecimal totalAmount;

    // 创建时间
    private Date createTime;

    // 创建用户的ID
    private Integer createUserId;

    // 用户创建者
    private String createUser;


    private Date appointmentTime;


    private String couponNumber;


    private String expressName;

    private Integer despatchExpressId;


    private String managerName;

    private String companyName;


    private String batchNo;

    private Integer otherPaymentMode;
    
    private String otherPaymentModeDesc;
    
    private BigDecimal otherPayAmount;
    
    private String receivingCode;
    
    // 订单项列表
    private List<TbReturnOrderItem> itemList;
    
    // 返回时间
    private Date returnTime;
    
    // 返回状态
    private String returnStatus;
    
    // 返回状态描述
    private String returnStatusDesc;
    

    // 审核状态
    private Integer auditStatus;


    // 审核日期
    private Date auditDate;


    // 审核用户ID
    private Integer auditUserId;
    
    // 审核用户名
    private String auditUserName;


    // 商品取货日期
    private Date takeGoodsDate;


    // 用户取货ID
    private Integer takeGoodsUserId;

    // 商品领取人姓名
    private String takeGoodsUserName;

    // 顾客取货电话
    private String takeGoodsPhone;
}
