示例#1
0
        //  POST api/System?token={token}&name={name}&pid={pid}&role={role}&pwd={pwd}
        /// <summary>后台账号注册</summary>
        /// /// <param name="token">令牌</param>
        /// <param name="name">注册账号名称</param>
        /// <param name="pid">平台编号</param>
        /// <param name="role">注册角色</param>
        /// <param name="pwd">注册密码</param>
        /// <returns>处理结果信息</returns>
        public User PostRegister(String token, String name, Int32 pid, Int32 role, String pwd)
        {
            if (!IsToken(token))
            {
                return(new User()
                {
                    result = -1, message = "令牌不存在"
                });
            }

            tgm_role.SetDbConnName(tgm_connection);
            var entity = tgm_role.GetFindEntity(name);

            if (entity != null)
            {
                return(new User()
                {
                    result = -1, message = "账户已存在"
                });
            }

            entity = tgm_role.Register(name, pid, role, pwd);
            var user = ToEntity.ToUser(entity);

            user.result = 1;
            return(user);
        }
示例#2
0
        public void AddAdminUser(string email, string username, string password)
        {
            try
            {
                using (IUnitOfWork unitOfWork = _context.CreateUnitOfWork())
                {
                    var user = new User();
                    user.Email    = email;
                    user.Username = username;
                    user.SetPassword(password);
                    user.IsAdmin     = true;
                    user.IsEditor    = true;
                    user.IsActivated = true;

                    var entity = new UserEntity();
                    ToEntity.FromUser(user, entity);

                    unitOfWork.Add(entity);
                    unitOfWork.SaveChanges();
                }
            }
            catch (Exception e)
            {
                throw new DatabaseException(e, "Install failed: unable to create the admin user using '{0}' - {1}", ConnectionString, e.Message);
            }
        }
示例#3
0
        //Post api/Player?token={token}&sid={sid}&rid={rid}
        /// <summary>武将技能信息</summary>
        /// <param name="token">令牌</param>
        /// <param name="sid">服务器sid</param>
        /// <param name="rid">武将主键id</param>
        public RoleSkill PostSkills(String token, Int32 sid, Int64 rid)
        {
            if (!IsToken(token))
            {
                return new RoleSkill()
                       {
                           result = -1, message = "令牌不存在"
                       }
            }
            ;

            var server = tgm_server.FindByid(sid);

            if (server == null)
            {
                return new RoleSkill()
                       {
                           result = -1, message = " 服务器信息不存在"
                       }
            }
            ;
            SN = server.name;

            tg_role_fight_skill.SetDbConnName(db_connection);
            var fskills = tg_role_fight_skill.GetListByRid(rid);

            tg_role_life_skill.SetDbConnName(db_connection);
            var lskills = tg_role_life_skill.GetLifeByRid(rid);

            if (lskills == null)
            {
                return new RoleSkill()
                       {
                           result = -1, message = "武将生活技能信息错误"
                       }
            }
            ;

            var listf = new List <RoleFightSkill>();

            if (fskills.Any())
            {
                foreach (var item in fskills)
                {
                    var message = Helper.FixedResources.BASE_FIGHT_SKILL.FirstOrDefault(m => m.id == item.skill_id);
                    if (message == null)
                    {
                        continue;
                    }
                    var name = message.name;
                    listf.Add(ToEntity.ToRoleFightSkills(item, name));
                }
            }
            var l = ToEntity.ToRoleLifeSkills(lskills);

            return(new RoleSkill()
            {
                result = 1, FightSkill = listf, LifeSkill = l
            });
        }
示例#4
0
        public void fromuser_shouldfillcorrectproperties()
        {
            // Arrange
            User user = new User();

            user.Id            = Guid.NewGuid();
            user.ActivationKey = "key";
            user.Email         = "email";
            user.Firstname     = "firstname";
            user.Id            = Guid.NewGuid();
            user.IsActivated   = true;
            user.IsAdmin       = true;
            user.IsEditor      = true;
            user.Lastname      = "lastname";
            user.SetPassword("pwd");
            user.PasswordResetKey = "resetkey";
            user.Salt             = "salt";

            UserEntity entity = new UserEntity();

            // Act
            ToEntity.FromUser(user, entity);

            // Assert
            Assert.That(entity.Id, Is.Not.EqualTo(user.Id));              // the id isn't copied from the page
            Assert.That(entity.ActivationKey, Is.EqualTo(user.ActivationKey));
            Assert.That(entity.Email, Is.EqualTo(user.Email));
            Assert.That(entity.Firstname, Is.EqualTo(user.Firstname));
            Assert.That(entity.IsActivated, Is.EqualTo(user.IsActivated));
            Assert.That(entity.IsAdmin, Is.EqualTo(user.IsAdmin));
            Assert.That(entity.IsEditor, Is.EqualTo(user.IsEditor));
            Assert.That(entity.Lastname, Is.EqualTo(user.Lastname));
            Assert.That(entity.Password, Is.EqualTo(user.Password));
            Assert.That(entity.Salt, Is.EqualTo(user.Salt));
        }
示例#5
0
        //  POST api/System?token={token}&name={name}&ip={ip}&pid={pid}&port={port}&policy={policy}&connect={connect}&tg_route={tg_route}&tg_pay={tg_pay}&game_domain={game_domain}&game_pay={game_pay}
        /// <summary>新服注册</summary>
        /// /// <param name="token">令牌</param>
        /// <param name="name">注册账号名称</param>
        /// <param name="ip">IP</param>
        /// <param name="pid">所属平台</param>
        /// <param name="port">游戏端口</param>
        /// <param name="policy">策略端口</param>
        /// <param name="connect">数据库连接字符串</param>
        /// <param name="tg_route">游戏访问接口</param>
        /// <param name="tg_pay">支付接口</param>
        /// <param name="game_domain">游戏域名</param>
        /// <param name="game_pay">支付路径</param>
        /// <returns>处理结果信息</returns>
        public Server PostRegisterServer(String token, String name, String ip, Int32 pid, Int32 port, Int32 policy
                                         , String connect, String tg_route, String tg_pay, String game_domain, String game_pay)
        {
            if (!IsToken(token))
            {
                return(new Server()
                {
                    result = -1, message = "令牌不存在"
                });
            }

            tgm_server.SetDbConnName(tgm_connection);
            var isexist = tgm_server.IsExist(name);

            if (isexist)
            {
                return(new Server()
                {
                    result = -1, message = "服务器名称已存在"
                });
            }

            var entity   = tgm_server.Register(pid, name, ip, port, policy, connect, tg_route, tg_pay, game_domain, game_pay);
            var platform = ToEntity.ToServer(entity);

            platform.result = 1;
            return(platform);
        }
