package com.m2pool.lease.dto;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

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

/**
 * <p>
 * 订单详情返回对象
 * </p>
 *
 * @author yyb
 * @since 2025-07-23
 */
@Builder
@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(description = "订单详情返回对象",value = "OrderInfoDto")
public class OrderInfoDto {

    /**
     * 订单 ID
     */
    @ApiModelProperty(value = "订单 ID")
    private Long id;

    @ApiModelProperty(value = "店铺id")
    private Long shopId;

    /**
     * 订单号
     */
    @ApiModelProperty(value = "订单号")
    private String orderNumber;

    /**
     * 用户id
     */
    @ApiModelProperty(value = "用户id")
    private String userId;
    /**
     * 订单总价
     */
    @ApiModelProperty(value = "订单总价")
    private BigDecimal totalPrice;

    ///**
    // * 收货地址
    // */
    //private String address;

    /**
     * 订单状态 0待付款 1待发货 2待收货 3待评价 4已完成 5取消订单
     */
    @ApiModelProperty(value = "订单状态 7 订单进行中 8 订单已完成")
    private Integer status;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    private LocalDateTime createTime;


    @ApiModelProperty(value = "订单完成时间")
    private LocalDateTime  endTime;


    // ---------------------------------------------- 一个普通订单对应一个支付订单（多个封装下面四个字段为一个对象，并返回list）----------------------------------------------------------------------


    @ApiModelProperty(value = "二维码图片")
    private String img;

    @ApiModelProperty(value = "需支付总金额")
    private BigDecimal amount;

    @ApiModelProperty(value = "已支付金额")
    private String payAmount;

    @ApiModelProperty(value = "未支付金额")
    private Double noPayAmount;

    @ApiModelProperty(value = "店铺名称")
    private String shopName;

    //---------------------------------------------- 一个普通订单对应一个支付订单（多个封装下面四个字段为一个对象，并返回list）- ----------------------------------------------------------------------
    /**
     * 订单详情
     */
    @ApiModelProperty(value = "订单详情")
    private List<OrderItemDto> orderItemDtoList;
}
