package com.iamberry.wechat.core.entity.rent;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.iamberry.wechat.core.entity.PageBean;
import com.iamberry.wechat.core.entity.order.OrderOperation;

/**
 * 租赁订单DTO
 * 2017年3月9日
 * @author 刘志伟
 */
public class RentOrderDTO implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 4920245402345192450L;
	private String rentOrderId;                //订单id
    private String rentOpenid;                 //所属用户
    private String rentUserNickName;           //所属用户名
	private Integer rentAmount;                //订单总额
	private Integer rentPayMoney;              //实际支付金额
	private Integer rentServiceId;             //抵扣券id
	
	private Integer rentServiceMoney;          //抵扣金额
	private Integer rentTypeId;                //租赁类型
	private String typeName;                   //租期
	private Integer rentStatus;                //状态 状态和之前商城状态基本一致，为0-11，12（已完成）去掉
	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
	private Date rentSendDate;                 //发货时间
	
    private String rentPostNum;                //快递单号
    private String rentPostFirm;               //快递公司
    private String rentAddressInfo;            //详细地址
	private String rentAddressTel;             //收件人电话
	private String rentAddressName;            //收件人姓名
	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") 
	private Date rentTransactionDate;		//支付时间
	
	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") 
	private Date rentCreateDate;               //订单创建时间
	private Integer productId;	//前台选择的商品id
	private Integer giftId;		//前台选择的赠品id
	private List<RentOrderItemDTO> orderItemList = new ArrayList<RentOrderItemDTO>();
	private PageBean page = new PageBean();                 //分页
	private List<OrderOperation> operations;   //订单操作工具类
    private String orderLinkStatus;            //订单状态描述
	
    public Integer getProductId() {
		return productId;
	}
	public void setProductId(Integer productId) {
		this.productId = productId;
	}
	public Integer getGiftId() {
		return giftId;
	}
	public void setGiftId(Integer giftId) {
		this.giftId = giftId;
	}
	public Date getRentTransactionDate() {
		return rentTransactionDate;
	}
	public void setRentTransactionDate(Date rentTransactionDate) {
		this.rentTransactionDate = rentTransactionDate;
	}
	public String getRentOrderId() {
        return rentOrderId;
    }
    public void setRentOrderId(String rentOrderId) {
        this.rentOrderId = rentOrderId;
    }
    public String getRentOpenid() {
        return rentOpenid;
    }
    public void setRentOpenid(String rentOpenid) {
        this.rentOpenid = rentOpenid;
    }
    public String getRentUserNickName() {
        return rentUserNickName;
    }
    public void setRentUserNickName(String rentUserNickName) {
        this.rentUserNickName = rentUserNickName;
    }
    public Integer getRentAmount() {
        return rentAmount;
    }
    public void setRentAmount(Integer rentAmount) {
        this.rentAmount = rentAmount;
    }
    public Integer getRentPayMoney() {
        return rentPayMoney;
    }
    public void setRentPayMoney(Integer rentPayMoney) {
        this.rentPayMoney = rentPayMoney;
    }
    public Integer getRentServiceId() {
        return rentServiceId;
    }
    public void setRentServiceId(Integer rentServiceId) {
        this.rentServiceId = rentServiceId;
    }
    public Integer getRentServiceMoney() {
        return rentServiceMoney;
    }
    public void setRentServiceMoney(Integer rentServiceMoney) {
        this.rentServiceMoney = rentServiceMoney;
    }
    public Integer getRentTypeId() {
        return rentTypeId;
    }
    public void setRentTypeId(Integer rentTypeId) {
        this.rentTypeId = rentTypeId;
    }
    public String getTypeName() {
        return typeName;
    }
    public void setTypeName(String typeName) {
        this.typeName = typeName;
    }
    public Integer getRentStatus() {
        return rentStatus;
    }
    public void setRentStatus(Integer rentStatus) {
        this.rentStatus = rentStatus;
    }
    public Date getRentSendDate() {
        return rentSendDate;
    }
    public void setRentSendDate(Date rentSendDate) {
        this.rentSendDate = rentSendDate;
    }
    public String getRentPostNum() {
        return rentPostNum;
    }
    public void setRentPostNum(String rentPostNum) {
        this.rentPostNum = rentPostNum;
    }
    public String getRentPostFirm() {
        return rentPostFirm;
    }
    public void setRentPostFirm(String rentPostFirm) {
        this.rentPostFirm = rentPostFirm;
    }
    public String getRentAddressInfo() {
        return rentAddressInfo;
    }
    public void setRentAddressInfo(String rentAddressInfo) {
        this.rentAddressInfo = rentAddressInfo;
    }
    public String getRentAddressTel() {
        return rentAddressTel;
    }
    public void setRentAddressTel(String rentAddressTel) {
        this.rentAddressTel = rentAddressTel;
    }
    public String getRentAddressName() {
        return rentAddressName;
    }
    public void setRentAddressName(String rentAddressName) {
        this.rentAddressName = rentAddressName;
    }
    public Date getRentCreateDate() {
        return rentCreateDate;
    }
    public void setRentCreateDate(Date rentCreateDate) {
        this.rentCreateDate = rentCreateDate;
    }
    public List<RentOrderItemDTO> getOrderItemList() {
        return orderItemList;
    }
    public void setOrderItemList(List<RentOrderItemDTO> orderItemList) {
        this.orderItemList = orderItemList;
    }
    public PageBean getPage() {
        return page;
    }
    public void setPage(PageBean page) {
        this.page = page;
    }
    public List<OrderOperation> getOperations() {
        return operations;
    }
    public void setOperations(List<OrderOperation> operations) {
        this.operations = operations;
    }
    public String getOrderLinkStatus() {
        return orderLinkStatus;
    }
    public void setOrderLinkStatus(String orderLinkStatus) {
        this.orderLinkStatus = orderLinkStatus;
    }
    @Override
    public String toString() {
        return "RentOrderDTO [rentOrderId=" + rentOrderId + ", rentOpenid="
                + rentOpenid + ", rentUserNickName=" + rentUserNickName
                + ", rentAmount=" + rentAmount + ", rentPayMoney="
                + rentPayMoney + ", rentServiceId=" + rentServiceId
                + ", rentServiceMoney=" + rentServiceMoney + ", rentTypeId="
                + rentTypeId + ", typeName=" + typeName + ", rentStatus="
                + rentStatus + ", rentSendDate=" + rentSendDate
                + ", rentPostNum=" + rentPostNum + ", rentPostFirm="
                + rentPostFirm + ", rentAddressInfo=" + rentAddressInfo
                + ", rentAddressTel=" + rentAddressTel + ", rentAddressName="
                + rentAddressName + ", rentCreateDate=" + rentCreateDate
                + ", orderItemList=" + orderItemList + ", page=" + page
                + ", operations=" + operations + ", orderLinkStatus="
                + orderLinkStatus + "]";
    }
}
