Пример #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="pageOfItems"></param>
        /// <typeparam name="T"></typeparam>
        /// <returns></returns>
        public static IPageOfItems <object> ToObjectsPageOfItems <T>(this IPageOfItems <T> pageOfItems)
        {
            var result = new PageOfItems <object>(pageOfItems.Select(x => x as object))
            {
                PageIndex          = pageOfItems.PageIndex,
                PageSize           = pageOfItems.PageSize,
                TotalItemCount     = pageOfItems.TotalItemCount,
                SearchHitViewState = pageOfItems.SearchHitViewState
            };

            return(result);
        }
Пример #2
0
        /// <summary>
        /// 将类型T的分页数据列表转换为类型TView的分页数据列表
        /// </summary>
        /// <typeparam name="T">原始数据类型</typeparam>
        /// <typeparam name="TView">返回的数据类型</typeparam>
        /// <param name="items">数据列表</param>
        /// <param name="selector">数据转换选择器</param>
        /// <returns>返回TView的分页数据列表</returns>
        public static IPageOfItems <TView> ToView <T, TView>(this IPageOfItems <T> items, Func <T, TView> selector)
        {
            //初始化页面信息
            var pageOfItems = new PageOfItems <TView>
            {
                PageIndex      = items.PageIndex,
                PageSize       = items.PageSize,
                TotalItemCount = items.TotalItemCount,
            };
            var list = items.Select(selector);

            pageOfItems.AddRange(list.ToList());
            return(pageOfItems);
        }
 public ActionResult MyUsers(Users Users, EFPagingInfo<Users> p, int IsFirst = 0)
 {
     if (IsFirst == 0)
     {
         PageOfItems<Users> UsersList1 = new PageOfItems<Users>(new List<Users>(), 0, 10, 0, new Hashtable());
         ViewBag.UsersList = UsersList1;
         ViewBag.Users = Users;
         return View();
     }
     if (!Users.UserName.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.UserName.Contains(Users.UserName)); }
     if (!Users.State.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.State == (Users.State == 99 ? 0 : Users.State)); }
     if (!Users.MyPId.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.MyPId == Users.MyPId); }
     if (!Users.ShareType.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.ShareType == Users.ShareType); }
     if (!Users.CardStae.IsNullOrEmpty())
     {
         int CardStae = Users.CardStae;
         if (CardStae == 99)
         {
             CardStae = 0;
         }
         if (CardStae != 88)
         {
             p.SqlWhere.Add(f => f.CardStae == CardStae);
         }
     }
     p.OrderByList.Add("Id", "DESC");
     IPageOfItems<Users> UsersList = Entity.Selects<Users>(p);
     var pcids = UsersList.Select(o => o.PayConfigId).Distinct().ToArray();
     List<PayConfigChange> PayConfigChangeList = new List<PayConfigChange>();
     if (pcids.Length > 0)
     {
         string pcidsStr = string.Join(",", pcids);
         PayConfigChangeList = this.Entity.ExecuteStoreQuery<PayConfigChange>("SELECT * FROM PayConfigChange Where Id in(" + pcidsStr + ")").ToList();
     }
     ViewBag.PayConfigChangeList = PayConfigChangeList;
     ViewBag.UsersList = UsersList;
     ViewBag.Users = Users;
     //显示上级名字
     return View();
 }
