示例#1
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);
        }
示例#2
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);
        }