package com.ylx.order.domain.vo.merchant;

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

import java.math.BigDecimal;

@Data
public class MerchantOrderDetailVO<T> implements IAfterSaleDisplay, IGeoRiskInfo {

    @ApiModelProperty("距离")
    private BigDecimal distanceKm;

    @ApiModelProperty("用户下单时纬度")
    private BigDecimal userLatitude;

    @ApiModelProperty("用户下单时经度")
    private BigDecimal userLongitude;

    @ApiModelProperty("围栏介绍")
    private String fenceIntro;

    @ApiModelProperty("风险提示")
    private Boolean isHighRiskArea;

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

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

    @ApiModelProperty("项目名称")
    private String projectName;

    @ApiModelProperty("项目时长")
    private Integer projectDuration;

    @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 contactAddressInfo;

    @ApiModelProperty("联系人姓名")
    private String contactPersonName;

    @ApiModelProperty("联系人电话号码")
    private String contactPhoneNumber;

    @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("售后单ID")
    private Long afterSalesServiceId;

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