package com.xinelu.applet.service.nurseapplogin;

import com.xinelu.applet.dto.appletlogin.AppletUserInfoDTO;
import com.xinelu.applet.dto.appletlogin.StationItemInfoDTO;
import com.xinelu.applet.vo.nursepersonapplogin.OrderAndItemVO;
import com.xinelu.common.core.domain.AjaxResult;

import java.util.List;

/**
 * @Description APP登录注册业务层
 * @Author zh
 * @Date 2022-10-12
 */
public interface NurseAppLoginService {

    /**
     * 判断用户是否完善信息-微信小程序和APP共用
     *
     * @param patientId 用户id
     * @return 结果
     */
    AjaxResult getIdentification(Long patientId);

    /**
     * 查询护理人列表信息
     *
     * @param patientId 用户id
     * @return 护理人列表集合
     */
    AjaxResult getPatientVOList(Long patientId);

    /**
     * 根据护理站id和护理站项目id查询对应的护理项目信息
     *
     * @param itemInfoDTO 输入参数
     * @return 护理项目信息集合
     */
    AjaxResult getAppStationItemAndConsumableInfo(StationItemInfoDTO itemInfoDTO);

    /**
     * 个人中心
     *
     * @param patientId 会员id
     * @return 结果
     */
    AjaxResult nurseAppPersonal(Long patientId, String region);

    /**
     * App查询预约服务订单
     *
     * @param patientId   用户id
     * @param orderStatus 预约订单状态
     * @return 结果
     */
    List<OrderAndItemVO> selectAppServiceOrderItem(Long patientId, String orderStatus);

    /**
     * 小程序取消订单
     *
     * @param appointmentOrderId      预约订单id主键
     * @param cancelAppointmentReason 取消预约原因
     * @return 结果
     */
    AjaxResult updateAppointmentOrder(Long appointmentOrderId, String cancelAppointmentReason);
}
