Example #1
0
        /// <summary>
        /// 同意团长审核
        /// </summary>
        /// <param name="id"></param>
        public void ChangeOperateStatusAgree(string id)
        {
            var theData = GetTheData(id);

            theData.status = 1;

            var _membersBusiness = new membersBusiness();
            var member           = _membersBusiness.GetTheData(theData.member_id);

            if (theData.invite_code.IsNullOrEmpty() || theData.invite_code.Length == 6)//一级团长 生成8位邀请码
            {
                member.header_status = 1;
                member.header_time   = DateTime.Now.ToCstTime();
                member.header_level  = 1;
                member.invite_code   = RandomHelper.GenRandom(8);
                if (!theData.invite_code.IsNullOrEmpty())
                {
                    member.share_invite_code = theData.invite_code;
                }
            }
            if (theData.invite_code.Length == 8) //二级团长 不生成邀请码
            {
                member.header_status     = 1;
                member.header_time       = DateTime.Now.ToCstTime();
                member.header_level      = 2;
                member.share_invite_code = theData.invite_code;
            }
            UpdateData(theData);
            _membersBusiness.Update(member);
        }
Example #2
0
        /// <summary>
        /// 获取数据列表
        /// </summary>
        /// <param name="condition">查询类型</param>
        /// <param name="keyword">关键字</param>
        /// <returns></returns>
        public List <members_audit> GetDataList(string condition, string keyword, Pagination pagination)
        {
            var q = GetIQueryable();

            //模糊查询
            if (!condition.IsNullOrEmpty() && !keyword.IsNullOrEmpty())
            {
                q = q.Where($@"{condition}.Contains(@0)", keyword);
            }

            var memberids = q.Select(x => x.member_id).ToList();
            var members   = new membersBusiness().GetIQueryable().Where(x => memberids.Contains(x.oppen_id)).ToList();
            var list      = q.ToList();

            list.ForEach(x => x.member_id = members.FirstOrDefault(y => y.oppen_id == x.member_id)?.nick_name);

            return(list.GetPagination(pagination).ToList());
        }
        /// <summary>
        /// 获取销售渠道
        /// </summary>
        /// <returns></returns>
        public EChartData GetPurchaseChannels(int days)
        {
            var data     = new EChartData();
            var listPays = _payBusiness.GetIQueryable().Where(x => x.status == 1).ToList();                                                                          //支付记录
            //var listProduct = new ProductBusiness().GetIQueryable().ToList();//产品清单
            var listMembers = new membersBusiness().GetIQueryable().ToList();                                                                                        //用户信息
            var listOrders  = _orderBusiness.GetIQueryable().Where(x => x.status == 1).ToList().Where(x => listPays.Find(a => a.order_id == x.Id) != null).ToList(); //订单 -支付完成的订单

            var nowTime = DateTime.Now.ToCstTime();

            for (int i = days - 1; i >= 0; i--)
            {
                data.xAxisData.Add(nowTime.AddDays(-i).ToString("MM/dd"));
                data.yAxisData.Add(listOrders.Where(x => x.share_id.IsNullOrEmpty() && x.create_time.ToString("yyyy-MM-dd") == nowTime.AddDays(-i).ToString("yyyy-MM-dd")).Count());
                data.yAxisData2.Add(listOrders.Where(x => !x.share_id.IsNullOrEmpty() && listMembers.FirstOrDefault(o => o.oppen_id == x.share_id)?.header_status == 1 && x.create_time.ToString("yyyy-MM-dd") == nowTime.AddDays(-i).ToString("yyyy-MM-dd")).Count());
                data.yAxisData3.Add(listOrders.Where(x => !x.share_id.IsNullOrEmpty() && listMembers.FirstOrDefault(o => o.oppen_id == x.share_id)?.header_status == 0 && x.create_time.ToString("yyyy-MM-dd") == nowTime.AddDays(-i).ToString("yyyy-MM-dd")).Count());
            }
            return(data);
        }
        /// <summary>
        /// 首页数据
        /// </summary>
        /// <param name="days"></param>
        /// <param name="pagination"></param>
        /// <returns></returns>
        public MainData GetMainData(int days, Pagination pagination)
        {
            var currentTime   = DateTime.Now.ToCstTime().ToString("yyyy-MM-dd");
            var yesterdayTime = DateTime.Now.ToCstTime().AddDays(-1).ToString("yyyy-MM-dd");
            var data          = new MainData();

            var listPays    = new payBusiness().GetIQueryable().Where(x => x.status == 1).ToList();                                                                       //支付记录
            var listProduct = new ProductBusiness().GetIQueryable().ToList();                                                                                             //产品清单
            var listMembers = new membersBusiness().GetIQueryable().ToList();                                                                                             //用户记录
            var listOrders  = new orderBusiness().GetIQueryable().Where(x => x.status == 1).ToList().Where(x => listPays.Find(a => a.order_id == x.Id) != null).ToList(); //订单 -支付完成的订单

            //浏览数
            data.T_VisitsNum = 0;
            data.Y_VisitsNum = 0;
            data.A_VisitsNum = 0;
            //注册用户数
            data.T_RegisteredUsers = listMembers.Where(x => x.registration_time?.ToString("yyyy-MM-dd") == currentTime).Count();
            data.Y_RegisteredUsers = listMembers.Where(x => x.registration_time?.ToString("yyyy-MM-dd") == yesterdayTime).Count();
            data.A_RegisteredUsers = listMembers.Where(x => x.registration_time != null).Count();
            //团长新增数
            data.T_NewHead = listMembers.Where(x => x.header_time?.ToString("yyyy-MM-dd") == currentTime).Count();
            data.Y_NewHead = listMembers.Where(x => x.header_time?.ToString("yyyy-MM-dd") == yesterdayTime).Count();
            data.A_NewHead = listMembers.Where(x => x.header_time != null).Count();
            //参团数
            data.T_Participants = listOrders.Where(x => x.create_time.ToString("yyyy-MM-dd") == currentTime).Sum(x => x.num);
            data.Y_Participants = listOrders.Where(x => x.create_time.ToString("yyyy-MM-dd") == yesterdayTime).Sum(x => x.num);
            data.A_Participants = listOrders.Where(x => x.create_time != null).Sum(x => x.num);
            //交易额
            data.T_TradingVolume = listPays.Where(x => x.pay_time?.ToString("yyyy-MM-dd") == currentTime).Sum(x => x.money);
            data.Y_TradingVolume = listPays.Where(x => x.pay_time?.ToString("yyyy-MM-dd") == yesterdayTime).Sum(x => x.money);
            data.A_TradingVolume = listPays.Where(x => x.pay_time != null).Sum(x => x.money);

            decimal value = 0;

            for (int i = days - 1; i >= 0; i--)
            {
                value += listPays.Where(x => x.pay_time?.ToString("yyyy-MM-dd") == DateTime.Now.ToCstTime().AddDays(-i).ToString("yyyy-MM-dd")).Sum(x => x.money);
                data.xAxisData.Add(DateTime.Now.ToCstTime().AddDays(-i).ToString("MM/dd"));
                data.yAxisData.Add(value);
            }

            List <SaleRank> ProductSaleRank     = new List <SaleRank>();
            var             listProductSaleRank = listOrders.GroupBy(x => x.product_id);

            foreach (var item in listProductSaleRank)
            {
                ProductSaleRank.Add(new SaleRank()
                {
                    name = listProduct.Find(x => x.Id == int.Parse(item.Key))?.title, num = item.Sum(x => x.num)
                });
            }
            data.ProductSaleRank = pagination.BuildTableResult_DataGrid(ProductSaleRank.GetPagination(pagination).ToList());

            List <SaleRank> TeamSaleRank     = new List <SaleRank>();
            var             listTeamSaleRank = listOrders.Where(x => x.share_id != null).GroupBy(x => x.share_id);

            foreach (var item in listTeamSaleRank)
            {
                TeamSaleRank.Add(new SaleRank()
                {
                    name = listMembers.Find(x => x.oppen_id == item.Key)?.nick_name, num = item.Sum(x => x.num)
                });
            }
            data.TeamSaleRank = pagination.BuildTableResult_DataGrid(TeamSaleRank.GetPagination(pagination).ToList());
            return(data);
        }