package com.ycwl.basic.service.mobile;

import com.ycwl.basic.model.mobile.weChat.DTO.WeChatUserInfoDTO;
import com.ycwl.basic.model.mobile.weChat.DTO.WeChatUserInfoUpdateDTO;
import com.ycwl.basic.model.pc.member.resp.MemberRespVO;
import com.ycwl.basic.utils.ApiResponse;

import java.util.Map;

/**
 * @Author:songmingsong
 */
public interface AppMemberService {

    /**
     * 获取用户的openId
     *
     * @return Map
     */
    Map<String, Object> getOpenId(Long scenicId, String code);

    /**
     * 登录
     *
     * @param scenicId
     * @param code        前端授权码
     * @param userInfoDTO 实体信息
     * @return
     */
    ApiResponse login(Long scenicId, String code, WeChatUserInfoDTO userInfoDTO) throws Exception;

    /**
     * 获取用户信息
     *
     * @return
     */
    ApiResponse<MemberRespVO> getUserInfo();

    /**
     * 修改信息
     *
     * @param userInfoUpdateDTO
     * @return
     */
    ApiResponse<?> update(WeChatUserInfoUpdateDTO userInfoUpdateDTO);

    /**
     * 同意用户协议
     *
     * @return
     */
    ApiResponse<?> agreement();


    ApiResponse<String> updateScenicServiceNoticeStatus(Long scenicId);

    ApiResponse<Integer> getScenicServiceNoticeStatus(Long scenicId);
}