package com.yiqi.order.domain.vo;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.yiqi.common.annotation.Excel;
import com.yiqi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

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

/**
 * 活动订单对象 order_activity
 *
 * @author ruoyi
 * @date 2023-09-30
 */
@ApiModel("活动订单")
@TableName("order_activity")
@Data
public class OrderActivityVO extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @ApiModelProperty("主键ID")

    private Long id;

    /**
     * 订单编号
     */
    @Excel(name = "订单编号")
    @ApiModelProperty("订单编号")
    private String orderNo;

    /**
     * 门店/工厂ID
     */
    @Excel(name = "门店编号")
    @ApiModelProperty("门店/工厂ID")

    private Long orgId;
    /**
     * 来源类型
     */
    @Excel(name = "来源类型")
    @ApiModelProperty("来源类型")
    private String sourceType;
    /** 门店名称 */
    @Excel(name = "门店名称")
    @ApiModelProperty("门店名称")
    private String storeName;

    @ApiModelProperty("昵称")
    private String nickName;

    /**
     * 真实姓名
     */
    @Excel(name = "真实姓名")
    @ApiModelProperty("真实姓名")
    private String realName;
    /**
     * 手机号
     */
    @Excel(name = "手机号")
    @ApiModelProperty("手机号")
    private String phoneNumber;

    /** 工厂名称 */
    @ApiModelProperty("工厂名称")
    private String factoryName;

    @Excel(name = "客户ID")
    @ApiModelProperty("客户ID")

    private Long appUserId;

    /**
     * 支付时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @Excel(name = "支付时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("支付时间")
    private Date payTime;

    /** 标题 */
    @Excel(name = "活动标题")
    @ApiModelProperty("活动标题")
    private String activityTitle;

    /** 活动id */
    @Excel(name = "活动id")
    @ApiModelProperty("活动id")

    private Long activityId;

    /**
     * 支付金额
     */
    @Excel(name = "支付金额")
    @ApiModelProperty("支付金额")
    private BigDecimal payAmount;

    /**
     * 支付方式（0=微信，1=支付宝，2=现金）
     */
    @Excel(name = "支付方式", readConverterExp = "0=微信,1=支付宝,2=现金")
    @ApiModelProperty("支付方式（0=微信，1=支付宝，2=现金）")
    private String payType;

    /**
     * 下单渠道（APP=APP，WXAPP=小程序）
     */
    @Excel(name = "下单渠道", readConverterExp = "A=PP=APP,WXAPP=小程序")
    @ApiModelProperty("下单渠道（APP=APP，WXAPP=小程序）")
    private String orderSource;

    @ApiModelProperty("支付宝/微信支付订单号")
    private String outTradeOrderNo;

    @Excel(name = "订单状态", readConverterExp = "0=待支付,1=支付待确认,5=已完成,6=已退款,100=已取消")
    @ApiModelProperty("订单状态（0==待支付，1=支付待确认，5=已完成，6=已退款，100=已取消）")
    private String orderStatus;

    /**
     * 退款申请时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @Excel(name = "退款申请时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("退款申请时间")
    private Date refundApplyTime;

    /**
     * 退款时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @Excel(name = "退款时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("退款时间")
    private Date refundTime;

    /**
     * 退款金额
     */
    @Excel(name = "退款金额")
    @ApiModelProperty("退款金额")
    private BigDecimal refundAmount;

    /**
     * 退款描述
     */
    @Excel(name = "退款描述")
    @ApiModelProperty("退款描述")
    private String refundContent;

    /**
     * 删除状态（0=正常,2=删除）
     */
    @ApiModelProperty("删除状态（0=正常,2=删除）")
    private String delFlag;


}