示例#6
0
        public void frompage_shouldfillcorrectproperties()
        {
            // Arrange
            Page page = new Page();

            page.Id         = 123;
            page.CreatedBy  = "createdby";
            page.CreatedOn  = DateTime.UtcNow;
            page.IsLocked   = true;
            page.ModifiedBy = "modifiedby";
            page.ModifiedOn = DateTime.UtcNow;
            page.Tags       = "tag1,tag2";
            page.Title      = "title";

            PageEntity entity = new PageEntity();

            // Act
            ToEntity.FromPage(page, entity);

            // Assert
            Assert.That(entity.Id, Is.Not.EqualTo(page.Id));             // the id isn't copied from the page
            Assert.That(entity.CreatedBy, Is.EqualTo(page.CreatedBy));
            Assert.That(entity.CreatedOn, Is.EqualTo(page.CreatedOn));
            Assert.That(entity.IsLocked, Is.EqualTo(page.IsLocked));
            Assert.That(entity.ModifiedBy, Is.EqualTo(page.ModifiedBy));
            Assert.That(entity.ModifiedOn, Is.EqualTo(page.ModifiedOn));
            Assert.That(entity.Tags, Is.EqualTo(page.Tags));
            Assert.That(entity.Title, Is.EqualTo(page.Title));
        }
示例#7
0
        //  POST api/System?name={name}&password={password}
        /// <summary>后台登陆</summary>
        /// <param name="name">用户名称</param>
        /// <param name="password">密码(非加密密码)</param>
        public User PostLogin(string name, string password)
        {
            tgm_role.SetDbConnName(DBConnect.GetName(null));
            var entity = tgm_role.GetFindEntity(name);

            if (entity == null)
            {
                return(new User {
                    result = -1, message = "账号不存在"
                });
            }

            var pwd = CryptoHelper.Decrypt(entity.password, null);

            if (pwd != password)
            {
                return(new User {
                    result = -1, message = "密码错误"
                });
            }

            entity.password = pwd;
            var user = ToEntity.ToUser(entity);

            user.result = 1;

            return(user);
        }
示例#8
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);
        }
示例#9
0
        /// <summary>查询玩家武将信息</summary>
        private List <PlayerRoles> PlayerRoles(Int64 userId, List <PlayerCity> citys)
        {
            var list = new List <PlayerRoles>();

            tg_role.SetDbConnName(db_connection);

            var roles = tg_role.QueryRolesByUserId(userId);

            if (!roles.Any())
            {
                return(list);
            }

            foreach (var item in roles)
            {
                var name = Helper.FixedResources.BASE_ROLE.FirstOrDefault(m => m.id == item.role_id);
                if (name == null)
                {
                    continue;
                }
                var n        = name.name;
                var identity = Helper.FixedResources.BASE_IDENTITY.FirstOrDefault(m => m.id == item.role_identity);
                if (identity == null)
                {
                    continue;
                }
                var i = identity.name;
                list.Add(ToEntity.ToPlayerRoles(item, n, i, name.grade));
            }

            //组装武将其他信息
            var rids = list.Select(m => m.id).ToList();

            tg_war_role.SetDbConnName(db_connection);
            var wroles = tg_war_role.GetWarRolesByIds(rids);

            if (!wroles.Any())
            {
                return(list);
            }
            foreach (var item in list)
            {
                var w = wroles.FirstOrDefault(m => m.rid == item.id);
                if (w == null)
                {
                    continue;
                }
                if (w.station != 0)
                {
                    var c = citys.FirstOrDefault(m => m.baseid == w.station);
                    if (c != null)
                    {
                        item.cityname = c.name;
                    }
                }
                item.war_status = State(w.state);
            }
            return(list);
        }
示例#10
0
        //  POST api/Resource?token={token}&roleid={roleid}
        /// <summary>获取所有平台的资源申请列表</summary>
        /// <param name="token">令牌</param>
        /// <param name="roleid">用户id</param>
        /// <returns></returns>
        public List <Resource> PostResourceList(string token, Int32 roleid)
        {
            if (!IsToken(token))
            {
                return(new List <Resource>());                //{ result = -1, message = "令牌不存在" };   //验证会话
            }
            tgm_role.SetDbConnName(tgm_connection);
            var user = tgm_role.FindByid(roleid);

            if (user == null)
            {
                return(new List <Resource>());
            }
            if (user.role != 10000)
            {
                return(new List <Resource>());
            }
            tgm_resource.SetDbConnName(tgm_connection);
            var list = tgm_resource.FindAll().ToList();

            if (!list.Any())
            {
                return(new List <Resource>());
            }

            var pids = string.Join(",", list.ToList().Select(m => m.pid).ToArray());
            var sids = string.Join(",", list.ToList().Select(m => m.sid).ToArray());

            tgm_platform.SetDbConnName(tgm_connection);
            var plats = tgm_platform.GetEntityName(pids);

            if (!plats.Any())
            {
                return(new List <Resource>());
            }
            tgm_server.SetDbConnName(tgm_connection);
            var servers = tgm_server.GetEntityName(sids);

            if (!servers.Any())
            {
                return(new List <Resource>());
            }

            var lists = list.Select(m => ToEntity.ToResource(m, GetGoodName(m.attachment))).ToList();

            foreach (var item in lists)
            {
                var p = plats.FirstOrDefault(m => m.id == item.pid);
                var s = servers.FirstOrDefault(m => m.id == item.sid);
                item.platform = p == null ? "" : p.name;
                item.server   = s == null ? "" : s.name;
            }
            return(lists);
        }
