package com.ylx.order.domain.vo;

import com.ylx.order.service.IAfterSaleDisplay;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

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

/**
 * 类描述：
 *
 * @author Administrator
 * @version 1.0
 * @date 2026/6/9 8:58
 */
@Data
public class OrderDetailVO<T> implements IAfterSaleDisplay {

    /**
     * 订单状态
     */
    @ApiModelProperty("订单状态")
    private Integer orderStatus;

    /**
     * 订单状态中文
     */
    @ApiModelProperty("订单状态中文")
    private String orderStatusName;

    /**
     * 商户头像
     */
    @ApiModelProperty("商户头像")
    private String merchantAvatar;


    /**
     * 服务次数
     */
    @ApiModelProperty("服务次数")
    private Integer serviceNum;

    /**
     * 评分
     */
    @ApiModelProperty("评分")
    private Integer star;

    /**
     * 简介
     */
    @ApiModelProperty("简介")
    private String brief;

    /**
     * 项目名称
     */
    @ApiModelProperty("项目名称")
    private String projectName;
    @ApiModelProperty("商户id")
    private Long merchantId;
    /**
     * 商家名字
     */
    @ApiModelProperty("商家名字")
    private String merchantName;
    /**
     * 项目时长
     */
    @ApiModelProperty("项目时长")
    private Integer projectDuration;
    /**
     * 项目亮点
     */
    @ApiModelProperty("项目亮点")
    private String highlight;

    /**
     * 最终应付/实付金额
     */
    @ApiModelProperty("最终应付/实付金额")
    private BigDecimal finalAmount;

    @ApiModelProperty("预约开始时间")
    private String appointmentStartTime;

    @ApiModelProperty("预约结束时间")
    private String appointmentEndTime;

    @ApiModelProperty("预约时间范围（格式化，示例：5月12日 16:00-18:00）")
    private String appointmentTimeRange;

    @ApiModelProperty("详细服务地址")
    private String contactAddresInfo;

    /**
     * 联系信息:王先生，188****5555
     */
    @ApiModelProperty("联系信息")
    private String contactInfo;

    /**
     * 订单价格
     */
    @ApiModelProperty("订单价格")
    private BigDecimal basePrice;

    /**
     * 交通费
     */
    @ApiModelProperty("交通费")
    private BigDecimal trafficFee;

    /**
     * 优惠券抵扣金额
     */
    @ApiModelProperty("优惠券抵扣金额")
    private BigDecimal  couponDiscount;

    @ApiModelProperty("订单号")
    private String orderNo;

    @ApiModelProperty("订单id")
    private String orderId;

    @ApiModelProperty("下单时间")
    private String createTime;

    @ApiModelProperty("付款时间")
    private String  paidTime;

    @ApiModelProperty("付款方式")
    private Integer paymentMethod;

    @ApiModelProperty("付款方式中文")
    private String paymentMethodName;

    @ApiModelProperty("订单状态流转列表")
    private List<OrderStatusFlowVO> orderStatusFlowList;

    @ApiModelProperty("售后单ID")
    private Long afterSalesServiceId;

    @ApiModelProperty("售后状态文案")
    private String afterSalesServiceStatus;

    @ApiModelProperty("退款金额")
    private BigDecimal actualRefundAmount;
}