using Nirvana.Common.ApiBase;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using YBDevice.Entity;

namespace YBDevice.NApi.Application.BusinessClient.AccountInfo
{
    public interface IAccountService
    {
        /// <summary>
        /// 根据手机号进行注册
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        Task<ResultInfo> RegisterAsync(BusinessRegDto model);

        /// <summary>
        /// 微信登录
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        Task<ResultInfo> OnLoginAsync(WXOpenLoginSubmitModel model);
        /// <summary>
        /// 手机号授权,如果未注册会自动进行注册
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        Task<ResultInfo> DecryptPhoneAsync(BusinessDecryptSubmitModel model);
        /// <summary>
        /// 根据手机号和密码进行登录
        /// </summary>
        /// <param name="businessLoginDto"></param>
        /// <returns></returns>
        Task<ResultInfo> LoginAsync(BusinessLoginDto businessLoginDto);
        /// <summary>
        /// 手机号快捷登录
        /// </summary>
        /// <param name="businessQLoginDto"></param>
        /// <returns></returns>
        Task<ResultInfo> SLoginAsync(BusinessQLoginDto businessQLoginDto);
        /// <summary>
        /// 发送短信验证码
        /// </summary>
        /// <param name="phone"></param>
        /// <returns></returns>
        Task<ResultInfo> SendCodeAsync(string phone);

/*        /// <summary>
        /// 添加或者更新商户信息
        /// </summary>
        /// <param name="businessRegDto"></param>
        /// <returns></returns>
        Task<ResultInfo> InsertOrUpdateAccountInfoAsync(BusinessRegDto businessRegDto);*/
    }
}
