/// <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); }
/// <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); }