package com.zhongzheng.modules.order.bo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;
import java.util.Map;
import java.util.HashMap;

import java.math.BigDecimal;
import com.zhongzheng.common.core.domain.BaseEntity;

/**
 * 订单分页查询对象 order
 *
 * @author ruoyi
 * @date 2021-11-08
 */
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel("订单分页查询对象")
public class OrderQueryBo extends BaseEntity {

	/** 分页大小 */
	@ApiModelProperty("分页大小")
	private Integer pageSize;
	/** 当前页数 */
	@ApiModelProperty("当前页数")
	private Integer pageNum;
	/** 排序列 */
	@ApiModelProperty("排序列")
	private String orderByColumn;
	/** 排序的方向desc或者asc */
	@ApiModelProperty(value = "排序的方向", example = "asc,desc")
	private String isAsc;


	/** 订单编号 */
	@ApiModelProperty("订单编号")
	private String orderSn;
	/** 用户ID */
	@ApiModelProperty("用户ID")
	private Long userId;
	/** 订单价格 */
	@ApiModelProperty("订单价格")
	private BigDecimal orderPrice;
	/** 支付订单号 */
	@ApiModelProperty("支付订单号")
	private String orderGeneral;
	/** 订单状态 -2 超时关闭，-1手动关闭，0普通状态，1为已付款，3为成功 */
	@ApiModelProperty("订单状态 -2 超时关闭，-1手动关闭，0普通状态，1为已付款，3为成功")
	private Integer[] orderStatus;
	/** 支付时间 */
	@ApiModelProperty("支付时间")
	private Long payTime;
	/** 支付平台 1微信 2支付宝 */
	@ApiModelProperty("支付平台 1微信 2支付宝")
	private Integer payType;
	/** 微信流水号 */
	@ApiModelProperty("微信流水号")
	private String transid;
	/** 关闭时间 */
	@ApiModelProperty("关闭时间")
	private Long cancelTime;
	/** 订单完成时间 */
	@ApiModelProperty("订单完成时间")
	private Long finishTime;
	/** 订单类型 1充值订单 2金币消费订单 */
	@ApiModelProperty("订单类型 1充值订单 2金币消费订单")
	private Integer orderType;
	/** 支付价格 */
	@ApiModelProperty("支付价格")
	private BigDecimal payPrice;
	/** 收费方式 1即刻收费 2稍后收费 */
	@ApiModelProperty("收费方式 1即刻收费 2稍后收费")
	private Integer chargingType;
	/** 收货地址 */
	@ApiModelProperty("收货地址")
	private String address;
	/** 订单来源 1业务员录单 */
	@ApiModelProperty("订单来源 1业务员录单")
	private Integer orderFrom;
	/** 教育类型id */
	@ApiModelProperty("教育类型id")
	private Long educationTypeId;
	/** 业务层次id */
	@ApiModelProperty("业务层次id")
	private Long businessId;
	/** 所属院校 */
	@ApiModelProperty("所属院校")
	private Long schoolId;
	/** 所属专业 */
	@ApiModelProperty("所属专业")
	private Long majorId;
	/** 开始时间 */
	@ApiModelProperty("开始时间")
	private Long startTime;
	/** 结束时间 */
	@ApiModelProperty("结束时间")
	private Long endTime;

	@ApiModelProperty("支付状态 1未收费 2部分收费 3完全收费")
	private Integer payStatus;
	@ApiModelProperty("退款状态 0无  1退款中 2已退款 3拒绝退款")
	private Integer refundStatus;
	@ApiModelProperty("商品类型 1视频2题库 3面授 4服务 5组合")
	private Long goodsType;

	/** 1有效 0无效 */
	@ApiModelProperty("1有效 0无效")
	private Integer[] status;
}
