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

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

import com.iamberry.wechat.core.entity.PageBean;
import com.iamberry.wechat.core.entity.order.OrderItem;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 销售订单表 实体类
 * @author 穆再兴
 * 2016年4月18日18:44:59
 *
 */
public class Order implements java.io.Serializable{
	/**
	 * 
	 */
	private static final long serialVersionUID = 3739078664644789471L;
	private String salesOrderid;							//订单id
	private String salesOpenid;							//所属用户
	private Integer salesYetAmount;					//付款金额
	private Integer salesAmount;						//订单总额
	private Integer salesIntegralNum;				//使用积分数量
	
	private Integer salesRateAmount;				//积分抵扣金额
	private Date salesCreateDate;						//订单创建时间
	private Integer salesRewardIntegralNum;		//奖励积分
	private String salesPostNum;						//快递单号
	private String salesPostFirm;						//快递公司
	
	private Integer salesStatus;							//状态  0：取消订单  1：待支付  2：已支付、待发货  3：退款申请中  4：已退款  5：已发货  6：申请退货中  7：退货中  8：订单退货，订单关闭  9：换货中  10：换货完成
	private Date salesSendDate;						//发货时间
	private Date salesReturnDate;						//申请退货时间
	private String salesAddressInfo;					//详细地址
	private String salesAddressPostnum;			//邮编
	
	private String salesAddressTel;						//收件人电话
	private String salesAddressName;				//收件人姓名
	private String salesReturnDes;						//退款备注
	private String salesExchangeDes;						//换货备注
	private String salesAdminRemark;				//后台的备注
	private String salesUserRemark;					//用户备注
	
	private String salesTransactionId;				//微信订单号
	private Date salesTransactionDate;				//微信支付时间
	private String salesRefundNo;						//系统退款ID
	private String salesTransactionRefundId;		//微信退款ID
	private Integer salesColorType;					//颜色图标
	
	private Integer salesProxyReward;				//代理入账		1:未入账  2：入账
	private int salesRewardNum ;                  //分销奖励多少钱
	private String userNickname;						//昵称
	private Integer itemTotal;							//商品总额
	private Integer balancePayAmount;                     //账户余额支付额度
	
	private String couponId ;  //优惠券id
	private String salesChangeOrderid;				//退货或换货的单号
	private PageBean page = new PageBean(); 								//分页信息
	private List<OrderItem> orderItemList = new ArrayList<OrderItem>();	//订单项实体类
	private List<OrderOperation> operations;	//订单操作工具类
	private String orderLinkStatus;			//订单状态描述

	@DateTimeFormat(pattern="yyyy-MM-dd")
	private Date beginDate;	//开始时间
	@DateTimeFormat(pattern="yyyy-MM-dd")
	private Date endDate;		//结束时间
	private int deadline;		//返利期限，以秒为单位，必须大于此时间才能返利
	private Integer placeId;		//线下代理信息表id，奖励积分时要用到
	private Integer itemSum;			//商品总数，定时任务按订单商品数量总数量奖励积分和金额
	private Integer oldStatus;		//订单未改之前的状态
	
	private String salesPorderid;		//试用订单id
	private Integer salesOrderType;		//订单类型		1：正常订单（默认）	2：试用订单

	/**
	 * 2019-07-29新增
	 * @return
	 */
	private Integer salesIsSpellOrder;		//是否拼团订单		1：是	2：否
	private String salesSpellOrderId;		//拼团订单id

	// -------------------------------------------- 新增
	private String storesName;			// 用户第二级上线
	
	private String vipName;				// 用户第一级上线
	
	private String vipRole;				// 用户第一级上线的角色ID
	
	private String placeOpenID;			// 商户的openid
	
	private String userResource;		// 用户来源

