package thyyxxk.webserver.entity.ca;

import cn.hutool.json.JSONObject;
import lombok.*;

import java.util.List;

public class CaSignClass {

    /**
     * 发送医生签名的类
     */
    @EqualsAndHashCode(callSuper = true)
    @Data
    public static class Send extends CaSendParams {
        // 用户的id
        private String id;
        // 签名消息
        private String msg;
        // 签名的描述
        private String desc;
        // 传 1
        private Integer count = 1;
    }

    @Data
    public static class MoreEventSignData {
        private String content;

        /**
         * 签署人身份类型。例如患者本人、亲属、朋友
         * 、伴侣。进行 URLEncode 编码的数据，并且中
         * 文长度不得大于 8
         */
        private String signType;
        private String signTypeName;
        private String signName;
        private String idCard;
        private String name;
        private String signOpinion;
    }

    /**
     * 移动平板实体类
     */
    @Data
    public static class MoreEventSign {
        private String documentId;
        private String sendCode;
        private String sendCodeName;
        private Boolean isInpatientNo = true;
        private List<MoreEventSignData> data;
    }

    /**
     * 页面扫码的类
     */
    @Data
    public static class H5EventSign {
        private String uuid;
        private String documentId;
        private String content;
        private String idCard;
        private Integer signType;
        private Boolean clear = true;
        private String name;
        private String signOpinion;
    }

    @Data
    @Builder
    @AllArgsConstructor
    @NoArgsConstructor
    public static class H5Return {
        private String caDocumentId;
        private String result;
        private String uuid;
    }

    @Data
    @Builder
    @AllArgsConstructor
    @NoArgsConstructor
    public static class H5EventSignRedis {
        private String uuid;
        private String pdf;

        private List<JSONObject> data;
    }

    @Data
    @Builder
    @AllArgsConstructor
    @NoArgsConstructor
    public static class Upload {
        private String file;
        private String fileName;
        private String patNo;
        private Integer times;
        private String caData;
    }

}