示例#11
0
        //Post api/Record?token={token}&name={name}&sid={sid}&type={type}&value={value}&index={index}&size={size}
        /// <summary>查询服务器玩家信息</summary>
        /// <param name="token">令牌</param>
        /// <param name="name">用户名</param>
        /// <param name="sid">服务器sid</param>
        /// <param name="type">查询类型</param>
        /// <param name="value">查询值</param>
        /// <param name="index">分页索引值</param>
        /// <param name="size">分页大小</param>
        /// <returns></returns>
        public PageServerPlayer PostPlayer(String token, String name, Int32 sid, Int32 type, String value, Int32 index = 0, Int32 size = 10)
        {
            if (!IsToken(token))
            {
                return new PageServerPlayer()
                       {
                           result = -1, message = "令牌不存在"
                       }
            }
            ;

            tgm_server.SetDbConnName(tgm_connection);
            var server = tgm_server.FindByid(sid);

            if (server == null)
            {
                return new PageServerPlayer()
                       {
                           result = -2, message = "服务器信息不存在"
                       }
            }
            ;

            SN = server.name;
            view_player_detail.SetDbConnName(db_connection);

            int count;
            var entity = view_player_detail.GetPagerEntity(type, value, index, size, out count).ToList();
            var list   = new List <ServerPlayer>();

            foreach (var item in entity)
            {
                var identity = Helper.FixedResources.BASE_IDENTITY.FirstOrDefault(m => m.id == item.role_identity);

                if (identity == null)
                {
                    continue;
                }
                list.Add(ToEntity.ToServerPlayer(item, identity.name));
            }

            var pager = new PagerInfo()
            {
                CurrentPageIndex = index, PageSize = size, RecordCount = count
            };

            return(new PageServerPlayer()
            {
                Pager = pager, Players = list
            });
        }
    }
}
示例#12
0
        /// <summary>查询玩家背包信息</summary>
        private List <PlayerBag> PlayerBags(Int64 userId)
        {
            var list = new List <PlayerBag>();

            tg_bag.SetDbConnName(db_connection);

            var bags = tg_bag.QueryBagByUserId(userId);

            if (!bags.Any())
            {
                return(list);
            }

            foreach (var item in bags)
            {
                switch (item.type)
                {
                case 7:       //装备表
                {
                    var equip = Helper.FixedResources.BASE_EQUIP.FirstOrDefault(m => m.id == item.base_id);
                    if (equip == null)
                    {
                        continue;
                    }
                    list.Add(ToEntity.ToPlayerBag(item, equip.name, equip.useLevel, equip.grade));
                } break;

                case 12:      //熔炼表
                {
                    var fusion = Helper.FixedResources.BASE_FUSION.FirstOrDefault(m => m.id == item.base_id);
                    if (fusion == null)
                    {
                        continue;
                    }
                    list.Add(ToEntity.ToPlayerBag(item, fusion.name, fusion.useLevel, fusion.grade));
                } break;

                default:      //道具表
                {
                    var prop = Helper.FixedResources.BASE_PROP.FirstOrDefault(m => m.id == item.base_id);
                    if (prop == null)
                    {
                        continue;
                    }
                    list.Add(ToEntity.ToPlayerBag(item, prop.name, prop.useLevel, prop.grade));
                }
                break;
                }
            }
            return(list);
        }
示例#13
0
        //  POST api/Message?token={token}&roleid={roleid}&flag={flag}
        /// <summary>查询公告</summary>
        /// <param name="token">令牌</param>
        /// <param name="roleid">玩家id</param>
        /// <param name="flag">标识</param>
        ///// <returns></returns>
        public IEnumerable <Notice> PostFindNotices(string token, Int64 roleid, Boolean flag)
        {
            if (!IsToken(token))
            {
                return(new List <Notice>());                  //验证会话
            }
            if (roleid == 0)
            {
                return(new List <Notice>());
            }

            //设置连接字符串
            tgm_notice.SetDbConnName(tgm_connection);
            var list = tgm_notice.GetEntityList(roleid).ToList();

            if (!list.Any())
            {
                return(new List <Notice>());
            }


            var pids = string.Join(",", list.ToList().Select(m => m.pid).ToArray());
            var sids = string.Join(",", list.ToList().Select(m => m.sid).ToArray());

            tgm_platform.SetDbConnName(tgm_connection);
            var plats = tgm_platform.GetEntityName(pids);

            if (!plats.Any())
            {
                return(new List <Notice>());
            }
            tgm_server.SetDbConnName(tgm_connection);
            var servers = tgm_server.GetEntityName(sids);

            if (!servers.Any())
            {
                return(new List <Notice>());
            }

            var lists = list.Select(item => ToEntity.ToNotice(item)).ToList();

            foreach (var item in lists)
            {
                var p = plats.FirstOrDefault(m => m.id == item.pid);
                var s = servers.FirstOrDefault(m => m.id == item.sid);
                item.platform = p == null ? "" : p.name;
                item.server   = s == null ? "" : s.name;
            }
            return(lists);
        }
示例#14
0
        //  POST api/System?token={token}&sid={sid}&b={b}
        /// <summary>获取服务器</summary>
        /// <param name="token">令牌</param>
        /// <param name="sid">服务器标识</param>
        /// <param name="b">标识</param>
        public Server PostFindServer(String token, Int32 sid, byte b)
        {
            if (!IsToken(token))
            {
                return(new Server()
                {
                    result = -1, message = "令牌不存在"
                });
            }

            tgm_server.SetDbConnName(tgm_connection);
            var entity = tgm_server.FindByid(sid);
            var server = ToEntity.ToServer(entity);

            server.result = 1;
            return(server);
        }
示例#15
0
        //POST api/System?token={token}&pid={pid}&name={name}&b={b}
        /// <summary>获取平台信息</summary>
        /// <param name="token">令牌</param>
        /// <param name="pid">平台id</param>
        /// <param name="name">用户名称</param>
        /// <param name="b">标识</param>
        public Platform PostFindPlatform(String token, Int32 pid, String name, byte b)
        {
            if (!IsToken(token))
            {
                return(new Platform()
                {
                    result = -1, message = "令牌不存在"
                });
            }

            tgm_platform.SetDbConnName(tgm_connection);
            var entity   = tgm_platform.FindByid(pid);
            var platform = ToEntity.ToPlatform(entity);

            platform.result = 1;
            return(platform);
        }
