package com.xinelu.manage.dto.signpatientpackage;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.math.BigDecimal;
import java.time.LocalDate;
import javax.validation.constraints.NotNull;
import lombok.Data;

/**
 * @description: 居民签约服务包保存传输对象
 * @author: haown
 * @create: 2024-03-18 14:35
 **/
@ApiModel("居民签约服务包保存传输对象")
@Data
public class SignPatientPackageSaveDto {

	/** 服务包表id */
	@ApiModelProperty(value = "服务包表id")
	@NotNull(message = "请选择服务包！")
	private Long servicePackageId;

	/** 服务包名称 */
	@ApiModelProperty(value = "服务包名称")
	private String packageName;

	/** 服务包缴费状态，已缴费：PAID，未交费：UNPAID_FEES */
	@ApiModelProperty(value = "服务包缴费状态，已缴费：PAID，未交费：UNPAID_FEES")
	private String packagePaymentStatus;

	/** 服务包价格，小数点后两位 */
	@ApiModelProperty(value = "服务包价格，小数点后两位")
	@NotNull(message = "服务包价格不能为空！")
	private BigDecimal packagePrice;

	/** 服务开始时间，格式：yyyy-MM-dd HH:mm:ss */
	@ApiModelProperty(value = "服务开始时间，格式：yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd")
	@NotNull(message = "服务开始时间不能为空！")
	private LocalDate serviceStartTime;

	/** 服务结束时间，格式：yyyy-MM-dd HH:mm:ss */
	@ApiModelProperty(value = "服务结束时间，格式：yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd")
	@NotNull(message = "服务结束时间不能为空！")
	private LocalDate serviceEndTime;

	/**
	 * 服务包周期
	 */
	@ApiModelProperty(value = "服务包周期")
	private Integer packageTerm;

	/**
	 * 服务包周期单位，年，月，日
	 */
	@ApiModelProperty(value = "服务包周期单位，年，月，日")
	private String packageTermUnit;

}
