/// <summary> /// 添加SQL订单数据到Redis库中 /// </summary> private void bt_load_runningOrder_Click(object sender, EventArgs e) { var schemeIdArray = rich_un_prizeOrder.Text.Trim().Split(new string[] { "\r\n", "\r", "\n" }, StringSplitOptions.RemoveEmptyEntries); Tools.ExcuteByTimer(1000, () => { //var schemeIdArray = new GameBizWcfService_Core().QuerySQLUnPrizeOrder().Split('|'); //this.AddLogToList(string.Format("已查询到未派奖的订单{0}条", schemeIdArray.Length)); for (int i = 0; i < schemeIdArray.Length; i++) { var schemeId = schemeIdArray[i]; try { this.AddLogToList(string.Format("开始处理订单{0}.{1}/{2}", schemeId, i, schemeIdArray.Length)); var log = new GameBizWcfService_Core().AddSQLOrderToRunningOrder(schemeId); this.AddLogToList(log); } catch (Exception ex) { this.AddLogToList(ex.Message); } } this.AddLogToList("===全部加载完成==="); }); }
private void DoTask(int maxSplitCount) { //this.WriteLog("开始执行"); //var log = new GameBizWcfService_Core().SplitOrderTicket(GameCode, maxSplitCount); //this.WriteLog(log); var count = int.Parse(ConfigurationManager.AppSettings["WaitingOrderListCount"]); this.WriteLog(string.Format("创建 {0} 个任务", count)); var taskList = new List <Task>(); taskList.Add(Task.Factory.StartNew(() => { var key = string.Format("{0}_{1}_{2}", RedisKeys.Key_Waiting_Order_List, "General", GameCode); this.WriteLog(string.Format("开始对队列 {0} 拆票", key)); var log = new GameBizWcfService_Core().SplitOrderTicketByKey(GameCode, key, maxSplitCount); WriteLog(log); })); for (int i = 0; i < count; i++) { taskList.Add(Task.Factory.StartNew((index) => { var key = string.Format("{0}_{1}_{2}_{3}", RedisKeys.Key_Waiting_Order_List, "General", GameCode, index.ToString()); this.WriteLog(string.Format("开始对队列 {0} 拆票", key)); var log = new GameBizWcfService_Core().SplitOrderTicketByKey(GameCode, key, maxSplitCount); WriteLog(log); }, i)); } this.WriteLog(string.Format("当前任务{0}个,开始执行", taskList.Count)); Task.WaitAll(taskList.ToArray()); this.WriteLog("==================所有任务执行完成============================"); }
/// <summary> /// 手工执行订单派奖 /// </summary> private void bt_mu_do_prize_Click(object sender, EventArgs e) { if (com_mu_gameCode.SelectedIndex < 0) { MessageBox.Show("请选择彩种编码"); return; } var gameCode = com_mu_gameCode.Items[com_mu_gameCode.SelectedIndex].ToString(); var schemeIdArray = rich_schemeid_all.Text.Trim().Split(new string[] { "\r\n", "\r", "\n" }, StringSplitOptions.RemoveEmptyEntries); Tools.ExcuteByTimer(500, () => { var errorSchemeIdList = new List <string>(); foreach (var item in schemeIdArray) { this.AddLogToList(string.Format("手工派奖:{0}", item)); var log = new GameBizWcfService_Core().Redis_ManualPrizeOrder(gameCode, item); this.AddLogToList(log.Message); if (!log.IsSuccess) { errorSchemeIdList.Add(item); } } Tools.InvokeSetRichTextBoxText(rich_schemeid_all, string.Join(Environment.NewLine, errorSchemeIdList.ToArray())); }); }
private void DoTask() { this.WriteLog("开始执行"); var log = new GameBizWcfService_Core().SplitChaseOrderTicket(GameCode); this.WriteLog(log); }
private void DoTask() { this.WriteLog("开始执行"); var log = new GameBizWcfService_Core().LoadJCZQMatchResult(); this.WriteLog(log.Message); this.WriteLog("执行完成"); }
private void DoTask() { this.WriteLog("开始执行"); var log = new GameBizWcfService_Core().LoadSZCBonusRule(); this.WriteLog(log.Message); this.WriteLog("执行完成"); }
private void DoTask() { this.WriteLog("开始执行"); var log = new GameBizWcfService_Core().LoadCoreConfigToRedis(); this.WriteLog(log.Message); this.WriteLog("执行完成"); }
private void DoTask() { this.WriteLog("开始执行"); var log = new GameBizWcfService_Core().LoadNextIssuseList(); this.WriteLog(log.Message); this.WriteLog("执行完成"); }
private void DoTask(int maxSplitCount) { this.WriteLog("开始执行"); var log = new GameBizWcfService_Core().SplitOrderTicket_Single(GameCode, maxSplitCount); this.WriteLog(log); this.WriteLog("执行完成"); }
private Task AddTask(string issuse, RedisValue[] order) { return(Task.Factory.StartNew((issuseNumber) => { var fullKey = string.Format("{0}_{1}_{2}", GameCode, RedisKeys.Key_Running_Order_List, issuseNumber.ToString()); this.WriteLog(string.Format("====调用WCF执行Key:{0}的订单派奖,本页{1}条====", fullKey, order.Length)); var log = new GameBizWcfService_Core().PrizeOrder_SZC_Page(GameCode, issuseNumber.ToString(), fullKey, string.Join(Environment.NewLine, order)); this.WriteLog(log); }, issuse)); }
private void DoPrize(string key) { try { if (base.BeStop) { return; } var span = int.Parse(ConfigurationManager.AppSettings["TimeSpan_Prize_JCLQ"]); this.WriteLog(string.Format("间隔{0}毫秒,处理队列{1}", span, key)); var prize_pageSize = int.Parse(ConfigurationManager.AppSettings["PrizePageSize_JCLQ"]); Tools.ExcuteByTimer(span, () => { try { this.WriteLog("开始执行派奖..."); var log = new GameBizWcfService_Core().PrizeOrder_JCLQ(prize_pageSize, key); this.WriteLog(log); } catch (Exception ex) { this.WriteLog(ex.ToString()); } finally { //递归 DoPrize(key); } }); } catch (Exception ex) { this.WriteLog(ex.ToString()); //递归 DoPrize(key); } }
private void AutoDoTask() { try { if (base.BeStop) { return; } var span = 1000 * 10; var doMaxCount = 100; this.WriteLog(string.Format("彩种 {0} 间隔{1}毫秒,最大执行{2}条订单", GameCode, span, doMaxCount)); Tools.ExcuteByTimer(span, () => { try { this.WriteLog("开始执行..."); var log = new GameBizWcfService_Core().RepairChaseOrder(this.GameCode, doMaxCount); this.WriteLog(log); this.WriteLog("==================执行完成一次============================"); } catch (Exception ex) { this.WriteLog(ex.ToString()); } //递归 AutoDoTask(); }); } catch (Exception ex) { this.WriteLog(ex.ToString()); //递归 AutoDoTask(); } }
/// <summary> /// 批量撤单 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnBetFail_Click(object sender, EventArgs e) { var schemeIdArray = rich_betFail_schemeId.Text.Trim().Split(new string[] { "\r\n", "\r", "\n" }, StringSplitOptions.RemoveEmptyEntries); Tools.ExcuteByTimer(1000, () => { for (int i = 0; i < schemeIdArray.Length; i++) { var schemeId = schemeIdArray[i]; try { this.AddLogToList(string.Format("开始处理订单{0}.{1}/{2}", schemeId, i, schemeIdArray.Length)); var r = new GameBizWcfService_Core().BetFails(schemeId); this.AddLogToList(r.Message); } catch (Exception ex) { this.AddLogToList(ex.Message); } } this.AddLogToList("===全部加载完成==="); }); }
private void AutoDoTask() { try { if (base.BeStop) { return; } var span = int.Parse(ConfigurationManager.AppSettings["TimeSpan_Prize_OZB"]); var prize_pageSize = int.Parse(ConfigurationManager.AppSettings["PrizePageSize_OZB"]); var doMaxCount = int.Parse(ConfigurationManager.AppSettings["PrizeDoMaxCount_OZB"]); this.WriteLog(string.Format("间隔{0}毫秒,每页{1}条,最大执行{2}条订单", span, prize_pageSize, doMaxCount)); Tools.ExcuteByTimer(span, () => { try { this.WriteLog("开始执行派奖..."); var log = new GameBizWcfService_Core().PrizeOrder_OZB(prize_pageSize, doMaxCount); this.WriteLog(log); } catch (Exception ex) { this.WriteLog(ex.ToString()); } //递归 AutoDoTask(); }); } catch (Exception ex) { this.WriteLog(ex.ToString()); //递归 AutoDoTask(); } }
private void DoOneListOrder(string fullKey) { try { if (base.BeStop) { return; } var span = 500; //this.WriteLog(string.Format("间隔{0}毫秒,处理队列 {1}", span, fullKey)); Tools.ExcuteByTimer(span, () => { try { var db = RedisHelper.DB_NoTicket_Order; //this.WriteLog("开始执行队列订单处理..." + fullKey); var orderArray = db.ListRangeAsync(fullKey).Result; if (orderArray.Length > 0) { this.WriteLog(string.Format("队列{1}中有{0}条订单数据", orderArray.Length, fullKey)); foreach (var item in orderArray) { if (!item.HasValue) { continue; } var json = item.ToString(); try { var info = JsonSerializer.Deserialize <RedisBet_CreateSportsTogether>(json); var c = new GameBizWcfService_Core().CreateSportsTogether(info.BetInfo, info.BalancePassword, info.UserToken); this.WriteLog(string.Format("订单{0}投注结果:{1}", info.BetInfo.SchemeId, c.Message)); } catch (Exception ex) { this.WriteLog(json); this.WriteLog(ex.ToString()); } finally { db.ListRemoveAsync(fullKey, item); } } this.WriteLog("===本次批投注完成==="); } } catch (Exception ex) { this.WriteLog(ex.ToString()); } //递归 DoOneListOrder(fullKey); }); } catch (Exception ex) { this.WriteLog(ex.ToString()); //递归 DoOneListOrder(fullKey); } }