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 _logger; public HomeController(ILogger 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 oids = new List(); 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 Parameters = new List(); // 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("2023071214274372011988068", "2023071222001457121457238496", "202307BB6d61386d17104395831e3ea6309f0X57"); // MerchantConfirmService.Instance.StartDo(68, 2); // string content = AlipayFunction.Instance.BindSettleRelation(DateTime.Now.ToString("yyyyMMddHHmmssfff") + function.get_Random(8), AlipayFunction.Instance.Pid, "202307BB6d61386d17104395831e3ea6309f0X57"); List ordernos = new List(); ordernos.Add("2023100319505443423678128"); WebCMSEntities db = new WebCMSEntities(); List orders = db.ConsumerOrders.Where(m => ordernos.Contains(m.OrderNo)).OrderBy(m => m.Id).ToList(); foreach(ConsumerOrders order in orders) { MerchantInfo merchant = db.MerchantInfo.FirstOrDefault(m => m.Id == order.MerchantId) ?? new MerchantInfo(); MerchantParamSet set = db.MerchantParamSet.FirstOrDefault(m => m.Id == order.MerchantId) ?? new MerchantParamSet(); if(order.IsAct == 1 && order.PayMoney >= set.MinPayMoney) { MerchantAddInfo merchantAdd = db.MerchantAddInfo.FirstOrDefault(m => m.Id == order.MerchantId) ?? new MerchantAddInfo(); // //添加分账接收方 // if(merchantAdd.Sort == 0) // { // string content = AlipayFunction.Instance.BindSettleRelation(DateTime.Now.ToString("yyyyMMddHHmmssfff") + function.get_Random(8), AlipayFunction.Instance.Pid, merchantAdd.AlipayAuthToken); // LogHelper.Instance.WriteLog(DateTime.Now.ToString() + "\n" + content, "支付宝添加分账方"); // merchantAdd.Sort = 1; // db.SaveChanges(); // } // //发起分账 // decimal fee = order.PayMoney * 0.01M; // if(fee >= 0.01M) // { // string TradeNo = order.SeoTitle; // string OrderNo = order.OrderNo; // List Parameters = new List(); // Parameters.Add(new RoyaltyParameters() // { // Account = AlipayFunction.Instance.Pid, // Amount = fee.ToString("f2"), // }); // AlipayFunction.Instance.Settle(OrderNo, TradeNo, Parameters, merchantAdd.AlipayAuthToken); // //开始监听分账状态 // Dictionary req = new Dictionary(); // req.Add("TradeNo", TradeNo); //支付宝订单号 // req.Add("OrderNo", OrderNo); //商户订单号 // req.Add("AuthToken", merchantAdd.AlipayAuthToken); // RedisDbconn.Instance.AddList("AlipayShareQueue", Newtonsoft.Json.JsonConvert.SerializeObject(req)); // } //添加分账接收方 if(merchant.Version == 0) { WeChatFunction.Instance.AddReceive(merchantAdd.SubMchid, "MERCHANT_ID", WeChatFunction.Instance.MchId, WeChatFunction.Instance.MchName, "PARTNER"); merchant.Version = 1; db.SaveChanges(); } //发起分账 decimal fee = order.PayMoney; //单位:分 if(fee >= 1) { string TradeNo = order.SeoTitle; string OrderNo = order.OrderNo; List Receivers = new List(); Receivers.Add(new ReceiverList() { type = "MERCHANT_ID", //分账接收方类型 account = WeChatFunction.Instance.MchId, //分账接收方账号 amount = int.Parse(fee.ToString("f0")), //分账金额 description = "服务费", //分账描述 }); WeChatFunction.Instance.ProfitShare(merchantAdd.SubMchid, TradeNo, OrderNo, Receivers); //开始监听分账状态 Dictionary req = new Dictionary(); req.Add("SubMchid", merchantAdd.SubMchid); //子商户号 req.Add("TradeNo", TradeNo); //微信订单号 req.Add("OrderNo", OrderNo); //商户订单号 RedisDbconn.Instance.AddList("ProfitShareQueue", Newtonsoft.Json.JsonConvert.SerializeObject(req)); } } } db.Dispose(); return "ok"; } public string test1() { // ProfitHelper.Instance.DoProfit(); List list = new List(); list.Add("LKB01230900199998516"); WebCMSEntities db = new WebCMSEntities(); foreach(string sub in list) { bool op = db.PosMachinesTwo.Any(m => m.PosSn == sub); if(!op) { //insert into PosMachinesTwo (CreateDate,SourceStoreId,StoreId,PosSn,SourcePosSn) values (now(),2,2,' db.PosMachinesTwo.Add(new PosMachinesTwo() { CreateDate = DateTime.Now, SourceStoreId = 2, StoreId = 2, PosSn = sub, SourcePosSn = sub, }); db.SaveChanges(); } } db.Dispose(); return "ok"; } } }