	public Integer getOldStatus() {
		return oldStatus;
	}
	public void setOldStatus(Integer oldStatus) {
		this.oldStatus = oldStatus;
	}
	public int getDeadline() {
		return deadline;
	}
	public void setDeadline(int deadline) {
		this.deadline = deadline;
	}
	public Integer getItemSum() {
		return itemSum;
	}
	public void setItemSum(Integer itemSum) {
		this.itemSum = itemSum;
	}
	public Integer getPlaceId() {
		return placeId;
	}
	public void setPlaceId(Integer placeId) {
		this.placeId = placeId;
	}
	public Date getBeginDate() {
		return beginDate;
	}
	public void setBeginDate(Date beginDate) {
		this.beginDate = beginDate;
	}
	public Date getEndDate() {
		return endDate;
	}
	public void setEndDate(Date endDate) {
		this.endDate = endDate;
	}
	public String getOrderLinkStatus() {
		return orderLinkStatus;
	}
	public void setOrderLinkStatus(String orderLinkStatus) {
		this.orderLinkStatus = orderLinkStatus;
	}
	public List<OrderOperation> getOperations() {
		return operations;
	}
	public void setOperations(List<OrderOperation> operations) {
		this.operations = operations;
	}
	public List<OrderItem> getOrderItemList() {
		return orderItemList;
	}
	public void setOrderItemList(List<OrderItem> orderItemList) {
		this.orderItemList = orderItemList;
	}
	public PageBean getPage() {
		return page;
	}
	public void setPage(PageBean page) {
		this.page = page;
	}
	public Integer getSalesProxyReward() {
		return salesProxyReward;
	}
	public void setSalesProxyReward(Integer salesProxyReward) {
		this.salesProxyReward = salesProxyReward;
	}
	public String getUserNickname() {
		return userNickname;
	}
	public void setUserNickname(String userNickname) {
		this.userNickname = userNickname;
	}
	public Integer getItemTotal() {
		return itemTotal;
	}
	public void setItemTotal(Integer itemTotal) {
		this.itemTotal = itemTotal;
	}
	public String getSalesOrderid() {
		return salesOrderid;
	}
	public void setSalesOrderid(String salesOrderid) {
		this.salesOrderid = salesOrderid;
	}
	public String getSalesOpenid() {
		return salesOpenid;
	}
	public void setSalesOpenid(String salesOpenid) {
		this.salesOpenid = salesOpenid;
	}
	public Integer getSalesYetAmount() {
		return salesYetAmount;
	}
	public void setSalesYetAmount(Integer salesYetAmount) {
		this.salesYetAmount = salesYetAmount;
	}
	public Integer getSalesAmount() {
		return salesAmount;
	}
	public void setSalesAmount(Integer salesAmount) {
		this.salesAmount = salesAmount;
	}
	public Integer getSalesIntegralNum() {
		return salesIntegralNum;
	}
	public void setSalesIntegralNum(Integer salesIntegralNum) {
		this.salesIntegralNum = salesIntegralNum;
	}
	public Integer getSalesRateAmount() {
		return salesRateAmount;
	}
	public void setSalesRateAmount(Integer salesRateAmount) {
		this.salesRateAmount = salesRateAmount;
	}
	public Date getSalesCreateDate() {
		return salesCreateDate;
	}
	public void setSalesCreateDate(Date salesCreateDate) {
		this.salesCreateDate = salesCreateDate;
	}
	public Integer getSalesRewardIntegralNum() {
		return salesRewardIntegralNum;
	}
	public void setSalesRewardIntegralNum(Integer salesRewardIntegralNum) {
		this.salesRewardIntegralNum = salesRewardIntegralNum;
	}
	public String getSalesPostNum() {
		return salesPostNum;
	}
	public void setSalesPostNum(String salesPostNum) {
		this.salesPostNum = salesPostNum;
	}
	public String getSalesPostFirm() {
		return salesPostFirm;
	}
	public void setSalesPostFirm(String salesPostFirm) {
		this.salesPostFirm = salesPostFirm;
	}
	public Integer getSalesStatus() {
		return salesStatus;
	}
	public void setSalesStatus(Integer salesStatus) {
		this.salesStatus = salesStatus;
	}
	public Date getSalesSendDate() {
		return salesSendDate;
	}
	public void setSalesSendDate(Date salesSendDate) {
		this.salesSendDate = salesSendDate;
	}
	public Date getSalesReturnDate() {
		return salesReturnDate;
	}
	public void setSalesReturnDate(Date salesReturnDate) {
		this.salesReturnDate = salesReturnDate;
	}
	public String getSalesAddressInfo() {
		return salesAddressInfo;
	}
	public void setSalesAddressInfo(String salesAddressInfo) {
		this.salesAddressInfo = salesAddressInfo;
	}
	public String getSalesAddressPostnum() {
		return salesAddressPostnum;
	}
	public void setSalesAddressPostnum(String salesAddressPostnum) {
		this.salesAddressPostnum = salesAddressPostnum;
	}
	public String getSalesAddressTel() {
		return salesAddressTel;
	}
	public void setSalesAddressTel(String salesAddressTel) {
		this.salesAddressTel = salesAddressTel;
	}
	public String getSalesAddressName() {
		return salesAddressName;
	}
	public void setSalesAddressName(String salesAddressName) {
		this.salesAddressName = salesAddressName;
	}
	public String getSalesReturnDes() {
		return salesReturnDes;
	}
	public void setSalesReturnDes(String salesReturnDes) {
		this.salesReturnDes = salesReturnDes;
	}
	public String getSalesAdminRemark() {
		return salesAdminRemark;
	}
	public void setSalesAdminRemark(String salesAdminRemark) {
		this.salesAdminRemark = salesAdminRemark;
	}
	public String getSalesUserRemark() {
		return salesUserRemark;
	}
	public void setSalesUserRemark(String salesUserRemark) {
		this.salesUserRemark = salesUserRemark;
	}
	public String getSalesTransactionId() {
		return salesTransactionId;
	}
	public void setSalesTransactionId(String salesTransactionId) {
		this.salesTransactionId = salesTransactionId;
	}
	public Date getSalesTransactionDate() {
		return salesTransactionDate;
	}
	public void setSalesTransactionDate(Date salesTransactionDate) {
		this.salesTransactionDate = salesTransactionDate;
	}
	public String getSalesRefundNo() {
		return salesRefundNo;
	}
	public void setSalesRefundNo(String salesRefundNo) {
		this.salesRefundNo = salesRefundNo;
	}
	public String getSalesTransactionRefundId() {
		return salesTransactionRefundId;
	}
	public void setSalesTransactionRefundId(String salesTransactionRefundId) {
		this.salesTransactionRefundId = salesTransactionRefundId;
	}
	public Integer getSalesColorType() {
		return salesColorType;
	}
	public void setSalesColorType(Integer salesColorType) {
		this.salesColorType = salesColorType;
	}
	public int getSalesRewardNum() {
		return salesRewardNum;
	}
	public void setSalesRewardNum(int salesRewardNum) {
		this.salesRewardNum = salesRewardNum;
	}
	public Integer getBalancePayAmount() {
		return balancePayAmount;
	}
	public void setBalancePayAmount(Integer balancePayAmount) {
		this.balancePayAmount = balancePayAmount;
	}
	public String getCouponId() {
		return couponId;
	}
	public void setCouponId(String couponId) {
		this.couponId = couponId;
	}
	public String getSalesChangeOrderid() {
		return salesChangeOrderid;
	}
	public void setSalesChangeOrderid(String salesChangeOrderid) {
		this.salesChangeOrderid = salesChangeOrderid;
	}
	public String getSalesPorderid() {
		return salesPorderid;
	}
	public void setSalesPorderid(String salesPorderid) {
		this.salesPorderid = salesPorderid;
	}
	public Integer getSalesOrderType() {
		return salesOrderType;
	}
	public void setSalesOrderType(Integer salesOrderType) {
		this.salesOrderType = salesOrderType;
	}
	public String getStoresName() {
		return storesName;
	}
	public void setStoresName(String storesName) {
		this.storesName = storesName;
	}
	public String getVipName() {
		return vipName;
	}
	public void setVipName(String vipName) {
		this.vipName = vipName;
	}
	public String getVipRole() {
		return vipRole;
	}
	public void setVipRole(String vipRole) {
		this.vipRole = vipRole;
	}
	public String getPlaceOpenID() {
		return placeOpenID;
	}
	public void setPlaceOpenID(String placeOpenID) {
		this.placeOpenID = placeOpenID;
	}
	public String getUserResource() {
		return userResource;
	}
	public void setUserResource(String userResource) {
		this.userResource = userResource;
	}

	public String getSalesExchangeDes() {
		return salesExchangeDes;
	}

	public void setSalesExchangeDes(String salesExchangeDes) {
		this.salesExchangeDes = salesExchangeDes;
	}

	public Integer getSalesIsSpellOrder() {
		return salesIsSpellOrder;
	}

	public void setSalesIsSpellOrder(Integer salesIsSpellOrder) {
		this.salesIsSpellOrder = salesIsSpellOrder;
	}

	public String getSalesSpellOrderId() {
		return salesSpellOrderId;
	}

	public void setSalesSpellOrderId(String salesSpellOrderId) {
		this.salesSpellOrderId = salesSpellOrderId;
	}
}
