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

import com.ym.mec.biz.dal.dto.GoodsSellDto;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;

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

/**
 * 对应数据库表(student_goods_sell):
 */
public class StudentGoodsSell {

	private Integer id;
	
	@ApiModelProperty(value = "用户编号",required = true)
	private Integer userId;

	@ApiModelProperty(value = "学生名称",required = true)
	private String userName;
	
	@ApiModelProperty(value = "教师编号",required = true)
	private Integer teacherId;
	
	@ApiModelProperty(value = "商品列表",required = true)
	private String goodsJson;

	@ApiModelProperty(value = "订单编号",required = true)
	private String orderNo;
	
	@ApiModelProperty(value = "总金额",required = true)
	private java.math.BigDecimal totalAmount = BigDecimal.ZERO;
	
	@ApiModelProperty(value = "减免费用",required = true)
	private java.math.BigDecimal marketAmount = BigDecimal.ZERO;

	private Date createTime;

	private Date updateTime;

	@ApiModelProperty(value = "是否使用余额",required = true)
	private boolean isUseBalancePayment = false;

	@ApiModelProperty(value = "是否重复支付",required = true)
	private boolean isRepeatPay;

	@ApiModelProperty(value = "商品列表",required = true)
	private List<GoodsSellDto> goodsSellDtos;

	@ApiModelProperty(value = "支付类型",required = true)
	private Integer type = 0;

	@ApiModelProperty(value = "分部编号", required = false)
	private Integer organId;

	@ApiModelProperty(value = "创建人编号", required = false)
	private Integer authorUser;

	@ApiModelProperty(value = "合作单位编号", required = false)
	private Integer cooperationOrganId;

	public Integer getCooperationOrganId() {
		return cooperationOrganId;
	}

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

	public Integer getAuthorUser() {
		return authorUser;
	}

	public void setAuthorUser(Integer authorUser) {
		this.authorUser = authorUser;
	}

	public String getUserName() {
		return userName;
	}

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

	public Integer getOrganId() {
		return organId;
	}

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

	public Integer getType() {
		return type;
	}

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

	public List<GoodsSellDto> getGoodsSellDtos() {
		return goodsSellDtos;
	}

	public void setGoodsSellDtos(List<GoodsSellDto> goodsSellDtos) {
		this.goodsSellDtos = goodsSellDtos;
	}

	public String getOrderNo() {
		return orderNo;
	}

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

	public boolean getIsRepeatPay() {
		return isRepeatPay;
	}

	public void setIsRepeatPay(boolean repeatPay) {
		isRepeatPay = repeatPay;
	}

	public boolean getIsUseBalancePayment() {
		return isUseBalancePayment;
	}

	public void setIsUseBalancePayment(boolean useBalancePayment) {
		isUseBalancePayment = useBalancePayment;
	}

	public Date getCreateTime() {
		return createTime;
	}

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

	public Date getUpdateTime() {
		return updateTime;
	}

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

	public void setId(Integer id){
		this.id = id;
	}
	
	public Integer getId(){
		return this.id;
	}
			
	public void setUserId(Integer userId){
		this.userId = userId;
	}
	
	public Integer getUserId(){
		return this.userId;
	}
			
	public void setTeacherId(Integer teacherId){
		this.teacherId = teacherId;
	}
	
	public Integer getTeacherId(){
		return this.teacherId;
	}
			
	public void setGoodsJson(String goodsJson){
		this.goodsJson = goodsJson;
	}
	
	public String getGoodsJson(){
		return this.goodsJson;
	}
			
	public void setTotalAmount(java.math.BigDecimal totalAmount){
		this.totalAmount = totalAmount;
	}
	
	public java.math.BigDecimal getTotalAmount(){
		return this.totalAmount;
	}
			
	public void setMarketAmount(java.math.BigDecimal marketAmount){
		this.marketAmount = marketAmount;
	}
	
	public java.math.BigDecimal getMarketAmount(){
		return this.marketAmount;
	}
			
	@Override
	public String toString() {
		return ToStringBuilder.reflectionToString(this);
	}

}