示例#16
0
        /*
         * /// <summary>
         * /// 发送系统邮件
         * /// </summary>
         * /// <param name="token">令牌</param>
         * /// <param name="sn">启服服务器名称</param>
         * /// <param name="data">邮件实体</param>
         * /// <returns></returns>
         * public ResultMessage Email(string token, string sn, [FromBody]string data)
         * {
         * var rm = new ResultMessage();
         * //设置连接字符串
         * tg_messages.SetDbConnName(DBConnect.GameConnect(token, sn));
         * var entity = tg_messages.FromJson(data);
         * if (entity == null)
         * {
         *     rm.message = "参数为空";
         *     return rm;
         * }
         * if (entity.title == "")
         * {
         *     rm.message = "邮件标题为空"; return rm;
         * }
         * if (entity.contents == "")
         * {
         *     rm.message = "邮件内容为空"; return rm;
         * }
         * entity.Save();
         * rm.result = 1;
         * rm.data = entity.ToJson();
         * return rm;
         * }
         */
        /*
         * /// <summary>
         * /// 发送系统公告
         * /// </summary>
         * /// <param name="token">令牌</param>
         * /// <param name="sn">启服服务器名称</param>
         * /// <param name="start">开始时间</param>
         * /// <param name="end">结束时间</param>
         * /// <param name="space">时间间隔</param>
         * /// <param name="content">内容</param>
         * /// <returns></returns>
         * public ResultMessage Notice(string token, string sn, Int64 start, Int64 end, int space, string content)
         * {
         *   var rm = new ResultMessage();
         *
         *   var now = DateTime.Now.Ticks;
         *   if (space <= 0 || end < now || start <= 0)
         *   {
         *       rm.message = "时间设置有误";
         *       return rm;
         *   }
         *   if (content == "")
         *   {
         *       rm.message = "公告内容为空"; return rm;
         *   }
         *   //设置连接字符串
         *   tg_system_notice.SetDbConnName(DBConnect.GameConnect(token, sn));
         *   var entity = new tg_system_notice() { content = content, }; //时间格式不统一,暂不处理
         *   entity.Save();
         *   return rm;
         * }
         */

        /// <summary>发送系统邮件</summary>
        /// <param name="token">令牌</param>
        /// <param name="sn">启服服务器名称</param>
        /// <param name="title">邮件标题</param>
        /// /// <param name="content">邮件内容</param>
        public Email PostEmail(string token, string sn, string title, string content)
        {
            if (!IsToken(token))
            {
                return new Email {
                           result = -1, message = "令牌不存在"
                }
            }
            ;                                                                         //验证会话
            SN = sn;

            //设置连接字符串
            tg_messages.SetDbConnName(db_connection);

            if (string.IsNullOrEmpty(title))
            {
                return(new Email()
                {
                    result = -1, message = "邮件标题为空"
                });
            }
            if (string.IsNullOrEmpty(content))
            {
                return(new Email()
                {
                    result = -1, message = "邮件内容为空"
                });
            }

            var entity = new tg_messages()
            {
                attachment   = "",
                create_time  = DateTime.Now.Ticks,
                type         = 1,
                isread       = 0,
                title        = title,
                contents     = content,
                isattachment = 0,
            };

            entity.Save();
            var email = ToEntity.ToEmail(entity);

            email.result = 1;
            return(email);
        }
示例#17
0
        //  POST api/Resource?token={token}&pid={pid}&sid={sid}&roleid={roleid}&state={state}
        /// <summary>获取所属平台,所属服务器的资源管理列表</summary>
        /// <param name="token">令牌</param>
        /// <param name="pid">平台id</param>
        /// <param name="sid">服务器id</param>
        /// <param name="roleid">用户id</param>
        /// <param name="state">申请状态</param>
        /// <returns></returns>
        public List <Resource> PostResourceByPidAndSid(string token, Int64 pid, Int64 sid, Int32 roleid, int state)
        {
            if (!IsToken(token))
            {
                return(new List <Resource>());                //{ result = -1, message = "令牌不存在" };   //验证会话
            }
            tgm_role.SetDbConnName(tgm_connection);
            var user = tgm_role.FindByid(roleid);

            if (user == null)
            {
                return(new List <Resource>());
            }
            if (user.role != 10000)
            {
                return(new List <Resource>());
            }

            tgm_platform.SetDbConnName(tgm_connection);
            var platform = tgm_platform.FindByid(Convert.ToInt32(pid));

            tgm_server.SetDbConnName(tgm_connection);
            var server = tgm_server.FindByid(Convert.ToInt32(sid));

            if (platform == null || server == null)
            {
                return(new List <Resource>());
            }

            tgm_resource.SetDbConnName(tgm_connection);
            var list = tgm_resource.GetEntityList(pid, sid, state);

            if (list.Any())
            {
                var lists = list.Select(m => ToEntity.ToResource(m, GetGoodName(m.attachment))).ToList();
                foreach (var item in lists)
                {
                    item.platform = platform.name;
                    item.server   = server.name;
                }
                return(lists);
            }
            return(new List <Resource>());
        }
示例#18
0
        //POST api/Goods?token={token}&gid={gid}&b={b}
        /// <summary>获取福利卡单条类型信息</summary>
        /// <param name="token">令牌</param>
        /// <param name="gid">福利卡信息id</param>
        /// <param name="b">标识</param>
        public GoodsType PostFindPlatform(String token, Int32 gid, byte b)
        {
            if (!IsToken(token))
            {
                return new GoodsType()
                       {
                           result = -1, message = "令牌不存在"
                       }
            }
            ;

            tgm_goods_type.SetDbConnName(tgm_connection);
            var entity = tgm_goods_type.FindByid(gid);

            var goodtype = ToEntity.ToGoodsType(entity);

            goodtype.result = 1;
            return(goodtype);
        }
