Пример #1
0
        /// <summary>
        /// 获取开奖球数据位
        /// </summary>
        /// <param name="ballPosition"></param>
        /// <returns></returns>
        private int GetLotteryNumber(int ballPosition, ReqFiveMinuteLotteryResult fiveMinute)
        {
            var num = 0;

            if (ballPosition == (int)FiveMinLotteryBettingNumberEnum.one)
            {
                num = fiveMinute.One;
            }
            if (ballPosition == (int)FiveMinLotteryBettingNumberEnum.two)
            {
                num = fiveMinute.Two;
            }
            if (ballPosition == (int)FiveMinLotteryBettingNumberEnum.tree)
            {
                num = fiveMinute.Three;
            }
            if (ballPosition == (int)FiveMinLotteryBettingNumberEnum.four)
            {
                num = fiveMinute.Four;
            }
            if (ballPosition == (int)FiveMinLotteryBettingNumberEnum.five)
            {
                num = fiveMinute.Five;
            }
            return(num);
        }
Пример #2
0
        /// <summary>
        /// 五分彩查询接口
        /// </summary>
        /// <param name="session_id"></param>
        public static List <ReqFiveMinuteLotteryResult> FiveMinuteQuery(string session_id)
        {
            var reqfmlResultList = new List <ReqFiveMinuteLotteryResult>();

            try
            {
                string date    = $"action=GetLotteryOpen20List&lottery_code=1004&data_count=20&session_id={session_id}";
                var    reult   = HttpMethods.HttpPost(ShengDaUrl.LotteryQuery, date);
                var    baseObj = JsonConvert.DeserializeObject <BaseRes <string> >(reult);
                var    fmlObj  = JsonConvert.DeserializeObject <List <ReqFiveMinuteLottery> >(baseObj.data);

                foreach (var item in fmlObj)
                {
                    var reqfmlResult = new ReqFiveMinuteLotteryResult()
                    {
                        IssueCode = item.issue_no, OpenTime = item.open_time
                    };
                    var list2 = new List <string>(item.lotteryopen_no.Split(new[] { "," }, StringSplitOptions.None));
                    reqfmlResult.One   = int.Parse(list2[0]);
                    reqfmlResult.Two   = int.Parse(list2[1]);
                    reqfmlResult.Three = int.Parse(list2[2]);
                    reqfmlResult.Four  = int.Parse(list2[3]);
                    reqfmlResult.Five  = int.Parse(list2[4]);
                    reqfmlResultList.Add(reqfmlResult);
                }
            }
            catch (Exception e)
            {
                Log.Write(LogLevel.Error, $"报错了,消息为{e.Message}");
            }
            return(reqfmlResultList);
        }
Пример #3
0
        public void ResultTest()
        {
            int    examExplain      = 20190711;
            var    result1          = Convert.ToDateTime(examExplain.ToString()).ToString("yyyy-MM-dd HH:mm:ss");
            string date             = "action=GetLotteryOpen20List&lottery_code=1004&data_count=20&session_id=dbd298dff709486288df429e42504926";
            var    reult            = HttpMethods.HttpPost("https://shengdaweb.0451pz.com/Home/Buy", date);
            var    baseObj          = JsonConvert.DeserializeObject <BaseRes <string> >(reult);
            var    fmlObj           = JsonConvert.DeserializeObject <List <ReqFiveMinuteLottery> >(baseObj.data);
            var    reqfmlResultList = new List <ReqFiveMinuteLotteryResult>();

            foreach (var item in fmlObj)
            {
                var reqfmlResult = new ReqFiveMinuteLotteryResult()
                {
                    IssueCode = item.issue_no, OpenTime = item.open_time
                };
                var list2 = new List <string>(item.lotteryopen_no.Split(new[] { "," }, StringSplitOptions.None));
                //reqfmlResult.One = list2[0];
                //reqfmlResult.Two = list2[1];
                //reqfmlResult.Three = list2[2];
                //reqfmlResult.Four = list2[3];
                //reqfmlResult.Five = list2[4];
                reqfmlResultList.Add(reqfmlResult);
            }
        }
