Exemplo n.º 1
0
        public PlanTrackDetail GetPlanTrackDetail(NormConfigDto userNorm, string lotteryCode, string userId)
        {
            var planInfo           = _planInfoQueryService.GetPlanInfoById(userNorm.PlanId);
            var prodictDatas       = _lotteryPredictDataQueryService.GetNormPredictDatas(userNorm.Id, planInfo.PlanNormTable, userNorm.LookupPeriodCount + 1, lotteryCode);
            var currentPredictData = AutoMapper.Mapper.Map <PredictDataDetail>(prodictDatas.FirstOrDefault(p => p.PredictedResult == 2));

            currentPredictData.PredictType = planInfo.DsType;
            // currentPredictData.LotteryData = _lotteryDataAppService.GetLotteryData(planInfo.LotteryInfo.Id,currentPredictData.CurrentPredictPeriod).Data;
            var historyPredictDatas = AutoMapper.Mapper.Map <ICollection <PredictDataDetail> >(prodictDatas.Where(p => p.PredictedResult != 2).ToList());

            historyPredictDatas.ForEach(item =>
            {
                item.LotteryData = _lotteryDataAppService.GetLotteryData(planInfo.LotteryInfo.Id, item.CurrentPredictPeriod).Data;
                item.PredictType = planInfo.DsType;
            });
            var planTrackDetail = new PlanTrackDetail()
            {
                CurrentPredictData  = currentPredictData,
                FinalLotteryData    = _lotteryDataAppService.GetFinalLotteryData(planInfo.LotteryInfo.Id),
                HistoryPredictDatas = historyPredictDatas,
                NormId        = userNorm.Id,
                PlanId        = planInfo.Id,
                PlanName      = planInfo.PlanName,
                Sort          = userNorm.Sort,
                StatisticData = ComputeStatisticData(currentPredictData, historyPredictDatas, userNorm)
            };

            return(planTrackDetail);
        }
Exemplo n.º 2
0
        public ICollection <PredictDataDto> PredictNormData(string lotteryId, NormConfigDto userNorm, int predictPeroid, string lotteryCode, bool isSwitchFormula = false)
        {
            var predictDataResult = new Dictionary <int, PredictDataDto>();

            PredictDataDto lastPredictData;
            bool           isNewPredict;

            var lastPredictPeriod = GetLastPredictNormPeriod(lotteryId, userNorm, lotteryCode, out lastPredictData, out isNewPredict);
            int startPredict;

            if (!isNewPredict)
            {
                startPredict = lastPredictData.StartPeriod;
                predictDataResult.Add(lastPredictData.StartPeriod, lastPredictData);
            }
            else
            {
                startPredict = lastPredictPeriod;
            }

            for (int i = lastPredictPeriod; i < predictPeroid; i++) // 新的预测期数是 startPredict = i + 1; 所以这里不能加 = 号
            {
                // 判断上一期的开奖情况
                if (NeedNewPredictData(i, startPredict, lotteryId, userNorm, ref predictDataResult, lotteryCode))
                {
                    startPredict = i + 1;
                    var thispredictData = PredictAppointedPeroidNormData(lotteryId, startPredict, userNorm, isSwitchFormula);
                    predictDataResult.Add(startPredict, thispredictData);
                }
            }
            return(predictDataResult.Values);
        }
Exemplo n.º 3
0
        public override PredictedResult JudgePredictDataResult(LotteryInfoDto lotteryInfo, PredictDataDto startPeriodData,
                                                               NormConfigDto userNormConfig)
        {
            var planInfo    = _planInfoQueryService.GetPlanInfoById(userNormConfig.PlanId);
            var lotteryData = _lotteryDataQueryService.GetPredictPeriodData(lotteryInfo.Id, startPeriodData.CurrentPredictPeriod);

            if (lotteryData == null)
            {
                return(PredictedResult.Running);
            }
            var lotteryNumber     = new LotteryNumber(lotteryData);
            var rank              = planInfo.PositionInfos.First().Position;
            var lotteryNumberData = lotteryNumber.GetRankNumber(rank);

            if (startPeriodData.PredictedData.Contains(lotteryNumberData.ToString()))
            {
                if (planInfo.DsType == PredictType.Fix)
                {
                    return(PredictedResult.Right);
                }
            }
            else
            {
                if (planInfo.DsType == PredictType.Kill)
                {
                    return(PredictedResult.Right);
                }
            }
            if (startPeriodData.CurrentPredictPeriod >= startPeriodData.EndPeriod)
            {
                return(PredictedResult.Error);
            }
            return(PredictedResult.Running);
        }
