package cn.iocoder.yudao.module.member.controller.admin.order.vo;

import cn.iocoder.yudao.module.member.convert.excel.OrderStatusConverter;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.ToString;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * @Author:qjq
 * @Date:2024/4/1 10:14
 */
@Schema(description = "管理后台 - 订单管理分页 Response VO")
@Data
@ToString(callSuper = true)
@ExcelIgnoreUnannotated
public class OrderDetailsRespVO {

    @Schema(description = "订单编号", example = "20240401090630943547146")
    @ExcelProperty("订单编号")
    private Long id;

    @Schema(description = "门店名称", example = "真好")
    @ExcelProperty("门店名称")
    private String storeName;

    @Schema(description = "门店Id", example = "127")
    private Long storeId;

    @Schema(description = "用户名称", example = "张三")
    @ExcelProperty("用户名称")
    private String userName;

    @Schema(description = "小组", example = "1024")
    @ExcelProperty("小组")
    private String groupName;

    @Schema(description = "用户手机", example = "15111956918")
    @ExcelProperty("用户手机")
    private String userAccount;

    @Schema(description = "工号", example = "15111956918")
    private String userJob;
    @Schema(description = "用户头像", example = "15111956918")
    private String avatar;

    @Schema(description = "订单交易时间", example = "2024-04-01 09:06:19")
    @ExcelProperty("订单交易时间")
    private LocalDateTime createTime;

    @Schema(description = "金额", example = "123.11")
    @ExcelProperty("金额")
    private BigDecimal totalMoney;

    @Schema(description = "现金金额")
    @ExcelProperty("现金金额")
    private BigDecimal cashAmount;

    @Schema(description = "微信金额")
    @ExcelProperty("微信金额")
    private BigDecimal wxAmount;

    @Schema(description = "支付方式", example = "钱包")
    private String  payMethods;

    @Schema(description = "时间段", example = "早餐")
    @ExcelProperty("时间段")
    private String  timePeriod;

    @Schema(description = "订单状态", example = "交易完成")
    @ExcelProperty(value = "订单状态",converter = OrderStatusConverter.class)
    private String  orderStatus ;

    @Schema(description = "用户id", example = "1024")
    private Long userId;

    @Schema(description = "减免状态")
    @ExcelProperty("减免状态")
    private String reductionState;

    @Schema(description = "减免金额")
    @ExcelProperty("减免金额")
    private BigDecimal reductionAmount;

    @Schema(description = "现有金额")
    private BigDecimal money;

    /**
     * 待支付金额
     */
    private BigDecimal payAmount;
    /**
     * 最大退款金额
     */
    private BigDecimal refundAmount;

    private String faceData;

    /**
     * 补贴金额
     */
    private BigDecimal subsidyAmount;

    private String transferState;

    private LocalDateTime transferTime;
    /**
     * 餐盘编号
     */
    private String diningPlatesNum;


}
