using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging; using Library; using LitJson; using System.Data; using MySystem.Models.Main; using System.Text.RegularExpressions; using Aop.Api.Domain; using MySystem.Models; namespace MySystem.Controllers { public class HomeController : Controller { private readonly ILogger _logger; public HomeController(ILogger logger) { _logger = logger; } public IActionResult Index() { return View(); } public string test(decimal a, decimal b, decimal g) { // List MerchantIds = new List(); // MerchantIds.Add(5); // foreach(int MerchantId in MerchantIds) // { // RedisDbconn.Instance.AddList("MerchantConfirmHdQueue", "{\"MerchantId\":\"" + MerchantId + "\"}"); // } // TianYuVoiceHelper.Instance.doSomething(DateTime.Now.ToString("yyyyMMddHHmmssfff"),"2023100701","100"); // MqLinksHelper.Instance.doSomething("LKB01230600250000585","100"); // WebCMSEntities db = new WebCMSEntities(); // Dictionary ids = new Dictionary(); // ids.Add("2023123120272680842405573", 30.08M); // foreach(string orderno in ids.Keys) // { // decimal cur = ids[orderno]; // ConsumerOrders order = db.ConsumerOrders.FirstOrDefault(m => m.OrderNo == orderno) ?? new ConsumerOrders(); // order.CurDivi = cur; // order.SeoDescription = Regex.Replace(function.CheckNull(order.SeoDescription), "\"UpdateDate\":\".*?\"", "\"UpdateDate\":\"" + DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ss") + "\""); // order.SeoDescription = Regex.Replace(function.CheckNull(order.SeoDescription), "\"ProfitDays\":.*?,", "\"ProfitDays\":90,"); // RedisDbconn.Instance.AddList("ConsumerOrdersHd:Divi:" + order.PayMode + ":" + order.MerchantId, order); // } // string content = function.ReadInstance("/222.log"); // string[] contents = content.Split('\n'); // foreach(string sub in contents) // { // // RedisDbconn.Instance.AddList("WeChatPayBackHd", sub); // RedisDbconn.Instance.AddList("PartOrderQueue", sub); // } // DataTable dt = CustomerSqlConn.dtable("select tb.Id,tb.PayMode,p.Id pId from (select Id,PayMode from ConsumerOrders where CreateDate>='2024-01-18 00:00:00' and `Status`>0) tb left join ConsumerProfit p on tb.Id=p.OrderId", AppConfig.Base.SqlConnStr); // foreach(DataRow dr in dt.Rows) // { // string Id = dr["Id"].ToString(); // string PayMode = dr["PayMode"].ToString(); // string pId = dr["pId"].ToString(); // if(string.IsNullOrEmpty(pId)) // { // RedisDbconn.Instance.AddList("ConsumerOrdersHd:Divi:" + PayMode + ":List", Id); // } // } string str = ""; // str += ""; // str += ""; // List orders = RedisDbconn.Instance.GetList("ConsumerOrdersHd:Divi:2:1940", 1, 10000).Select(m => m.Id).ToList(); // DataTable dt = CustomerSqlConn.dtable("select OrderId,sum(GetMoney) money from ConsumerProfit where MerchantId=1940 and CreateDate>='2023-12-01 00:00:00' group by OrderId order by OrderId", AppConfig.Base.SqlConnStr); // foreach(DataRow dr in dt.Rows) // { // decimal cur = decimal.Parse(dr["money"].ToString()); // int OrderId = int.Parse(dr["OrderId"].ToString()); // if(!orders.Contains(OrderId)) // { // // string orderno = dr["OrderNo"].ToString(); // ConsumerOrders order = db.ConsumerOrders.FirstOrDefault(m => m.Id == OrderId) ?? new ConsumerOrders(); // if(order.MaxDivi - cur >= 1) // { // order.CurDivi = cur; // MerchantParamSet set = Newtonsoft.Json.JsonConvert.DeserializeObject(order.SeoDescription); // order.SeoDescription = Regex.Replace(function.CheckNull(order.SeoDescription), "\"UpdateDate\":\".*?\"", "\"UpdateDate\":\"" + DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ss") + "\""); // // order.SeoDescription = Regex.Replace(function.CheckNull(order.SeoDescription), "\"ProfitDays\":.*?,", "\"ProfitDays\":365,"); // str += ""; // // RedisDbconn.Instance.AddList("ConsumerOrdersHd:Divi:" + order.PayMode + ":" + order.MerchantId, order); // // var list = db.ConsumerProfit.Where(m => m.OrderId == order.Id).OrderBy(m => m.Id).ToList(); // // foreach(var sub in list) // // { // // if(cur >= sub.GetMoney) // // { // // cur -= sub.GetMoney; // // } // // else // // { // // if(cur > 0) // // { // // var edit = db.ConsumerProfit.FirstOrDefault(m => m.OrderId == order.Id); // // if(edit != null) // // { // // edit.GetMoney = cur; // // db.SaveChanges(); // // } // // } // // else // // { // // var edit = db.ConsumerProfit.FirstOrDefault(m => m.OrderId == order.Id); // // if(edit != null) // // { // // db.ConsumerProfit.Remove(edit); // // db.SaveChanges(); // // } // // } // // } // // } // } // } // } // str += "
订单号下单时间商家分红天数当前分红金额最大分红
" + order.OrderNo + "" + order.UpdateDate.Value.ToString() + "" + set.ProfitDays + "" + cur + "" + order.MaxDivi + "
"; // List ids = new List(); // ids.Add(4058); // List orders = RedisDbconn.Instance.GetList("ConsumerOrdersHd:Divi:2:1271"); // foreach(int oid in ids) // { // function.WriteLog("oid:" + oid, "返现id"); // decimal curDivi = 0; // ConsumerOrders order = orders.FirstOrDefault(m => m.Id == oid); // if(order == null) // { // order = db.ConsumerOrders.FirstOrDefault(m => m.Id == oid); // curDivi = order.MaxDivi; // function.WriteLog("出局", "返现id"); // } // else // { // function.WriteLog("未出局", "返现id"); // curDivi = order.CurDivi; // } // if(order != null) // { // List profits = db.ConsumerProfit.Where(m => m.OrderId == oid).ToList(); // foreach(ConsumerProfit profit in profits) // { // if(curDivi >= profit.GetMoney) // { // curDivi -= profit.GetMoney; // } // else // { // function.WriteLog(profit.Id.ToString(), "返现id"); // } // } // } // function.WriteLog("\n\n", "返现id"); // } // db.Dispose(); // RedisDbconn.Instance.AddRightList("testlist", "1"); // RedisDbconn.Instance.AddRightList("testlist", "2"); // RedisDbconn.Instance.AddRightList("testlist", "3"); // RedisDbconn.Instance.AddRightList("testlist", "4"); // RedisDbconn.Instance.AddRightList("testlist", "5"); // RedisDbconn.Instance.AddRightList("testlist", "6"); // RedisDbconn.Instance.AddRightList("testlist", "7"); // RedisDbconn.Instance.AddRightList("testlist", "8"); // RedisDbconn.Instance.AddRightList("testlist", "9"); // str = RedisDbconn.Instance.RPopLPush("testlist", "testlist");  // decimal settleAmount = b / 100M; // decimal divideAmt = (1 - 0.0038M) * a; // divideAmt = decimal.Parse(divideAmt.ToString("f2")); // decimal hdfee = 0.0038M * a * (1 - g / 100 - 0.01M); // hdfee = decimal.Parse(hdfee.ToString("f2")); // decimal servicefee = 0.01M * a - hdfee; // servicefee = decimal.Parse(servicefee.ToString("f2")); // decimal amount = a*(1-0.0038M) - servicefee; // amount = decimal.Parse(amount.ToString("f2")); // decimal otherAmt = settleAmount - servicefee - amount; // if(otherAmt != 0) // { // amount += otherAmt; // } // amount = amount * 100; //金额(分) // servicefee = servicefee * 100; // string seviceAmount = servicefee.ToString("f0"); //服务费 // string amountAmount = amount.ToString("f0"); // return amountAmount + ":" + seviceAmount; // List ids = new List(); // ids.Add(191); // foreach(int id in ids) // { // RedisDbconn.Instance.AddList("MerchantConfirmHdQueue", "{\"MerchantId\":\"" + id.ToString() + "\"}"); // } return str; } public string bindapp(int mid) { // DataTable dt = CustomerSqlConn.dtable("select Id,MchtNo from MerchantAddInfo where HdStatus=3 and CreateDate>='2023-10-01 00:00:00' and MchtNo!='' and MchtNo is not null", AppConfig.Base.SqlConnStr); // DataTable dt = CustomerSqlConn.dtable("select Id,MchtNo from MerchantAddInfo where Id=" + mid, AppConfig.Base.SqlConnStr); // foreach(DataRow dr in dt.Rows) // { // CheckWeChatSignService.Instance.StartDo(new QueryMerchantStatus() // { // MerchantId = dr["Id"].ToString(), // MerchantNo = dr["MchtNo"].ToString(), // }); // } Models.Main1.WebCMSEntities db1 = new Models.Main1.WebCMSEntities(); WebCMSEntities db = new WebCMSEntities(); MerchantAddInfo merchantadd = db.MerchantAddInfo.FirstOrDefault(m => m.Id == 1147); MerchantInfo merchant = db.MerchantInfo.FirstOrDefault(m => m.Id == 1147); string pwd = "417027"; merchant.LoginPwd = function.MD532(pwd); Models.Main1.MerchantLoginInfo info = db1.MerchantLoginInfo.FirstOrDefault(m => m.LoginMobile == merchantadd.MobilePhone); if (info == null) { info = db1.MerchantLoginInfo.Add(new Models.Main1.MerchantLoginInfo() { LoginMobile = merchantadd.MobilePhone, }).Entity; db1.SaveChanges(); } info.LoginPwd = function.MD532(pwd); db1.SaveChanges(); Models.Main1.MerchantAccountLinkInfo infolink = db1.MerchantAccountLinkInfo.FirstOrDefault(m => m.LoginId == info.Id && m.MerchantId == merchantadd.Id && m.Kind == 2); if (infolink == null) { infolink = db1.MerchantAccountLinkInfo.Add(new Models.Main1.MerchantAccountLinkInfo() { LoginId = info.Id, MerchantId = merchantadd.Id, Kind = 2, }).Entity; db1.SaveChanges(); } db1.Dispose(); db.Dispose(); return "ok"; } public string clearQueue(int OrderId, int MerchantId, int PayMode) { List list = RedisDbconn.Instance.GetList("ConsumerOrdersHd:Divi:" + PayMode + ":" + MerchantId + "", 1, 100000); foreach(ConsumerOrders sub in list) { if(sub.Id == OrderId) { RedisDbconn.Instance.DelFromList("ConsumerOrdersHd:Divi:2:1272", sub); } } return "ok"; } } }