package com.xinelu.mobile.service.appletpersoncenter;

import com.xinelu.common.core.domain.AjaxResult;
import com.xinelu.mobile.dto.appletpersoncenter.HealthRecordDTO;
import com.xinelu.mobile.dto.appletpersoncenter.HealthRecordInfoDTO;
import com.xinelu.mobile.dto.verifysmscode.VerifySmsCodeDTO;

import java.util.List;

/**
 * @Description 院后小程序个人中心业务层
 * @Author 纪寒
 * @Date 2024-04-16 10:51:28
 * @Version 1.0
 */
public interface AppletPersonCenterService {

    /**
     * 院后微信小程序一键登录接口
     *
     * @param loginCode 登录凭证
     * @param phoneCode 获取手机号登录凭证
     * @return 微信小程序用户登录信息
     */
    AjaxResult appletLogin(String loginCode, String phoneCode);

    /**
     * 根据居民表id查询患者个人信息
     *
     * @param residentId 居民表id
     * @return 个人信息
     */
    AjaxResult getResidentInfoById(Long residentId);


    /**
     * 根据居民表id查询患者健康档案信息
     *
     * @param residentId 居民患者id
     * @return 列表信息
     */
    List<HealthRecordDTO> getHealthRecordListByResidentId(Long residentId);

    /**
     * 根绝id获取患者健康档案详细信息
     *
     * @param id 居民患者id
     * @return 监控档案详细信息
     */

    HealthRecordInfoDTO getHealthRecordInfoById(Long id);

    /**
     * 院后微信小程序登录接口
     * @param loginCode 登录凭证
     * @return 微信小程序用户登录信息
     */
    AjaxResult appletLoginV1(String loginCode);

    /**
     * 小程序登录发送验证码
     * @param phoneNum 手机号码
     * @return 发送短信验证码信息
     */
    AjaxResult sendSms(String phoneNum);

    /**
     * 小程序登录验证短信验证码
     * @param verifySmsCodeDTO  验证短信验证码DTO
     * @return  验证短信验证码信息
     */
    AjaxResult verifySmsCode(VerifySmsCodeDTO verifySmsCodeDTO);

    /**
     * 小程序端手机号与openid解绑
     * @param phoneNum 手机号
     * @param openId openid
     * @return 解绑信息
     */
    AjaxResult unbindOpenId(String phoneNum, String openId);
}
