using dodohold.core; using Spire.Pdf.Xmp; using System.Data; using System.Drawing.Printing; using System.Runtime.InteropServices; using System.Text.Json; using System.Text.RegularExpressions; using System.Xml.Linq; using static System.Runtime.InteropServices.JavaScript.JSType; namespace molilian.core { public partial class AlimamaPlus { private const string base_orders_url = "https://pub.alimama.com/openapi/param2/1/gateway.unionpub/report.getTbkOrderDetails.json"; public int GetHistoryOrders(int sleep, DateTime startTime, DateTime endTime) { //DateTime endTime = DateTime.Now; //DateTime startTime = endTime.AddDays(-90); //if (_accountId == 3) endTime = DateTime.Parse("2024-04-07"); //#if DEBUG // startTime = DateTime.Parse("2024-05-01"); // endTime = DateTime.Parse("2024-06-01"); // int total = 0; // List orderTimes = new List(); // for (DateTime date = startTime; date <= endTime; date = date.AddDays(1)) // { // orderTimes.Add(date); // } //#else //#endif //当日往前查询 (int total, DateTime max_modifiedTime, List orderTimes) = GetTkOrders(startTime, endTime, DateTime.MinValue, false, sleep); if (_account.is_hide) return total; string sql = @" UPDATE tk_report tr JOIN ( SELECT accountId, DATE(tbPaidTime) AS date, SUM(alipayTotalPrice) AS order_ord_amt, COUNT(*) AS order_ord_num, SUM(pubShareFeeForCommission) AS order_ord_tfee FROM tk_order_details WHERE DATE(tbPaidTime) IN @orderTimes AND tkStatus=3 AND accountId=@accountId GROUP BY DATE(tbPaidTime), accountId ) AS sub ON tr.accountId = sub.accountId AND tr.report_date = sub.date SET tr.order_ord_amt = sub.order_ord_amt, tr.order_ord_num_3 = sub.order_ord_num, tr.order_ord_tfee = sub.order_ord_tfee;"; DBContext.Execute(sql, new { accountId = _accountId, orderTimes }); sql = @" UPDATE tk_report tr JOIN ( SELECT accountId, DATE(tbPaidTime) AS date, SUM(alipayTotalPrice) AS order_ord_amt, COUNT(*) AS order_ord_num, SUM(pubSharePreFeeForCommission) AS order_ord_tfee FROM tk_order_details WHERE DATE(tbPaidTime) IN @orderTimes AND tkStatus=12 AND accountId=@accountId GROUP BY DATE(tbPaidTime), accountId ) AS sub ON tr.accountId = sub.accountId AND tr.report_date = sub.date SET tr.order_ord_amt_12 = sub.order_ord_amt, tr.order_ord_num_12 = sub.order_ord_num, tr.order_ord_tfee_12 = sub.order_ord_tfee;"; DBContext.Execute(sql, new { accountId = _accountId, orderTimes }); sql = @" UPDATE tk_report tr JOIN ( SELECT accountId, DATE(tbPaidTime) AS date, SUM(alipayTotalPrice) AS order_ord_amt, COUNT(*) AS order_ord_num, SUM(pubSharePreFeeForCommission) AS order_ord_tfee FROM tk_order_details WHERE DATE(tbPaidTime) IN @orderTimes AND tkStatus=13 AND accountId=@accountId GROUP BY DATE(tbPaidTime), accountId ) AS sub ON tr.accountId = sub.accountId AND tr.report_date = sub.date SET tr.order_ord_amt_13 = sub.order_ord_amt, tr.order_ord_num_13 = sub.order_ord_num, tr.order_ord_tfee_13 = sub.order_ord_tfee;"; DBContext.Execute(sql, new { accountId = _accountId, orderTimes }); sql = @" UPDATE tk_report tr JOIN ( SELECT accountId, DATE(tbPaidTime) AS date, SUM(alipayTotalPrice) AS order_ord_amt, COUNT(*) AS order_ord_num, SUM(pubSharePreFeeForCommission) AS order_ord_tfee FROM tk_order_details WHERE DATE(tbPaidTime) IN @orderTimes AND tkStatus=14 AND accountId=@accountId GROUP BY DATE(tbPaidTime), accountId ) AS sub ON tr.accountId = sub.accountId AND tr.report_date = sub.date SET tr.order_ord_amt_14 = sub.order_ord_amt, tr.order_ord_num_14 = sub.order_ord_num, tr.order_ord_tfee_14 = sub.order_ord_tfee;"; DBContext.Execute(sql, new { accountId = _accountId, orderTimes }); sql = @"UPDATE tk_report SET order_ord_num = order_ord_num_3 + order_ord_num_12 + order_ord_num_13 + order_ord_num_14 WHERE DATE(report_date) IN @orderTimes AND accountId=@accountId;"; DBContext.Execute(sql, new { accountId = _accountId, orderTimes }); return total; } public int GetIncyOrders(int sleep) { string cacheKey = $":cache:GetIncyOrders:{_accountName}"; string cacheKey2 = $":cache:GetIncyOrders:{_accountId}"; DateTime endTime = DateTime.Now; DateTime startTime = endTime.AddDays(-1); DateTime last_modifiedTime = RedisHelper.Get(cacheKey); ////找出数据库最新的一天 //var last = new DBContext.Table("tk_order_details") // .Order("modifiedTime DESC") // .Get("accountId=@accountId", new { accountId = _accountId }); if (last_modifiedTime != DateTime.MinValue) { startTime = last_modifiedTime; } else { last_modifiedTime = startTime; } //当日往前查询 (int total, DateTime max_modifiedTime, List orderTimes) = GetTkOrders(startTime, endTime, last_modifiedTime, true, sleep); if (max_modifiedTime != DateTime.MinValue) { RedisHelper.Set(cacheKey, max_modifiedTime); RedisHelper.Set(cacheKey2, max_modifiedTime); } if (_account.is_hide) return total; //todo 根据orderTimes、settlementTimes 更新被影响的相关行 string sql = @" UPDATE tk_report tr JOIN ( SELECT accountId, DATE(tbPaidTime) AS date, SUM(alipayTotalPrice) AS order_ord_amt, COUNT(*) AS order_ord_num, SUM(pubShareFeeForCommission) AS order_ord_tfee FROM tk_order_details WHERE DATE(tbPaidTime) IN @orderTimes AND tkStatus=3 AND accountId=@accountId GROUP BY DATE(tbPaidTime), accountId ) AS sub ON tr.accountId = sub.accountId AND tr.report_date = sub.date SET tr.order_ord_amt = sub.order_ord_amt, tr.order_ord_num_3 = sub.order_ord_num, tr.order_ord_tfee = sub.order_ord_tfee;"; DBContext.Execute(sql, new { accountId = _accountId, orderTimes }); sql = @" UPDATE tk_report tr JOIN ( SELECT accountId, DATE(tbPaidTime) AS date, SUM(alipayTotalPrice) AS order_ord_amt, COUNT(*) AS order_ord_num, SUM(pubSharePreFeeForCommission) AS order_ord_tfee FROM tk_order_details WHERE DATE(tbPaidTime) IN @orderTimes AND tkStatus=12 AND accountId=@accountId GROUP BY DATE(tbPaidTime), accountId ) AS sub ON tr.accountId = sub.accountId AND tr.report_date = sub.date SET tr.order_ord_amt_12 = sub.order_ord_amt, tr.order_ord_num_12 = sub.order_ord_num, tr.order_ord_tfee_12 = sub.order_ord_tfee;"; DBContext.Execute(sql, new { accountId = _accountId, orderTimes }); sql = @" UPDATE tk_report tr JOIN ( SELECT accountId, DATE(tbPaidTime) AS date, SUM(alipayTotalPrice) AS order_ord_amt, COUNT(*) AS order_ord_num, SUM(pubSharePreFeeForCommission) AS order_ord_tfee FROM tk_order_details WHERE DATE(tbPaidTime) IN @orderTimes AND tkStatus=13 AND accountId=@accountId GROUP BY DATE(tbPaidTime), accountId ) AS sub ON tr.accountId = sub.accountId AND tr.report_date = sub.date SET tr.order_ord_amt_13 = sub.order_ord_amt, tr.order_ord_num_13 = sub.order_ord_num, tr.order_ord_tfee_13 = sub.order_ord_tfee;"; DBContext.Execute(sql, new { accountId = _accountId, orderTimes }); sql = @" UPDATE tk_report tr JOIN ( SELECT accountId, DATE(tbPaidTime) AS date, SUM(alipayTotalPrice) AS order_ord_amt, COUNT(*) AS order_ord_num, SUM(pubSharePreFeeForCommission) AS order_ord_tfee FROM tk_order_details WHERE DATE(tbPaidTime) IN @orderTimes AND tkStatus=14 AND accountId=@accountId GROUP BY DATE(tbPaidTime), accountId ) AS sub ON tr.accountId = sub.accountId AND tr.report_date = sub.date SET tr.order_ord_amt_14 = sub.order_ord_amt, tr.order_ord_num_14 = sub.order_ord_num, tr.order_ord_tfee_14 = sub.order_ord_tfee;"; DBContext.Execute(sql, new { accountId = _accountId, orderTimes }); sql = @"UPDATE tk_report SET order_ord_num = order_ord_num_3 + order_ord_num_12 + order_ord_num_13 + order_ord_num_14 WHERE DATE(report_date) IN @orderTimes AND accountId=@accountId;"; DBContext.Execute(sql, new { accountId = _accountId, orderTimes }); return total; } public int GetOrdersByAdZone(long adzoneId, DateTime startTime, DateTime endTime, int sleep) { string cacheKey = $":cache:GetOrdersByAdZone:{_accountName}"; string cacheKey2 = $":cache:GetOrdersByAdZone:{_accountId}"; DateTime last_modifiedTime = RedisHelper.Get(cacheKey); if (last_modifiedTime != DateTime.MinValue) { startTime = last_modifiedTime; } else { last_modifiedTime = startTime; } //当日往前查询 (int total, DateTime max_modifiedTime, List orderTimes) = GetTkOrdersByAdZone(adzoneId, startTime, endTime, last_modifiedTime, true, sleep); if (max_modifiedTime != DateTime.MinValue) { RedisHelper.Set(cacheKey, max_modifiedTime); RedisHelper.Set(cacheKey2, max_modifiedTime); } return total; } public (int, DateTime, List) GetTkOrdersByAdZone(long adzoneId, DateTime startTime, DateTime endTime, DateTime last_modifiedTime, bool desc = true, int sleep = 100) { List orderTimes = []; if (startTime > endTime) { (startTime, endTime) = (endTime, startTime); } DateTime max_modifiedTime = last_modifiedTime; int pageNo = 1; string positionIndex = string.Empty; int pageSize = 100; bool hasNext = true; int total = 0; while (hasNext) { var ts = DateTime.Now.Convert2UnixTimestamp(true); string jumpType = pageNo == 1 ? "0" : "1"; #if DEBUG jumpType = pageNo == 1 ? "0" : "1"; #endif string queryType = desc ? "4" : "2"; string url = $"{base_orders_url}?t={ts}&_tb_token_={_tb_token}&pageNo={pageNo}&pageSize={pageSize}&startTime={startTime:yyyy-MM-dd}&endTime={endTime:yyyy-MM-dd}&payStatus=&queryType={queryType}&jumpType={jumpType}&tkTradeId=&positionIndex={positionIndex.UrlEncode()}"; string body = ""; JsonElement data; try { for (var i = 1; i <= 5; i++) { var client = new WebClientUtility().SetContentType("application/json;charset=utf-8") .AddHeaders("X-Requested-With", "XMLHttpRequest") .AddHeaders("Cookie", _cookies); #if DEBUG #else client.Proxy = _proxy; #endif if (!string.IsNullOrEmpty(_user_agent)) client.UserAgent = _user_agent; var response = client.Request(url); if (response.ResponseException != null) { _ = new LoggerLibrary("api_error", "fail") .Info(response.ResponseException.Message, response.ResponseException.StackTrace) .SaveAsync(); throw response.ResponseException; } body = response.Body(); #if DEBUG _ = new LoggerLibrary("debug", "GetTkOrdersByAdZone") .Info(body) .SaveAsync(); #endif if (body.Contains("{\"action\":\"captcha\"")) { string message = $"【GetTkOrdersByAdZone】【{_accountId}:{_accountName}】第 {i} 次出现滑动验证码"; NotifyCore.Notify(new NifyMessage { message = message, priority = NifyMessagePriority.high, tags = ["red_circle"] }); Thread.Sleep(i * 60 * 1000); continue; } if (body.Contains("\"resultCode\":500")) { string message = $"【GetTkOrdersByAdZone】【{_accountId}:{_accountName}】第 {i} 次出现错误\n{body}"; NotifyCore.Notify(new NifyMessage { message = message, priority = NifyMessagePriority.high, tags = ["red_circle"] }); Thread.Sleep(i * 60 * 1000); continue; } break; } var root = body.Convert2JsonElement(); var success = root.Read("success"); data = root.ElementRead("data"); if (!success && body.Contains("nologin")) { (success, string message) = RenewCookie(); if (!success) { TkPoolCore.Disabled(_accountId, _accountName, $"{body}"); } return (0, DateTime.MinValue, new List()); } if (!success) { throw new APIException(body); } } catch (Exception ex) { throw new APIException(body); } using var conn = DBContext.GetOpenConnection(); conn.Open(); try { foreach (var order in data.ElementRead("result").EnumerateArray()) { TkOrderDetailAdZoneDTO item = order.GetRawText().Convert2Object(); // 处理每个订单数据 if (item.adzoneId != adzoneId) continue; item.accountId = _accountId; item.accountName = _company; if (item.modifiedTime > max_modifiedTime) max_modifiedTime = item.modifiedTime; if (last_modifiedTime != DateTime.MinValue && last_modifiedTime >= item.modifiedTime) { return (total, max_modifiedTime, orderTimes); } if (item.tkStatus == 3 && item.tbPaidTime != DateTime.MinValue) orderTimes.Add(item.tbPaidTime.Date); int? id = conn.Replace(item); total++; } } catch (Exception ex) { throw; } finally { conn.Dispose(); } pageNo++; hasNext = data.Read("hasNext"); positionIndex = data.Read("positionIndex"); if (sleep > 0) Thread.Sleep(sleep); } return (total, max_modifiedTime, orderTimes); } public (int, DateTime, List) GetTkOrders(DateTime startTime, DateTime endTime, DateTime last_modifiedTime, bool desc = true, int sleep = 100) { List orderTimes = []; // 确保 startTime 小于 endTime if (startTime > endTime) { (startTime, endTime) = (endTime, startTime); } DateTime max_modifiedTime = last_modifiedTime; int pageNo = 1; string positionIndex = string.Empty; int pageSize = 100; bool hasNext = true; int total = 0; while (hasNext) { var ts = DateTime.Now.Convert2UnixTimestamp(true); //string jumpType = desc ? pageNo == 1 ? "0" : "1" : "-1"; string jumpType = pageNo == 1 ? "0" : "1"; #if DEBUG jumpType = pageNo == 1 ? "0" : "1"; #endif //string queryType = "1"; //1 创建时间;3结算时间 2付款时间 4更新时间 //string queryType = "2"; string queryType = desc ? "4" : "2"; string url = $"{base_orders_url}?t={ts}&_tb_token_={_tb_token}&pageNo={pageNo}&pageSize={pageSize}&startTime={startTime:yyyy-MM-dd}&endTime={endTime:yyyy-MM-dd}&payStatus=&queryType={queryType}&jumpType={jumpType}&tkTradeId=&positionIndex={positionIndex.UrlEncode()}"; //https://pub.alimama.com/openapi/param2/1/gateway.unionpub/report.getTbkOrderDetails.json?t=1719477837298&_tb_token_=7537e7ed93338&pageNo=92&pageSize=20&startTime=2024-03-31&endTime=2024-03-31&payStatus=&queryType=2&jumpType=1&tkTradeId=&positionIndex=1711883373_2vtPPr7CyYX2%7C1711883522_4zcICUeUevh2 //https://pub.alimama.com/openapi/param2/1/gateway.unionpub/report.getTbkOrderDetails.json?t=1719477942492&_tb_token_=7537e7ed93338&pageNo=7&pageSize=20&startTime=2024-03-31&endTime=2024-03-31&payStatus=&queryType=2&jumpType=1&tkTradeId=&positionIndex=1711899163_4zdpOH1mbTQ2%7C1711899483_4zbH9BHqgl82 string body = ""; JsonElement data; try { for (var i = 1; i <= 5; i++) { var client = new WebClientUtility().SetContentType("application/json;charset=utf-8") .AddHeaders("X-Requested-With", "XMLHttpRequest") .AddHeaders("Cookie", _cookies); #if DEBUG #else client.Proxy = _proxy; #endif if (!string.IsNullOrEmpty(_user_agent)) client.UserAgent = _user_agent; var response = client.Request(url); if (response.ResponseException != null) { _ = new LoggerLibrary("api_error", "fail") .Info(response.ResponseException.Message, response.ResponseException.StackTrace) .SaveAsync(); throw response.ResponseException; } body = response.Body(); #if DEBUG _ = new LoggerLibrary("debug", "GetTkOrders") .Info(body) .SaveAsync(); #endif if (body.Contains("{\"action\":\"captcha\"")) { string message = $"【GetTkOrders】【{_accountId}:{_accountName}】第 {i} 次出现滑动验证码"; NotifyCore.Notify(new NifyMessage { message = message, priority = NifyMessagePriority.high, tags = ["red_circle"] }); Thread.Sleep(i * 60 * 1000); continue; } if (body.Contains("\"resultCode\":500")) { //{"success":false,"resultCode":500,"bizErrorDesc":"系统繁忙,请稍后重试!","bizErrorCode":3001} string message = $"【GetTkOrders】【{_accountId}:{_accountName}】第 {i} 次出现错误\n{body}"; NotifyCore.Notify(new NifyMessage { message = message, priority = NifyMessagePriority.high, tags = ["red_circle"] }); Thread.Sleep(i * 60 * 1000); continue; } break; } /* */ var root = body.Convert2JsonElement(); var success = root.Read("success"); data = root.ElementRead("data"); //{"code":601,"info":{"ok":false,"message":"nologin"}} if (!success && body.Contains("nologin")) { (success, string message) = RenewCookie(); if (!success) { TkPoolCore.Disabled(_accountId, _accountName, $"{body}"); } return (0, DateTime.MinValue, new List()); } if (!success) { throw new APIException(body); } } catch (Exception ex) { _ = new LoggerLibrary("debug", "GetTkOrders") .Info(body) .SaveAsync(); string message = $"【GetRawItemId】{_accountId}:{_accountName}\t{_proxy?.Address}\n" + $"{body}\n{ex.Message}\n{ex.StackTrace}"; if (sleep > 0) Thread.Sleep(sleep); throw new APIException(body); } try { foreach (var order in data.ElementRead("result").EnumerateArray()) { TkOrderDetailDTO item = order.GetRawText().Convert2Object(); // 处理每个订单数据 item.accountId = _accountId; item.accountName = _company; if (item.modifiedTime > max_modifiedTime) max_modifiedTime = item.modifiedTime; if (last_modifiedTime != DateTime.MinValue && last_modifiedTime >= item.modifiedTime) { return (total, max_modifiedTime, orderTimes); } //进行订单和转链匹配 //(int state, item.itemId) = GetRawItemId(item.mktId); if (item.tkStatus == 3 && item.tbPaidTime != DateTime.MinValue) orderTimes.Add(item.tbPaidTime.Date); using var conn = DBContext.GetOpenConnection(); int? id = conn.Replace(item); if (id != null) { item.id = (int)id; TkOrderTrackingCore.MatchOrder(_account, item); } total++; } } catch (Exception ex) { if (sleep > 0) Thread.Sleep(sleep); throw; } pageNo++; hasNext = data.Read("hasNext"); positionIndex = data.Read("positionIndex"); if (sleep > 0) Thread.Sleep(sleep); } return (total, max_modifiedTime, orderTimes); } public (int, string) GetRawItemId(string mktId) { string body = string.Empty, location = string.Empty; try { string lock_key = $"lock:GetRawItemId:disabled"; int count = RedisHelper.Get(lock_key); if (count > 0) return (0, null); string cacheKey = $":cache:mkt2itemId:{mktId}"; string itemId = RedisHelper.Get(cacheKey); if (itemId != null) return (1, itemId); var ts = DateTime.Now.Convert2UnixTimestamp(true); string url = "https://pub.alimama.com/openapi/param2/1/gateway.unionpub/union.moose.content.entry"; //string url = $"{base_orders_url}?t={ts}&_tb_token_={_tb_token}&pageNo={pageNo}&pageSize={pageSize}&startTime={startTime:yyyy-MM-dd}&endTime={endTime:yyyy-MM-dd}&payStatus=&queryType={queryType}&jumpType={jumpType}&tkTradeId=&positionIndex={positionIndex}"; var client = new WebClientUtility() .SetContentType("application/x-www-form-urlencoded") .AddHeaders("Cookie", _cookies) .AddHeaders("Origin", "https://pub.alimama.com") .Post("_tb_token_", _tb_token) .Post("t", ts.ToString()) .Post("bizType", "detailPage") .Post("bizParam", $"{{\"itemId\":\"{mktId}\"}}"); //_tb_token_=3b88755bbe3f7&t=1718896771391&bizType=detailPage&bizParam=%7B%22itemId%22%3A%22JbtMUqkGMQvagTNb2Fvta-9ag242pu7MOX5e0bsrY%22%7D //_tb_token_=361e383eb61e5&t=1718895935097&bizType=detailPage&bizParam=%7B%22itemId%22%3A%22JbtMUqkGMQvagTNb2Fvta-9ag242pu7MOX5e0bsrY%22%7D #if DEBUG #else client.Proxy = _proxy; #endif if (!string.IsNullOrEmpty(_user_agent)) client.UserAgent = _user_agent; var response = client.Request(url); if (!response.Successed) { throw response.ResponseException; } location = response.ResponseMessage?.Headers?.Location?.ToString(); string message; if (!string.IsNullOrEmpty(location) && location.Contains("err.taobao.com/error1.html")) { RedisHelper.Set(lock_key, 1, 60); message = $"【GetRawItemId】{_accountId}:{_accountName}\t{_proxy?.Address}\n" + $"{mktId}\n{location}"; //NotifyCore.Notify(new NifyMessage //{ // message = message, // priority = NifyMessagePriority.high, // tags = ["red_circle"] //}); return (0, null); } body = response.Body(); var root = body.Convert2JsonElement(); int code = root.PathRead("code"); message = root.PathRead("info.message"); //if ("nologin".Equals(message)) //{ // (bool success, message) = RenewCookie(); // if (!success) // { // TkPoolCore.Disabled(_accountId, _accountName, body); // throw new Exception("nologin"); // } // return (-1, null); //} itemId = root.PathRead("model.item.itemId"); if (!string.IsNullOrEmpty(itemId)) { RedisHelper.Set(cacheKey, itemId, 86400 * 7); } else { //RedisHelper.Set(lock_key, 1, 3600); } return (1, itemId); } catch (Exception ex) { string message = $"【GetRawItemId】{_accountId}:{_accountName}\t{_proxy?.Address}\n" + $"{mktId}\n{location}\n{body}\n{ex.Message}"; NotifyCore.Notify(new NifyMessage { message = message, priority = NifyMessagePriority.high, tags = ["red_circle"] }); } return (0, null); } public void GetTkOrders222() { try { string url = "https://media.alimama.com/violationu2/warning_instance_page_v2.json?r=mx_208&toPage=1&pageSize=40¶ms="; var client = new WebClientUtility().SetContentType("application/json;charset=utf-8") .AddHeaders("X-Requested-With", "XMLHttpRequest") .AddHeaders("Cookie", _cookies); client.Proxy = _proxy; if (!string.IsNullOrEmpty(_user_agent)) client.UserAgent = _user_agent; var response = client.Request(url); var body = response.Body(); var root = body.Convert2JsonElement(); int resultCode = root.Read("resultCode", 0); int totalCount = root.PathRead("data.totalCount", 0); bool success = root.Read("success", false); if (!success) { _ = new LoggerLibrary("violationu", "warning_error") .Info(url, body) .SaveAsync(); throw new Exception(body); } if (totalCount == 0) return; _ = new LoggerLibrary("violationu", "warning").Info(url, body).SaveAsync(); var list = root.ElementRead("data").ElementRead("result").EnumerateArray(); foreach (var data in list) { var violation_commission = data.PathRead("mediaInfo.订单虚假交易违规佣金", 0); new DBContext.Table("alimama_warning") .Fill(data) .Loader("filterRuleId", 0) .Loader("gmtCreate", 0) .Loader("id", 0, "ali_id") .Loader("idStr", string.Empty) .Loader("mediaDimension", 0) .Loader("mediaId", 0) .Loader("mediaInfo.abn_cnt", 0, "abn_cnt") .Add("violation_commission", violation_commission) .Loader("mediaInfo.warning_cnt", 0, "warning_cnt") .Loader("mediaName", string.Empty) .Loader("memberId", 0) .Loader("noticeCategory", string.Empty) .Loader("noticeTemplateId", 0) .Loader("noticeTemplateName", string.Empty) .Loader("orderFile", string.Empty) .Loader("pid", string.Empty) .Loader("punishRuleId", 0) .Loader("riskType", string.Empty) .Loader("roleName", string.Empty) .Loader("ruleLink", string.Empty) .Loader("showOrderDetail", false) .Loader("status", 0, "ali_status") .Loader("warningText", string.Empty) .Add("accountName", _accountName) .Add("status", true) .Add("create_time", DateTime.Now) .Add("last_time", DateTime.Now) .Create(DBContext.InsertType.REPLACE); } } catch (Exception ex) { } } } }