示例#19
0
        /// <summary>
        /// 发送系统公告
        /// </summary>
        /// <param name="token">令牌</param>
        /// <param name="sn">启服服务器名称</param>
        /// <param name="playid">玩id</param>
        /// <param name="sid">服务器主键id</param>
        /// <param name="start">开始时间</param>
        /// <param name="end">结束时间</param>
        /// <param name="space">时间间隔</param>
        /// <param name="content">内容</param>
        /// <param name="pid">平台主键id</param>
        /// <returns></returns>
        public Notice PostNotice(string token, string sn, Int64 playid, Int64 pid, Int64 sid, Int64 start, Int64 end, int space, string content)
        {
            if (!IsToken(token))
            {
                return new Notice {
                           result = -1, message = "令牌不存在"
                }
            }
            ;                                                                            //验证会话
            SN = sn;
            var notice = new Notice();
            var now    = DateTime.Now.Ticks;

            if (Convert.ToInt32(space) <= 0 || end < now || start <= 0)
            {
                return new Notice {
                           result = -1, message = "时间设置有误"
                }
            }
            ;
            //设置连接字符串
            tgm_notice.SetDbConnName(tgm_connection);
            var entity = new tgm_notice()
            {
                //start_time = start,
                //end_time = end,
                //time_interval = space,
                content   = content,
                player_id = playid,
                pid       = pid,
                sid       = sid,
            };

            entity.Save();
            notice        = ToEntity.ToNotice(entity);
            notice.result = 1;
            return(notice);
        }
    }
}
示例#20
0
        public void frompagecontent_shouldfillcorrectproperties()
        {
            // Arrange
            PageContent pageContent = new PageContent();

            pageContent.Id       = Guid.NewGuid();
            pageContent.EditedBy = "editedby";
            pageContent.EditedOn = DateTime.UtcNow;
            pageContent.Text     = "text";

            PageContentEntity entity = new PageContentEntity();

            // Act
            ToEntity.FromPageContent(pageContent, entity);

            // Assert
            Assert.That(entity.Id, Is.Not.EqualTo(pageContent.Id));              // the id isn't copied from the page
            Assert.That(entity.EditedBy, Is.EqualTo(pageContent.EditedBy));
            Assert.That(entity.EditedOn, Is.EqualTo(pageContent.EditedOn));
            Assert.That(entity.Text, Is.EqualTo(pageContent.Text));
            Assert.That(entity.Page, Is.Null);
        }
示例#21
0
        //  POST api/System?token={token}&pname={pname}&name={name}&pwd={pwd}&b={b}
        /// <summary>平台注册</summary>
        /// /// <param name="token">令牌</param>
        /// <param name="pname">平台名称</param>
        /// <param name="name">注册账号名称</param>
        /// <param name="pwd">注册密码</param>
        /// <param name="b">标识</param>
        /// <returns>处理结果信息</returns>
        public Platform PostRegisterPlatform(String token, String pname, String name, String pwd, Boolean b)
        {
            if (!IsToken(token))
            {
                return(new Platform()
                {
                    result = -1, message = "令牌不存在"
                });
            }

            tgm_platform.SetDbConnName(tgm_connection);
            var entity = tgm_platform.GetFindEntity(name);

            if (entity != null)
            {
                return(new Platform()
                {
                    result = -1, message = "平台名称已存在"
                });
            }
            tgm_role.SetDbConnName(tgm_connection);
            var role = tgm_role.GetFindEntity(name);

            if (role != null)
            {
                return(new Platform()
                {
                    result = -1, message = "账户已存在"
                });
            }

            entity = tgm_platform.Register(pname, name, pwd);
            var platform = ToEntity.ToPlatform(entity);

            platform.result = 1;
            return(platform);
        }
示例#22
0
        //  POST api/System?token={token}&name={name}&old={old}&newpwd={newpwd}
        /// <summary>密码重置</summary>
        /// <param name="token">令牌</param>
        /// <param name="name">账号</param>
        /// <param name="old">旧密码</param>
        /// <param name="newpwd">新密码</param>
        public User PostResetPassword(String token, String name, String old, String newpwd)
        {
            if (!IsToken(token))
            {
                return new User {
                           result = -1, message = "令牌不存在"
                }
            }
            ;                                          //验证会话

            tgm_role.SetDbConnName(tgm_connection);    //设置数据库连接字符串
            var role = tgm_role.GetFindEntity(name);

            if (role == null)
            {
                return(new User {
                    result = -1, message = "账号不存在"
                });
            }
            var pwd = CryptoHelper.Decrypt(role.password, null);

            if (pwd != old)
            {
                return(new User {
                    result = -1, message = "原始密码不正确"
                });
            }
            var _newpwd = CryptoHelper.Encrypt(newpwd, null);

            role.password = _newpwd;
            role.Save();
            var user = ToEntity.ToUser(role);

            user.result = 1;
            return(user);
        }
示例#23
0
        //Post api/Player?token={token}&name={name}&pid={pid}&sid={sid}&type={type}&value={value}
        /// <summary>玩家详细信息</summary>
        /// <param name="token">令牌</param>
        /// <param name="name">用户名称</param>
        /// <param name="pid">平台pid</param>
        /// <param name="sid">服务器sid</param>
        /// <param name="type">查询类型</param>
        /// <param name="value">查询值</param>
        public PlayerDetailed PostDetailed(String token, String name, Int32 pid, Int32 sid, Int32 type, String value)
        {
            if (!IsToken(token))
            {
                return new PlayerDetailed()
                       {
                           result = -1, message = "令牌不存在"
                       }
            }
            ;

            tgm_platform.SetDbConnName(tgm_connection);
            var platform = tgm_platform.FindByid(pid);

            if (platform == null)
            {
                return new PlayerDetailed()
                       {
                           result = -1, message = "平台信息不存在"
                       }
            }
            ;

            tgm_server.SetDbConnName(tgm_connection);
            var server = tgm_server.FindByid(sid);

            if (server == null || server.pid != pid)
            {
                return new PlayerDetailed()
                       {
                           result = -1, message = " 服务器信息不存在"
                       }
            }
            ;

            tgm_role.SetDbConnName(tgm_connection);
            var user = tgm_role.GetFindEntity(name);

            if (user.role != 10000)
            {
                if (user.pid != pid)
                {
                    return new PlayerDetailed()
                           {
                               result = -1, message = "没有权限操作该平台信息"
                           }
                }
                ;
            }

            SN = server.name;
            tg_user.SetDbConnName(db_connection);
            var player = type == 1 ? tg_user.GetEntityByCode(value) : tg_user.GetEntityByName(value);

            if (player == null)
            {
                return new PlayerDetailed()
                       {
                           result = -1, message = "玩家信息不存在"
                       }
            }
            ;

            tg_role.SetDbConnName(db_connection);
            var role = tg_role.GetRoleByUserId(player.id);

            if (role == null)
            {
                return new PlayerDetailed()
                       {
                           result = -1, message = "玩家主角信息不存在"
                       }
            }
            ;

            tg_user_vip.SetDbConnName(db_connection);
            var vip = tg_user_vip.GetByUserId(player.id);

            if (vip == null)
            {
                return new PlayerDetailed()
                       {
                           result = -1, message = "玩家VIP信息不存在"
                       }
            }
            ;

            tg_car.SetDbConnName(db_connection);
            var cars = tg_car.GetCarCount(player.id);

            tg_user_login_log.SetDbConnName(db_connection);
            var log = tg_user_login_log.GetLoginLog(player.id);

            if (log == null)
            {
                return new PlayerDetailed()
                       {
                           result = -1, message = "登陆日志信息不存在"
                       }
            }
            ;

            var areas    = GetAreaName(player.id);
            var vocation = GetVocation(role.role_id, player.player_vocation);
            var identity = GetIdentity(role.role_identity);
            var office   = GetOffice(player.office);
            var data     = ToEntity.ToPlayerDetailed(player, role, areas, log.login_state, cars, vip.vip_level, identity, vocation, office);

            data     = BuildData(data, player.id);
            data.sid = server.id;
            return(data);
        }