Exemplo n.º 4
0
        private int GetHistoryLotteryCount(NormConfigDto normConfig)
        {
            var random = new Random(unchecked ((int)DateTime.Now.Ticks));
            var min    = Math.Min(normConfig.UnitHistoryCount, normConfig.HistoryCount);
            var max    = Math.Min(normConfig.UnitHistoryCount, normConfig.HistoryCount);
            var r      = random.Next(min, max);

            return(r);
        }
Exemplo n.º 5
0
        private string GetPredictedDataMock(PlanInfoDto normPlanInfo, NormConfigDto userNorm)
        {
            var minVal         = normPlanInfo.PositionInfos.Min(p => p.MinValue);
            var maxVal         = normPlanInfo.PositionInfos.Min(p => p.MaxValue);
            var lotteryNumbers = new List <int>();

            for (int i = minVal; i <= maxVal; i++)
            {
                lotteryNumbers.Add(i);
            }
            lotteryNumbers = lotteryNumbers.OrderBy(p => Guid.NewGuid()).ToList();
            var result = lotteryNumbers.Take(userNorm.ForecastCount).ToString(",");

            return(result);
        }
Exemplo n.º 6
0
        public virtual string GetPredictedData(PlanInfoDto normPlanInfo, NormConfigDto userNorm)
        {
            var random         = new Random(unchecked ((int)DateTime.Now.Ticks));
            var predictedDatas = GetPredictedDataList(normPlanInfo, userNorm);

            if (predictedDatas.Count <= userNorm.ForecastCount)
            {
                return(predictedDatas.Take(userNorm.ForecastCount).ToSplitString());
            }
            else
            {
                var skipMaxCount = (int)Math.Floor((double)(predictedDatas.Count - userNorm.ForecastCount) / 2);
                var skipCount    = random.Next(0, skipMaxCount);
                return(predictedDatas.Skip(skipCount).Take(userNorm.ForecastCount).ToSplitString());
            }
        }
Exemplo n.º 7
0
        public override PredictedResult JudgePredictDataResult(LotteryInfoDto lotteryInfo, PredictDataDto startPeriodData,
                                                               NormConfigDto userNormConfig)
        {
            var planInfo    = _planInfoQueryService.GetPlanInfoById(userNormConfig.PlanId);
            var lotteryData = _lotteryDataQueryService.GetPredictPeriodData(lotteryInfo.Id, startPeriodData.CurrentPredictPeriod);

            if (lotteryData == null)
            {
                return(PredictedResult.Running);
            }
            var lotteryNumber   = new LotteryNumber(lotteryData);
            var lotteryNumCount = lotteryNumber.Datas.Length;
            var lotteryNumbers  = new List <int>();

            foreach (var position in planInfo.PositionInfos)
            {
                var lotteryNumberData = GetLotteryNumberData(lotteryNumber, position.Position, planInfo);
                lotteryNumbers.Add(Convert.ToInt32(lotteryNumberData));
            }

            var predictNumber = startPeriodData.PredictedData.Split(',').Select(p => Convert.ToInt32(p)).ToArray();


            if (userNormConfig.ForecastCount <= lotteryNumCount)
            {
                if (predictNumber.All(p => lotteryNumbers.Contains(p)))
                {
                    return(PredictedResult.Right);
                }
                else if (startPeriodData.CurrentPredictPeriod >= startPeriodData.EndPeriod)
                {
                    return(PredictedResult.Error);
                }
            }
            else
            {
                if (predictNumber.All(p => lotteryNumber.Datas.Contains(p)))
                {
                    return(PredictedResult.Right);
                }
                else if (startPeriodData.CurrentPredictPeriod >= startPeriodData.EndPeriod)
                {
                    return(PredictedResult.Error);
                }
            }
            return(PredictedResult.Running);
        }