Пример #4
0
        public void FiveMinuteAutomaticBettingTest()
        {
            int num             = 1;  //球号
            var session_id      = "520ac16ff76a4887be54fca54775f34c";
            int critical        = 5;  //表示连续多少注不中起投自动下注临界值
            int maxCritical     = 12; //最大连续不中投注期数
            var fiveMinuteQuery = FiveMinuteLotterySearch.FiveMinuteQuery(session_id);

            if (fiveMinuteQuery.Count > 0)
            {
                int singleNum = 1; bool singleEnd = false;
                int doubleNum = 1; bool doubleEnd = false;
                int largeNum = 1; bool largeEnd = false;
                int sizeNum = 1; bool sizeEnd = false;
                fiveMinuteQuery = fiveMinuteQuery.OrderBy(x => x.IssueCode).ToList();
                ReqFiveMinuteLotteryResult pastFiveMinute = null;
                foreach (var fiveMinute in fiveMinuteQuery)
                {
                    if (pastFiveMinute == null)
                    {
                        pastFiveMinute = fiveMinute;
                        continue;
                    }
                    var lotteryNum     = GetLotteryNumber(num, fiveMinute);     //当前开奖号
                    var pastlotteryNum = GetLotteryNumber(num, pastFiveMinute); //上一注开奖号
                    if (lotteryNum % 2 == 0 && pastlotteryNum % 2 == 0)         //判断都为双
                    {
                        if (doubleEnd == false)
                        {
                            doubleNum++;
                        }
                        singleEnd = true;
                    }
                    else if (lotteryNum % 2 == 1 && pastlotteryNum % 2 == 1) //判断都为单
                    {
                        if (singleEnd == false)
                        {
                            singleNum++;
                        }
                        doubleEnd = true;
                    }
                    else
                    {
                        singleEnd = true;
                        doubleEnd = true;
                    }

                    #region 连续大小
                    if (lotteryNum < 5 && pastlotteryNum < 5) //判断都为小
                    {
                        if (sizeEnd == false)
                        {
                            sizeNum++;
                        }
                        sizeEnd = true;
                    }

                    else if (lotteryNum > 4 && pastlotteryNum > 4) //判断都为大
                    {
                        if (largeEnd == false)
                        {
                            largeNum++;
                        }
                        largeEnd = true;
                    }
                    else
                    {
                        largeEnd = true;
                        sizeEnd  = true;
                    }
                    #endregion
                    if (singleEnd && doubleEnd && largeEnd && sizeEnd)
                    {
                        break;
                    }
                    pastFiveMinute = fiveMinute;
                }
                if (singleNum > critical)
                {
                    var doubleThrowkey = singleNum >= maxCritical ? singleNum - critical : singleNum - critical;
                    var bettingMoney   = OneDoubleThrow[doubleThrowkey];
                    if (singleNum >= maxCritical)
                    {
                        bettingMoney = bettingMoney * 5;
                    }
                    var bettingNumber = PrizeResultsEnum.doubles.GetRemark();
                    var issuseNo      = string.Empty;
                    var issueCode     = fiveMinuteQuery[0].IssueCode;
                    if (issueCode.Contains("288"))
                    {
                        int.TryParse(issueCode.Substring(0, issueCode.LastIndexOf("288")), out int code);
                        issuseNo = $"{code + 1}001";
                    }
                    else
                    {
                        int.TryParse(issueCode, out int code);
                        issuseNo = (code + 1).ToString();
                    }
                    var order = FiveMinuteLotterySearch.FiveMinuteOrderQuery(session_id);
                    if (order.sourse.Count > 0)
                    {
                        var orderSourse = order.sourse.FirstOrDefault(x => x.issue_no.Equals(issuseNo));
                        if (orderSourse == null)
                        {
                            List <BettingDataInfo> bettings = new List <BettingDataInfo>()
                            {
                                new BettingDataInfo
                                {
                                    lottery_code     = "1004",
                                    play_detail_code = ((FiveMinLotteryBettingNumberEnum)num).GetRemark(),
                                    issuseNo         = issuseNo,
                                    betting_number   = bettingNumber,
                                    betting_money    = bettingMoney,
                                    betting_count    = 1,
                                    client_type      = 1
                                }
                            };
                            PlaceOrderRequest request = new PlaceOrderRequest()
                            {
                                BettingData = new Datas()
                                {
                                    BettingData = bettings
                                }, session_id = session_id
                            };
                            var result = FiveMinuteLotterySearch.FiveMinuteOrder(request);
                        }
                    }
                }
            }
        }
