using molilian.core; using dodohold.core; using Microsoft.AspNetCore.Mvc; using Org.BouncyCastle.Ocsp; using System.Text.Json; using System.Runtime.InteropServices; using System.Net; using System.Threading.Channels; using TencentCloud.Cdwch.V20200915.Models; using COSXML.Network; using System.Security.Cryptography; using System.Threading; using TencentCloud.Batch.V20170312.Models; using Org.BouncyCastle.Bcpg.OpenPgp; using Microsoft.VisualBasic; using static System.Runtime.InteropServices.JavaScript.JSType; namespace molilian.api.Controllers { [ApiController] [Route("[controller]_70160bd632/[action]")] public class TaskController : ControllerBase { protected IHttpContextAccessor _accessor; public TaskController(IHttpContextAccessor accessor) { _accessor = accessor; } [HttpGet] public async Task FillPushReortData(DateTime date = default) { PushDataReportCore core = new(); if (date == default) date = DateTime.Now.AddDays(-1); int count = await core.FillData(date.Date); return new APIResult(new { success = true, count }); } [HttpGet] public async Task testReloadPushReortData() { PushDataReportCore core = new(); DateTime sdate = DateTime.Parse("2025-01-01"); DateTime edate = DateTime.Now.Date; int count = 0; while (sdate < edate) { count += await core.FillParseData(sdate.Date); sdate = sdate.AddDays(1); } return new APIResult(new { success = true, count }); } [HttpGet] public async Task testPushReportData() { PushDataReportCore core = new(); DateTime sdate = DateTime.Parse("2025-01-01"); DateTime edate = DateTime.Parse("2025-03-24"); int count = 0; while (sdate < edate) { count += await core.PushReportData(sdate, true); sdate = sdate.AddDays(1); } return new APIResult(new { success = true, count }); } [HttpGet] public async Task PushReportData(int repush = 0, DateTime date = default) { PushDataReportCore core = new(); if (date == default) date = DateTime.Now.AddDays(-1); int count = await core.PushReportData(date, repush == 1); return new APIResult(new { success = true, count }); } [HttpGet] public async Task GetRawItemIdTask(int limit = 100) { var list = await TkPoolCore.ListAsync(); if (list == null) return new APIResult(new { success = false, message = "没有有效账号", }); string message = string.Empty; int total = 0; foreach (var account in list) { if (!account.enable_sync_order) continue; int accountId = account.id; DateTime create_time = DateTime.Now.AddDays(-2); string filter = "accountId=@accountId AND create_time>@create_time AND (itemId IS NULL OR itemId = '')"; var order_list = new DBContext.Table("tk_order_details") .Where(filter, new { accountId, create_time }) .Order("create_time") .Limit(limit) .Select(); if (!order_list.Any()) continue; var alimama = new AlimamaPlus(account); foreach (var item in order_list) { string mktId = item.mktId; //进行订单和转链匹配 (int state, string itemId) = alimama.GetRawItemId(mktId); if (state == -1) return new APIResult(new { success = false, message = "有账号掉线了", }); if (string.IsNullOrEmpty(itemId)) continue; item.itemId = itemId; new DBContext.Table("tk_order_details") .Add("itemId", itemId) .Where("id=@id", new { item.id }) .Update(); TkOrderTrackingCore.MatchOrder(account, item); } } return new APIResult(new { success = true, message = "ok", limit, total }); } [HttpGet] public async Task BatchInsertLogDB(int limit = 100) { int total = await TkLogCore.BatchInsertLogDBAsync(limit); return new APIResult(new { success = true, message = "ok", limit, total }); } [HttpGet] public async Task GetAaliyunBlance() { AliyunPoolCore core = new AliyunPoolCore(); core.GetBlances(); return new APIResult(new { success = true, message = "ok" }); } [HttpGet] public async Task GetSettleBills(int sleep = 2000) { var list = await TkPoolCore.ListAsync(); if (list == null) return new APIResult(new { success = false, message = "没有有效账号", }); string message = string.Empty; int total = 0; foreach (var account in list) { if (!account.enable_sync_order) continue; #if DEBUG if (13 != account.id) continue; #endif if (account.is_hide) continue; try { var alimama = new AlimamaPlus(account); total += alimama.GetSettleBills(sleep); } catch (Exception ex) { message = $"【收益接口异常】\t{account.name}\n{ex.Message}\n{ex.StackTrace}"; NotifyCore.Notify(new NifyMessage { message = message, priority = NifyMessagePriority.high, tags = ["red_circle"] }); continue; } } return new APIResult(new { success = true, message = "ok", total }); } [HttpGet] public async Task GetHistoryOrders(int id, int sleep, DateTime startTime, DateTime endTime) { var list = await TkPoolCore.ListAsync(); if (list == null) return new APIResult(new { success = false, message = "没有有效账号", }); if (id == 0) return new APIResult(new { success = false, message = "没有有效账号", }); string message = string.Empty; int total = 0; foreach (var account in list) { if (id != account.id) continue; try { //DateTime endTime = DateTime.Now; //DateTime startTime = endTime.AddDays(-90); if (account.id == 3) endTime = DateTime.Parse("2024-04-07"); var alimama = new AlimamaPlus(account); total += alimama.GetHistoryOrders(sleep, startTime, endTime); } catch (Exception ex) { message = $"【历史订单接口异常】[{account.id}]{account.company}\n{ex.Message}\n{ex.StackTrace}"; NotifyCore.Notify(new NifyMessage { message = message, priority = NifyMessagePriority.high, tags = ["red_circle"] }); continue; } } return new APIResult(new { success = true, message = "ok", total }); } [HttpGet] public async Task GetIncyOrders(int sleep = 2000) { var list = await TkPoolCore.ListAsync(); if (list == null) return new APIResult(new { success = false, message = "没有有效账号", }); string message = string.Empty; int total = 0; foreach (var account in list) { if (!account.enable_sync_order) continue; try { var alimama = new AlimamaPlus(account); total += alimama.GetIncyOrders(sleep); } catch (Exception ex) { message = $"【新增订单接口异常】[{account.id}]{account.company}\n{ex.Message}\n{ex.StackTrace}"; NotifyCore.Notify(new NifyMessage { message = message, priority = NifyMessagePriority.high, tags = ["red_circle"] }); continue; } } return new APIResult(new { success = true, message = "ok", total }); } [HttpGet] public async Task GetOrdersByAdZone(int id, long adzoneId, int sleep, DateTime startTime, DateTime endTime) { var list = await TkPoolCore.ListAsync(); if (list == null) return new APIResult(new { success = false, message = "没有有效账号", }); string message = string.Empty; int total = 0; foreach (var account in list) { #if DEBUG if (account.id != id) continue; #endif try { var alimama = new AlimamaPlus(account); total += alimama.GetOrdersByAdZone(adzoneId, startTime, endTime, sleep); } catch (Exception ex) { message = $"【新增订单接口异常adzone】[{account.id}]{account.company}\n{ex.Message}\n{ex.StackTrace}"; NotifyCore.Notify(new NifyMessage { message = message, priority = NifyMessagePriority.high, tags = ["red_circle"] }); continue; } } return new APIResult(new { success = true, message = "ok", total }); } [HttpGet] public async Task GetHistoryRefundOrders(int id, int sleep, DateTime startTime, DateTime endTime) { var list = await TkPoolCore.ListAsync(); if (list == null) return new APIResult(new { success = false, message = "没有有效账号", }); if (id == 0) return new APIResult(new { success = false, message = "没有有效账号", }); string message = string.Empty; int total = 0; foreach (var account in list) { if (id != account.id) continue; try { //DateTime endTime = DateTime.Now; //DateTime startTime = endTime.AddDays(-90); if (account.id == 3) endTime = DateTime.Parse("2024-04-07"); var alimama = new AlimamaPlus(account); total += alimama.GetHistoryRefundOrders(sleep, startTime, endTime); } catch (Exception ex) { message = $"【维权订单接口异常】[{account.id}]{account.company}\n{ex.Message}\n{ex.StackTrace}"; NotifyCore.Notify(new NifyMessage { message = message, priority = NifyMessagePriority.high, tags = ["red_circle"] }); continue; } } return new APIResult(new { success = true, message = "ok", total }); } [HttpGet] public async Task GetIncyRefundOrders(int sleep = 2000) { var list = await TkPoolCore.ListAsync(); if (list == null) return new APIResult(new { success = false, message = "没有有效账号", }); string message = string.Empty; int total = 0; foreach (var account in list) { #if DEBUG if (account.id != 17) continue; #endif if (!account.enable_sync_order) continue; try { var alimama = new AlimamaPlus(account); total += alimama.GetIncyRefundOrders(sleep); } catch (Exception ex) { message = $"【维权订单接口异常】[{account.id}]{account.company}\n{ex.Message}\n{ex.StackTrace}"; NotifyCore.Notify(new NifyMessage { message = message, priority = NifyMessagePriority.high, tags = ["red_circle"] }); continue; } } return new APIResult(new { success = true, message = "ok", total }); } [HttpGet] public async Task GetViolationuWarning() { var list = await TkPoolCore.ListAsync(); if (list == null) return new APIResult(new { success = false, message = "没有有效账号", }); string message = string.Empty; foreach (var account in list) { try { var alimama = new AlimamaPlus(account); alimama.GetViolationuWarning(); } catch (Exception ex) { message = $"【报表接口异常】GetViolationuWarning\n{ex.Message}\n{ex.StackTrace}"; NotifyCore.Notify(new NifyMessage { message = message, priority = NifyMessagePriority.high, tags = ["red_circle"] }); continue; } } return new APIResult(new { success = true, message = "ok" }); } [HttpGet] public async Task DailyLogs(int intervalDay = 1) { try { //本节点统计 await AlimamaPlus.NodeDailyLogsAsync(intervalDay, "parse_", "tb"); await AlimamaPlus.NodeDailyLogsAsync(intervalDay, "coupon_", "tb"); await AlimamaPlus.NodeDailyLogsAsync(intervalDay); //第三方老的统计 if (CenterHub.IsCenter) { await JdUnionPlus.DailyLogsAsync(intervalDay); await ToolParsePlus.DailyLogsAsync(intervalDay); //中心服务器统计 await AlimamaPlus.AllDailyLogsAsync(intervalDay, "parse_", "tb"); await AlimamaPlus.AllDailyLogsAsync(intervalDay, "coupon_", "tb"); await KsUnionPlus.DailyLogsAsync(intervalDay); await PddUnionPlus.DailyLogsAsync(intervalDay); await AlimamaPlus.AllDailyLogsAsync(intervalDay); } } catch (Exception ex) { string message = $"【报表接口异常】DailyLogs\n{ex.Message}\n{ex.StackTrace}"; NotifyCore.Notify(new NifyMessage { message = message, priority = NifyMessagePriority.high, tags = ["red_circle"] }); } return new APIResult(new { success = true, message = "ok" }); } [HttpGet] public async Task ApiCallStatistics(int intervalDay = 1, int? chanel = null) { try { if (chanel == null) { #if DEBUG await AlimamaPlus.ApiCallStatisticsAsync(1, intervalDay, TkChannelEnum.pdd); #else await AlimamaPlus.ApiCallStatisticsAsync(1, intervalDay, TkChannelEnum.tb); await AlimamaPlus.ApiCallStatisticsAsync(2, intervalDay, TkChannelEnum.tb); await AlimamaPlus.ApiCallStatisticsAsync(1, intervalDay, TkChannelEnum.jd); await AlimamaPlus.ApiCallStatisticsAsync(1, intervalDay, TkChannelEnum.pdd); #endif } else { TkChannelEnum _chanel = (TkChannelEnum)chanel; await AlimamaPlus.ApiCallStatisticsAsync(1, intervalDay, _chanel); } } catch (Exception ex) { string message = $"【API报表更新异常】ApiCallStatistics\n{ex.Message}\n{ex.StackTrace}"; NotifyCore.Notify(new NifyMessage { message = message, priority = NifyMessagePriority.high, tags = ["red_circle"] }); } return new APIResult(new { success = true, message = "ok" }); } [HttpGet] public async Task DailyTable(int days = 3) { try { for (int i = 0; i < days; i++) { if (CenterHub.IsCenter) { string table_suffix = DateTime.Now.AddDays(i).ToString("yyyyMMdd"); string sql = $"CREATE TABLE IF NOT EXISTS tk_parse_logs_{table_suffix} LIKE tk_parse_logs;"; DBContext.Execute(sql, null); sql = $"CREATE TABLE IF NOT EXISTS jd_parse_logs_{table_suffix} LIKE jd_parse_logs;"; DBContext.Execute(sql, null); sql = $"CREATE TABLE IF NOT EXISTS ks_parse_logs_{table_suffix} LIKE ks_parse_logs;"; DBContext.Execute(sql, null); sql = $"CREATE TABLE IF NOT EXISTS dy_parse_logs_{table_suffix} LIKE dy_parse_logs;"; DBContext.Execute(sql, null); sql = $"CREATE TABLE IF NOT EXISTS tk_promotion_logs_{table_suffix} LIKE tk_promotion_logs;"; DBContext.Execute(sql, null); sql = $"CREATE TABLE IF NOT EXISTS deeplink_parse_logs_{table_suffix} LIKE deeplink_parse_logs;"; DBContext.Execute(sql, null); sql = $"CREATE TABLE IF NOT EXISTS pdd_parse_logs_{table_suffix} LIKE pdd_parse_logs;"; DBContext.Execute(sql, null); } else { string table_suffix = DateTime.Now.AddDays(i).ToString("yyyyMMdd"); string sql = $"CREATE TABLE IF NOT EXISTS tk_cps_logs_{table_suffix} LIKE tk_cps_logs;"; DBContext.Execute(sql, null); } } TkLogCore.save_dailys_log = true; RedisHelper.Set("turn:save_dailys_log", 1, 86400); } catch (Exception ex) { string message = $"【创建数据标错误】\n{ex.Message}\n{ex.StackTrace}"; NotifyCore.Notify(new NifyMessage { message = message, priority = NifyMessagePriority.high, tags = ["red_circle"] }); } return new APIResult(new { success = true, message = "ok" }); } //[HttpGet] //public async Task ApiCallStatistics(int intervalDay = 1) //{ // try // { // AlimamaPlus.ApiCallStatistics(intervalDay, TkChannelEnum.tb); // AlimamaPlus.ApiCallStatistics(intervalDay, TkChannelEnum.tb, "parse_"); // AlimamaPlus.ApiCallStatistics(intervalDay, TkChannelEnum.tb, "coupon_"); // AlimamaPlus.ApiCallStatistics(intervalDay, TkChannelEnum.wemeet, "parse_"); // AlimamaPlus.ApiCallStatistics(intervalDay, TkChannelEnum.bdpan, "parse_"); // AlimamaPlus.ApiCallStatistics(intervalDay, TkChannelEnum.dy, "parse_"); // AlimamaPlus.ApiCallStatistics(intervalDay, TkChannelEnum.jd, "parse_"); // } // catch (Exception ex) // { // string message = $"【报表接口异常】ApiCallStatistics\n{ex.Message}\n{ex.StackTrace}"; // NotifyCore.Notify(new NifyMessage // { // message = message, // priority = NifyMessagePriority.high, // tags = ["red_circle"] // }); // } // return new APIResult(new { success = true, message = "ok" }); //} [HttpGet] public async Task GetDrawBalance() { var list = await TkPoolCore.ListAsync(); if (list == null) return new APIResult(new { success = false, message = "没有有效账号", }); string message = string.Empty; foreach (var account in list) { if (!account.enable_sync_order) continue; try { var alimama = new AlimamaPlus(account); alimama.GetDrawBalance(); } catch (Exception ex) { message = $"【报表接口异常】GetDrawBalance\n{ex.Message}\n{ex.StackTrace}"; NotifyCore.Notify(new NifyMessage { message = message, priority = NifyMessagePriority.high, tags = ["red_circle"] }); continue; } } return new APIResult(new { success = true, message = "ok" }); } [HttpGet] public async Task FastReport(string ignore = "") { string message = string.Empty; var list = await TkPoolCore.ListAsync(); if (!ignore.Contains("tb") && list != null) { foreach (var account in list) { #if DEBUG if (account.id != 38) continue; #endif try { account.current_daily_calls = await RiskControlCore.GetAllNodesCallsAsync(TkChannelEnum.tb, account.id, DateTime.Now.ToString("yyyyMMdd")); account.current_hourly_calls = await RiskControlCore.GetAllNodesCallsAsync(TkChannelEnum.tb, account.id, DateTime.Now.ToString("yyyyMMddHH")); new DBContext.Table("tk_pool") .Add("current_hourly_calls", account.current_hourly_calls) .Add("current_daily_calls", account.current_daily_calls) .Where("id=@id", new { account.id }) .Update(); } catch (Exception ex) { message = $"【TB计数异常】SaveCalls\n{ex.Message}\n{ex.StackTrace}"; NotifyCore.Notify(new NifyMessage { message = message, priority = NifyMessagePriority.high, tags = ["red_circle"] }); continue; } if (!account.enable_sync_order) continue; try { var alimama = new AlimamaPlus(account); alimama.SaveReportOverview(); } catch (Exception ex) { message = $"【报表接口异常】FastReport\n{ex.Message}\n{ex.StackTrace}"; NotifyCore.Notify(new NifyMessage { message = message, priority = NifyMessagePriority.high, tags = ["red_circle"] }); continue; } } } string filter = ""; #if DEBUG filter = "id IN (37, 15)"; #endif var jd_list = new DBContext.Table("jd_pool").Where(filter, null).Select(); if (!ignore.Contains("jd") && jd_list != null) { bool any_jd_changed = false; foreach (var account in jd_list) { bool changed = false; try { account.current_daily_calls = await RiskControlCore.GetAllNodesCallsAsync(TkChannelEnum.jd, account.id, DateTime.Now.ToString("yyyyMMdd")); account.current_hourly_calls = await RiskControlCore.GetAllNodesCallsAsync(TkChannelEnum.jd, account.id, DateTime.Now.ToString("yyyyMMddHH")); changed = true; any_jd_changed = true; } catch (Exception ex) { message = $"【JD计数异常】SaveCalls\n{ex.Message}\n{ex.StackTrace}"; NotifyCore.Notify(new NifyMessage { message = message, priority = NifyMessagePriority.high, tags = ["red_circle"] }); continue; } if (!account.status) continue; string lockKey = $"lock:exception:sleep:jd_{account.id}"; if (!string.IsNullOrEmpty(RedisHelper.Get(lockKey))) continue; if (!string.IsNullOrEmpty(account.cookies)) { try { var plus = new JdUnionPlus(account); var data = await plus.queryTodaySpreadEffectData(); account.today_clickNum = data.clickNum; account.today_cosFee = data.cosFee; account.today_cosPrice = data.cosPrice; account.today_finishCosFee = data.finishCosFee; account.today_finishCosPrice = data.finishCosPrice; account.today_finishOrderNum = data.finishOrderNum; account.today_orderNum = data.orderNum; changed = true; any_jd_changed = true; } catch (Exception ex) { if (ex.Message.Contains("no login")) { account.status = false; _ = JdPoolCore.DisabledAsync(account.id, account.name, ex.Message); } else { RedisHelper.Set(lockKey, 1, 3600); } message = $"【JD报表接口异常】{account.id}:{account.name}\tqueryTodaySpreadEffectData\n{ex.Message}\n{ex.StackTrace}"; NotifyCore.Notify(message); continue; } } if (changed) JdPoolCore.Update(account); } if (any_jd_changed) JdPoolCore.Refresh(); } var pdd_list = new DBContext.Table("pdd_pool").Where(filter, null).Select(); if (!ignore.Contains("pdd") && pdd_list != null) { bool any_pdd_changed = false; foreach (var account in pdd_list) { bool changed = false; try { account.current_daily_calls = await RiskControlCore.GetAllNodesCallsAsync(TkChannelEnum.pdd, account.id, DateTime.Now.ToString("yyyyMMdd")); account.current_hourly_calls = await RiskControlCore.GetAllNodesCallsAsync(TkChannelEnum.pdd, account.id, DateTime.Now.ToString("yyyyMMddHH")); changed = true; any_pdd_changed = true; } catch (Exception ex) { message = $"【Pdd计数异常】SaveCalls\n{ex.Message}\n{ex.StackTrace}"; NotifyCore.Notify(new NifyMessage { message = message, priority = NifyMessagePriority.high, tags = ["red_circle"] }); continue; } if (changed) PddPoolCore.Update(account); } if (any_pdd_changed) PddPoolCore.Refresh(); } var cps_list = new DBContext.Table("cps_links") .Where("status=@status", new { status = 1 }) .Select(); if (!ignore.Contains("cps") && cps_list != null) { bool any_cps_changed = false; foreach (var link in cps_list) { bool changed = false; try { link.current_daily_calls = await RiskControlCore.GetAllNodesCallsAsync(TkChannelEnum.cps, link.id, DateTime.Now.ToString("yyyyMMdd")); link.current_hourly_calls = await RiskControlCore.GetAllNodesCallsAsync(TkChannelEnum.cps, link.id, DateTime.Now.ToString("yyyyMMddHH")); changed = true; any_cps_changed = true; } catch (Exception ex) { message = $"【Cps计数异常】SaveCalls\n{ex.Message}\n{ex.StackTrace}"; NotifyCore.Notify(new NifyMessage { message = message, priority = NifyMessagePriority.high, tags = ["red_circle"] }); continue; } if (changed) CpsPoolCore.Update(link); } if (any_cps_changed) CpsPoolCore.Refresh(); } await EndPointCore.NotifyReload(true); return new APIResult(new { success = true, message = "ok" }); } [HttpGet] public async Task SaveReport() { string message = string.Empty; var list = await TkPoolCore.ListAsync(); if (list != null) { foreach (var account in list) { if (!account.enable_sync_order) continue; #if DEBUG if (account.id != 5) continue; #endif if (account.is_hide) continue; try { var alimama = new AlimamaPlus(account); alimama.SaveReportHourtrend(DateTime.Now.AddDays(-1)); alimama.SaveReportHourtrend(DateTime.Now); if (DateTime.Now.Hour >= 12 && DateTime.Now.Hour < 16) { DateTime date = DateTime.Now.AddDays(-1); await alimama.FixReport(date); } } catch (Exception ex) { message = $"【报表接口异常】SaveReport\n{ex.Message}\n{ex.StackTrace}"; NotifyCore.Notify(new NifyMessage { message = message, priority = NifyMessagePriority.high, tags = ["red_circle"] }); continue; } } } return new APIResult(new { success = true, message = "ok" }); } [HttpGet] public async Task JdSaveReport() { string message = string.Empty; var jd_list = new DBContext.Table("jd_pool").Where("", null).Select(); if (jd_list != null) { DateTime startDate = DateTime.Now.AddDays(-89); DateTime endDate = DateTime.Now.AddDays(-1); foreach (var account in jd_list) { if (!account.status) continue; #if DEBUG startDate = DateTime.Parse("2024-07-31"); endDate = DateTime.Parse("2024-07-31"); if (account.id != 15) continue; #endif if (account.is_hide) continue; if (!string.IsNullOrEmpty(account.cookies)) { try { var plus = new JdUnionPlus(account); _ = await plus.querySpreadEffectData(startDate, endDate); _ = await plus.queryEstimateCommList(); } catch (Exception ex) { if (ex.Message.Contains("no login")) { _ = JdPoolCore.DisabledAsync(account.id, account.name, ex.Message); } message = $"【JD报表接口异常】{account.id}:{account.name}\tquerySpreadEffectData\n{ex.Message}\n{ex.StackTrace}"; NotifyCore.Notify(message); continue; } } } } return new APIResult(new { success = true, message = "ok" }); } [HttpGet] public async Task PddSaveReport() { string message = string.Empty; var pdd_list = new DBContext.Table("pdd_pool").Where("cookie_status=1", new { }).Select(); if (pdd_list != null) { DateTime startDate = DateTime.Now.AddDays(-91); DateTime endDate = DateTime.Now.AddDays(-1); foreach (var account in pdd_list) { if (account.is_hide) continue; if (!string.IsNullOrEmpty(account.cookies)) { try { var plus = new PddUnionPlus(account); await plus.queryEstimateRevenueList(startDate, endDate); } catch (Exception ex) { if (ex.Message.Contains("43001:会话已过期")) { PddPoolCore.CookieDisabled(account.id); } message = $"【PDD报表接口异常】{account.id}:{account.name}\tqueryEstimateRevenueList\n{ex.Message}\n{ex.StackTrace}"; NotifyCore.Notify(new NifyMessage { message = message, priority = NifyMessagePriority.high, tags = ["red_circle"] }); continue; } } } } //更新前一天的pdd统计表 await AlimamaPlus.ApiCallStatisticsAsync(1, 1, TkChannelEnum.pdd); return new APIResult(new { success = true, message = "ok" }); } [HttpGet] public async Task FixReport(int id, string dt) { if (!DateTime.TryParse(dt, out DateTime date)) { return new APIResult(new { success = false, message = "日期错误", }); } var list = await TkPoolCore.ListAsync(); if (list == null) return new APIResult(new { success = false, message = "没有有效账号", }); string message = string.Empty; foreach (var account in list) { if (id != account.id) continue; if (account.is_hide) continue; try { var alimama = new AlimamaPlus(account); while (date.Date < DateTime.Now.Date) { await alimama.FixReport(date); date = date.AddDays(1); } } catch (Exception ex) { message = $"【报表接口异常】SaveReport\n{ex.Message}\n{ex.StackTrace}"; NotifyCore.Notify(new NifyMessage { message = message, priority = NifyMessagePriority.high, tags = ["red_circle"] }); continue; } } return new APIResult(new { success = true, message = "ok" }); } [HttpGet] public ActionResult RenewCookie(string name) { var account = new DBContext.Table("tk_pool").Get("name=@name", new { name }); if (account == null) return new APIResult(new { success = false, message = "没有有效账号", }); var alimama = new AlimamaPlus(account); (bool success, string message) = alimama.RenewCookie(); return new APIResult(new { success, message }); } [HttpGet] public ActionResult Reload() { RiskControlCore.Refresh(); TkConfigCore.Refresh(); EndPointCore.Refresh(); ProxyNodesCore.Refresh(); TkPoolCore.Refresh(); OtherApiPoolCore.Refresh(); TkEndpointCore.Refresh(); TkEndpointManager.Refresh(); ApiAccountCore.Refresh(); DataokeCore.Refresh(); JdPoolCore.Refresh(); PddPoolCore.Refresh(); PangolinPoolCore.Refresh(); ReduPoolCore.Refresh(); //ElePoolCore.Refresh(); //MeituanPoolCore.Refresh(); CpsPoolCore.Refresh(); DeeplinkParseRuleCore.Refresh(); return new APIResult(new { success = true, message = "ok", }); } [HttpGet] public ActionResult ReloadAccount() { RiskControlCore.Refresh(); EndPointCore.Refresh(); ProxyNodesCore.Refresh(); TkPoolCore.Refresh(); OtherApiPoolCore.Refresh(); JdPoolCore.Refresh(); PddPoolCore.Refresh(); //ElePoolCore.Refresh(); //MeituanPoolCore.Refresh(); CpsPoolCore.Refresh(); return new APIResult(new { success = true, message = "ok", }); } [HttpGet] public async Task CheckDeepUrl(int accountid) { var postContent = "88✔7Fi43dJwWpV£ https://m.tb.cn/h.g92hfR4JLgn7yvG MF7997 我分享给你了一个超赞的内容,快来看看吧"; var channel = "tb"; var ip = "127.0.0.1"; var oaid = "test-oaid"; bool success = false; string message; //============================== 放弃转链-没有匹配账号 ============================== TkPoolDTO? account = await TkPoolCore.GetOneAsync(accountid); if (account == null) { return new APIResult(new { success = false, message = "没有匹配账号", }); } var alimama = new AlimamaPlus(account); TkDataDTO result = new TkDataDTO(); string url = AlimamaPlus.GetLink(postContent); if (string.IsNullOrEmpty(url)) { return new APIResult(new { success = false, message = "无效URL", }); } WebProxy proxy = ProxyNodesCore.RandomOne(account.nodeName); (success, string content) = await alimama.GetDesiredUrlAsync(proxy, url); if (content.Contains("霸下通用 web 页面-验证码")) { message = "霸下验证码"; } else { message = content; } return new APIResult(new { success = true, message, }); } } }