示例#24
0
        //  POST api/Message?token={token}&roleid={roleid}&role={role}&pid={pid}&sid={sid}&start={start}&end={end}&space={space}&content={content}
        /// <summary> 发送系统公告 </summary>
        /// <param name="token">令牌</param>
        /// <param name="sid">服务器id</param>
        /// <param name="start">开始时间</param>
        /// <param name="end">结束时间</param>
        /// <param name="space">时间间隔</param>
        /// <param name="content">内容</param>
        /// <param name="roleid">玩家id</param>
        /// <param name="role">角色权限</param>
        /// <param name="pid">平台id</param>
        /// <returns></returns>
        public Notice PostNotice(string token, Int32 roleid, Int32 role, Int32 pid, Int32 sid, string start, string end, int space, string content)
        {
            if (!IsToken(token))
            {
                return new Notice {
                           result = -1, message = "令牌不存在"
                }
            }
            ;                                                                            //验证会话

            tgm_server.SetDbConnName(tgm_connection);
            var server = tgm_server.FindByid(sid);

            if (server == null)
            {
                return new Notice()
                       {
                           result = -1, message = "发送服务器信息不存在"
                       }
            }
            ;

            SN = server.name;
            var now   = DateTime.Now.Ticks;
            var stick = string.IsNullOrEmpty(start) ? now : DateTime.Parse(start).Ticks;
            var etick = DateTime.Parse(end).Ticks;

            if (Convert.ToInt32(space) <= 0 || etick < now || stick < 0)
            {
                return new Notice {
                           result = -1, message = "时间设置有误"
                }
            }
            ;
            //设置连接字符串

            tgm_role.SetDbConnName(tgm_connection);
            var user = tgm_role.FindByid(Convert.ToInt32(roleid));

            if (user == null)
            {
                return new Notice()
                       {
                           result = -1, message = "没有该操作的权限"
                       }
            }
            ;

            tgm_platform.SetDbConnName(tgm_connection);
            var pl = tgm_platform.FindByid(Convert.ToInt32(pid));

            if (role != 10000)
            {
                if (pl.id != user.pid)
                {
                    return new Notice()
                           {
                               result = -1, message = "没有权限操作该平台信息"
                           }
                }
                ;
            }
            tg_system_notice.SetDbConnName(db_connection);
            var entity = new tg_system_notice()
            {
                start_time    = stick,
                end_time      = etick,
                time_interval = space,
                content       = content,
                base_Id       = 0,
                level         = 2,
                state         = 0,
            };

            entity.Save();

            tgm_notice.SetDbConnName(tgm_connection);
            var tgmentity = new tgm_notice()
            {
                start_time = stick,
                end_time   = etick,
                content    = content,
                player_id  = roleid,
                pid        = pid,
                sid        = sid,
                gameid     = entity.id,
            };

            tgmentity.Save();
            var notice = ToEntity.ToNotice(tgmentity);

            if (stick == now)
            {
                var ip   = server.ip;
                var port = server.port_server;

                //解析后调用游戏接口判断是否成功
                var api   = new CommandApi(ip, port, ApiCommand.公告);
                var state = api.NoticePush();
                api.Dispose();
                if (state != (int)ApiType.OK)
                {
                    return new Notice()
                           {
                               result = -1, message = "发送公告失败!"
                           }
                }
                ;
            }

            notice.result = 1;
            return(notice);
        }
示例#25
0
        //Post api/Player?token={token}&sid={sid}&rid={rid}&name={name}&role={role}
        /// <summary>武将属性信息</summary>
        /// <param name="token">令牌</param>
        /// <param name="sid">服务区sid</param>
        /// <param name="rid">武将主键rid</param>
        /// <param name="name">用户</param>
        /// <param name="role">权限</param>
        /// <returns></returns>
        public PlayerRoles PostRole(String token, Int32 sid, Int64 rid, String name, String role)
        {
            if (!IsToken(token))
            {
                return new PlayerRoles()
                       {
                           result = -1, message = "令牌不存在"
                       }
            }
            ;                                                                                  //验证会话

            tgm_server.SetDbConnName(tgm_connection);
            var server = tgm_server.FindByid(sid);

            if (server == null)
            {
                return new PlayerRoles()
                       {
                           result = -1, message = "服务器信息不存在"
                       }
            }
            ;
            SN = server.name;

            tg_role.SetDbConnName(db_connection);
            var userRole = tg_role.FindByid(rid);

            if (userRole == null)
            {
                return new PlayerRoles()
                       {
                           result = -1, message = "武将信息不存在,查询失败"
                       }
            }
            ;

            var rule = Helper.FixedResources.BASE_ROLE.FirstOrDefault(m => m.id == userRole.role_id);

            if (rule == null)
            {
                return new PlayerRoles()
                       {
                           result = -1, message = "查询武将基表信息失败"
                       }
            }
            ;
            var n        = rule.name;
            var identity = Helper.FixedResources.BASE_IDENTITY.FirstOrDefault(m => m.id == userRole.role_identity);

            if (identity == null)
            {
                return new PlayerRoles()
                       {
                           result = -1, message = "查询身份基表信息失败"
                       }
            }
            ;;
            var i        = identity.name;
            var roleInfo = ToEntity.ToPlayerRoles(userRole, n, i, rule.grade);

            roleInfo.result = 1;
            return(roleInfo);
        }