Пример #5
0
        /// <summary>
        /// 五分彩自动投注
        /// 此方式是用于控制5-11期间开彩方案,最大连续投注7期
        /// </summary>
        /// <param name="session_id"></param>
        /// <param name="ballNum">球号</param>
        /// <returns></returns>
        public static void FiveMinuteAutomaticBettingByballNum(string session_id, int ballNum)
        {
            var fiveMinuteQuery = FiveMinuteQuery(session_id);

            if (fiveMinuteQuery == null || fiveMinuteQuery.Count == 0)
            {
                return;
            }
            int singleNum = 1; bool singleEnd = false;
            int doubleNum = 1; bool doubleEnd = false;
            int largeNum = 1; bool largeEnd = false;
            int sizeNum = 1; bool sizeEnd = false;

            fiveMinuteQuery = fiveMinuteQuery.OrderByDescending(x => x.IssueCode).ToList();
            var issueCode = fiveMinuteQuery[0].IssueCode; //最近一次开奖号
            var issuseNo  = GetNextIssuseNoByIssueCode(issueCode);
            ReqFiveMinuteLotteryResult pastFiveMinute = null;

            foreach (var fiveMinute in fiveMinuteQuery)
            {
                if (pastFiveMinute == null)
                {
                    pastFiveMinute = fiveMinute;
                    continue;
                }
                var lotteryNum     = GetLotteryNumber(ballNum, fiveMinute);     //当前开奖号
                var pastlotteryNum = GetLotteryNumber(ballNum, pastFiveMinute); //上一注开奖号
                if (lotteryNum % 2 == 0 && pastlotteryNum % 2 == 0)             //判断都为双
                {
                    if (doubleEnd == false)
                    {
                        doubleNum++;
                    }
                    singleEnd = true;
                }
                else if (lotteryNum % 2 == 1 && pastlotteryNum % 2 == 1) //判断都为单
                {
                    if (singleEnd == false)
                    {
                        singleNum++;
                    }
                    doubleEnd = true;
                }
                else
                {
                    singleEnd = true;
                    doubleEnd = true;
                }

                #region 连续大小
                if (lotteryNum < 5 && pastlotteryNum < 5) //判断都为小
                {
                    if (sizeEnd == false)
                    {
                        sizeNum++;
                    }
                    sizeEnd = true;
                }

                else if (lotteryNum > 4 && pastlotteryNum > 4) //判断都为大
                {
                    if (largeEnd == false)
                    {
                        largeNum++;
                    }
                    largeEnd = true;
                }
                else
                {
                    largeEnd = true;
                    sizeEnd  = true;
                }
                #endregion
                if (singleEnd && doubleEnd && largeEnd && sizeEnd)
                {
                    break;
                }
                pastFiveMinute = fiveMinute;
            }
            var tasks = new List <Task>();
            tasks.Add(Task.Run(() => AutomaticBetting(singleNum, issuseNo, ballNum, session_id, PrizeResultsEnum.single)));
            tasks.Add(Task.Run(() => AutomaticBetting(doubleNum, issuseNo, ballNum, session_id, PrizeResultsEnum.doubles)));
            tasks.Add(Task.Run(() => AutomaticBetting(largeNum, issuseNo, ballNum, session_id, PrizeResultsEnum.large)));
            tasks.Add(Task.Run(() => AutomaticBetting(sizeNum, issuseNo, ballNum, session_id, PrizeResultsEnum.size)));
            Task.WaitAll(tasks.ToArray());
            Console.WriteLine($"第{ballNum}自动投注完成");
        }