Пример #4
0
        public ActionResult Index(Orders Orders, EFPagingInfo <Orders> p, bool?IsShowSupAgent, int?LowerLevel, int IsFirst = 0)
        {
            if (IsFirst == 0)
            {
                if (IsShowSupAgent == null)
                {
                    IsShowSupAgent = false;
                }
                if (checkPower("ALL"))
                {
                    IsAll = true;
                }
                LowerLevel    = LowerLevel == null ? 0 : LowerLevel;
                ViewBag.IsAll = IsAll;
                PageOfItems <Orders> OrdersList1 = new PageOfItems <Orders>(new List <Orders>(), 0, 10, 0, new Hashtable());
                ViewBag.OrdersList = OrdersList1;
                ViewBag.Orders     = Orders;
                //查询对应的商户
                List <int> UId1 = OrdersList1.Select(o => o.UId).Distinct().ToList();
                ViewBag.UsersList      = Entity.Users.Where(n => n.State == 1 && UId1.Contains(n.Id)).ToList();
                ViewBag.PayConfigList  = Entity.PayConfig.Where(n => n.State == 1).ToList();
                ViewBag.IsShowSupAgent = IsShowSupAgent;
                ViewBag.BasicAgent     = BasicAgent;
                SysSet SysSet1 = Entity.SysSet.FirstOrNew();
                ViewBag.SysSet     = SysSet1;
                ViewBag.Entity     = Entity;
                ViewBag.LowerLevel = LowerLevel;
                return(View());
            }
            //if (Orders.STime.IsNullOrEmpty())
            //{
            //    Orders.STime = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd"));
            //}
            //if (Orders.ETime.IsNullOrEmpty())
            //{
            //    Orders.ETime = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd"));
            //}
            //if (!Orders.STime.IsNullOrEmpty() && !Orders.ETime.IsNullOrEmpty())
            //{
            //    DateTime ETime = Orders.ETime;
            //    p.SqlWhere.Add(f => f.PayTime > Orders.STime && f.PayTime < ETime);
            //}

            if (IsShowSupAgent == null)
            {
                IsShowSupAgent = false;
            }
            if (checkPower("ALL"))
            {
                IsAll = true;
            }
            ViewBag.IsAll = IsAll;

            /*有没有指定交易所属代理
             * 有:校验是否从属关系
             * 无:指定当前代理
             */
            if (!Orders.Agent.IsNullOrEmpty())
            {
                if (!IsBelongToAgent(Orders.Agent))
                {
                    ViewBag.ErrorMsg = "只能查询当前用户下属代理的交易";
                    return(View("Error"));
                }
            }
            else
            {
                Orders.Agent = this.BasicAgent.Id;
            }
            LowerLevel = LowerLevel == null ? 0 : LowerLevel;
            //没有"管理所有"权限的只能看到操作员自己的数据
            //if (!IsAll)
            //{
            //    p.SqlWhere.Add(f => f.AId == AdminUser.Id);//交易所属用户
            //}
            //else
            {
                IList <SysAgent> SysAgentList = null;
                if ((bool)IsShowSupAgent)
                {
                    IList <int> UID = new List <int>();
                    if (LowerLevel != 0)
                    {
                        SysAgent LowerLevelAgent = Entity.SysAgent.Where(s => s.Id == LowerLevel).FirstOrNew();
                        SysAgentList = LowerLevelAgent.GetSupAgent(Entity);
                    }
                    else
                    {
                        SysAgentList = BasicAgent.GetSupAgent(Entity);//获取所有下级代理商信息
                    }
                    foreach (var s in SysAgentList)
                    {
                        UID.Add(s.Id);
                    }
                    p.SqlWhere.Add(f => UID.Contains(f.Agent));
                }
                else
                {
                    p.SqlWhere.Add(f => f.Agent == Orders.Agent);//交易所属代理
                }
            }
            #region 筛选条件
            if (!Orders.OrderAddress.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.OrderAddress.Contains(Orders.OrderAddress));
            }
            if (!Orders.TNum.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.TNum == Orders.TNum);
            }
            if (!Orders.LagEntryDay.IsNullOrEmpty())
            {
                if (Orders.LagEntryDay == 99)
                {
                    p.SqlWhere.Add(f => f.LagEntryDay == 0);
                }
                else
                {
                    p.SqlWhere.Add(f => f.LagEntryDay > 0);
                }
            }
            if (!Orders.TrunType.IsNullOrEmpty())
            {
                if (Orders.TrunType == 1)
                {
                    p.SqlWhere.Add(f => f.TrunType == 1);
                }
                else
                {
                    p.SqlWhere.Add(f => f.TrunType == 0);
                }
            }

            if (!Orders.TName.IsNullOrEmpty())
            {
                IList <Users> UList = Entity.Users.Where(n => n.TrueName.Contains(Orders.TName) || n.NeekName.Contains(Orders.TName) || n.UserName == Orders.TName).ToList();
                List <int>    UIds  = new List <int>();
                foreach (var pp in UList)
                {
                    UIds.Add(pp.Id);
                }
                p.SqlWhere.Add(f => UIds.Contains(f.UId));
            }
            if (!Orders.PayWay.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.PayWay == Orders.PayWay);
            }
            if (!Orders.STime.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.AddTime >= Orders.STime);
            }
            if (!Orders.ETime.IsNullOrEmpty())
            {
                DateTime ETime = Orders.ETime.AddHours(23).AddMinutes(59).AddSeconds(59);
                p.SqlWhere.Add(f => f.AddTime <= ETime);
            }
            #region 交易类型条件判断
            p.SqlWhere.Add(f => f.TType == 2);//读取对应的类型
            if (Orders.TType == 2)
            {
                if (!Orders.TState.IsNullOrEmpty())
                {
                    p.SqlWhere.Add(f => f.TState == Orders.TState);
                }
            }
            #endregion
            #endregion
            p.OrderByList.Add("Id", "DESC");
            IPageOfItems <Orders> OrdersList = Entity.Selects <Orders>(p);
            ViewBag.OrdersList = OrdersList;
            ViewBag.Orders     = Orders;
            //查询对应的商户
            List <int> UId = OrdersList.Select(o => o.UId).Distinct().ToList();
            ViewBag.UsersList = Entity.Users.Where(n => n.State == 1 && UId.Contains(n.Id)).ToList();
            //因为上面判段过了,这里其实是不用的
            //if (checkPower("ALL"))
            //{
            //    ViewBag.UsersList = Entity.Users.Where(n => n.State == 1 && n.Agent == AdminUser.AgentId && UId.Contains(n.Id)).ToList();
            //}
            //else
            //{
            //    ViewBag.UsersList = Entity.Users.Where(n => n.State == 1 && n.AId == AdminUser.Id && UId.Contains(n.Id)).ToList();
            //}
            ViewBag.PayConfigList  = Entity.PayConfig.Where(n => n.State == 1).ToList();
            ViewBag.IsShowSupAgent = IsShowSupAgent;
            ViewBag.BasicAgent     = BasicAgent;
            SysSet SysSet = Entity.SysSet.FirstOrNew();
            ViewBag.SysSet     = SysSet;
            ViewBag.Entity     = Entity;
            ViewBag.LowerLevel = LowerLevel;
            return(View());
        }
        public ActionResult OrdersRiskIndex(Orders Orders, EFPagingInfo <Orders> p, int IsFirst = 0)
        {
            ViewBag.Add  = this.checkPower("Add");
            ViewBag.Edit = this.checkPower("Edit");
            if (IsFirst == 0)
            {
                var AgentList1 = this.BasicAgent.GetSupAgent(this.Entity);
                PageOfItems <Orders> OrdersList1 = new PageOfItems <Orders>(new List <Orders>(), 0, 10, 0, new Hashtable());
                ViewBag.Orders     = Orders;
                ViewBag.OrdersList = OrdersList1;
                ViewBag.UsersList  = new List <Users>();
                ViewBag.AgentList  = AgentList1;
                return(View());
            }
            if (!Orders.DDAuto.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.DDAuto == Orders.DDAuto);
            }
            if (!Orders.IdCardState.IsNullOrEmpty())
            {
                if (Orders.IdCardState == 99)
                {
                    p.SqlWhere.Add(f => f.IdCardState > 0);
                }
                else
                {
                    p.SqlWhere.Add(f => f.IdCardState == Orders.IdCardState);
                }
            }
            else
            {
                Orders.IdCardState = 1;
                p.SqlWhere.Add(f => f.IdCardState == Orders.IdCardState);
            }
            if (!Orders.TNum.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.TNum == Orders.TNum);
            }
            if (!Orders.STime.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.CardAddTime >= Orders.STime);
            }
            if (!Orders.ETime.IsNullOrEmpty())
            {
                var ETime = Orders.ETime.AddSeconds(-1);
                p.SqlWhere.Add(f => f.CardAddTime <= ETime);
            }
            //下级代理
            var AgentList = this.BasicAgent.GetSupAgent(this.Entity);

            if (this.BasicAgent.Tier == 1)
            {
                var aids = AgentList.Select(o => o.Id).ToList();
                p.SqlWhere.Add(o => aids.Contains(o.Agent));
            }
            else
            {
                p.SqlWhere.Add(o => o.Agent == this.BasicAgent.Id);
            }
            p.OrderByList.Add("CardAddTime", "DESC");
            IPageOfItems <Orders> OrdersList = Entity.Selects <Orders>(p);

            ViewBag.Orders     = Orders;
            ViewBag.OrdersList = OrdersList;
            //查询对应的商户
            List <int> UId = OrdersList.Select(o => o.UId).Distinct().ToList();

            ViewBag.UsersList     = Entity.Users.Where(n => n.State == 1 && UId.Contains(n.Id)).ToList();
            ViewBag.AgentList     = AgentList;
            ViewBag.SaveAssureImg = this.checkPower("SaveAssureImg");
            return(View("OrdersRiskIndex"));
        }
        public ActionResult Index(Orders Orders, EFPagingInfo <Orders> p, bool?IsShowSupAgent, int?LowerLevel, int IsFirst = 0)
        {
            if (IsShowSupAgent == null)
            {
                IsShowSupAgent = false;
            }
            if (IsFirst == 0)
            {
                if (checkPower("ALL"))
                {
                    IsAll = true;
                }
                ViewBag.IsAll = IsAll;
                PageOfItems <Orders> OrdersList1 = new PageOfItems <Orders>(new List <Orders>(), 0, 10, 0, new Hashtable());
                ViewBag.OrdersList = OrdersList1;
                ViewBag.Orders     = Orders;
                //查询对应的商户
                List <int> UId1 = OrdersList1.Select(o => o.UId).Distinct().ToList();
                ViewBag.UsersList      = Entity.Users.Where(n => n.State == 1 && UId1.Contains(n.Id)).ToList();
                ViewBag.PayConfigList  = Entity.PayConfig.Where(n => n.State == 1).ToList();
                ViewBag.IsShowSupAgent = false;
                ViewBag.BasicAgent     = BasicAgent;
                SysSet SysSet1 = Entity.SysSet.FirstOrNew();
                ViewBag.SysSet     = SysSet1;
                ViewBag.Entity     = Entity;
                ViewBag.LowerLevel = 0;
                ViewBag.Edit       = this.checkPower("Edit");
                return(View());
            }

            if (checkPower("ALL"))
            {
                IsAll = true;
            }
            ViewBag.IsAll = IsAll;

            /*有没有指定交易所属代理
             * 有:校验是否从属关系
             * 无:指定当前代理
             */
            if (!Orders.Agent.IsNullOrEmpty())
            {
                if (!IsBelongToAgent(Orders.Agent))
                {
                    ViewBag.ErrorMsg = "只能查询当前用户下属代理的交易";
                    return(View("Error"));
                }
            }
            else
            {
                Orders.Agent = this.BasicAgent.Id;
            }
            LowerLevel = LowerLevel == null ? 0 : LowerLevel;
            //没有"管理所有"权限的只能看到操作员自己的数据
            if (!IsAll)
            {
                p.SqlWhere.Add(f => f.AId == AdminUser.Id);//交易所属用户
            }
            else
            {
                IList <SysAgent> SysAgentList = null;
                if ((bool)IsShowSupAgent)
                {
                    IList <int> UID = new List <int>();
                    if (LowerLevel != 0)
                    {
                        SysAgent LowerLevelAgent = Entity.SysAgent.Where(s => s.Id == LowerLevel).FirstOrNew();
                        SysAgentList = LowerLevelAgent.GetSupAgent(Entity, true);
                    }
                    else
                    {
                        SysAgentList = BasicAgent.GetSupAgent(Entity, true);//获取所有下级代理商信息
                    }
                    UID = SysAgentList.Select(o => o.Id).ToList();
                    p.SqlWhere.Add(f => UID.Contains(f.Agent));
                }
                else
                {
                    p.SqlWhere.Add(f => f.Agent == BasicAgent.Id);//读取全部分支机构
                }
            }
            #region 筛选条件
            if (!Orders.OrderAddress.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.OrderAddress.Contains(Orders.OrderAddress));
            }
            if (!Orders.TNum.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.TNum == Orders.TNum);
            }
            if (!Orders.LagEntryDay.IsNullOrEmpty())
            {
                if (Orders.LagEntryDay == 99)
                {
                    p.SqlWhere.Add(f => f.LagEntryDay == 0);
                }
                else
                {
                    p.SqlWhere.Add(f => f.LagEntryDay > 0);
                }
            }
            if (!Orders.TrunType.IsNullOrEmpty())
            {
                if (Orders.TrunType == 1)
                {
                    p.SqlWhere.Add(f => f.TrunType == 1);
                }
                else
                {
                    p.SqlWhere.Add(f => f.TrunType == 0);
                }
            }

            if (!Orders.TName.IsNullOrEmpty())
            {
                IList <Users> UList = Entity.Users.Where(n => n.TrueName.Contains(Orders.TName) || n.NeekName.Contains(Orders.TName) || n.UserName == Orders.TName).ToList();
                List <int>    UIds  = new List <int>();
                foreach (var pp in UList)
                {
                    UIds.Add(pp.Id);
                }
                p.SqlWhere.Add(f => UIds.Contains(f.UId));
            }
            if (!Orders.PayWay.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.PayWay == Orders.PayWay);
            }
            if (!Orders.STime.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.AddTime >= Orders.STime);
            }
            if (!Orders.ETime.IsNullOrEmpty())
            {
                DateTime ETime = Orders.ETime.AddHours(23).AddMinutes(59).AddSeconds(59);
                p.SqlWhere.Add(f => f.AddTime <= ETime);
            }
            #region 交易类型条件判断
            if (!Orders.TType.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.TType == Orders.TType);//读取对应的类型
                if (Orders.TType == 1)
                {
                    if (!Orders.TState.IsNullOrEmpty())
                    {
                        switch (Orders.TState)
                        {
                        case 1:    //未付
                            p.SqlWhere.Add(f => f.TState == 1 && f.PayState == 0);
                            break;

                        case 2:    //已付
                            p.SqlWhere.Add(f => f.TState == 2 && f.PayState == 1);
                            break;

                        case 3:    //待传证照
                            p.SqlWhere.Add(f => f.TState == 1 && f.PayState == 1 && f.IdCardState == 1);
                            break;

                        case 4:    //待审核
                            p.SqlWhere.Add(f => f.TState == 1 && f.PayState == 1 && f.IdCardState == 2);
                            break;

                        case 5:    //审核失败
                            p.SqlWhere.Add(f => f.TState == 1 && f.PayState == 1 && f.IdCardState == 4);
                            break;

                        case 6:    //退单
                            p.SqlWhere.Add(f => f.TState == 4);
                            break;

                        case 7:    //待入帐
                            p.SqlWhere.Add(f => f.TState == 1 && f.PayState == 1 && f.InState == 0);
                            break;
                        }
                    }
                }
                if (Orders.TType == 2)
                {
                    if (!Orders.TState.IsNullOrEmpty())
                    {
                        p.SqlWhere.Add(f => f.TState == Orders.TState);
                    }
                }
                if (Orders.TType == 3)
                {
                    switch (Orders.TState)
                    {
                    case 1:    //未付
                        p.SqlWhere.Add(f => f.TState == 1 && f.PayState == 0);
                        break;

                    case 2:    //已付
                        p.SqlWhere.Add(f => f.TState == 2 && f.PayState == 1);
                        break;

                    case 3:    //待传证照
                        p.SqlWhere.Add(f => f.TState == 1 && f.PayState == 1 && f.IdCardState == 1);
                        break;

                    case 4:    //待审核
                        p.SqlWhere.Add(f => f.TState == 1 && f.PayState == 1 && f.IdCardState == 2);
                        break;

                    case 5:    //审核失败
                        p.SqlWhere.Add(f => f.TState == 1 && f.PayState == 1 && f.IdCardState == 4);
                        break;
                    }
                }
                if (Orders.TType == 5)
                {
                    if (!Orders.TState.IsNullOrEmpty())
                    {
                        switch (Orders.TState)
                        {
                        case 99:    //未付
                            p.SqlWhere.Add(f => f.TState == 1 && f.PayState == 0);
                            break;

                        case 1:    //处理中
                            p.SqlWhere.Add(f => f.TState == 1 && f.PayState == 1 && f.IdCardState == 0);
                            break;

                        case 2:    //已汇出
                            p.SqlWhere.Add(f => f.TState == 2 && f.PayState == 2);
                            break;

                        case 4:    //出款中
                            p.SqlWhere.Add(f => (f.TState == 2 && f.PayState == 2 && f.IdCardState == 0) || (f.TState == 2 && f.PayState == 1 && f.IdCardState == 3));
                            break;

                        case 3:    //审核失败
                            p.SqlWhere.Add(f => f.TState == 1 && f.PayState == 1 && f.IdCardState == 4);
                            break;

                        case 5:    //退款中
                            p.SqlWhere.Add(f => f.TState == 2 && f.PayState == 3);
                            break;

                        case 6:    //已退款
                            p.SqlWhere.Add(f => f.TState == 2 && f.PayState == 4);
                            break;

                        case 7:    //待传身份证
                            p.SqlWhere.Add(f => f.TState == 1 && f.PayState == 1 && f.IdCardState == 1);
                            break;

                        case 8:    //已传身份证
                            p.SqlWhere.Add(f => f.TState == 1 && f.PayState == 1 && f.IdCardState == 2);
                            break;
                        }
                    }
                }
                if (Orders.TType == 6)
                {
                    if (!Orders.TState.IsNullOrEmpty())
                    {
                        p.SqlWhere.Add(f => f.TState == Orders.TState);
                    }
                }
                if (Orders.TType == 7 || Orders.TType == 8 || Orders.TType == 9)
                {
                    if (!Orders.TState.IsNullOrEmpty())
                    {
                        if (Orders.TState == 99)
                        {
                            p.SqlWhere.Add(f => f.TState == 0);
                        }
                        if (Orders.TState == 1)
                        {
                            p.SqlWhere.Add(f => f.TState == 1 && f.PayState == 0);
                        }
                        if (Orders.TState == 2)
                        {
                            p.SqlWhere.Add(f => f.TState == 2 && f.PayState == 1);
                        }
                        if (Orders.TState == 3)//退单
                        {
                            p.SqlWhere.Add(f => f.TState == 4);
                        }
                        if (Orders.TState == 4)//待入帐
                        {
                            p.SqlWhere.Add(f => f.TState == 1 && f.PayState == 1 && f.InState == 0);
                        }
                        if (Orders.TState == 5)//待审核
                        {
                            p.SqlWhere.Add(f => f.TState == 1 && f.PayState == 1 && f.InState == 1 && f.IdCardState == 2);
                        }
                        if (Orders.TState == 6)//待传证照
                        {
                            p.SqlWhere.Add(f => f.TState == 1 && f.PayState == 1 && f.InState == 1 && f.IdCardState == 1);
                        }
                        if (Orders.TState == 7)//审核失败
                        {
                            p.SqlWhere.Add(f => f.TState == 1 && f.PayState == 1 && f.InState == 1 && f.IdCardState == 4);
                        }
                    }
                }
                if (Orders.TType == 10)
                {
                    if (!Orders.TState.IsNullOrEmpty())
                    {
                        p.SqlWhere.Add(f => f.TState == Orders.TState);
                    }
                }
            }
            #endregion
            #endregion
            p.OrderByList.Add("Id", "DESC");
            IPageOfItems <Orders> OrdersList = Entity.Selects <Orders>(p);
            ViewBag.OrdersList = OrdersList;
            ViewBag.Orders     = Orders;
            //查询对应的商户
            List <int> UId = OrdersList.Select(o => o.UId).Distinct().ToList();
            ViewBag.UsersList      = Entity.Users.Where(n => n.State == 1 && UId.Contains(n.Id)).ToList();
            ViewBag.PayConfigList  = Entity.PayConfig.Where(n => n.State == 1).ToList();
            ViewBag.IsShowSupAgent = IsShowSupAgent;
            ViewBag.BasicAgent     = BasicAgent;
            SysSet SysSet = Entity.SysSet.FirstOrNew();
            ViewBag.SysSet     = SysSet;
            ViewBag.Entity     = Entity;
            ViewBag.LowerLevel = LowerLevel;
            ViewBag.Edit       = this.checkPower("Edit");
            return(View());
        }
