package com.xinelu.applet.vo.appletlogin;

import com.xinelu.applet.vo.nearbynursingstation.PoserInfoHomeVO;
import com.xinelu.applet.vo.specialdisease.WeekDaysVO;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

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

/**
 * @Description 预约护理站项目信息返回值实体类
 * @Author 纪寒
 * @Date 2022-09-06 09:06:21
 * @Version 1.0
 */
@Data
public class NurserStationItemInfoVO implements Serializable {
    private static final long serialVersionUID = -4568299806954496609L;
    /**
     * 护理站id
     */
    private Long stationId;

    /**
     * 护理项目id
     */
    private Long stationItemId;

    /**
     * 护理项目价格id
     */
    private Long stationItemPriceId;

    /**
     * 护理项目编号
     */
    private String nurseItemCode;

    /**
     * 护理项目名称
     */
    private String nurseItemName;

    /**
     * 提前预约时长，单位天
     */
    private String advanceAppointDuration;

    /**
     * 护理服务时长和单位
     */
    private String serveDurationUnit;

    /**
     * 护理项目价格
     */
    private BigDecimal nurseItemPrice;

    /**
     * 护理项目耗材总价格
     */
    private BigDecimal consumableTotalPrice;

    /**
     * 应付金额
     */
    private BigDecimal totalPrice;

    /**
     * 护理项目内容简介
     */
    private String nurseItemContent;

    /**
     * 护理项目图片地址
     */
    private String itemPictureUrl;

    /**
     * 护理项目耗材信息集合
     */
    private List<NurserStationItemConsumableVO> itemConsumableList;

    /**
     * 预约时间点上限
     */
    private Integer appointmentLimitCount;

    /**
     * 预约时间间隔
     */
    private String appointmentTimeInterval;

    /**
     * 护理站上午营业开始时间
     */
    @DateTimeFormat(pattern = "HH:mm")
    private LocalTime morningOpenStartTime;

    /**
     * 护理站上午营业结束时间
     */
    @DateTimeFormat(pattern = "HH:mm")
    private LocalTime morningOpenEndTime;

    /**
     * 护理站下午营业开始时间
     */
    @DateTimeFormat(pattern = "HH:mm")
    private LocalTime afternoonOpenStartTime;

    /**
     * 护理站下午营业结束时间
     */
    @DateTimeFormat(pattern = "HH:mm")
    private LocalTime afternoonOpenEndTime;

    /**
     * 近七天的预约时间点集合
     */
    List<WeekDaysVO> appointmentTimeList;

    /**
     * 护理站名称（0203版新增）
     */
    private String nurseStationName;

    /**
     * 护理项目海报集合（0203版新增）
     */
    private List<PoserInfoHomeVO> poserInfoList;

    /**
     * 护理项目佣金金额
     */
    private BigDecimal commissionAmount;
}
