package com.ym.mec.education.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 商品订单表
 * </p>
 *
 * @author lemeng
 * @since 2019-09-25
 */
@TableName("goods_order")
public class GoodsOrder extends Model<GoodsOrder> {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id_", type = IdType.AUTO)
    private Long id;
    @TableField("user_id_")
    private Integer userId;
    /**
     * 订单状态
     */
    @TableField("status_")
    private String status;
    /**
     * 订单总额
     */
    @TableField("total_amount_")
    private BigDecimal totalAmount;
    /**
     * 优惠金额
     */
    @TableField("coupon_amount_")
    private BigDecimal couponAmount;
    /**
     * 商品数量
     */
    @TableField("goods_quantity_")
    private Integer goodsQuantity;
    /**
     * 用户备注
     */
    @TableField("user_note_")
    private String userNote;
    /**
     * 订单号
     */
    @TableField("order_no_")
    private String orderNo;
    /**
     * 订单来源
     */
    @TableField("order_source_")
    private String orderSource;
    /**
     * 收货人
     */
    @TableField("receiver_id_")
    private Long receiverId;
    /**
     * 快递公司
     */
    @TableField("express_company_code_")
    private String expressCompanyCode;
    /**
     * 快递单号
     */
    @TableField("express_num_")
    private String expressNum;
    @TableField("create_time_")
    private Date createTime;
    @TableField("update_time_")
    private Date updateTime;


    public Long getId() {
        return id;
    }

    public GoodsOrder setId(Long id) {
        this.id = id;
        return this;
    }

    public Integer getUserId() {
        return userId;
    }

    public GoodsOrder setUserId(Integer userId) {
        this.userId = userId;
        return this;
    }

    public String getStatus() {
        return status;
    }

    public GoodsOrder setStatus(String status) {
        this.status = status;
        return this;
    }

    public BigDecimal getTotalAmount() {
        return totalAmount;
    }

    public GoodsOrder setTotalAmount(BigDecimal totalAmount) {
        this.totalAmount = totalAmount;
        return this;
    }

    public BigDecimal getCouponAmount() {
        return couponAmount;
    }

    public GoodsOrder setCouponAmount(BigDecimal couponAmount) {
        this.couponAmount = couponAmount;
        return this;
    }

    public Integer getGoodsQuantity() {
        return goodsQuantity;
    }

    public GoodsOrder setGoodsQuantity(Integer goodsQuantity) {
        this.goodsQuantity = goodsQuantity;
        return this;
    }

    public String getUserNote() {
        return userNote;
    }

    public GoodsOrder setUserNote(String userNote) {
        this.userNote = userNote;
        return this;
    }

    public String getOrderNo() {
        return orderNo;
    }

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

    public String getOrderSource() {
        return orderSource;
    }

    public GoodsOrder setOrderSource(String orderSource) {
        this.orderSource = orderSource;
        return this;
    }

    public Long getReceiverId() {
        return receiverId;
    }

    public GoodsOrder setReceiverId(Long receiverId) {
        this.receiverId = receiverId;
        return this;
    }

    public String getExpressCompanyCode() {
        return expressCompanyCode;
    }

    public GoodsOrder setExpressCompanyCode(String expressCompanyCode) {
        this.expressCompanyCode = expressCompanyCode;
        return this;
    }

    public String getExpressNum() {
        return expressNum;
    }

    public GoodsOrder setExpressNum(String expressNum) {
        this.expressNum = expressNum;
        return this;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public GoodsOrder setCreateTime(Date createTime) {
        this.createTime = createTime;
        return this;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public GoodsOrder setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
        return this;
    }

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

    @Override
    public String toString() {
        return "GoodsOrder{" +
        ", id=" + id +
        ", userId=" + userId +
        ", status=" + status +
        ", totalAmount=" + totalAmount +
        ", couponAmount=" + couponAmount +
        ", goodsQuantity=" + goodsQuantity +
        ", userNote=" + userNote +
        ", orderNo=" + orderNo +
        ", orderSource=" + orderSource +
        ", receiverId=" + receiverId +
        ", expressCompanyCode=" + expressCompanyCode +
        ", expressNum=" + expressNum +
        ", createTime=" + createTime +
        ", updateTime=" + updateTime +
        "}";
    }
}