Exemplo n.º 8
0
        public override PredictedResult JudgePredictDataResult(LotteryInfoDto lotteryInfo, PredictDataDto startPeriodData,
                                                               NormConfigDto userNormConfig)
        {
            var planInfo    = _planInfoQueryService.GetPlanInfoById(userNormConfig.PlanId);
            var lotteryData = _lotteryDataQueryService.GetPredictPeriodData(lotteryInfo.Id, startPeriodData.CurrentPredictPeriod);

            if (lotteryData == null)
            {
                return(PredictedResult.Running);
            }
            var lotteryNumber = new LotteryNumber(lotteryData);

            var sum = 0;

            foreach (var position in planInfo.PositionInfos)
            {
                var lotteryNumberData = GetLotteryNumberData(lotteryNumber, position.Position, planInfo);
                sum += Convert.ToInt32(lotteryNumberData);
            }

            var junzhi = (int)(sum / planInfo.PositionInfos.Count);

            bool isRight;
            var  numPredictData = startPeriodData.PredictedData.Split(',').Select(p => Convert.ToInt32(p));

            if (planInfo.DsType == PredictType.Fix)
            {
                isRight = numPredictData.Contains(junzhi);
            }
            else
            {
                isRight = !numPredictData.Contains(junzhi);
            }
            if (isRight)
            {
                return(PredictedResult.Right);
            }
            else
            {
                if (startPeriodData.CurrentPredictPeriod >= startPeriodData.EndPeriod)
                {
                    return(PredictedResult.Error);
                }
                return(PredictedResult.Running);
            }
        }
Exemplo n.º 9
0
        private int GetLastPredictNormPeriod(string lotteryId, NormConfigDto userNorm, string lotteryCode, out PredictDataDto lastPredictData, out bool isNewPredict)
        {
            var normPlanInfo = _planInfoQueryService.GetPlanInfoById(userNorm.PlanId);

            lastPredictData = _lotteryPredictDataQueryService.GetLastPredictData(userNorm.Id, normPlanInfo.PlanNormTable, lotteryCode);
            var lastLotteryData          = _lotteryFinalDataQueryService.GetFinalData(lotteryId);
            var predictCount             = userNorm.PlanCycle * userNorm.LookupPeriodCount;
            var theoryStartPredictPreoid = lastLotteryData.FinalPeriod - predictCount;

            if (lastPredictData != null)
            {
                var userNormPredictPeroid = lastPredictData.StartPeriod + lastPredictData.MinorCycle - 1;
                if (userNormPredictPeroid > theoryStartPredictPreoid)
                {
                    isNewPredict = false;
                    return(userNormPredictPeroid);
                }
            }
            isNewPredict = true;
            return(theoryStartPredictPreoid);
        }
Exemplo n.º 10
0
        public override PredictedResult JudgePredictDataResult(LotteryInfoDto lotteryInfo, PredictDataDto startPeriodData,
                                                               NormConfigDto userNormConfig)
        {
            var planInfo    = _planInfoQueryService.GetPlanInfoById(userNormConfig.PlanId);
            var lotteryData = _lotteryDataQueryService.GetPredictPeriodData(lotteryInfo.Id, startPeriodData.CurrentPredictPeriod);

            if (lotteryData == null)
            {
                return(PredictedResult.Running);
            }
            var lotteryNumber = new LotteryNumber(lotteryData);

            var  postion           = planInfo.PositionInfos.First().Position;
            var  lotteryNumberData = GetLotteryNumberData(lotteryNumber, postion, planInfo).ToString();
            bool isRight;
            var  numPredictData = startPeriodData.PredictedData.Split(',').Select(p => p.ToString());

            if (planInfo.DsType == PredictType.Fix)
            {
                isRight = numPredictData.Contains(lotteryNumberData);
            }
            else
            {
                isRight = !numPredictData.Contains(lotteryNumberData);
            }
            if (isRight)
            {
                return(PredictedResult.Right);
            }
            else
            {
                if (startPeriodData.CurrentPredictPeriod >= startPeriodData.EndPeriod)
                {
                    return(PredictedResult.Error);
                }
                return(PredictedResult.Running);
            }
        }
