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 NormPlanDefaultConfigOutput NormPlanConfig(string planId = null)
        {
            var         lotterInfo  = _lotteryQueryService.GetLotteryInfoById(_lotterySession.SystemTypeId);
            var         predictCode = string.Empty;
            PlanInfoDto planInfo    = null;

            if (!planId.IsNullOrEmpty())
            {
                planInfo    = _planInfoQueryService.GetPlanInfoById(planId);
                predictCode = planInfo.PredictCode;
            }
            _cacheManager.RemoveByPattern("Lottery.PlanTrack");
            var normPlanDefaultConfig = _normPlanConfigQueryService.GetNormPlanDefaultConfig(lotterInfo.LotteryCode, predictCode);
            var output = new NormPlanDefaultConfigOutput();

            if (planInfo != null && planInfo.PredictCode == PredictCodeDefinition.RxNumCode)
            {
                var rxCount = Convert.ToInt32(planInfo.PlanCode.Substring(planInfo.PlanCode.Length - 1));

                output.ForecastCounts = GetOutputCounts(rxCount, rxCount);
            }
            else
            {
                output.ForecastCounts = GetOutputCounts(normPlanDefaultConfig.MinForecastCount, normPlanDefaultConfig.MaxForecastCount);
            }

            output.PlanCycles = GetOutputCounts(normPlanDefaultConfig.MinPlanCycle, normPlanDefaultConfig.MaxPlanCycle);
            return(output);
        }
Exemplo n.º 3
0
        public IList <PredictDataDto> UpdateLotteryDataList(string lotteryId, string userId)
        {
            var lotteryInfo      = _lotteryQueryService.GetLotteryInfoByCode(lotteryId);
            var finalLotteryData = _lotteryFinalDataQueryService.GetFinalData(lotteryId);
            var predictPeroid    = finalLotteryData.FinalPeriod + 1;
            var predictDatas     = new List <PredictDataDto>();
            var random           = new Random(unchecked ((int)DateTime.Now.Ticks));
            var userNorms        = _normConfigQueryService.GetUserOrDefaultNormConfigs(lotteryId, userId);

            foreach (var userNorm in userNorms)
            {
                var planInfo = _planInfoQueryService.GetPlanInfoById(userNorm.PlanId);
                _predictService.DeleteHistoryPredictDatas(planInfo.LotteryInfo.LotteryCode, planInfo.PlanNormTable, userNorm.LookupPeriodCount, userNorm.PlanCycle);
                Thread.Sleep(200);
                userNorm.HistoryCount     = random.Next(1, 10) * userNorm.HistoryCount;
                userNorm.UnitHistoryCount = random.Next(1, 10) * userNorm.UnitHistoryCount;
                predictDatas.AddRange(PredictNormData(lotteryInfo, userNorm, predictPeroid));
            }
            return(predictDatas);
        }
Exemplo n.º 4
0
 public UserPlanNormOutput GetUserNormConfigByPlanId(string userId, string lotteryId, string planId)
 {
     try
     {
         var userplanNorm = _normConfigQueryService.GetUserNormConfigByPlanId(userId, lotteryId, planId);
         if (userplanNorm == null)
         {
             var userDefaultConfig = _normDefaultConfigService.GetUserNormOrDefaultConfig(userId, lotteryId);
             userplanNorm           = AutoMapper.Mapper.Map <UserPlanNormOutput>(userDefaultConfig);
             userplanNorm.LotteryId = lotteryId;
         }
         var plan = _planInfoQueryService.GetPlanInfoById(planId);
         if (plan.PredictCode == PredictCodeDefinition.NumCode)
         {
             SetSelectedLotteryNumbers(userplanNorm.LotteryId, userplanNorm);
         }
         return(userplanNorm);
     }
     catch (Exception ex)
     {
         throw new LotteryDataException("获取公式指标配置异常");
     }
 }
Exemplo n.º 5
0
 public PlanInfoDto GetPlanInfoById(string planId)
 {
     return(_planInfoQueryService.GetPlanInfoById(planId));
 }
Exemplo n.º 6
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);
                }
            }
        }