示例#26
0
        /// <summary>武将装备信息</summary>
        private List <PlayerBag> SingleRoleEquips(tg_role role)
        {
            var ids    = new List <Int64>();
            var equips = new List <PlayerBag>();

            if (role.equip_armor != 0)
            {
                ids.Add(role.equip_armor);
            }
            if (role.equip_barbarian != 0)
            {
                ids.Add(role.equip_barbarian);
            }
            if (role.equip_book != 0)
            {
                ids.Add(role.equip_book);
            }
            if (role.equip_craft != 0)
            {
                ids.Add(role.equip_craft);
            }
            if (role.equip_gem != 0)
            {
                ids.Add(role.equip_gem);
            }
            if (role.equip_mounts != 0)
            {
                ids.Add(role.equip_mounts);
            }
            if (role.equip_tea != 0)
            {
                ids.Add(role.equip_tea);
            }
            if (role.equip_weapon != 0)
            {
                ids.Add(role.equip_weapon);
            }

            if (!ids.Any())
            {
                return(equips);
            }
            tg_bag.SetDbConnName(db_connection);
            var list = tg_bag.GetBagByIds(ids).ToList();

            if (!list.Any())
            {
                return(equips);
            }

            foreach (var item in list)
            {
                var be = Helper.FixedResources.BASE_EQUIP.FirstOrDefault(m => m.id == item.base_id);
                if (be == null)
                {
                    continue;
                }
                equips.Add(ToEntity.ToPlayerBag(item, be.name, be.useLevel, be.grade));
            }
            return(equips);
        }
示例#27
0
        //  POST api/Resource?token={token}&pid={pid}&sid={sid}&roleid={roleid}&playername={playname}&gift={gift}&gifttype={gifttype}&g1={g1}&g2={g2}&g3={g3}&g4={g4}&g5={g5}&reason={reason}&type={type}&message={message}
        public Resource PostResource(string token, Int64 pid, Int64 sid, Int32 roleid, string playername, string gift, int gifttype, string g1, string g2, string g3, string g4, string g5, string reason, int type, string message)
        {
            if (!IsToken(token))
            {
                return new Resource {
                           result = -1, message = "令牌不存在"
                }
            }
            ;                                                                              //验证会话
            tgm_role.SetDbConnName(tgm_connection);

            var user = tgm_role.FindByid(roleid);

            if (user == null)
            {
                return new Resource()
                       {
                           result = -1, message = "没有该操作的权限"
                       }
            }
            ;

            tgm_platform.SetDbConnName(tgm_connection);
            var pl = tgm_platform.FindByid(Convert.ToInt32(pid));

            if (user.role != 10000)
            {
                if (pl.id != user.pid)
                {
                    return new Resource()
                           {
                               result = -1, message = "没有权限操作该平台信息"
                           }
                }
                ;
            }

            string s = BuildString(g1, g2, g3, g4, g5);

            tgm_resource.SetDbConnName(tgm_connection);
            var tgmentity = new tgm_resource()
            {
                pid         = pid,
                sid         = sid,
                name        = gift,
                player_name = type == 0 ? playername : "",
                user_code   = type == 1 ? playername : "",
                time        = DateTime.Now.Ticks,
                type        = gifttype,
                state       = 1,//未审批
                content     = reason,
                attachment  = s,
                message     = message == ""?"":message,
            };

            if (tgmentity.Save() < 0)
            {
                return new Resource()
                       {
                           result = -1, message = "数据格式错误"
                       }
            }
            ;
            var server = tgm_server.FindByid(Convert.ToInt32(sid));

            if (server == null)
            {
                return new Resource()
                       {
                           result = -1, message = "发送服务器信息不存在"
                       }
            }
            ;


            var resource = ToEntity.ToResource(tgmentity, GetGoodName(tgmentity.attachment));

            resource.result = 1;
            return(resource);
        }
示例#28
0
        //  POST api/Pay?token={token}&role={role}&pid={pid}&index={index}&size={size}
        /// <summary>进入界面时,显示充值所有记录</summary>
        /// <param name="token"></param>
        /// <param name="role"></param>
        /// <param name="pid"></param>
        /// <param name="index"></param>
        /// <param name="size"></param>
        /// <returns></returns>
        public PagerPay PostSinglePay(string token, Int64 role, Int32 pid, Int32 index = 1, Int32 size = 10)
        {
            var pager = new PagerPay();

            if (!IsToken(token))
            {
                return(pager);                   //验证会话
            }
            List <tgm_record_pay> paylist;
            List <tgm_server>     list;
            var plist = new List <SingleRecordPay>();
            var count = 0;

            if (role == 10000)
            {
                tgm_server.SetDbConnName(tgm_connection);
                list = tgm_server.FindAll().ToList();
                if (list.Count == 0)
                {
                    return(pager);
                }
                tgm_record_pay.SetDbConnName(tgm_connection);
                paylist = tgm_record_pay.GetListByPids(index, size, out count);
                var platforms = tgm_platform.FindAll().ToList();
                if (paylist.Count == 0 || platforms.Count == 0)
                {
                    return(pager);
                }
                plist.AddRange(from item in paylist let server = list.FirstOrDefault(m => m.id == item.sid) where server != null let p = platforms.FirstOrDefault(m => m.id == server.pid) where p != null select ToEntity.ToSingleRecordPay(p.name, server.name, item));
            }
            else
            {
                tgm_server.SetDbConnName(tgm_connection);
                list = tgm_server.GetServerList(pid).ToList();
                if (list.Count == 0)
                {
                    return(pager);
                }
                var sids = string.Join(",", list.ToList().Select(m => m.id).ToArray());
                tgm_record_pay.SetDbConnName(tgm_connection);
                paylist = tgm_record_pay.GetListByPid(index, size, sids, out count);
                if (paylist == null)
                {
                    return(pager);
                }
                tgm_platform.SetDbConnName(tgm_connection);
                var platform = tgm_platform.FindByid(pid);
                if (platform == null)
                {
                    return(pager);
                }
                plist.AddRange(from item in paylist let server = list.FirstOrDefault(m => m.id == item.sid) where server != null select ToEntity.ToSingleRecordPay(platform.name, server.name, item));
            }
            pager = new PagerPay()
            {
                result    = 1,
                Recordpay = plist,
                Pager     = new PagerInfo {
                    CurrentPageIndex = index, PageSize = size, RecordCount = count
                },
            };
            return(pager);
        }