Пример #7
0
        public void Post()
        {
            string Data = DataObj.GetData();

            if (Data.IsNullOrEmpty())
            {
                DataObj.OutError("1000");
                return;
            }
            JObject json = new JObject();

            try
            {
                json = (JObject)JsonConvert.DeserializeObject(Data);
            }
            catch (Exception Ex)
            {
                Log.Write("[JobOrders]:", "【Data】" + Data, Ex);
                DataObj.OutError("1000");
                return;
            }
            if (json == null)
            {
                DataObj.OutError("1000");
                return;
            }
            JobOrders JobOrders = new JobOrders();

            JobOrders = JsonToObject.ConvertJsonToModel(JobOrders, json);

            #region 获取用户信息
            Users baseUsers = Entity.Users.FirstOrDefault(n => n.Token == JobOrders.Token);
            if (baseUsers == null)//用户令牌不存在
            {
                DataObj.OutError("2004");
                return;
            }
            if (baseUsers.State != 1)//用户被锁定
            {
                DataObj.OutError("2003");
                return;
            }
            #endregion

            EFPagingInfo <JobOrders> p = new EFPagingInfo <JobOrders>();
            if (!JobOrders.Pg.IsNullOrEmpty())
            {
                p.PageIndex = JobOrders.Pg;
            }
            if (!JobOrders.Pgs.IsNullOrEmpty())
            {
                p.PageSize = JobOrders.Pgs;
            }
            p.SqlWhere.Add(f => f.UId == baseUsers.Id);

            //这里JobOrders.State=1进行中 JobOrders.State=2已完成
            if (JobOrders.State == 1)
            {
                p.SqlWhere.Add(f => f.State == 2 || f.State == 3);
            }
            else if (JobOrders.State == 2)
            {
                p.SqlWhere.Add(f => f.State == 4 || f.State == 5);
            }

            p.OrderByList.Add("Id", "DESC");
            IPageOfItems <JobOrders> List = Entity.Selects <JobOrders>(p);
            var             tnums         = List.Select(o => o.TNum).ToList();
            var             UserCardIds   = List.Select(o => o.UserCardId).ToList();
            List <JobItem>  JobItemList   = Entity.JobItem.Where(n => tnums.Contains(n.TNum)).ToList();
            List <UserCard> UserCardList  = Entity.UserCard.Where(n => UserCardIds.Contains(n.Id)).ToList();
            foreach (var item in List)
            {
                item.Cols = item.Cols + ",Items,UsersCard";

                var itemList         = JobItemList.Where(o => o.TNum == item.TNum).ToList();
                var JobItemModelList = itemList.GroupBy(o => o.RunTime.Date, (x, o) => new JobItemModel
                {
                    date = x,
                    item = o.OrderBy(k => k.RunType).ToList().EntityToJson(),
                }).OrderBy(o => o.date).ToList();
                item.Items = JobItemModelList.EntityToJson();

                var     UserCard    = UserCardList.FirstOrNew(o => o.Id == item.UserCardId);
                string  UserCardStr = UserCard.OutJson();
                JObject JS          = new JObject();
                try
                {
                    JS = (JObject)JsonConvert.DeserializeObject(UserCardStr);
                }
                catch (Exception Ex)
                {
                    Log.Write("[JobOrders]:", "【JsStr】" + UserCardStr, Ex);
                }
                item.UsersCard = JS;
            }
            IList <JobOrders> iList = List.ToList();
            StringBuilder     sb    = new StringBuilder("");
            sb.Append("{");
            sb.Append(List.PageToString());
            sb.Append(",");
            sb.Append(iList.EntityToString());
            sb.Append("}");
            string data = sb.ToString();
            data         = data.Replace("\"[{", "[{").Replace("}]\"", "}]").Replace("\\", "").Replace("]\"}", "]}");
            DataObj.Data = data;
            DataObj.Code = "0000";
            DataObj.OutString();
        }
        public FileResult ExcelExport(FastOrder FastOrder, EFPagingInfo <FastOrder> p, bool?IsShowSupAgent)
        {
            p.PageSize = 9999999;
            if (IsShowSupAgent == null)
            {
                IsShowSupAgent = false;
            }
            p = this.Condition(FastOrder, p, IsShowSupAgent.Value);
            IPageOfItems <FastOrder> FastOrderList = Entity.Selects <FastOrder>(p);
            List <int> UId = FastOrderList.Select(o => o.UId).Distinct().ToList();
            //List<int> AgentIds = FastOrderList.Select(o => o.Agent).Distinct().ToList();
            var UsersList = Entity.Users.Where(n => n.State == 1 && UId.Contains(n.Id)).ToList();
            //var ResideSysAgentList = Entity.SysAgent.Where(n => AgentIds.Contains(n.Id)).ToList();
            var FastPayWayList = Entity.FastPayWay.ToList();
            var SysAgentList   = Entity.SysAgent.Where(n => n.Tier == 1).ToList();

            DataTable table = new DataTable();
            DataRow   row   = null;

            // 创建 datatable
            table.Columns.Add(new DataColumn("交易号", typeof(string)));
            table.Columns.Add(new DataColumn("交易商户", typeof(string)));
            table.Columns.Add(new DataColumn("总金额", typeof(decimal)));
            table.Columns.Add(new DataColumn("手续费", typeof(decimal)));
            table.Columns.Add(new DataColumn("分润", typeof(decimal)));
            table.Columns.Add(new DataColumn("成本费率‰", typeof(decimal)));
            table.Columns.Add(new DataColumn("成本费用(交易)", typeof(decimal)));
            table.Columns.Add(new DataColumn("成本费用(代付)", typeof(decimal)));
            table.Columns.Add(new DataColumn("用户费率‰", typeof(decimal)));
            table.Columns.Add(new DataColumn("用户费用", typeof(decimal)));
            table.Columns.Add(new DataColumn("利润", typeof(decimal)));
            table.Columns.Add(new DataColumn("交易类型", typeof(string)));
            table.Columns.Add(new DataColumn("交易时间", typeof(string)));
            table.Columns.Add(new DataColumn("交易状态", typeof(string)));
            table.Columns.Add(new DataColumn("用户结算", typeof(string)));
            table.Columns.Add(new DataColumn("代理结算", typeof(string)));
            table.Columns.Add(new DataColumn("支付通道", typeof(string)));
            table.Columns.Add(new DataColumn("支付时间", typeof(string)));
            table.Columns.Add(new DataColumn("分支机构", typeof(string)));
            table.Columns.Add(new DataColumn("同级分润", typeof(decimal)));

            // 填充数据
            foreach (var item in FastOrderList)
            {
                var AgentPathArr = item.AgentPath.Split('|').ToList();
                AgentPathArr.RemoveAll(o => o == string.Empty);
                string TopAgentName = "";
                if (AgentPathArr.Count > 0)
                {
                    int AgentID = 0;
                    if (int.TryParse(AgentPathArr[0], out AgentID))
                    {
                        TopAgentName = SysAgentList.FirstOrNew(o => o.Id == AgentID).Name;
                    }
                }

                row     = table.NewRow();
                row[0]  = item.TNum;
                row[1]  = UsersList.FirstOrNew(o => o.Id == item.UId).TrueName;
                row[2]  = item.Amoney.ToString("F2");
                row[3]  = item.Poundage.ToString("F2");
                row[4]  = item.AgentPayGet.ToString("F2");
                row[5]  = (item.SysRate * 1000).ToString("F2");
                row[6]  = (item.SysRate * item.Amoney).Floor().ToString("F2");
                row[7]  = item.SysCash.ToString("F2");
                row[8]  = (item.UserRate * 1000).ToString("F2");
                row[9]  = item.UserCash.ToString("F2");
                row[10] = item.HFGet.ToString("F2");
                row[11] = Utils.GetFastOrderModel().FirstOrNew(n => n.Id == item.OType).Name;
                row[12] = item.AddTime.ToString("yyyy-MM-dd HH:mm");
                row[13] = item.GetState();
                row[14] = item.GetUserClearingState();
                row[15] = item.GetAgentClearingState();
                row[16] = FastPayWayList.FirstOrNew(o => o.Id == item.PayWay).Title;
                row[17] = item.PayTime.HasValue ? item.PayTime.Value.ToString("yyyy-MM-dd HH:mm") : "";
                row[18] = TopAgentName;
                row[19] = item.SameGet.ToString("F2");
                table.Rows.Add(row);
            }

            return(this.ExportExcelBase(table, "收付直通车"));
        }
