using Jd.ACES;
using Jd.Api;
using Jd.Api.Request;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Security.Cryptography;
using System.Text;

namespace BBWY.Test
{
    internal class Program
    {
        private static IJdClient GetJdClient(string appKey, string appSecret)
        {
            return new DefaultJdClient("https://api.jd.com/routerjson", appKey, appSecret);
        }

        public static string Md5Encrypt(string originStr)
        {
            using (var md5 = MD5.Create())
            {
                return string.Join(string.Empty, md5.ComputeHash(Encoding.UTF8.GetBytes(originStr)).Select(x => x.ToString("x2")));
            }
        }

        static void Main(string[] args)
        {

            //var appkey = "E1AA9247D5583A6D87449CE6AB290185";
            //var appSecret = "e479558ddd9e40f8929cfc00c6cbbc9c";

            var appkey = "120EA9EC65AB017567D78CC1139EEEA5";
            var appSecret = "8a42bc2301e8439b896e99f5475e0a9b";

            ////0e61c4a8ec3e4df4b5836e10884db9220yth 齐盛
            var token = "2ace3023200c4ea9aa682bbf8bffee18jztm"; //布莱特玩具
            //var token = "01f5be2cb4d741dda66bce2356941597mdfm"; //布莱特玩具 token2
            //var token = "01dc6f6e7fc34dcd99090d690312556cmdfk"; //齐盛
            //var token = "9fffa982da23446fb035499ae5622f49odjk"; //腾奇
            //var token = "c22ff4d37b6c4bbd82cd9e8d0dab42dbziyz"; //森王车品
            //var token = "44c19a1c1fbd4641957e6e8985ed1358jmtl"; //森王玩具
            //var token = "4a0ddc095e054c7aa90adcaccb14f83cwzgr";

            //var dt1 = DateTime.Now;
            //List<string> list = new List<string>();
            //for (var i = 1; i <= 5000000; i++)
            //{
            //    var md5 = tomMd5(Guid.NewGuid().ToString());
            //    list.Add(md5);
            //    Console.WriteLine($"生成第{i}位指纹,{md5}");
            //}
            //var dt2 = DateTime.Now;
            //Console.WriteLine($"总数量{list.Count},总耗时{(dt2 - dt1).TotalSeconds}秒");



            var jdClient = GetJdClient(appkey, appSecret);

            //var req = new AdsIbgUniversalJosServiceAdQueryRequest();
            //req.businessType = "2";
            //req.isDaily = "true";
            //req.clickOrOrderDay = "0";
            //req.pageSize = "100";
            //req.page = "1";
            //req.clickOrOrderCaliber = "1";
            //req.startDay = "2023-03-10";
            //req.endDay = "2023-03-10";
            //req.giftFlag = "0";
            //req.orderStatusCategory = "1";
            //var res = jdClient.Execute(req, token, DateTime.Now.ToLocalTime());

            var req = new AscSyncListRequest();

            req.buId = "10598776";
            req.operatePin = "开发者测试";
            req.operateNick = "开发者测试";

            //req.serviceId = 1687549909;
            //req.orderId = ;
            //req.serviceStatus = ;

            req.updateTimeBegin = DateTime.Parse("2023-03-01");
            req.updateTimeEnd = DateTime.Now;

            //req.freightUpdateDateBegin = ;
            //req.freightUpdateDateEnd = ;

            req.pageNumber = "1";
            req.pageSize = "100";
            var res = jdClient.Execute(req, token, DateTime.Now.ToLocalTime());


            Console.WriteLine(JsonConvert.SerializeObject(res));

            Console.ReadKey();
        }

        static string tomMd5(string str)
        {
            using (var md5 = MD5.Create())
            {
                return string.Join(string.Empty, md5.ComputeHash(Encoding.UTF8.GetBytes(str)).Select(x => x.ToString("x2")));
            }
        }
    }
}