コード例 #1
0
        /// <summary>
        /// 处理票_001
        /// </summary>
        /// <param name="suanJiangClass"></param>
        private void ChuLiValue9005(SuanJiangClass suanJiangClass)
        {
            //2016/6/25 17:44:55
            //RSP|160625103=3,160625110=1|2*1
            //HH|SPF>160625113=3,SPF>160625119=3,RSP>160625101=0,RSP>160625104=3,RSP>160625112=0,SPF>160625116=3,SPF>160625122=3|7*1
            //SPF>160625102=1(4.10),RSP>160625103=1(4.05)/0(1.42),RSP>160625104=1(3.96),RSP>160625106=1(3.45)/0(2.40),RSP>160625108=1(3.50)
            //SPF>160625102=3(1.55),SPF>160625107=1(3.20),RSP>160625101=0(1.63),RSP>160625104=3(1.64),RSP>160625112=0(1.63),SPF>160625116=3(1.94),SPF>160625122=3(1.50)
            List <Dictionary <string, string> > lis = new List <Dictionary <string, string> >();
            string chuanGuanShu = string.Empty;

            try
            {
                chuanGuanShu = Regex.Match(suanJiangClass.TouZhu, @".+?\|(\d+\*\d+)").Groups[1].Value;
                if (string.IsNullOrWhiteSpace(chuanGuanShu))
                {
                    Log.WriteLog(suanJiangClass.BuyTitckID + "的串关未截取到", "Error");
                }

                List <string> listValue = suanJiangClass.TouZhuValue.Split(',').ToList();
                for (int i = 0; i < listValue.Count; i++)
                {
                    MatchCollection matchTitck = Regex.Matches(listValue[i], @"([A-Z]+)>(\d{6})(\d+)=(.+)");
                    foreach (Match item in matchTitck)
                    {
                        string redy = string.Empty;
                        if (item.Success)
                        {
                            Titck_GeShi titck_GeShi = new Titck_GeShi();
                            titck_GeShi.Titck_PlayEnglish   = item.Groups[1].Value;
                            titck_GeShi.Titck_DateTime      = item.Groups[2].Value;
                            titck_GeShi.Titck_SaiShi        = item.Groups[3].Value;
                            titck_GeShi.Titck_ContentString = item.Groups[4].Value;
                            //string dataTxt = ParesDate(item.Groups[2].Value); //suanJiangClass.CreateTime.AddDays(1).ToString("yyyy-MM-dd");
                            using (StreamReader streamRead = new StreamReader(theTxtPath + "/" + item.Groups[2].Value + ".txt", Encoding.GetEncoding("utf-8")))
                            {
                                redy = streamRead.ReadToEnd();//缓存内容
                            }
                            lis.Add(SplitTitckValue(titck_GeShi, redy));
                        }
                    }
                }
            }
            catch (Exception error)
            {
                Log.WriteLog(suanJiangClass.BuyTitckID + "投注赔率匹配失败:" + error, "Error");
            }
            //SPF>160625102=1(4.10),RSP>160625103=1(4.05)/0(1.42),RSP>160625104=1(3.96),RSP>160625106=1(3.45)/0(2.40),RSP>160625108=1(3.50)
            GetZhongJianTitck(lis, chuanGuanShu, suanJiangClass);
            lis.Clear();
        }
