Example #1
0
        /// <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("==================所有任务执行完成============================");
        }
Example #3
0
        /// <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);
        }
Example #5
0
        private void DoTask()
        {
            this.WriteLog("开始执行");
            var log = new GameBizWcfService_Core().LoadJCZQMatchResult();

            this.WriteLog(log.Message);
            this.WriteLog("执行完成");
        }
Example #6
0
        private void DoTask()
        {
            this.WriteLog("开始执行");
            var log = new GameBizWcfService_Core().LoadSZCBonusRule();

            this.WriteLog(log.Message);
            this.WriteLog("执行完成");
        }
Example #7
0
        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("执行完成");
        }
Example #10
0
 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));
 }
Example #11
0
        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();
            }
        }
Example #13
0
        /// <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("===全部加载完成===");
            });
        }
Example #14
0
        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();
            }
        }
Example #15
0
        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);
            }
        }