Exemplo n.º 11
0
        private StatisticData ComputeStatisticData(PredictDataDetail currentPredictData, ICollection <PredictDataDetail> historyPredictDatas, NormConfigDto userNorm)
        {
            if (currentPredictData == null)
            {
                return(null);
            }
            var statisticData = new StatisticData()
            {
                CurrentScore = currentPredictData.CurrentScore,
            };

            statisticData.MaxSerieError =
                ComputeArrayMaxCount(historyPredictDatas.Select(p => p.PredictedResult).ToArray(), 1);
            statisticData.MaxSerieRight =
                ComputeArrayMaxCount(historyPredictDatas.Select(p => p.PredictedResult).ToArray(), 0);

            int currentSerie  = 0;
            var currentResult = historyPredictDatas.First().PredictedResult;

            foreach (var data in historyPredictDatas)
            {
                currentSerie++;
                if (currentResult != data.PredictedResult)
                {
                    break;
                }
            }
            statisticData.CurrentSerie = currentSerie;
            var minorCycleStatistic = new Dictionary <int, int>();

            for (int i = 1; i <= userNorm.PlanCycle; i++)
            {
                var thisCysleRightCount = historyPredictDatas.Count(p => p.PredictedResult == 0 && p.MinorCycle == i);
                minorCycleStatistic.Add(i, thisCysleRightCount);
            }
            statisticData.MinorCycleStatistic = minorCycleStatistic;
            return(statisticData);
        }
Exemplo n.º 12
0
        protected override ICollection <string> GetPredictedDataList(PlanInfoDto normPlanInfo, NormConfigDto userNorm)
        {
            var minVal = _predictedDataRate.Keys.Min();
            var maxVal = _predictedDataRate.Keys.Max();

            var rd = new Random();

            var result = new List <string>();

            while (result.Count < userNorm.ForecastCount)
            {
                result.AddIfNotContains(rd.Next(minVal, maxVal).ToString());
            }
            return(result);
        }