コード例 #2
0
        /// <summary>
        /// 处理票_002
        /// </summary>
        /// <param name="titck_GeShi"></param>
        /// <param name="redy"></param>
        private Dictionary <string, string> SplitTitckValue(Titck_GeShi titck_GeShi, string redy)
        {
            //2016/6/25 17:44:55
            //RSP|160625103=3,160625110=1|2*1
            //HH|SPF>160625113=3,SPF>160625119=3,RSP>160625101=0,RSP>160625104=3,RSP>160625112=0,SPF>160625116=3,SPF>160625122=3|7*1
            //SPF>160625102=1(4.10),RSP>160625103=1(4.05)/0(1.42),RSP>160625104=1(3.96),RSP>160625106=1(3.45)/0(2.40),RSP>160625108=1(3.50)
            //SPF>160625102=3(1.55),SPF>160625107=1(3.20),RSP>160625101=0(1.63),RSP>160625104=3(1.64),RSP>160625112=0(1.63),SPF>160625116=3(1.94),SPF>160625122=3(1.50)
            string joinDate  = titck_GeShi.Titck_DateTime.Substring(0, 2) + "/" + titck_GeShi.Titck_DateTime.Substring(2, 2) + "/" + titck_GeShi.Titck_DateTime.Substring(4, 2);
            string dayOfWeek = theDateStr + joinDate;

            switch (DateTime.Parse(dayOfWeek).DayOfWeek.ToString())
            {
            case "Monday": dayOfWeek = "周一"; break;

            case "Tuesday": dayOfWeek = "周二"; break;

            case "Wednesday": dayOfWeek = "周三"; break;

            case "Thursday": dayOfWeek = "周四"; break;

            case "Friday": dayOfWeek = "周五"; break;

            case "Saturday": dayOfWeek = "周六"; break;

            case "Sunday": dayOfWeek = "周日"; break;

            default: break;
            }
            dayOfWeek += titck_GeShi.Titck_SaiShi;
            string partValue = Regex.Match(redy.Replace("\r\n", ""), "<td>" + dayOfWeek + "</td>(.+?)</tr>").Groups[1].Value;

            string bf    = string.Empty;
            string spf   = string.Empty;
            string rqspf = string.Empty;
            string zjqs  = string.Empty;
            string bqc   = string.Empty;

            if (!string.IsNullOrWhiteSpace(partValue))
            {
                //比分
                bf = GetBF(Regex.Match(partValue, "<td class=\"[a-zA-z]+\">\\((.+?)\\) (.+?)</td>").Groups[2].Value);
                //让球胜平负
                rqspf = GetSPF(Regex.Match(partValue, "<td>([\u4e00-\u9fa5]{1})</td>").Groups[1].Value);
                //胜平负
                spf = GetSPF(Regex.Match(partValue, "<td class=\"[a-zA-z]+\">([\u4e00-\u9fa5]{1})</td>").Groups[1].Value);
                //总进球数
                zjqs = Regex.Match(partValue, "<td class=\"[a-zA-z]+\">(\\d+(\\+)*)</td>").Groups[1].Value;
                //半全场
                bqc = GetBQC(Regex.Match(partValue, "<td class=\"[a-zA-z]+\">([\u4e00-\u9fa5]{2})</td>").Groups[1].Value);
            }
            Dictionary <string, string> dir = new Dictionary <string, string>();

            switch (titck_GeShi.Titck_PlayEnglish)
            {
            case "SPF":
                List <string> titckString_spf = titck_GeShi.Titck_ContentString.Split('/').ToList();
                for (int i = 0; i < titckString_spf.Count; i++)
                {
                    string str1 = Regex.Match(titckString_spf[i], @"(\d)\(\d+.\d+\)").Groups[1].Value;
                    string str2 = Regex.Match(titckString_spf[i], @"(\d)\((\d+.\d+)\)").Groups[2].Value;
                    if (spf == str1)
                    {
                        dir.Add(titck_GeShi.Titck_PlayEnglish + ">" + titck_GeShi.Titck_DateTime + titck_GeShi.Titck_SaiShi + "F" + i + "=" + spf, str2);
                    }
                    else
                    {
                        dir.Add(titck_GeShi.Titck_PlayEnglish + ">" + titck_GeShi.Titck_DateTime + titck_GeShi.Titck_SaiShi + "F" + i + "=" + str1, "No");
                    }
                }
                break;

            case "RSP":
                List <string> titckString_rsf = titck_GeShi.Titck_ContentString.Split('/').ToList();
                for (int i = 0; i < titckString_rsf.Count; i++)
                {
                    string str1 = Regex.Match(titckString_rsf[i], @"(\d)\(\d+.\d+\)").Groups[1].Value;
                    string str2 = Regex.Match(titckString_rsf[i], @"(\d)\((\d+.\d+)\)").Groups[2].Value;
                    if (rqspf == str1)
                    {
                        dir.Add(titck_GeShi.Titck_PlayEnglish + ">" + titck_GeShi.Titck_DateTime + titck_GeShi.Titck_SaiShi + "F" + i + "=" + rqspf, str2);
                    }
                    else
                    {
                        dir.Add(titck_GeShi.Titck_PlayEnglish + ">" + titck_GeShi.Titck_DateTime + titck_GeShi.Titck_SaiShi + "F" + i + "=" + str1, "No");
                    }
                }
                break;

            case "JQS":
                List <string> titckString_jqs = titck_GeShi.Titck_ContentString.Split('/').ToList();
                for (int i = 0; i < titckString_jqs.Count; i++)
                {
                    string str1 = Regex.Match(titckString_jqs[i], @"(\d+)\(\d+.\d+\)").Groups[1].Value;
                    string str2 = Regex.Match(titckString_jqs[i], @"(\d+)\((\d+.\d+)\)").Groups[2].Value;
                    if (zjqs == str1)
                    {
                        dir.Add(titck_GeShi.Titck_PlayEnglish + ">" + titck_GeShi.Titck_DateTime + titck_GeShi.Titck_SaiShi + "F" + i + "=" + zjqs, str2);
                    }
                    else
                    {
                        dir.Add(titck_GeShi.Titck_PlayEnglish + ">" + titck_GeShi.Titck_DateTime + titck_GeShi.Titck_SaiShi + "F" + i + "=" + str1, "No");
                    }
                }
                break;

            case "BQC":
                List <string> titckString_bqc = titck_GeShi.Titck_ContentString.Split('/').ToList();
                for (int i = 0; i < titckString_bqc.Count; i++)
                {
                    string str1 = Regex.Match(titckString_bqc[i], @"(\d+\-\d+)\(\d+.\d+\)").Groups[1].Value;
                    string str2 = Regex.Match(titckString_bqc[i], @"(\d+\-\d+)\((\d+.\d+)\)").Groups[2].Value;
                    if (bqc == str1)
                    {
                        dir.Add(titck_GeShi.Titck_PlayEnglish + ">" + titck_GeShi.Titck_DateTime + titck_GeShi.Titck_SaiShi + "F" + i + "=" + bqc, str2);
                    }
                    else
                    {
                        dir.Add(titck_GeShi.Titck_PlayEnglish + ">" + titck_GeShi.Titck_DateTime + titck_GeShi.Titck_SaiShi + "F" + i + "=" + str1, "No");
                    }
                }
                break;

            case "CBF":
                List <string> titckString_bf = titck_GeShi.Titck_ContentString.Split('/').ToList();
                for (int i = 0; i < titckString_bf.Count; i++)
                {
                    string str1 = Regex.Match(titckString_bf[i], @"(\d+:\d+|[\u4e00-\u9fa5]+)\(\d+.\d+\)").Groups[1].Value;
                    string str2 = Regex.Match(titckString_bf[i], @"(\d+:\d+|[\u4e00-\u9fa5]+)\((\d+.\d+)\)").Groups[2].Value;
                    if (bf == str1)
                    {
                        dir.Add(titck_GeShi.Titck_PlayEnglish + ">" + titck_GeShi.Titck_DateTime + titck_GeShi.Titck_SaiShi + "F" + i + "=" + bf, str2);
                    }
                    else
                    {
                        dir.Add(titck_GeShi.Titck_PlayEnglish + ">" + titck_GeShi.Titck_DateTime + titck_GeShi.Titck_SaiShi + "F" + i + "=" + str1, "No");
                    }
                }
                break;

            default: break;
            }
            //SPF>160625102=1(4.10),RSP>160625103=1(4.05)/0(1.42),RSP>160625104=1(3.96),RSP>160625106=1(3.45)/0(2.40),RSP>160625108=1(3.50)
            return(dir);
        }