Example #1
0
        /// <summary>查询单个服务器的充值信息集合</summary>
        /// <param name="server">服务器</param>
        /// <param name="plist">充值集合</param>
        /// <param name="platform">平台名称</param>
        /// <returns></returns>
        private IEnumerable <TotalRecordPay> GetPayList(tgm_server server, IEnumerable <tgm_record_pay> plist, string platform)
        {
            var paylist = new List <TotalRecordPay>();

            SN = server.name;
            tg_user_login_log.SetDbConnName(db_connection);
            var loglist = tg_user_login_log.FindAll().ToList();

            if (loglist.Count == 0)
            {
                return(paylist);
            }
            var players = plist.Where(m => m.sid == server.id).ToList();

            foreach (var l in loglist)
            {
                var ps = players.Where(m => m.player_id == l.user_id).ToList();
                if (ps.Count > 0)
                {
                    var pls      = ps.OrderByDescending(m => m.createtime).ToList();
                    var count    = ps.Count;
                    var paytotal = ps.Select(m => m.money).Sum();
                    var paytime  = pls[0].createtime;
                    var record   = ToEntity.ToTotalRecordPay(count, platform, server.name, paytotal, l.logout_time,
                                                             pls[0].player_name, paytime);
                    paylist.Add(record);
                }
            }
            return(paylist);
        }
Example #2
0
        /// <summary>Server 实体转换</summary>
        public static Server ToServer(tgm_server model)
        {
            var server = new Server
            {
                id             = model.id,
                pid            = model.pid,
                ip             = model.ip,
                name           = model.name,
                port_policy    = model.port_policy,
                port_server    = model.port_server,
                connect_string = model.connect_string,
                createtime     = model.createtime,
                platform_name  = model.Platform.name,
                tg_pay         = model.tg_pay,
                tg_route       = model.tg_route,
                game_domain    = model.game_domain,
                game_pay       = model.game_pay,
                server_open    = Convert.ToDateTime(model.server_open).ToString("yyyy-MM-dd HH:mm:ss"),
                test_url       = model.test_url,
                server_state   = model.server_state,
            };

            switch (model.server_state)
            {
            case (int)ServerOpenState.未启服: server.state_name = "未启服"; break;

            case (int)ServerOpenState.停服: server.state_name = "停服"; break;

            case (int)ServerOpenState.测试: server.state_name = "测试"; break;

            case (int)ServerOpenState.启服: server.state_name = "启服"; break;
            }
            return(server);
        }
Example #3
0
        private void SingleServerKeep(tgm_server model)
        {
            try
            {
                DisplayGlobal.log.Write("游戏服务器留存数据统计中...");
                var tg_connect = DBConnect.GetName(model);
                tgm_record_keep.SetDbConnName(DBConnect.GetName(null));
                var keep = tgm_record_keep.sp_user_keep(tg_connect, model.createtime);
                if (keep == null)
                {
                    DisplayGlobal.log.Write("留存统计作业失败");
                    return;
                }

                var entity = tgm_record_keep.GetFindEntityBySid(model.id);
                if (entity == null)
                {
                    entity = new tgm_record_keep
                    {
                        sid         = model.id,
                        pid         = model.pid,
                        server_name = model.name,
                    };
                }
                keep.id          = entity.id;
                keep.sid         = entity.sid;
                keep.pid         = entity.pid;
                keep.server_name = entity.server_name;

                keep.Save();
            }
            catch (Exception)
            {
                DisplayGlobal.log.Write("单服作业失败");
            }
        }
