/// <summary> /// 定制化查询 /// 类型:微信,线上 /// 分页情况 /// </summary> /// <param name="MOQuery"></param> /// <returns></returns> public ActionResult AjaxMemberOrder(MemberSaleOrderVMQuery MOQuery) { var svc = Service; var OSvc = ORSService; Collection <MemberSaleOrderVM> MasterModel = new Collection <MemberSaleOrderVM>(); long id = -1; string OrderSource = "wechat"; //获取查看用户编号 if (Request.Form["FanId"] != null) { if (!long.TryParse(Request.Form["FanId"].ToString(), out id)) { id = -1; } } //获取订单来源 //wechat--web if (Request.Form["OrderSource"] != null) { OrderSource = Request.Form["OrderSource"].ToString(); } #region 微信端订单 if (OrderSource == "wechat") { var WeChatOrderQuery = new SaleOrderQuery { FanIDs = new long[] { id }, Take = PageSize, Skip = MOQuery.Skip, OrderField = "CreatedAt", OrderDirection = OrderDirection.Asc }; var WeChatOrderList = svc.SelectOrEmpty(WeChatOrderQuery); if (WeChatOrderList != null && WeChatOrderList.Any()) { MemberSaleOrderVM ItemModel = new MemberSaleOrderVM(); var DMetholds = GetDeliveryMethods(); foreach (var item in WeChatOrderList) { ItemModel = new MemberSaleOrderVM(); ItemModel.Code = item.Code; ItemModel.Amount = item.Amount; ItemModel.CreateTime = item.CreatedAt; ItemModel.DeliveryFee = item.DeliveryFee; ItemModel.DeliveryCode = item.DeliveryCode; ItemModel.DeliveryMethodID = item.DeliveryMethodID ?? -1; foreach (var DItem in DMetholds) { if (DItem.ID == ItemModel.DeliveryMethodID) { ItemModel.DeliveryMethodName = DItem.Name; break; } } ItemModel.Status = item.State ?? -1; ItemModel.StatusName = ((OrderState)ItemModel.Status).GetDescription(); ItemModel.OrderSource = "微信商城"; MasterModel.Add(ItemModel); } } ViewData["Pagination"] = Pagination.FromQuery(WeChatOrderQuery); } #endregion #region 线上商城订单 else if (OrderSource == "web") { var relatedQuery = new MemberRelatedQuery { FanIDs = new long[] { id } }; var relatedMember = svc.SelectOrEmpty(relatedQuery).FirstOrDefault(); //如果有关联,则获取关联信息 if (relatedMember != null) { //临时记录线上商城订单信息 //线上商城订单信息需要拼接,故而需要临时信息 Collection <MemberSaleOrderVM> WebMasterModel = new Collection <MemberSaleOrderVM>(); var WebOrderQuery = new OrderQuery { CustomerIDs = new long[] { relatedMember.CustomerID ?? -1 }, Take = PageSize, Skip = MOQuery.Skip, OrderField = "CreatedAt", OrderDirection = OrderDirection.Asc }; var WebOrderList = OSvc.SelectOrEmpty(WebOrderQuery); if (WebOrderList != null && WebOrderList.Any()) { MemberSaleOrderVM ItemModel = new MemberSaleOrderVM(); int idCount = WebOrderList.Count(); long[] ids = new long[idCount]; int idIndex = 0; foreach (var item in WebOrderList) { ItemModel = new MemberSaleOrderVM(); ItemModel.Code = item.Code; ItemModel.CreateTime = item.CreatedAt; ItemModel.OrderSource = "在线商城"; ItemModel.OrderId = item.ID; ids[idIndex++] = ItemModel.OrderId ?? -1; WebMasterModel.Add(ItemModel); } var WebFundQuery = new OrderFundQuery { IDs = ids }; var WebFundList = OSvc.SelectOrEmpty(WebFundQuery); if (WebFundList != null) { for (int i = 0; i < WebMasterModel.Count(); i++) { for (int j = 0; j < WebFundList.Count(); j++) { if (WebMasterModel[i].OrderId == WebFundList.ToList()[j].ID) { WebMasterModel[i].Amount = WebFundList.ToList()[j].PayableAmount; WebMasterModel[i].DeliveryFee = WebFundList.ToList()[j].DeliveryFee; } } MasterModel.Add(WebMasterModel[i]); } } } ViewData["Pagination"] = Pagination.FromQuery(WebOrderQuery); } else//保证在未绑定的情况下,页面的一致性 { var WebOrderQuery = new OrderQuery { CustomerIDs = new long[] { -1 }, Take = PageSize, }; ViewData["Pagination"] = Pagination.FromQuery(WebOrderQuery); } } #endregion ViewData["CId"] = id; return(View("Member/MemberOrderList", MasterModel)); }
/// <summary> /// 会员订单详情页 /// <param name="id">会员微信系统编号</param> /// </summary> /// <returns></returns> public ActionResult MemberOrder(long id) { var svc = Service; var OSvc = ORSService; Collection <MemberSaleOrderVM> MasterModel = new Collection <MemberSaleOrderVM>(); #region 微信端订单 var WeChatOrderQuery = new SaleOrderQuery { FanIDs = new long[] { id }, OrderField = "CreatedAt", OrderDirection = OrderDirection.Asc, Take = PageSize }; var WeChatOrderList = svc.SelectOrEmpty(WeChatOrderQuery); if (WeChatOrderList != null && WeChatOrderList.Any()) { MemberSaleOrderVM ItemModel = new MemberSaleOrderVM(); var DMetholds = GetDeliveryMethods(); foreach (var item in WeChatOrderList) { ItemModel = new MemberSaleOrderVM(); ItemModel.Code = item.Code; ItemModel.Amount = item.Amount; ItemModel.CreateTime = item.CreatedAt; ItemModel.DeliveryFee = item.DeliveryFee; ItemModel.DeliveryCode = item.DeliveryCode; ItemModel.DeliveryMethodID = item.DeliveryMethodID ?? -1; foreach (var DItem in DMetholds) { if (DItem.ID == ItemModel.DeliveryMethodID) { ItemModel.DeliveryMethodName = DItem.Name; break; } } ItemModel.Status = item.State ?? -1; ItemModel.StatusName = ((OrderState)ItemModel.Status).GetDescription(); ItemModel.OrderSource = "微信商城"; MasterModel.Add(ItemModel); } } #endregion #region 线上商城订单 ////微信端订单数目不足以显示一页时,从线上商城拉取数据 //if (MasterModel.Count() < PageSize) //{ // //需从线上商城拉取的数据条数 // int _Take = PageSize - MasterModel.Count(); // var relatedQuery = new MemberRelatedQuery // { // FanIDs = new long[] { id } // }; // var relatedMember = svc.SelectOrEmpty(relatedQuery).FirstOrDefault(); // //如果有关联,则获取关联信息 // if (relatedMember != null) // { // //临时记录线上商城订单信息 // //线上商城订单信息需要拼接,故而需要临时信息 // Collection<MemberSaleOrderVM> WebMasterModel = new Collection<MemberSaleOrderVM>(); // var WebOrderQuery = new OrderQuery // { // CustomerIDs = new long[] { relatedMember.CusomerID ?? -1 }, // Take = _Take, // OrderField = "CreatedAt", // OrderDirection = OrderDirection.Asc // }; // var WebOrderList = OSvc.SelectOrEmpty(WebOrderQuery); // if (WebOrderList != null && WebOrderList.Any()) // { // MemberSaleOrderVM ItemModel = new MemberSaleOrderVM(); // int idCount = WebOrderList.Count(); // long[] ids = new long[idCount]; // int idIndex = 0; // foreach (var item in WebOrderList) // { // ItemModel = new MemberSaleOrderVM(); // ItemModel.Code = item.Code; // ItemModel.CreateTime = item.CreatedAt; // ItemModel.OrderSource = "在线商城"; // ItemModel.OrderId = item.ID; // ids[idIndex++] = ItemModel.OrderId ?? -1; // WebMasterModel.Add(ItemModel); // } // var WebFundQuery = new OrderFundQuery // { // IDs = ids // }; // var WebFundList = OSvc.SelectOrEmpty(WebFundQuery); // if (WebFundList != null) // { // for (int i = 0; i < WebMasterModel.Count(); i++) // { // for (int j = 0; j < WebFundList.Count(); j++) // { // if (WebMasterModel[i].OrderId == WebFundList.ToList()[j].ID) // { // WebMasterModel[i].Amount = WebFundList.ToList()[j].PayableAmount; // WebMasterModel[i].DeliveryFee = WebFundList.ToList()[j].DeliveryFee; // } // } // MasterModel.Add(WebMasterModel[i]); // } // } // } // } //} #endregion ViewData["Pagination"] = Pagination.FromQuery(WeChatOrderQuery); ViewData["CId"] = id; return(View(MasterModel)); }