Exemplo n.º 13
0
        //private string GetPredictedDataByRate(IDictionary<int, double> predictedDataRate, PredictType dsType, NormConfigDto userNorm)
        //{
        //    if (dsType == PredictType.Fix)
        //    {
        //        var predictedDataList = predictedDataRate.OrderByDescending(p => p.Value).Select(p => p.Key).ToList();
        //        var result = predictedDataList.Take(userNorm.ForecastCount).ToString(",");
        //        return result;
        //    }
        //    else
        //    {
        //        var predictedDataList = predictedDataRate.OrderBy(p => p.Value).Select(p => p.Key).ToList();
        //        var result = predictedDataList.Take(userNorm.ForecastCount).ToString(",");
        //        return result;
        //    }
        //}

        private PredictedResult JudgePredictDataResult(string lotteryId, PredictDataDto startPeriodData, NormConfigDto userNormConfig)
        {
            var planInfo    = _planInfoQueryService.GetPlanInfoById(userNormConfig.PlanId);
            var lotteryInfo = _lotteryQueryService.GetLotteryInfoById(lotteryId);
            var judgeResult = JudgePredictDataResultFatory.CreateJudgePredictDataResult(planInfo.PredictCode);

            return(judgeResult.JudgePredictDataResult(lotteryInfo, startPeriodData, userNormConfig));

            //var planInfo = _planInfoQueryService.GetPlanInfoById(userNormConfig.PlanId);
            //var lotteryData = _lotteryDataQueryService.GetPredictPeriodData(lotteryId, startPeriodData.CurrentPredictPeriod);
            //if (lotteryData == null)
            //{
            //    return PredictedResult.Running;
            //}
            //var lotteryNumber = new LotteryNumber(lotteryData);
            //var normPlanInfo = _planInfoQueryService.GetPlanInfoById(userNormConfig.PlanId);
            //if (planInfo.PlanPosition == PlanPosition.Single)
            //{
            //    var postion = planInfo.PositionInfos.First().Position;

            //    var lotteryNumberData = GetLotteryNumberData(lotteryNumber, postion, normPlanInfo); //lotteryNumber[postion];
            //    bool isRight;
            //    if (normPlanInfo.PredictCode == PredictCodeDefinition.NumCode)
            //    {
            //        var numPredictData = startPeriodData.PredictedData.Split(',').Select(p => Convert.ToInt32(p));
            //        var numLotteryNum = Convert.ToInt32(lotteryNumberData);
            //        if (normPlanInfo.DsType == PredictType.Fix)
            //        {
            //            isRight = numPredictData.Contains(numLotteryNum);
            //        }
            //        else
            //        {
            //            isRight = !numPredictData.Contains(numLotteryNum);
            //        }
            //    }
            //    else
            //    {
            //        if (normPlanInfo.DsType == PredictType.Fix)
            //        {
            //            isRight = startPeriodData.PredictedData
            //                .Contains(lotteryNumberData.ToString());
            //        }
            //        else
            //        {
            //            isRight = !startPeriodData.PredictedData
            //                .Contains(lotteryNumberData.ToString());
            //        }
            //    }
            //    if (isRight) //:todo bug
            //    {
            //        return PredictedResult.Right;
            //    }
            //    else
            //    {
            //        if (startPeriodData.CurrentPredictPeriod >= startPeriodData.EndPeriod)
            //        {
            //            return PredictedResult.Error;
            //        }
            //        return PredictedResult.Running;
            //    }
            //}
            //else if (planInfo.PlanPosition == PlanPosition.Multiple)
            //{
            //    #region 不定位预测结果判定正错

            //    var positions = planInfo.PositionInfos.Select(p => p.Position).ToArray();
            //    var lotteryNumbers = new List<object>(); // lotteryNumber.GetLotteryNumbers(positions);
            //    foreach (var position in positions)
            //    {
            //        lotteryNumbers.Add(GetLotteryNumberData(lotteryNumber, position, normPlanInfo));
            //    }
            //    if (normPlanInfo.PredictCode == PredictCodeDefinition.NumCode)
            //    {
            //        var predictNumber = startPeriodData.PredictedData.Split(',').Select(p => Convert.ToInt32(p))
            //            .ToArray();
            //        if (planInfo.DsType == PredictType.Fix)
            //        {
            //            if (lotteryNumbers.Any(p => predictNumber.Contains(Convert.ToInt32(p))))
            //            {
            //                return PredictedResult.Right;
            //            }
            //            else if (startPeriodData.CurrentPredictPeriod >= startPeriodData.EndPeriod)
            //            {
            //                return PredictedResult.Error;
            //            }
            //            return PredictedResult.Running;
            //        }
            //        else
            //        {
            //            if (!lotteryNumbers.Any(p => predictNumber.Contains(Convert.ToInt32(p))))
            //            {
            //                return PredictedResult.Right;
            //            }
            //            else if (startPeriodData.CurrentPredictPeriod >= startPeriodData.EndPeriod)
            //            {
            //                return PredictedResult.Error;
            //            }
            //            return PredictedResult.Running;
            //        }
            //    }
            //    else
            //    {
            //        var predictNumber = startPeriodData.PredictedData.Split(',').Select(p => p)
            //            .ToArray();
            //        if (planInfo.DsType == PredictType.Fix)
            //        {
            //            if (lotteryNumbers.Any(p => predictNumber.Contains(p)))
            //            {
            //                return PredictedResult.Right;
            //            }
            //            else if (startPeriodData.CurrentPredictPeriod >= startPeriodData.EndPeriod)
            //            {
            //                return PredictedResult.Error;
            //            }
            //            return PredictedResult.Running;
            //        }
            //        else
            //        {
            //            if (!lotteryNumbers.Any(p => predictNumber.Contains(p)))
            //            {
            //                return PredictedResult.Right;
            //            }
            //            else if (startPeriodData.CurrentPredictPeriod >= startPeriodData.EndPeriod)
            //            {
            //                return PredictedResult.Error;
            //            }
            //            return PredictedResult.Running;
            //        }
            //    }

            //    #endregion 不定位预测结果判定正错
            //}
            //else
            //{
            //    var rank = planInfo.PositionInfos.First().Position;
            //    var lotteryNumberData = lotteryNumber.GetRankNumber(rank);
            //    if (startPeriodData.PredictedData.Contains(lotteryNumberData.ToString()))
            //    {
            //        if (planInfo.DsType == PredictType.Fix)
            //        {
            //            return PredictedResult.Right;
            //        }
            //        else if (startPeriodData.CurrentPredictPeriod >= startPeriodData.EndPeriod)
            //        {
            //            return PredictedResult.Error;
            //        }
            //        return PredictedResult.Running;
            //    }
            //    else
            //    {
            //        if (planInfo.DsType == PredictType.Kill)
            //        {
            //            return PredictedResult.Right;
            //        }
            //        else if (startPeriodData.CurrentPredictPeriod >= startPeriodData.EndPeriod)
            //        {
            //            return PredictedResult.Error;
            //        }
            //        return PredictedResult.Running;
            //    }
            //}
        }
