using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Data;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging;
using MySystem.Models;
using System.Threading;
using Library;
using LitJson;

namespace MySystem.Controllers
{
    public class HomeController : Controller
    {
        private readonly ILogger<HomeController> _logger;

        public HomeController(ILogger<HomeController> logger)
        {
            _logger = logger;
        }

        public IActionResult Index()
        {
            return View();
        }

        public IActionResult Error()
        {
            string isapi = Request.Headers["Api"].ToString();
            if (isapi != "1")
            {
                if (Response.StatusCode == 500)
                {
                    return Redirect("/public/errpage/pc/500.html");
                }
                else if (Response.StatusCode == 502)
                {
                    return Redirect("/public/errpage/pc/502.html");
                }
                else if (Response.StatusCode == 404)
                {
                    return Redirect("/public/errpage/pc/404.html");
                }
            }
            return View();
        }

        public string test(int id = 0)
        {
            string txt = "ok";
            // txt = WeChatFunction.Instance.QueryProfitShare("1646405429","4200001807202306098649105270","2023060910241258564572510");
            // ProfitHelper.Instance.ReturnStat(Id, 2);
            WebCMSEntities db = new WebCMSEntities();
            List<int> oids = new List<int>();
            if(id > 0)
            {
                oids.Add(id);
            }
            else
            {
                oids.Add(15);
                oids.Add(16);
                oids.Add(17);
                oids.Add(18);
                oids.Add(19);
                oids.Add(20);
            }
            foreach(int oid in oids)
            {
                ConsumerOrders order = db.ConsumerOrders.FirstOrDefault(m => m.Id == oid);
                if(order != null)
                {
                    RedisDbconn.Instance.AddList("ConsumerOrders:Divi:2:List", order.Id.ToString());
                    // RedisDbconn.Instance.AddList("ConsumerOrders:Divi:2:" + order.MerchantId, order);
                }
            }
            db.Dispose();
            return txt;
        }

        public string testAlipay()
        {
            // string content = AlipayFunction.Instance.QuerySignStatus("2023061317351531100060045");
            // List<RoyaltyParameters> Parameters = new List<RoyaltyParameters>();
            // Parameters.Add(new RoyaltyParameters()
            // {
            //     Account = "2088141704579033",
            //     Amount = "0.01",
            // });
            // string content = AlipayFunction.Instance.Settle("2023061615441556447868073", "2023061622001451251436120885", Parameters);
            // string content = AlipayFunction.Instance.BindSettleRelation(DateTime.Now.ToString("yyyyMMddHHmmssfff") + function.get_Random(8), "2088141704579033");
            // string content = AlipayFunction.Instance.Refund("2023061622001451251436120885", "0.01", "客小爽来客吧项目盛大来袭");
            // string content = AlipayFunction.Instance.QuerySettle("2023061517455619986938439", "2023061522001451251430528719", "");
            // MerchantConfirmService.Instance.StartDo(68, 2);
            
            return "ok";
        }
    
    }
}