Exemplo n.º 1
0
        private static List <string> GetRedisList(C_Sports_Order_Running order, int max)
        {
            CSRedis.CSRedisClient db = null;
            string key      = string.Empty;
            string gameCode = order.GameCode.ToUpper();

            if (gameCode == "CTZQ" || gameCode == "OZB" || gameCode == "SJB")
            {
                key = string.Format("{0}_{1}_{2}_{3}", order.GameCode, order.GameType, RedisKeys.Key_Running_Order_List, order.IssuseNumber);
                db  = RedisHelperEx.DB_Running_Order_CTZQ;
            }
            else if (new string[] { "SSQ", "DLT", "FC3D", "PL3" }.Contains(gameCode))
            {
                key = string.Format("{0}_{1}_{2}", order.GameCode, RedisKeys.Key_Running_Order_List, order.IssuseNumber);
                db  = RedisHelperEx.DB_Running_Order_SCZ_DP;
            }
            if (new string[] { "CQSSC", "JX11X5", "SD11X5", "GD11X5", "GDKLSF", "JSKS", "SDKLPK3" }.Contains(gameCode))
            {
                key = string.Format("{0}_{1}_{2}", order.GameCode, RedisKeys.Key_Running_Order_List, order.IssuseNumber);
                db  = RedisHelperEx.DB_Running_Order_SCZ_GP;
            }
            if (gameCode == "BJDC")
            {
                key = string.Format("{0}_{1}_{2}", "BJDC", RedisKeys.Key_Running_Order_List, order.IssuseNumber);
                db  = RedisHelperEx.DB_Running_Order_BJDC;
            }
            if (gameCode == "JCZQ" || gameCode == "JCLQ")
            {
                var fullKeyNew = string.Format("{0}_{1}", gameCode, RedisKeys.Key_Running_Order_List);
                db = RedisHelperEx.DB_Running_Order_JC;
            }
            if (db != null && !string.IsNullOrEmpty(key))
            {
                var orderInfoList = new List <string>();
                if (gameCode == "JCZQ" || gameCode == "JCLQ")
                {
                    for (int i = 0; i < max; i++)
                    {
                        var fullKey = $"{key}_{i}";
                        var list    = db.LRange(fullKey, 0, -1);
                        if (list.Length > 0)
                        {
                            orderInfoList.AddRange(list);
                        }
                    }
                    return(orderInfoList);
                }
                else
                {
                    var list = db.LRange(key, 0, -1);
                    orderInfoList.AddRange(list);
                    return(orderInfoList);
                }
            }
            return(null);
        }
