package com.yida.data.device.vo.consume;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yida.data.common.core.entity.consume.EduConsumeOrderStudent;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 消费订单后台列表返回类
 *
 * @author ZYJ
 * @date 2023/4/14
 */
@Data
@ApiModel(value = "ConsumeOrderPageVO", description = "消费订单后台列表返回类")
public class ConsumeOrderPageVO implements Serializable {

    private static final long serialVersionUID = -4944464049391972122L;

    @ApiModelProperty(value = "订单id")
    private Long orderId;

    @ApiModelProperty(value = "部门id")
    private Long deptId;

    @ApiModelProperty(value = "部门名称")
    private String deptName;

    @ApiModelProperty(value = "订单状态：0：待付款 1：付款中 2：交易完成（正常支付成功） 3：待退款 4：交易关闭（a:超时未支付,b:退款成功")
    private String orderStatus;

    @ApiModelProperty(value = "支付状态：0：未支付(默认) 1：已支付 2：已退款 3：已取消")
    private String payStatus;

    @ApiModelProperty(value = "订单总金额")
    private BigDecimal totalMoney;

    @ApiModelProperty(value = "实际支付金额")
    private BigDecimal practicalMoney;

    @ApiModelProperty(value = "支付人手机号（家长手机）")
    private String phone;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("创建时间")
    private Date createDate;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("支付时间")
    private Date payDate;

    @ApiModelProperty("订单编号")
    private String orderCode;

    @ApiModelProperty("交易流水号")
    private String transactionNumber;

    @ApiModelProperty(value = "支付方式：1：微信，2：支付宝，3：银联，4：收钱吧")
    private String payWay;

    @ApiModelProperty(value = "是否退款：0：否（默认） 1：是")
    private String isRefund;

    @ApiModelProperty("订单学生信息")
    private EduConsumeOrderStudent student;
}