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

import com.fasterxml.jackson.annotation.JsonFormat;
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.time.LocalDateTime;

/**
 * 学生消费记录列表返回类
 *
 * @author ZYJ
 * @date 2023/3/24
 */
@Data
@ApiModel(value = "H5ConsumeRecordPageVO", description = "学生消费记录列表返回类")
public class H5ConsumeRecordPageVO implements Serializable {

    private static final long serialVersionUID = -5754645385438209457L;

    @ApiModelProperty(value = "主键")
    private Long id;

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

    @ApiModelProperty(value = "订单号")
    private Long orderNo;

    @ApiModelProperty(value = "消费机设备编号")
    private String deviceNo;

    @ApiModelProperty(value = "学生主键ID")
    private Long studentId;

    @ApiModelProperty(value = "学生姓名")
    private String studentName;

    @ApiModelProperty(value = "校园卡号")
    private String stuCardNumber;

    @ApiModelProperty(value = "消费金额. 单位: 元")
    private BigDecimal transactionAmount;

    @ApiModelProperty(value = "消费时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime transactionTime;

    @ApiModelProperty(value = "学校主键ID")
    private Long schoolId;

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

    @ApiModelProperty(value = "学区主键ID")
    private Long campusId;

    @ApiModelProperty(value = "学区名称")
    private String campusName;

    @ApiModelProperty(value = "学段主键ID")
    private Long sectionId;

    @ApiModelProperty(value = "学段名称")
    private String sectionName;

    @ApiModelProperty(value = "年级主键ID")
    private Long gradeId;

    @ApiModelProperty(value = "年级名称")
    private String gradeName;

    @ApiModelProperty(value = "班级主键ID")
    private Long classId;

    @ApiModelProperty(value = "班级名称")
    private String className;
}