Exemplo n.º 2
0
        public C_Sports_Order_Running AddRunningOrderAndOrderDetail(string schemeId, SchemeBettingCategory category,
                                                                    string gameCode, string gameType, string playType, bool stopAfterBonus,
                                                                    string issuseNumber, int amount, int betCount, int totalMatchCount, decimal totalMoney, DateTime stopTime,
                                                                    SchemeSource schemeSource, TogetherSchemeSecurity security, SchemeType schemeType, bool canChase, bool isVirtualOrder,
                                                                    string userId, string userAgent, DateTime betTime, ActivityType activityType, string attach, bool isAppend, decimal redBagMoney, ProgressStatus progressStatus, TicketStatus ticketStatus)
        {
            //if (DateTime.Now >= stopTime)
            if (betTime >= stopTime)
            {
                throw new LogicException(string.Format("订单结束时间是{0},订单不能投注。", stopTime.ToString("yyyy-MM-dd HH:mm")));
            }
            var sportsManager = new Sports_Manager();

            if (new string[] { "JCZQ", "JCLQ" }.Contains(gameCode))
            {
                issuseNumber = DateTime.Now.ToString("yyyy-MM-dd");
            }

            DateTime?ticketTime = null;

            if (ticketStatus == TicketStatus.Ticketed)
            {
                ticketTime = DateTime.Now;
            }
            DateTime createtime = DateTime.Now;

            if (betTime != null && betTime.ToString() != "0001/1/1 0:00:00")
            {
                createtime = betTime;
            }
            else
            {
                betTime = DateTime.Now;
            }
            betTime = createtime;
            var order = new C_Sports_Order_Running
            {
                AfterTaxBonusMoney    = 0M,
                AgentId               = userAgent,
                Amount                = amount,
                BonusStatus           = (int)BonusStatus.Waitting,
                CanChase              = canChase,
                IsVirtualOrder        = isVirtualOrder,
                IsPayRebate           = false,
                RealPayRebateMoney    = 0M,
                TotalPayRebateMoney   = 0M,
                CreateTime            = createtime,
                GameCode              = gameCode,
                GameType              = gameType,
                IssuseNumber          = issuseNumber,
                PlayType              = playType,
                PreTaxBonusMoney      = 0M,
                ProgressStatus        = (int)progressStatus,
                SchemeId              = schemeId,
                SchemeType            = (int)schemeType,
                SchemeBettingCategory = (int)category,
                TicketId              = string.Empty,
                TicketLog             = string.Empty,
                TicketStatus          = (int)ticketStatus,
                TotalMatchCount       = totalMatchCount,
                TotalMoney            = totalMoney,
                SuccessMoney          = totalMoney,
                UserId                = userId,
                StopTime              = stopTime,
                SchemeSource          = (int)schemeSource,
                BetCount              = betCount,
                BonusCount            = 0,
                HitMatchCount         = 0,
                RightCount            = 0,
                Error1Count           = 0,
                Error2Count           = 0,
                MaxBonusMoney         = 0,
                MinBonusMoney         = 0,
                Security              = (int)security,
                TicketGateway         = string.Empty,
                TicketProgress        = 1M,
                BetTime               = betTime,
                ExtensionOne          = string.Format("{0}{1}", "3X1_", (int)activityType),
                Attach                = string.IsNullOrEmpty(attach) ? string.Empty : attach.ToUpper(),
                QueryTicketStopTime   = stopTime.AddMinutes(1).ToString("yyyyMMddHHmm"),
                IsAppend              = isAppend,
                RedBagMoney           = redBagMoney,
                IsSplitTickets        = ticketStatus == TicketStatus.Ticketed,
                TicketTime            = ticketTime,
            };

            sportsManager.AddSports_Order_Running(order);

            //订单总表信息
            var orderDetail = new C_OrderDetail
            {
                AfterTaxBonusMoney = 0M,
                AgentId            = userAgent,
                BonusStatus        = (int)BonusStatus.Waitting,
                //  ComplateTime = null,
                CreateTime            = createtime,
                CurrentBettingMoney   = ticketStatus == TicketStatus.Ticketed ? totalMoney : 0M,
                GameCode              = gameCode,
                GameType              = gameType,
                GameTypeName          = BettingHelper.FormatGameType(gameCode, gameType),
                PreTaxBonusMoney      = 0M,
                ProgressStatus        = (int)progressStatus,
                SchemeId              = schemeId,
                SchemeSource          = (int)schemeSource,
                SchemeType            = (int)schemeType,
                SchemeBettingCategory = (int)category,
                StartIssuseNumber     = issuseNumber,
                StopAfterBonus        = stopAfterBonus,
                TicketStatus          = (int)ticketStatus,
                TotalIssuseCount      = 1,
                TotalMoney            = totalMoney,
                UserId = userId,
                CurrentIssuseNumber = issuseNumber,
                IsVirtualOrder      = isVirtualOrder,
                PlayType            = playType,
                Amount              = amount,
                AddMoney            = 0M,
                BetTime             = betTime,
                IsAppend            = isAppend,
                RedBagMoney         = redBagMoney,
                BonusAwardsMoney    = 0M,
                RealPayRebateMoney  = 0M,
                RedBagAwardsMoney   = 0M,
                TotalPayRebateMoney = 0M,
                TicketTime          = ticketTime,
            };

            new SchemeManager().AddOrderDetail(orderDetail);
            return(order);
        }
Exemplo n.º 3
0
 public void AddSports_Order_Running(C_Sports_Order_Running entity)
 {
     DB.GetDal <C_Sports_Order_Running>().Add(entity);
 }
Exemplo n.º 4
0
 public void DeleteSports_Order_Running(C_Sports_Order_Running entity)
 {
     DB.GetDal <C_Sports_Order_Running>().Delete(entity);
 }