package com.zm.order.tool.server.model;

import com.alibaba.fastjson.JSON;

import java.math.BigDecimal;
import java.util.Date;


/**
 * 积分商城 - 兑换记录
 *
 * @author nianchang
 */
public class MsPointsMallLogs {

    /**
	 * 自增 ID
	 */
	private Integer id;

	/**
	 * 店铺 ID
	 */
	private Integer storeId;

	/**
	 * 用户 ID
	 */
	private Long userId;

	/**
	 * 用户昵称
	 */
	private String userName;

	/**
	 * 手机号
	 */
	private String userPhone;

	/**
	 * 积分商城 - 活动商品 ID
	 */
	private Integer pointsMallGoodsId;

	/**
	 * 商品名称
	 */
	private String goodsName;

	/**
	 * 商品数量
	 */
	private Integer goodsNum;

	/**
	 * 商品 ID
	 */
	private Long goodsId;

	/**
	 * 商品类型: 1优惠券,2实物
	 */
	private Integer goodsType;

	/**
	 * 总共支付积分
	 */
	private Integer totalPointsPrice;

	/**
	 * 活动商品, 积分配置规则快照
	 */
	private String pointsMallGoodsJson;

	/**
	 * 创建时间
	 */
	private Date createdAt;

	/**
	 * 修改时间
	 */
	private Date updatedAt;

	/**
	 * 发送优惠券状态: 0未发送  1发送成功  2发送失败
	 */
	private Integer sendCouponStatus;

	/**
	 * 实物发送状态,0未发货,1已发货,2已送达
	 */
	private Integer sendEntityStatus;

	/**
	 * 收货地址
	 */
	private String sendAddress;

	/**
	 * 收货人姓名
	 */
	private String sendUsername;

	/**
	 * 收货手机号
	 */
	private String sendMobile;

	/**
	 * 多门店ID
	 */
	private Integer multiStoreId;

	/**
	 * 兑换的劵码数据快照
	 */
	private String pointsMallCodeJson;

	/**
	 * 订单号
	 */
	private String orderNo;

	/**
	 * 订单id
	 */
	private Long orderId;

	/**
	 * 1 积分兑换  2 积分+金额
	 */
	private Integer exchangeType;

	/**
	 *  所用金额
	 */
	private BigDecimal amount;

	/**
	 * 兑换状态，1待支付，2已完成3已关闭
	 */
	private Integer orderStatus;

	/**
	 * 支付信息
	 */
	private String payJson;

	/**
	 * 物流公司名
	 */
	private String logisticsName;

	/**
	 * 物流号
	 */
	private String logisticsNo;

	/**
	 * 发货时间
	 */
	private Date sendAt;

    public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public Integer getStoreId() {
		return storeId;
	}

	public void setStoreId(Integer storeId) {
		this.storeId = storeId;
	}

	public Long getUserId() {
		return userId;
	}

	public void setUserId(Long userId) {
		this.userId = userId;
	}

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	public String getUserPhone() {
		return userPhone;
	}

	public void setUserPhone(String userPhone) {
		this.userPhone = userPhone;
	}

	public Integer getPointsMallGoodsId() {
		return pointsMallGoodsId;
	}

	public void setPointsMallGoodsId(Integer pointsMallGoodsId) {
		this.pointsMallGoodsId = pointsMallGoodsId;
	}

	public String getGoodsName() {
		return goodsName;
	}

	public void setGoodsName(String goodsName) {
		this.goodsName = goodsName;
	}

	public Integer getGoodsNum() {
		return goodsNum;
	}

	public void setGoodsNum(Integer goodsNum) {
		this.goodsNum = goodsNum;
	}

	public Long getGoodsId() {
		return goodsId;
	}

	public void setGoodsId(Long goodsId) {
		this.goodsId = goodsId;
	}

	public Integer getGoodsType() {
		return goodsType;
	}

	public void setGoodsType(Integer goodsType) {
		this.goodsType = goodsType;
	}

	public Integer getTotalPointsPrice() {
		return totalPointsPrice;
	}

	public void setTotalPointsPrice(Integer totalPointsPrice) {
		this.totalPointsPrice = totalPointsPrice;
	}

	public String getPointsMallGoodsJson() {
		return pointsMallGoodsJson;
	}

	public void setPointsMallGoodsJson(String pointsMallGoodsJson) {
		this.pointsMallGoodsJson = pointsMallGoodsJson;
	}

	public Date getCreatedAt() {
		return createdAt;
	}

	public void setCreatedAt(Date createdAt) {
		this.createdAt = createdAt;
	}

	public Date getUpdatedAt() {
		return updatedAt;
	}

	public void setUpdatedAt(Date updatedAt) {
		this.updatedAt = updatedAt;
	}

	public Integer getSendCouponStatus() {
		return sendCouponStatus;
	}

	public void setSendCouponStatus(Integer sendCouponStatus) {
		this.sendCouponStatus = sendCouponStatus;
	}

	public Integer getSendEntityStatus() {
		return sendEntityStatus;
	}

	public void setSendEntityStatus(Integer sendEntityStatus) {
		this.sendEntityStatus = sendEntityStatus;
	}

	public String getSendAddress() {
		return sendAddress;
	}

	public void setSendAddress(String sendAddress) {
		this.sendAddress = sendAddress;
	}

	public String getSendUsername() {
		return sendUsername;
	}

	public void setSendUsername(String sendUsername) {
		this.sendUsername = sendUsername;
	}

	public String getSendMobile() {
		return sendMobile;
	}

	public void setSendMobile(String sendMobile) {
		this.sendMobile = sendMobile;
	}

	public Integer getMultiStoreId() {
		return multiStoreId;
	}

	public void setMultiStoreId(Integer multiStoreId) {
		this.multiStoreId = multiStoreId;
	}

	public String getPointsMallCodeJson() {
		return pointsMallCodeJson;
	}

	public void setPointsMallCodeJson(String pointsMallCodeJson) {
		this.pointsMallCodeJson = pointsMallCodeJson;
	}

	public String getOrderNo() {
		return orderNo;
	}

	public void setOrderNo(String orderNo) {
		this.orderNo = orderNo;
	}

	public Long getOrderId() {
		return orderId;
	}

	public void setOrderId(Long orderId) {
		this.orderId = orderId;
	}

	public Integer getExchangeType() {
		return exchangeType;
	}

	public void setExchangeType(Integer exchangeType) {
		this.exchangeType = exchangeType;
	}

	public BigDecimal getAmount() {
		return amount;
	}

	public void setAmount(BigDecimal amount) {
		this.amount = amount;
	}

	public Integer getOrderStatus() {
		return orderStatus;
	}

	public void setOrderStatus(Integer orderStatus) {
		this.orderStatus = orderStatus;
	}

	public String getPayJson() {
		return payJson;
	}

	public void setPayJson(String payJson) {
		this.payJson = payJson;
	}

	public String getLogisticsName() {
		return logisticsName;
	}

	public void setLogisticsName(String logisticsName) {
		this.logisticsName = logisticsName;
	}

	public String getLogisticsNo() {
		return logisticsNo;
	}

	public void setLogisticsNo(String logisticsNo) {
		this.logisticsNo = logisticsNo;
	}

	public Date getSendAt() {
		return sendAt;
	}

	public void setSendAt(Date sendAt) {
		this.sendAt = sendAt;
	}

    @Override
    public String toString() {
        return JSON.toJSONString(this);
    }

}