Exemplo n.º 14
0
 protected override ICollection <string> GetPredictedDataList(PlanInfoDto normPlanInfo, NormConfigDto userNorm)
 {
     if (normPlanInfo.DsType == PredictType.Fix)
     {
         var predictedDataList = _predictedDataRate.OrderByDescending(p => p.Value).Select(p => p.Key.ToString()).ToList();
         var result            = predictedDataList.ToList();
         return(result);
     }
     else
     {
         var predictedDataList = _predictedDataRate.OrderBy(p => p.Value).Select(p => p.Key.ToString()).ToList();
         var result            = predictedDataList;
         return(result);
     }
 }
Exemplo n.º 15
0
        private PredictDataDto PredictAppointedPeroidNormData(string lotteryId, int predictPeriod, NormConfigDto userNorm, bool isSwitchFormula = false)
        {
            var lotteryCount = GetHistoryLotteryCount(userNorm);

            var predictLotteryData = _lotteryDataQueryService.GetPredictPeriodDatas(lotteryId, predictPeriod - 1, lotteryCount);

            var lotteryDataList = new LotteryDataList(predictLotteryData);
            var lotteryEngine   = EngineContext.LotterEngine(lotteryId);
            var normPlanInfo    = _planInfoQueryService.GetPlanInfoById(userNorm.PlanId);

            var predictData = GetPredictData(normPlanInfo, lotteryDataList);

            var    positionInfo  = normPlanInfo.PositionInfos.First();
            var    count         = positionInfo.MaxValue - positionInfo.MinValue + 1;
            string predictedData = String.Empty;
            IDictionary <int, double> predictedDataRate;

            try
            {
                AlgorithmType algorithmType = normPlanInfo.AlgorithmType;
                if (isSwitchFormula)
                {
                    algorithmType = AlgorithmType.Mock;
                }

                try
                {
                    predictedDataRate = lotteryEngine.GetPerdictor(algorithmType)
                                        .Predictor(predictData, count, userNorm.UnitHistoryCount, userNorm.HistoryCount, new Tuple <int, int>(positionInfo.MinValue, positionInfo.MaxValue));
                }
                catch (Exception e)
                {
                    try
                    {
                        algorithmType     = AlgorithmType.Temperature;
                        predictedDataRate = lotteryEngine.GetPerdictor(algorithmType)
                                            .Predictor(predictData, count, userNorm.UnitHistoryCount, userNorm.HistoryCount, new Tuple <int, int>(positionInfo.MinValue, positionInfo.MaxValue));
                    }
                    catch (Exception e2)
                    {
                        algorithmType     = AlgorithmType.Mock;
                        predictedDataRate = lotteryEngine.GetPerdictor(algorithmType)
                                            .Predictor(predictData, count, userNorm.UnitHistoryCount, userNorm.HistoryCount, new Tuple <int, int>(positionInfo.MinValue, positionInfo.MaxValue));
                    }
                }

                var computePredictResult = ComputePredictFatory.CreateComputePredictResult(normPlanInfo.PredictCode, predictedDataRate);

                predictedData = computePredictResult.GetPredictedData(normPlanInfo, userNorm);
                //predictedDataRate != null ?
                //GetPredictedDataByRate(predictedDataRate, normPlanInfo.DsType, userNorm)
                //: GetPredictedDataMock(normPlanInfo, userNorm);
            }
            catch (Exception ex)
            {
                _logger.Error(ex);
                predictedData = GetPredictedDataMock(normPlanInfo, userNorm);
            }
            var predictDataInfo = new PredictDataDto()
            {
                NormConfigId         = userNorm.Id,
                CurrentPredictPeriod = predictPeriod,
                StartPeriod          = predictPeriod,
                EndPeriod            = predictPeriod + userNorm.PlanCycle - 1,
                MinorCycle           = 1,
                PredictedData        = predictedData,
                PredictedResult      = (int)PredictedResult.Running,
                PredictType          = normPlanInfo.DsType,
            };

            return(predictDataInfo);
        }