Example #4
0
        /// <summary>单服作业</summary>
        /// <param name="model"></param>
        private static void GetSingleServer(tgm_server model)
        {
            try
            {
                report_day.SetDbConnName(DBConnect.GetName(model));
                var tgg = report_day.GetFindByTime();
                if (tgg == null)
                {
                    tgg = new report_day();
                }

                tgm_record_pay.SetDbConnName(DBConnect.GetName(null));
                var pay = tgm_record_hours.Proc_sp_pay(model.id);
                if (pay == null)
                {
                    pay = new tgm_record_hours();
                }


                tgm_record_hours.SetDbConnName(DBConnect.GetName(null));
                var entity = tgm_record_hours.GetFindBySidTime(model.id);
                if (entity == null)
                {
                    entity = new tgm_record_hours();
                }

                entity.pid            = model.pid;
                entity.sid            = model.id;
                entity.server_name    = model.name;
                entity.offline        = tgg.offline;
                entity.online         = tgg.online;
                entity.history_online = tgg.history_online;
                entity.register       = tgg.register;
                entity.register_total = tgg.register_total;
                entity.taday_login    = tgg.taday_login;
                entity.taday_online   = tgg.taday_online;
                entity.pay_count      = pay.pay_count;
                entity.pay_number     = pay.pay_number;
                entity.pay_taday      = pay.pay_taday;
                entity.pay_total      = pay.pay_total;
                entity.pay_month      = pay.pay_month;
                entity.createtime     = DateTime.Now.Ticks;

                entity.Save();

                tgm_record_day.SetDbConnName(DBConnect.GetName(null));
                var r_day = tgm_record_day.GetFindBySidTime(entity.sid);
                //是否没有数据
                if (r_day == null)
                {
                    r_day = new tgm_record_day();
                }
                r_day.pid            = entity.pid;
                r_day.sid            = entity.sid;
                r_day.server_name    = entity.server_name;
                r_day.offline        = entity.offline;
                r_day.online         = entity.online;
                r_day.history_online = entity.history_online;
                r_day.register       = entity.register;
                r_day.register_total = entity.register_total;
                r_day.taday_login    = entity.taday_login;
                r_day.taday_online   = entity.taday_online;
                r_day.pay_count      = entity.pay_count;
                r_day.pay_number     = entity.pay_number;
                r_day.pay_taday      = entity.pay_taday;
                r_day.pay_total      = entity.pay_total;
                r_day.pay_month      = entity.pay_month;
                r_day.createtime     = DateTime.Now.Ticks;
                r_day.Save();

                tgm_record_server.SetDbConnName(DBConnect.GetName(null));
                var server = tgm_record_server.GetFindBySid(model.id);
                if (server == null)
                {
                    server = new tgm_record_server();
                }
                server.pid            = entity.pid;
                server.sid            = entity.sid;
                server.server_name    = entity.server_name;
                server.offline        = entity.offline;
                server.online         = entity.online;
                server.history_online = entity.history_online;
                server.register       = entity.register;
                server.register_total = entity.register_total;
                server.taday_login    = entity.taday_login;
                server.taday_online   = entity.taday_online;
                server.pay_count      = entity.pay_count;
                server.pay_number     = entity.pay_number;
                server.pay_taday      = entity.pay_taday;
                server.pay_total      = entity.pay_total;
                server.pay_month      = entity.pay_month;
                server.createtime     = model.createtime;
                server.Save();
            }
            catch (Exception)
            {
                XTrace.WriteLine("单服作业失败");
            }
        }
Example #5
0
        /// <summary>统计每日身份,等级信息</summary>
        private void SingleServerIdentityAndLevel(tgm_server model)
        {
            try
            {
                DisplayGlobal.log.Write("游戏服务器身份信息统计数据中...");
                report_identity_day.SetDbConnName(DBConnect.GetName(model));
                var identity = report_identity_day.GetFindByTime();

                if (identity == null)
                {
                    identity = new report_identity_day();
                }
                else
                {
                    identity.identity1_count = 0;
                    identity.identity2_count = 0;
                    identity.identity3_count = 0;
                    identity.identity4_count = 0;
                    identity.identity5_count = 0;
                    identity.identity6_count = 0;
                    identity.identity7_count = 0;
                }

                report_level_day.SetDbConnName(DBConnect.GetName(model));
                var levelRecord = report_level_day.GetFindByTime();
                if (levelRecord == null)
                {
                    levelRecord = new report_level_day();
                }
                else
                {
                    levelRecord.stage1_count = 0;
                    levelRecord.stage2_count = 0;
                    levelRecord.stage3_count = 0;
                    levelRecord.stage4_count = 0;
                    levelRecord.stage5_count = 0;
                    levelRecord.stage6_count = 0;
                    levelRecord.stage7_count = 0;
                    levelRecord.stage8_count = 0;
                }

                tg_role.SetDbConnName(DBConnect.GetName(model));
                var list = tg_role.GetAllMainRoles().ToList();
                if (!list.Any())
                {
                    return;
                }

                var count = list.Count;
                foreach (var item in list)
                {
                    var stage = FixedResources.BASE_IDENTITY.FirstOrDefault(m => m.id == item.role_identity);
                    if (stage == null)
                    {
                        continue;
                    }

                    switch (stage.value)
                    {
                    case 1: identity.identity1_count++; break;

                    case 2: identity.identity2_count++; break;

                    case 3: identity.identity3_count++; break;

                    case 4: identity.identity4_count++; break;

                    case 5: identity.identity5_count++; break;

                    case 6: identity.identity6_count++; break;

                    case 7: identity.identity7_count++; break;
                    }
                    var level = item.role_level;
                    if (level >= 1 && level <= 20)
                    {
                        levelRecord.stage1_count++;
                    }
                    if (level >= 21 && level <= 30)
                    {
                        levelRecord.stage2_count++;
                    }
                    if (level >= 31 && level <= 35)
                    {
                        levelRecord.stage3_count++;
                    }
                    if (level >= 36 && level <= 40)
                    {
                        levelRecord.stage4_count++;
                    }
                    if (level >= 41 && level <= 45)
                    {
                        levelRecord.stage5_count++;
                    }
                    if (level >= 46 && level <= 50)
                    {
                        levelRecord.stage6_count++;
                    }
                    if (level >= 51 && level <= 55)
                    {
                        levelRecord.stage7_count++;
                    }
                    if (level >= 56)
                    {
                        levelRecord.stage8_count++;
                    }
                }
                identity.createtime = DateTime.Now.Ticks;
                identity.Save();

                levelRecord.total_count = count;
                levelRecord.createtime  = DateTime.Now.Ticks;
                levelRecord.Save();
            }
            catch (Exception ex)
            {
                DisplayGlobal.log.Write("单服作业失败");
            }
        }
