using HKCardIN.Helper;
using HKCardIN.Logic.Model;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Policy;
using System.Text;
using System.Threading.Tasks;
using XExten.Advance.HttpFramework.MultiCommon;
using XExten.Advance.HttpFramework.MultiFactory;
using XExten.Advance.LinqFramework;

namespace HKCardIN.Logic
{
    public class BaseLogic : Singleton<BaseLogic>
    {
        /// <summary>
        /// 同步用户和卡信息
        /// </summary>
        /// <returns></returns>
        public UserAndCardInfo PullUserAndCardInfo(string CardNo)
        {
            return IHttpMultiClient.HttpMulti.AddNode(t =>
                 {
                     t.NodePath = ApiRoute.PullUserAndCardInfo + CardNo;
                 }).Build().RunStringFirst().ToModel<JObject>()["data"].ToJson().ToModel<UserAndCardInfo>();
        }
        /// <summary>
        /// 同步充值记录
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public bool PushMoneyToServer(string CardNo, decimal Money)
        {
            var data = IHttpMultiClient.HttpMulti.AddNode(t =>
            {
                t.NodePath = ApiRoute.PushMoneyToServer;
                t.ReqType = MultiType.POST;
                t.JsonParam = (new { Money, Type = 1, CardNum = CardNo }).ToJson();
            }).Build().RunStringFirst();
            return bool.Parse(data.ToModel<JObject>()["data"].ToString());
        }
        /// <summary>
        /// 根据会员手机获取卡号
        /// </summary>
        /// <param name="Phone"></param>
        /// <returns></returns>
        public string GetCardNoByPhone(string Phone)
        {
            var data = IHttpMultiClient.HttpMulti.AddNode(t => {
                t.NodePath = ApiRoute.GetCardNoByPhone;
            }).Build().RunStringFirst();
            return data;
        }
    }
}