Exemplo n.º 16
0
        protected override ICollection <string> GetPredictedDataList(PlanInfoDto normPlanInfo, NormConfigDto userNorm)
        {
            var resultVal = new List <string>();

            if (normPlanInfo.DsType == PredictType.Fix)
            {
                var percentRate = _predictedDataRate.OrderByDescending(p => p.Value);
                foreach (var item in percentRate)
                {
                    resultVal.Add(valList[item.Key - 1]);
                }
            }
            else
            {
                var percentRate = _predictedDataRate.OrderBy(p => p.Value);
                foreach (var item in percentRate)
                {
                    resultVal.Add(valList[item.Key - 1]);
                }
            }
            return(resultVal.ToList());
        }
Exemplo n.º 17
0
        protected override ICollection <string> GetPredictedDataList(PlanInfoDto normPlanInfo, NormConfigDto userNorm)
        {
            // var perdictedVal = new List<string>();

            var perdictedVal = zhiHeVal.ToList().Shuffle().ToList();

            return(perdictedVal);
        }
Exemplo n.º 18
0
 protected override ICollection <string> GetPredictedDataList(PlanInfoDto normPlanInfo, NormConfigDto userNorm)
 {
     throw new System.NotImplementedException();
 }
Exemplo n.º 19
0
 public override PredictedResult JudgePredictDataResult(LotteryInfoDto lotteryInfo, PredictDataDto startPeriodData,
                                                        NormConfigDto userNormConfig)
 {
     throw new System.NotImplementedException();
 }
Exemplo n.º 20
0
 public abstract PredictedResult JudgePredictDataResult(LotteryInfoDto lotteryInfo,
                                                        PredictDataDto startPeriodData,
                                                        NormConfigDto userNormConfig);
Exemplo n.º 21
0
 protected abstract ICollection <string> GetPredictedDataList(PlanInfoDto normPlanInfo, NormConfigDto userNorm);
Exemplo n.º 22
0
        protected override ICollection <string> GetPredictedDataList(PlanInfoDto normPlanInfo, NormConfigDto userNorm)
        {
            //var perdictedVal = new List<string>();
            //double singlePercent = 0;
            //double doublePercent = 0;
            //foreach (var item in _predictedDataRate)
            //{
            //    if (item.Key % 2 == 0)
            //    {
            //        doublePercent += item.Value;
            //    }
            //    else
            //    {
            //        singlePercent += item.Value;
            //    }
            //}
            //if (singlePercent > doublePercent)
            //{
            //    perdictedVal.Add(singleVal);
            //    perdictedVal.Add(doubleVal);
            //}
            //else
            //{
            //    perdictedVal.Add(doubleVal);
            //    perdictedVal.Add(singleVal);
            //}
            var perdictedVal = danShuangVal.ToList().Shuffle().ToList();

            return(perdictedVal);
        }
