using ASHermed.SinoInterface.Api.ContractModel;
using ASHermed.SinoInterface.Api.ContractModel.App;
using ASHermed.SinoInterface.Api.ContractModel.Internet;
using ASHermed.SinoInterface.Api.ContractModel.Online.Entity;
using ASHermed.SinoInterface.ContractModel;
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;

namespace ASHermed.SinoInterface.Api.IService.OnlineAptInfo
{
    /// <summary>
    /// 预约
    /// </summary>
    public interface IOnlineAptInfoService
    {
        /// <summary>
        /// 添加修改在线预约信息
        /// </summary>
        /// <returns></returns>
        Task<BaseResponse<int>> AddOnlineAppointment(OnlineAptParam param, int language);

        BaseResponse ConfirmPrescription(PrescriptionReq req);

        BaseResponse UpdatePrescription(string prescription);
        /// <summary>
        /// 预约状态(1待确认,2已确认,3已取消,4已付款(对应我的预约即将就诊),5已完成)
        /// </summary>
        /// <param name="aptId">id</param>
        /// <param name="innerStatus">预约状态</param>
        /// <returns></returns>
        BaseResponse<int> UpdateAptStatus(int aptId, int innerStatus);

        /// <summary>
        /// 获取用户患者复诊开药，视频问诊列表接口
        /// </summary>
        /// <returns></returns>
        BaseResponse<List<GetMyOnlineApt>> GetMyOnlineApt(int type, int language);
        BaseResponse<List<GetMyOnlineAptNew>> GetMyOnlineAptNew(int language);
        string GetAptUsrn(int aptId);

        /// <summary>
        /// 修改用户是否已读
        /// 预约类型(1视频预约,2复诊开药)
        /// </summary>
        /// <param name="type">预约类型(1视频预约,2复诊开药)</param>
        /// <returns></returns>
        BaseResponse<bool> UpdatePubUserInfoIsRead(int type);

        LinKongResponse LinKongOrderComment(LinKongOrderComment request);
        AptInfo CheckMySoonApt(int language);
        string CheckMySoonPre(int language);
        bool AddLinKingIM(LinKingIMRequest request);
        bool CheckAddPatForVaccine(string name);
        List<Online_Evaluation> GetEvaluation();
        int InsertEvaluation(Online_Evaluation model);
    }
}
