package com.yonge.cooleshow.biz.dal.dto.search;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yonge.cooleshow.common.enums.EPaymentVersion;
import com.yonge.toolset.base.page.QueryInfo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * @Author: liweifan
 * @Data: 2022-03-30 13:53:51
 */
@Data
@ApiModel(value = "OrderSearch对象", description = "平台订单表查询对象")
public class OrderSearch extends QueryInfo{
    @ApiModelProperty("交易流水号/订单号")
	private String searchNo;

	@ApiModelProperty("下单应用：STUDENT 学生端 TEACHER 老师端")
	private String orderClient;

	@ApiModelProperty("交易类型:  VIP、开通会员  PRACTICE、陪练课购买  LIVE、直播课购买 VIDEO、视频课购买 MUSIC、单曲点播 ACTI_REGIST、活动报名（多选用,分割）")
	private String orderType;

	@ApiModelProperty("订单状态 WAIT_PAY 待支付 PAYING 支付中  PAID 已付款 CLOSE 已关闭 FAIL 支付失败 （多选用,分割）")
	private String status;

	@ApiModelProperty(value = "交易开始时间")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private LocalDateTime startTime;

	@ApiModelProperty(value = "交易结束时间")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private LocalDateTime endTime;

	@ApiModelProperty("买家id")
	private Long userId;

	@ApiModelProperty("卖家id")
	private Long merchId;

	@ApiModelProperty("机构编号")
	private Long tenantId;

	@ApiModelProperty("查询时间（yyyy-mm） ")
	private String searchDate;

	@ApiModelProperty(hidden = true)
	private String goodType;

	@ApiModelProperty(hidden = true)
	private Long bizId;

    @ApiModelProperty(value = "版本",hidden = true)
    private EPaymentVersion paymentVersion;


    @ApiModelProperty("keyword 订单名称查询")
    private String keyword;
}