Example #6
0
        private void SingleServer(tgm_server model)
        {
            try
            {
                DisplayGlobal.log.Write("游戏服务器数据统计中...");
                report_day.SetDbConnName(DBConnect.GetName(model));
                var tgg = report_day.GetFindByTime();
                if (tgg == null)
                {
                    tgg = new report_day();
                }

                tgm_record_pay.SetDbConnName(DBConnect.GetName(null));
                var pay = tgm_record_hours.Proc_sp_pay(model.id);
                if (pay == null)
                {
                    pay = new tgm_record_hours();
                }

                tg_log_operate.SetDbConnName(DBConnect.GetName(model));
                var cost_gold = tg_log_operate.GetTodayCost((int)GoodsType.TYPE_GOLD, (int)LogType.Use);
                if (cost_gold == null)
                {
                    cost_gold = 0;
                }


                tgm_record_hours.SetDbConnName(DBConnect.GetName(null));
                var entity = tgm_record_hours.GetFindBySidTime(model.id);
                if (entity == null)
                {
                    entity = new tgm_record_hours();
                }

                entity.pid            = model.pid;
                entity.sid            = model.id;
                entity.server_name    = model.name;
                entity.offline        = tgg.offline;
                entity.online         = tgg.online;
                entity.history_online = tgg.history_online;
                entity.register       = tgg.register;
                entity.register_total = tgg.register_total;
                entity.taday_login    = tgg.taday_login;
                entity.taday_online   = tgg.taday_online;
                entity.pay_count      = pay.pay_count;
                entity.pay_number     = pay.pay_number;
                entity.pay_taday      = pay.pay_taday;
                entity.pay_total      = pay.pay_total;
                entity.pay_month      = pay.pay_month;
                entity.createtime     = DateTime.Now.Ticks;
                entity.taday_cost     = cost_gold;
                entity.Save();

                tgm_record_day.SetDbConnName(DBConnect.GetName(null));
                var r_day = tgm_record_day.GetFindBySidTime(entity.sid);
                //是否没有数据
                if (r_day == null)
                {
                    r_day = new tgm_record_day();
                }
                r_day.pid            = entity.pid;
                r_day.sid            = entity.sid;
                r_day.server_name    = entity.server_name;
                r_day.offline        = entity.offline;
                r_day.online         = entity.online;
                r_day.history_online = entity.history_online;
                r_day.register       = entity.register;
                r_day.register_total = entity.register_total;
                r_day.taday_login    = entity.taday_login;
                r_day.taday_online   = entity.taday_online;
                r_day.pay_count      = entity.pay_count;
                r_day.pay_number     = entity.pay_number;
                r_day.pay_taday      = entity.pay_taday;
                r_day.pay_total      = entity.pay_total;
                r_day.pay_month      = entity.pay_month;
                r_day.createtime     = DateTime.Now.Ticks;
                r_day.taday_cost     = cost_gold;
                r_day.Save();

                tgm_record_server.SetDbConnName(DBConnect.GetName(null));
                var server = tgm_record_server.GetFindBySid(model.id);
                if (server == null)
                {
                    server = new tgm_record_server();
                }
                server.pid            = entity.pid;
                server.sid            = entity.sid;
                server.server_name    = entity.server_name;
                server.offline        = entity.offline;
                server.online         = entity.online;
                server.history_online = entity.history_online;
                server.register       = entity.register;
                server.register_total = entity.register_total;
                server.taday_login    = entity.taday_login;
                server.taday_online   = entity.taday_online;
                server.pay_count      = entity.pay_count;
                server.pay_number     = entity.pay_number;
                server.pay_taday      = entity.pay_taday;
                server.pay_total      = entity.pay_total;
                server.pay_month      = entity.pay_month;
                server.createtime     = model.createtime;
                server.taday_cost     = cost_gold;
                server.Save();
            }
            catch (Exception)
            {
                DisplayGlobal.log.Write("单服作业失败");
            }
        }