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

namespace YBDevice.NApi
{
    /// <summary>
    /// 儿童模式相关处理
    /// </summary>
    public interface IChildService
    {
        /// <summary>
        /// 获取儿童信息
        /// </summary>
        /// <param name="familyid"></param>
        /// <param name="devtype">设备类型</param>
        /// <param name="appid">小程序appid</param>
        /// <returns></returns>
        Task<ResultInfo> GetInfoAsync(int familyid,int devtype, string appid);

        /// <summary>
        /// 获取成长曲线
        /// </summary>
        /// <param name="model">家庭成员ID</param>
        /// <returns></returns>
        Task<ResultInfo> GetGrowthCurveAsync(ChildGrowthQueryModel model);

        /// <summary>
        /// 获取身高/体重成长测评报告,与标准身高进行对比
        /// </summary>
        /// <param name="familyid"></param>
        /// <param name="devtype">设备类型</param>
        /// <returns></returns>
        Task<ResultInfo> GetHWListAsync(int familyid, int devtype);

        /// <summary>
        /// 计算遗传身高和成年身高
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        Task<ResultInfo> PredictHeightAsync(ChildPredictHeightModel model);

        /// <summary>
        /// 获取儿童增量信息
        /// </summary>
        /// <param name="familyid"></param>
        /// <param name="devtype">设备类型</param>
        /// <param name="appid">小程序appid</param>
        /// <returns></returns>
        Task<ResultInfo> GetYearHeightInfoAsync(int familyid,int devtype,string appid);
    }
}
