/// <summary> /// 获取拼团详情 /// </summary> /// <param name="search"></param> /// <returns></returns> public Jinher.AMP.BTP.Deploy.CustomDTO.ResultDTO <Jinher.AMP.BTP.Deploy.CustomDTO.DiyGroupDetailDTO> GetDiyGroupDetailExt(Jinher.AMP.BTP.Deploy.CustomDTO.DiyGroupDetailSearchDTO search) { ResultDTO <Jinher.AMP.BTP.Deploy.CustomDTO.DiyGroupDetailDTO> result = new ResultDTO <DiyGroupDetailDTO>(); if (search == null || search.DiyGoupId == Guid.Empty) { result.ResultCode = 1; result.Message = "参数错误"; return(result); } var query = (from dg in DiyGroup.ObjectSet() join c in Commodity.ObjectSet() on dg.CommodityId equals c.Id join p in Promotion.ObjectSet() on dg.PromotionId equals p.Id where dg.Id == search.DiyGoupId select new { DiyGroup = dg, Commodity = c, Promotion = p }).FirstOrDefault(); if (query == null || query.Commodity == null || query.DiyGroup == null || query.Promotion == null) { result.ResultCode = 2; result.Message = "没有获取到相应的拼团详情"; return(result); } var commodity = query.Commodity; var diyGroup = query.DiyGroup; var promotion = query.Promotion; var promotionItem = PromotionItems.ObjectSet().Where(t => t.PromotionId == diyGroup.PromotionId).FirstOrDefault(); if (promotionItem == null) { result.ResultCode = 2; result.Message = "没有获取到相应的拼团详情"; return(result); } var productDetailPicture = ProductDetailsPicture.ObjectSet().Where(n => n.CommodityId == commodity.Id).OrderBy(n => n.Sort).Select(c => c.PicturesPath).FirstOrDefault(); result.Data = new DiyGroupDetailDTO() { Id = diyGroup.Id, Name = diyGroup.Name, Code = diyGroup.Code, SubTime = diyGroup.SubTime, SubId = diyGroup.SubId, AppId = diyGroup.AppId, CommodityId = diyGroup.CommodityId, PromotionId = diyGroup.PromotionId, ModifiedOn = diyGroup.ModifiedOn, ExpireTime = diyGroup.ExpireTime, State = diyGroup.State, JoinNumber = diyGroup.JoinNumber, SuccessProcessorId = diyGroup.SuccessProcessorId, SuccessTime = diyGroup.SuccessTime, FailProcessorId = diyGroup.FailProcessorId, FailTime = diyGroup.FailTime, EsAppId = diyGroup.EsAppId, //commodity PicturesPath = commodity.PicturesPath, CommodityName = commodity.Name, ProductDetailPicture = productDetailPicture, //promotion StartTime = promotion.StartTime, EndTime = promotion.EndTime, GroupMinVolume = promotion.GroupMinVolume ?? -1, ExpireSecond = promotion.ExpireSecond ?? -1, Description = promotion.Description, OutsideId = promotion.OutsideId.Value, //promotionitem LimitBuyEach = promotionItem.LimitBuyEach ?? -1, LimitBuyTotal = promotionItem.LimitBuyTotal ?? -1, DiscountPrice = promotionItem.DiscountPrice, SurplusLimitBuyTotal = promotionItem.SurplusLimitBuyTotal ?? -1 }; result.Data.DiyGroupOrderList = new List <DiyGroupOrderDetailDTO>(); var diyGroupOrder = (from dgOrder in DiyGroupOrder.ObjectSet() join co in CommodityOrder.ObjectSet() on dgOrder.OrderId equals co.Id where dgOrder.DiyGroupId == search.DiyGoupId && (dgOrder.Role == 0 || dgOrder.Role == 1 && dgOrder.State == 1) orderby dgOrder.SubTime ascending select new DiyGroupOrderDetailDTO { Id = dgOrder.Id, SubTime = dgOrder.SubTime, SubId = dgOrder.SubId, AppId = dgOrder.AppId, OrderId = dgOrder.OrderId, OrderCode = dgOrder.OrderCode, Role = dgOrder.Role, DiyGroupId = dgOrder.DiyGroupId, SubCode = dgOrder.SubCode, ModifiedOn = dgOrder.ModifiedOn, DiyGroupPrice = (decimal)co.RealPrice }).ToList(); result.Data.DiyGroupOrderList.AddRange(diyGroupOrder); //提取用户信息 var userIdList = result.Data.DiyGroupOrderList.Select(t => t.SubId).ToList(); var userInfolist = CBCSV.Instance.GetUserInfoWithAccountList(userIdList); if (userInfolist != null && userInfolist.Count > 0) { foreach (var item in result.Data.DiyGroupOrderList) { var tmpUserInfo = userInfolist.Where(t => t.UserId == item.SubId).FirstOrDefault(); if (tmpUserInfo != null) { item.UserCode = CBCSV.EncodeUserCode(tmpUserInfo.Account); item.UserPicture = tmpUserInfo.HeadIcon; } } } //var diyHeadOrder = diyGroupOrder.Where(t => t.Role == 0).FirstOrDefault(); //if (diyHeadOrder != null && diyHeadOrder.State == 0) //{ // result.Data.JoinNumber = result.Data.JoinNumber + 1; //} //系统当前时间,倒计时用 result.Data.DateTimeNow = DateTime.Now; return(result); }
/// <summary> /// 获取拼团详情 /// </summary> /// <param name="search"></param> /// <returns></returns> public Jinher.AMP.BTP.Deploy.CustomDTO.ResultDTO <Jinher.AMP.BTP.Deploy.CustomDTO.DiyGroupDetailDTO> GetDiyGroupDetail(Jinher.AMP.BTP.Deploy.CustomDTO.DiyGroupDetailSearchDTO search) { base.Do(false); return(this.GetDiyGroupDetailExt(search)); }