package com.ym.mec.biz.dal.entity;

import com.ym.mec.biz.dal.enums.AccountType;
import com.ym.mec.biz.dal.enums.SellStatus;
import com.ym.mec.biz.dal.enums.SellTypeEnum;
import com.ym.mec.biz.dal.enums.StockType;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.math.BigDecimal;
import java.util.Date;

@ApiModel(value="com-ym-SellOrder")
public class SellOrder {
    @ApiModelProperty(value="")
    private Integer id;

    /**
     * 教务id
     */
    @ApiModelProperty(value="教务id")
    private Integer eduTeacherId;

    @ApiModelProperty(value="教务老师")
    private String eduTeacher;

    /**
    * 分部id
    */
    @ApiModelProperty(value="分部id")
    private Integer organId;

    /**
     * 学校id
     */
    @ApiModelProperty(value="学校id")
    private Integer cooperationOrganId;

    /**
     * 学校名称
     */
    @ApiModelProperty(value="学校名称")
    private String schoolName;

    /**
    * 交易流水号
    */
    @ApiModelProperty(value="交易流水号")
    private String transNo;

    /**
     * 交易流水号
     */
    @ApiModelProperty(value="订单id")
    private Long orderId;

    private String organName;

    /**
    * 订单号
    */
    @ApiModelProperty(value="订单号")
    private String orderNo;

    /**
    * 应付金额
    */
    @ApiModelProperty(value="应付金额")
    private BigDecimal expectAmount = BigDecimal.ZERO;

    /**
    * 现金支付金额
    */
    @ApiModelProperty(value="现金支付金额")
    private BigDecimal actualAmount = BigDecimal.ZERO;

    /**
    * 余额支付金额
    */
    @ApiModelProperty(value="余额支付金额")
    private BigDecimal balanceAmount = BigDecimal.ZERO;

    /**
    * 销售成本
    */
    @ApiModelProperty(value="销售成本")
    private BigDecimal sellCost;

    /**
     * 销售成本2
     */
    @ApiModelProperty(value="销售成本2")
    private String sellCost2;

    /**
    * 销售类型
    */
    @ApiModelProperty(value="销售类型")
    private SellTypeEnum type;

    /**
     * 组合商品id
     */
    @ApiModelProperty(value="组合商品id")
    private Integer parentGoodsId;

    /**
    * 商品id
    */
    @ApiModelProperty(value="商品id")
    private Integer goodsId;

    /**
     * 商品名称
     */
    @ApiModelProperty(value="商品名称")
    private String goodsName;

    /**
    * 数量
    */
    @ApiModelProperty(value="数量")
    private Integer num;

    /**
    * 用户id
    */
    @ApiModelProperty(value="用户id")
    private Integer userId;

    private String userName;

    private String phone;

    /**
    * 交易方式
    */
    @ApiModelProperty(value="交易方式")
    private String paymentChannel;

    private String paymentChannelStr;

    /**
    * 收款账户
    */
    @ApiModelProperty(value="收款账户")
    private String merNo;

    /**
     * 批次号
     */
    @ApiModelProperty(value="批次号")
    private String batchNo;

    /**
    * 库存类型
    */
    @ApiModelProperty(value="库存类型")
    private StockType stockType;

    /**
     * 账户类型
     */
    @ApiModelProperty(value = "账户类型")
    private AccountType accountType;

    private String accountTypeStr;

    /**
     * 状态
     */
    @ApiModelProperty(value = "状态")
    private SellStatus status;


    /**
     * 退货时间
     */
    @ApiModelProperty(value="退货时间")
    private Date refundTime;

    /**
    * 交易时间
    */
    @ApiModelProperty(value="交易时间")
    private Date sellTime;

    /**
    * 创建时间
    */
    @ApiModelProperty(value="创建时间")
    private Date createIme;

    /**
    * 更新时间
    */
    @ApiModelProperty(value="更新时间")
    private Date updateTime;

    @ApiModelProperty(value = "收货状态，NO_RECEIVE 未确认,MANUAL_RECEIVE 手动确认,AUTO_RECEIVE 自动确认",required = true)
    private String receiveStatus;

    private String receiveStatusStr;

    private Boolean hasRoute = false;

    public String getReceiveStatus() {
        return receiveStatus;
    }

    public void setReceiveStatus(String receiveStatus) {
        this.receiveStatus = receiveStatus;
    }

    public Integer getId() {
        return id;
    }

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

    public Integer getOrganId() {
        return organId;
    }

    public void setOrganId(Integer organId) {
        this.organId = organId;
    }

    public Integer getCooperationOrganId() {
        return cooperationOrganId;
    }