Exemplo n.º 23
0
        protected override ICollection <string> GetPredictedDataList(PlanInfoDto normPlanInfo, NormConfigDto userNorm)
        {
            //double bigPercent = 0;
            //double smallPercent = 0;
            // var perdictedVal = new List<string>();
            //foreach (var item in _predictedDataRate)
            //{
            //    if (_predictedDataRate.Count / 2 > item.Key)
            //    {
            //        bigPercent += item.Value;
            //    }
            //    else
            //    {
            //        smallPercent += item.Value;
            //    }
            //}
            //if (bigPercent > smallPercent)
            //{
            //    perdictedVal.Add(bigVal);
            //    perdictedVal.Add(smallVal);
            //}
            //else
            //{
            //    perdictedVal.Add(smallVal);
            //    perdictedVal.Add(bigVal);
            //}

            var perdictedVal = sizeVal.ToList().Shuffle().ToList();

            return(perdictedVal);
        }
Exemplo n.º 24
0
        protected override ICollection <string> GetPredictedDataList(PlanInfoDto normPlanInfo, NormConfigDto userNorm)
        {
            var positionInfo = normPlanInfo.PositionInfos.First();

            var valArr = PredictVals(positionInfo.Position, normPlanInfo.DsType);

            return(valArr.ToList());
        }
Exemplo n.º 25
0
 private IEnumerable <PredictDataDto> PredictNormData(LotteryInfoDto lotteryInfo, NormConfigDto userNorm, int predictPeroid, bool isSwitchFormula = false)
 {
     return(_lotteryPredictDataService.PredictNormData(lotteryInfo.Id, userNorm, predictPeroid, lotteryInfo.LotteryCode, isSwitchFormula));
 }
Exemplo n.º 26
0
        private bool NeedNewPredictData(int period, int startPredict, string lotteryId, NormConfigDto userNormConfig, ref Dictionary <int, PredictDataDto> predictDataResults, string lotteryCode)
        {
            var            normPlanInfo    = _planInfoQueryService.GetPlanInfoById(userNormConfig.PlanId);
            PredictDataDto startPeriodData = null;

            if (!predictDataResults.Safe().Any())
            {
                startPeriodData = _lotteryPredictDataQueryService.GetPredictDataByStartPeriod(startPredict, userNormConfig.Id, normPlanInfo.PlanNormTable, lotteryCode);
                if (startPeriodData == null)
                {
                    return(true);
                }

                var predictedResult = JudgePredictDataResult(lotteryId, startPeriodData, userNormConfig);

                if (predictedResult == PredictedResult.Right)
                {
                    startPeriodData.EndPeriod       = period;
                    startPeriodData.PredictedResult = (int)PredictedResult.Right;
                    predictDataResults.Add(startPredict, startPeriodData);
                    return(true);
                }
                else if (predictedResult == PredictedResult.Error)
                {
                    startPeriodData.EndPeriod       = period;
                    startPeriodData.PredictedResult = (int)PredictedResult.Error;
                    predictDataResults.Add(startPredict, startPeriodData);
                    return(true);
                }
                else
                {
                    startPeriodData.CurrentPredictPeriod += 1;
                    startPeriodData.MinorCycle            = startPeriodData.MinorCycle + 1;
                    startPeriodData.PredictedResult       = (int)PredictedResult.Running;
                    predictDataResults.Add(startPredict, startPeriodData);
                    return(false);
                }
            }
            else
            {
                startPeriodData = predictDataResults[startPredict];
                var predictedResult = JudgePredictDataResult(lotteryId, startPeriodData, userNormConfig);
                if (predictedResult == PredictedResult.Right)
                {
                    startPeriodData.EndPeriod       = period;
                    startPeriodData.PredictedResult = (int)PredictedResult.Right;

                    return(true);
                }
                else if (predictedResult == PredictedResult.Error)
                {
                    startPeriodData.EndPeriod       = period;
                    startPeriodData.PredictedResult = (int)PredictedResult.Error;

                    return(true);
                }
                else
                {
                    startPeriodData.MinorCycle            = startPeriodData.MinorCycle + 1;
                    startPeriodData.CurrentPredictPeriod += 1;
                    startPeriodData.PredictedResult       = (int)PredictedResult.Running;

                    return(false);
                }
            }
        }