示例#29
0
        //  POST api/Pay?token={token}&pid={pid}&sid={sid}&start={start}&end={end}&type={type}&playname={playname}&userpid={userpid}&role={role}&index={index}&size={size}

        /// <summary>查询玩家充值所有记录</summary>
        /// <param name="token">令牌</param>
        /// <param name="role">角色</param>
        /// <param name="pid">平台id</param>
        /// <param name="sid">服务器id</param>
        /// <param name="start">开始时间</param>
        /// <param name="end">结束时间</param>
        /// <param name="type">玩家昵称/账号</param>
        /// <param name="playname">玩家昵称</param>
        /// <param name="index">分页索引</param>
        /// <param name="size">分页大小</param>
        /// <param name="userpid">用户平台id</param>
        /// <returns></returns>
        public PagerPay PostPlayerPay(string token, int pid, int sid, Int64 start, Int64 end, int type, string playname, Int32 userpid, Int32 role, Int32 index, Int32 size)
        {
            var pager = new PagerPay();

            if (!IsToken(token))
            {
                return(pager);                   //验证会话    //还有一个权限问题
            }
            if (sid == 0 || playname == null)
            {
                return(pager);                             //服务器和玩家不能为空
            }
            tgm_platform.SetDbConnName(tgm_connection);
            var pf = tgm_platform.FindByid(pid);

            tgm_server.SetDbConnName(tgm_connection);
            var server = tgm_server.FindByid(sid);

            if (pf == null || server == null)
            {
                return(pager);
            }

            List <tgm_record_pay> list;
            var count = 0;

            if (type == 0)
            {
                if (start > 0 && end > 0)
                {
                    tgm_record_pay.SetDbConnName(tgm_connection); //充值记录
                    list = tgm_record_pay.GetTimeSidNameList(start, end, Convert.ToInt32(sid), playname, index, size, out count);
                }
                else
                {
                    tgm_record_pay.SetDbConnName(tgm_connection); //充值记录
                    list = tgm_record_pay.GetListByNameSid(Convert.ToInt32(sid), playname, index, size, out count);
                }
            }
            else
            {
                if (start > 0 && end > 0)
                {
                    tgm_record_pay.SetDbConnName(tgm_connection); //充值记录
                    list = tgm_record_pay.GetTimeSidCodeList(start, end, Convert.ToInt32(sid), playname, index, size, out count);
                }
                else
                {
                    tgm_record_pay.SetDbConnName(tgm_connection); //充值记录
                    list = tgm_record_pay.GetListByCodeSid(Convert.ToInt32(sid), playname, index, size, out count);
                }
            }
            if (!list.Any())
            {
                return(pager);
            }
            var paylist = (from item in list select ToEntity.ToSingleRecordPay(pf.name, server.name, item)).ToList();

            pager = new PagerPay()
            {
                result    = 1,
                Recordpay = paylist,
                Pager     = new PagerInfo {
                    CurrentPageIndex = index, PageSize = size, RecordCount = count
                },
                //total = list.Sum(m => m.pay_total),
                //month_total = list.Sum(m => m.pay_month)
            };
            return(pager);
        }
示例#30
0
        //api/GM?token={token}&name={name}&pid={pid}&sid={sid}&search={search}&value={value}&type={type}&time={time}&reason={reason}
        /// <summary>Gm管理</summary>
        /// <param name="token">令牌</param>
        /// <param name="name">用户名</param>
        /// <param name="pid">平台id</param>
        /// <param name="sid">服务器</param>
        /// <param name="search">查询方式</param>
        /// <param name="value">查询值</param>
        /// <param name="type">操作类型</param>
        /// <param name="time">时间限制</param>
        /// <param name="reason">操作原因</param>
        /// <returns></returns>
        public GmManage PostGmManage(String token, String name, Int32 pid, Int32 sid, Int32 search, String value, Int32 type, Int64 time, String reason)
        {
            if (!IsToken(token))
            {
                return new GmManage()
                       {
                           result = -1, message = "令牌不存在"
                       }
            }
            ;                                                                              //验证会话

            tgm_role.SetDbConnName(tgm_connection);
            var user = tgm_role.GetFindEntity(name);

            if (user == null)
            {
                return new GmManage()
                       {
                           result = -1, message = "没有该操作的权限"
                       }
            }
            ;

            tgm_platform.SetDbConnName(tgm_connection);
            var pl = tgm_platform.FindByid(pid);

            if (user.role != 10000)
            {
                if (pl.id != user.pid)
                {
                    return new GmManage()
                           {
                               result = -1, message = "没有权限操作该平台信息"
                           }
                }
                ;
            }

            tgm_server.SetDbConnName(tgm_connection);
            var server = tgm_server.FindByid(sid);

            if (server == null)
            {
                return new GmManage()
                       {
                           result = -1, message = "服务器不存在"
                       }
            }
            ;

            SN = server.name;
            tg_user.SetDbConnName(db_connection);

            var player = search == 1
                ? tg_user.GetEntityByCode(value)  //根据账号查询
                : tg_user.GetEntityByName(value); //根据玩家名查询

            if (player == null)
            {
                return new GmManage()
                       {
                           result = -1, message = "没有该玩家信息"
                       }
            }
            ;
            if (player.state != 0)
            {
                switch (player.state)
                {
                case 1: return(new GmManage()
                    {
                        result = -1, message = "该玩家已冻结,不能继续操作"
                    });

                case 2: return(new GmManage()
                    {
                        result = -1, message = "该玩家已封号,不能继续操作"
                    });
                }
            }
            player.state          = type;
            player.state_end_time = DateTime.Now.Ticks + time * 60 * 1000;
            if (player.Save() < 0)
            {
                return new GmManage()
                       {
                           result = -1, message = "操作玩家数据失败"
                       }
            }
            ;

            tgm_gm.SetDbConnName(tgm_connection);
            var entity = new tgm_gm()
            {
                pid           = pl.id,
                sid           = server.id,
                player_id     = player.id,
                limit_time    = time * 60 * 1000,
                state         = type,
                player_name   = player.player_name,
                player_code   = player.user_code,
                platform_name = pl.name,
                server_name   = server.name,
                describe      = reason,
                createtime    = DateTime.Now.Ticks,
                operate       = name,
            };

            entity.Save();

            var ip   = server.ip;
            var port = server.port_server;
            //解析后调用游戏接口判断是否成功
            var api   = new CommandApi(ip, port, ApiCommand.冻结封号);
            var state = api.Gmoperate(player.id);

            api.Dispose();
            if (state != (int)ApiType.OK)
            {
                return new GmManage()
                       {
                           result = (int)ApiType.OK, message = "操作玩家信息失败"
                       }
            }
            ;

            var gm = ToEntity.ToGmManage(entity);

            gm.result = 1;
            return(gm);
        }