package com.leromro.core.domain.vo;

import com.leromro.common.annotation.Sensitive;
import com.leromro.common.enums.DesensitizedType;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.poi.hpsf.Decimal;

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

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class MainOrderInfoVO {
    @ApiModelProperty("地址信息-详细地址")
    private String address;

    @ApiModelProperty("地址信息-收货人姓名")
    private String name;

    @ApiModelProperty("地址信息-收货人手机号")
    private String telephone;

    @ApiModelProperty("地址信息-省级名称")
    private String provinceName;

    @ApiModelProperty("地址信息-市级名称")
    private String cityName;

    @ApiModelProperty("地址信息-区级名称")
    private String districtName;

    @ApiModelProperty("订单信息-服务的总价")
    private BigDecimal serviceTotalPrice;

    @ApiModelProperty("订单信息-支付方式 字典中获取")
    private String paymentMethod;

    @ApiModelProperty("订单信息-订单状态")
    private String orderStatus;

    @ApiModelProperty("订单信息-订单订单id（不展示）")
    private Long mainOrderId;

    @ApiModelProperty("订单信息-对外暴露的订单号")
    private String outTradeNo;

    @ApiModelProperty("服务信息-业务id（不显示）")
    private Long businessManagementId;

    @ApiModelProperty("服务信息-业务名称")
    private String businessManagementName;

    @ApiModelProperty("服务信息-服务大类别")
    private Long serviceCategory;

    @ApiModelProperty("服务信息-服务单位时长（分钟）（不显示）（一次的时长）")
    private Long serviceDuration;

    @ApiModelProperty("服务信息-单位价格")
    private BigDecimal serviceOnePrice;

    @ApiModelProperty("服务信息-单位名称")
    private String businessUnit;

    @ApiModelProperty("服务信息-服务数量（一个时间的次数）")
    private Long singleQuantity;

    @ApiModelProperty("服务信息-服务总次数")
    private Long totalTimes;

    @ApiModelProperty("服务信息-服务描述")
    private String businessDescribe;

    @ApiModelProperty("志愿者信息-志愿者（用户）id（不显示）")
    private Long volunteerId;

    @ApiModelProperty("志愿者信息-志愿者主键id（不显示）")
    private Long volunteerInfoId;

    @ApiModelProperty("志愿者信息-志愿者年龄")
    private Integer age;

    @ApiModelProperty("志愿者信息-志愿者资质证书")
    private String certificationPicture;

    @Sensitive(desensitizedType = DesensitizedType.USERNAME)
    @ApiModelProperty("志愿者信息-志愿者姓名")
    private String VolunteerName;

    @Sensitive(desensitizedType = DesensitizedType.PHONE)
    @ApiModelProperty("志愿者信息-志愿者电话")
    private String phonenumber;

    @ApiModelProperty("志愿者信息-志愿者性别")
    private Integer sex;

    @ApiModelProperty("志愿者信息-志愿者技能描述")
    private String skillDescribe;

    @ApiModelProperty("志愿者信息-志愿者照片")
    private String volunteerPicture;

    @ApiModelProperty("小订单列表")
    private List<SecondOrderInfoVO> secondOrderList;


}
