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