package com.xinelu.manage.vo.appointmentorderdetails;

import com.fasterxml.jackson.annotation.JsonFormat;

import com.xinelu.manage.domain.appointmentorderconsumable.AppointmentOrderConsumable;
import com.xinelu.manage.domain.appointmentorderdetails.AppointmentOrderDetails;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

/**
 * @author ljh
 * @version 1.0
 * Create by 2022/9/14 11:28
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class AppointmentOrderDetailsVO extends AppointmentOrderDetails implements Serializable {
    private static final long serialVersionUID = -2375649858600100922L;

    /**
     * 订单表id
     */
    private Long appointOrderId;

    /**
     * 订单明细表id
     */
    private Long appointOrderDetailsId;

    /**
     * 用户id
     */
    private Long patientId;

    /**
     * 用户姓名
     */
    private String patientName;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    /**
     * 护理站名称
     */
    private String nurseStationName;

    /**
     * 护理项目耗材集合
     */
    private List<AppointmentOrderConsumable> appointmentOrderConsumableList;

    /**
     * 预约服务满意度，一般：COMMONLY，满意：SATISFIED，不满意：DISSATISFIED
     */
    private String evaluateSatisfaction;

    /**
     * 健康状态
     */
    private String diseaseName;

    /**
     * 商品订单综合评分，取值，1：代表1颗星，2：代表两颗星，3：代表三颗星，4：代表四颗星，5：代表五颗星
     */
    private Integer compositeScore;

    /**
     * 订单佣金金额
     */
    private BigDecimal orderCommissionAmount;

    /**
     * 订单类型，院内陪护：COMPANION_IN_HOSPITAL，其它：OTHER
     */
    private String orderType;

    /**
     * 陪护开始时间，院内陪护订单使用，格式：yyyy-MM-dd
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate companionStartDate;

    /**
     * 陪护结束时间，院内陪护订单使用，格式：yyyy-MM-dd
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate companionEndDate;

    /**
     * 陪护天数，院内陪护订单使用
     */
    private Integer companionDays;

    /**
     * 订单填写人姓名，院内陪护订单使用
     */
    private String orderWriteName;
}