Пример #9
0
        public ActionResult XLSDo(OrderProfitLog OrderProfitLog, EFPagingInfo <OrderProfitLog> p)
        {
            p.SqlWhere.Add(f => f.LogType == 3);
            if (!OrderProfitLog.TNum.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.TNum == OrderProfitLog.TNum);
            }
            if (!OrderProfitLog.LogType.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.LogType == OrderProfitLog.LogType);
            }
            if (!OrderProfitLog.Agent.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.Agent == OrderProfitLog.Agent);
            }
            if (!OrderProfitLog.STime.IsNullOrEmpty() && !OrderProfitLog.ETime.IsNullOrEmpty())
            {
                DateTime ETime = OrderProfitLog.ETime;
                p.SqlWhere.Add(f => f.AddTime > OrderProfitLog.STime && f.AddTime < ETime);
            }
            p.PageSize = 999999;
            p.OrderByList.Add("Id", "DESC");
            IPageOfItems <OrderProfitLog> OrderProfitLogList = null;

            OrderProfitLogList = Entity.Selects <OrderProfitLog>(p);
            IList <OrderProfitLog> List      = OrderProfitLogList.GroupBy(n => n.UId).Select(n => n.First()).ToList();
            List <int>             UId       = OrderProfitLogList.Select(o => o.UId).Distinct().ToList();
            IList <Users>          UsersList = Entity.Users.Where(n => n.State == 1 && UId.Contains(n.Id)).ToList();

            List <int>       AgentId   = OrderProfitLogList.Select(o => o.Agent).Distinct().ToList();
            IList <SysAgent> AgentList = Entity.SysAgent.Where(n => n.State == 1 && AgentId.Contains(n.Id)).ToList();
            DataTable        table     = new DataTable();
            DataRow          row       = null;

            // 创建 datatable
            table.Columns.Add(new DataColumn("交易号", typeof(string)));
            table.Columns.Add(new DataColumn("交易商户", typeof(string)));
            table.Columns.Add(new DataColumn("交易类型", typeof(string)));
            table.Columns.Add(new DataColumn("交易金额", typeof(string)));
            table.Columns.Add(new DataColumn("分润金额", typeof(string)));
            table.Columns.Add(new DataColumn("分润时间", typeof(string)));
            table.Columns.Add(new DataColumn("代理商名称", typeof(string)));
            table.Columns.Add(new DataColumn("代理商层级", typeof(string)));
            string state = "";

            //订单按照支付时间排序
            foreach (var item in OrderProfitLogList)
            {
                Users    Users    = UsersList.FirstOrNew(n => n.Id == item.UId);
                SysAgent SysAgent = AgentList.FirstOrNew(o => o.Id == item.Agent);
                if (item.OrderType == 21)
                {
                    state = "直通车交易";
                }
                else if (item.OrderType == 10)
                {
                    state = "自助开通代理";
                }
                else if (item.OrderType == 31)
                {
                    state = "刷还交易";
                }
                row    = table.NewRow();
                row[0] = item.TNum;
                row[1] = Users.TrueName;
                row[2] = state;
                row[3] = item.Amoney;
                row[4] = item.Profit;
                row[5] = item.AddTime.ToString("yyyy-MM-dd HH:mm");
                row[6] = SysAgent.Name;
                row[7] = item.Tier + "级";
                table.Rows.Add(row);
            }
            string Time = DateTime.Now.ToString("yyyyMMddHHmmss") + new Random().Next(10, 99);

            return(this.ExportExcelBase(table, "同级分润明细-" + Time));
        }