package com.fs.course.param;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.util.List;

@Data
@ApiModel(description = "红杉问诊申请参数")
@Accessors(chain = true)
public class SendInquiryToHSParam {

    @ApiModelProperty(value = "处方分类: 1普通处方 2门诊统筹 3慢病处方")
    @JsonProperty("prescription_type")
    private Integer prescriptionType;//todo

    @ApiModelProperty(value = "就诊类型: picture-图文; video-视频")
    @JsonProperty("register_type")
    private String registerType;

    @ApiModelProperty(value = "本次申请的唯一标识，当本条信息成功接收后不可二次使用")
    @JsonProperty("union_code")
    private String unionCode;

    @ApiModelProperty(value = "用户的账户信息，小程序操作人信息，影响后续业务查询")
    @JsonProperty("user_info")
    private HsUserInfoParam userInfo;

    @ApiModelProperty(value = "家庭成员: 当前就诊人信息")
    @JsonProperty("user_member")
    private HsUserMember userMember;// todo

    @ApiModelProperty(value = "健康情况: 健康情况信息")
    @JsonProperty("healthy_condition")
    private HsHealthyCondition healthyCondition;

    @ApiModelProperty(value = "购药情况: 购药信息 非购药咨询问诊无需带次参数")
    @JsonProperty("drug")
    private List<HsDrug> drug;

    @ApiModelProperty(value = "挂号医生信息: 医生信息和挂号时间等")
    @JsonProperty("book_doctor_info")
    private HsBookDoctorInfoParam bookDoctorInfo;

    @ApiModelProperty(value = "患者主诉: 当提供主诉优先使用")
    @JsonProperty("book_description")
    private String bookDescription;

    @ApiModelProperty(value = "复诊资料: 证明复诊的图片资料")
    @JsonProperty("subsequent_file")
    private List<String> subsequentFile;

    @ApiModelProperty(value = "处方开具后流转通知: 当成功开具处方后流转处方触发的回调")
    @JsonProperty("notify_uri")
    private String notifyUri;

    @ApiModelProperty(value = "问诊生命周期回调通知: 全生命周期给改地址进行通知回调")
    @JsonProperty("callback_notification")
    private String callbackNotification;

    @ApiModelProperty(value = "去取药的地址: 问诊过程中，发送卡片消息去取药的跳转地址")
    @JsonProperty("dispensary_uri")
    private String dispensaryUri;

    @ApiModelProperty(value = "问诊结束后进入三方小程序或H5页面的地址")
    @JsonProperty("redirect_uri")
    private String redirectUri;

    @ApiModelProperty(value = "复杂情况的跳转参数: 跳转进行问诊的信息")
    @JsonProperty("redirect_param")
    private HsRedirectParam redirectParam;
}