    public void setCooperationOrganId(Integer cooperationOrganId) {
        this.cooperationOrganId = cooperationOrganId;
    }

    public String getTransNo() {
        return transNo;
    }

    public void setTransNo(String transNo) {
        this.transNo = transNo;
    }

    public String getOrderNo() {
        return orderNo;
    }

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

    public BigDecimal getExpectAmount() {
        return expectAmount;
    }

    public void setExpectAmount(BigDecimal expectAmount) {
        this.expectAmount = expectAmount;
    }

    public BigDecimal getActualAmount() {
        return actualAmount;
    }

    public void setActualAmount(BigDecimal actualAmount) {
        this.actualAmount = actualAmount;
    }

    public BigDecimal getBalanceAmount() {
        return balanceAmount;
    }

    public void setBalanceAmount(BigDecimal balanceAmount) {
        this.balanceAmount = balanceAmount;
    }

    public BigDecimal getSellCost() {
        return sellCost;
    }

    public void setSellCost(BigDecimal sellCost) {
        this.sellCost = sellCost;
    }

    public SellTypeEnum getType() {
        return type;
    }

    public void setType(SellTypeEnum type) {
        this.type = type;
    }

    public Integer getGoodsId() {
        return goodsId;
    }

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

    public Integer getNum() {
        return num;
    }

    public void setNum(Integer num) {
        this.num = num;
    }

    public Integer getUserId() {
        return userId;
    }

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

    public String getPaymentChannel() {
        return paymentChannel;
    }

    public void setPaymentChannel(String paymentChannel) {
        this.paymentChannel = paymentChannel;
    }

    public String getMerNo() {
        return merNo;
    }

    public void setMerNo(String merNo) {
        this.merNo = merNo;
    }

    public Date getSellTime() {
        return sellTime;
    }

    public void setSellTime(Date sellTime) {
        this.sellTime = sellTime;
    }

    public Date getCreateIme() {
        return createIme;
    }

    public void setCreateIme(Date createIme) {
        this.createIme = createIme;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

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

    public String getGoodsName() {
        return goodsName;
    }

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

    public String getSellCost2() {
        return sellCost2;
    }

    public void setSellCost2(String sellCost2) {
        this.sellCost2 = sellCost2;
    }

    public Long getOrderId() {
        return orderId;
    }

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

    public String getUserName() {
        return userName;
    }

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

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getOrganName() {
        return organName;
    }

    public void setOrganName(String organName) {
        this.organName = organName;
    }

    public String getSchoolName() {
        return schoolName;
    }

    public void setSchoolName(String schoolName) {
        this.schoolName = schoolName;
    }

    public Integer getEduTeacherId() {
        return eduTeacherId;
    }

    public void setEduTeacherId(Integer eduTeacherId) {
        this.eduTeacherId = eduTeacherId;
    }

    public String getEduTeacher() {
        return eduTeacher;
    }

    public void setEduTeacher(String eduTeacher) {
        this.eduTeacher = eduTeacher;
    }

    public StockType getStockType() {
        return stockType;
    }

    public void setStockType(StockType stockType) {
        this.stockType = stockType;
    }

    public AccountType getAccountType() {
        return accountType;
    }

    public void setAccountType(AccountType accountType) {
        this.accountType = accountType;
    }

    public String getBatchNo() {
        return batchNo;
    }

    public void setBatchNo(String batchNo) {
        this.batchNo = batchNo;
    }

    public SellStatus getStatus() {
        return status;
    }

    public void setStatus(SellStatus status) {
        this.status = status;
    }

    public Integer getParentGoodsId() {
        return parentGoodsId;
    }

    public void setParentGoodsId(Integer parentGoodsId) {
        this.parentGoodsId = parentGoodsId;
    }

    public Date getRefundTime() {
        return refundTime;
    }

    public void setRefundTime(Date refundTime) {
        this.refundTime = refundTime;
    }

    public Boolean getHasRoute() {
        return hasRoute;
    }

    public void setHasRoute(Boolean hasRoute) {
        this.hasRoute = hasRoute;
    }

    public String getPaymentChannelStr() {
        return paymentChannelStr;
    }

    public void setPaymentChannelStr(String paymentChannelStr) {
        this.paymentChannelStr = paymentChannelStr;
    }

    public String getAccountTypeStr() {
        return accountTypeStr;
    }

    public void setAccountTypeStr(String accountTypeStr) {
        this.accountTypeStr = accountTypeStr;
    }

    public String getReceiveStatusStr() {
        return receiveStatusStr;
    }

    public void setReceiveStatusStr(String receiveStatusStr) {
        this.receiveStatusStr = receiveStatusStr;
    }
}
