/// <summary> /// 退款(必传参数DiyGoupId) /// </summary> /// <param name="search"></param> /// <returns></returns> public Jinher.AMP.BTP.Deploy.CustomDTO.ResultDTO RefundExt(Jinher.AMP.BTP.Deploy.CustomDTO.DiyGroupSearchDTO search) { try { ContextSession contextSession = ContextFactory.CurrentThreadContext; var query = DiyGroup.ObjectSet().FirstOrDefault(n => n.Id == search.DiyGoupId && n.AppId == search.AppId); if (query != null) { query.State = 5; query.ModifiedOn = DateTime.Now; query.EntityState = EntityState.Modified; } contextSession.SaveChange(); } catch (Exception ex) { LogHelper.Error(string.Format("退款异常。search:{0}", search), ex); return(new ResultDTO { ResultCode = 1, Message = "Error" }); } return(new ResultDTO { ResultCode = 0, Message = "Success" }); }
/// <summary> /// 确认成团(必传参数DiyGoupId) /// </summary> /// <param name="search"></param> /// <returns></returns> public Jinher.AMP.BTP.Deploy.CustomDTO.ResultDTO ConfirmDiyGroupExt(Jinher.AMP.BTP.Deploy.CustomDTO.DiyGroupSearchDTO search) { try { ContextSession contextSession = ContextFactory.CurrentThreadContext; var query = (from diyGroup in DiyGroup.ObjectSet() join diyGroupOrder in DiyGroupOrder.ObjectSet() on diyGroup.Id equals diyGroupOrder.DiyGroupId join order in CommodityOrder.ObjectSet() on diyGroupOrder.OrderId equals order.Id where diyGroup.Id == search.DiyGoupId && diyGroupOrder.State == 1 select order ).ToList(); if (query.Count > 0) { foreach (var diyorder in query) { diyorder.State = 1; diyorder.ModifiedOn = DateTime.Now; diyorder.EntityState = System.Data.EntityState.Modified; Jinher.AMP.BTP.BE.BELogic.AddMessage addmassage = new Jinher.AMP.BTP.BE.BELogic.AddMessage(); addmassage.AddMessages(diyorder.Id.ToString(), diyorder.UserId.ToString(), diyorder.AppId, diyorder.Code, diyorder.State, "", "order"); // 触发订单成功事件 OrderEventHelper.OnOrderPaySuccess(diyorder); } } var diyquery = DiyGroup.ObjectSet().FirstOrDefault(n => n.Id == search.DiyGoupId && n.AppId == search.AppId); if (diyquery != null) { diyquery.State = 3; diyquery.ModifiedOn = DateTime.Now; diyquery.EntityState = EntityState.Modified; } contextSession.SaveChange(); } catch (Exception ex) { LogHelper.Error(string.Format("异常。search:{0}", search), ex); return(new ResultDTO { ResultCode = 1, Message = "Error" }); } return(new ResultDTO { ResultCode = 0, Message = "Success" }); }
public Jinher.AMP.BTP.Deploy.CustomDTO.ResultDTO Refund(Jinher.AMP.BTP.Deploy.CustomDTO.DiyGroupSearchDTO search) { //定义返回值 Jinher.AMP.BTP.Deploy.CustomDTO.ResultDTO result; try { //调用代理方法 result = base.Channel.Refund(search); } catch { //抛异常 throw; } finally { //关链接 ChannelClose(); } //返回结果 return(result); }
/// <summary> /// 我的拼团订单列表 /// </summary> /// <param name="search"></param> /// <returns></returns> public List <Jinher.AMP.BTP.Deploy.CustomDTO.DiyGroupOrderListDTO> GetDiyGroupListExt(Jinher.AMP.BTP.Deploy.CustomDTO.DiyGroupSearchDTO search) { List <Jinher.AMP.BTP.Deploy.CustomDTO.DiyGroupOrderListDTO> resultlist = new List <DiyGroupOrderListDTO>(); if (search == null) { return(resultlist); } search.PageIndex = search.PageIndex == 0 ? 1 : search.PageIndex; search.PageSize = search.PageSize == 0 ? 20 : search.PageSize; var diyList = (from diy in DiyGroup.ObjectSet() join pro in PromotionItems.ObjectSet() on diy.PromotionId equals pro.PromotionId join p in Promotion.ObjectSet() on pro.PromotionId equals p.Id join diyo in DiyGroupOrder.ObjectSet() on diy.Id equals diyo.DiyGroupId join com in CommodityOrder.ObjectSet() on diyo.OrderId equals com.Id where diy.EsAppId == search.EsAppId && com.UserId == search.UserId && diyo.State == 1 && diy.State != 0 orderby diyo.SubTime descending select new DiyGroupOrderListDTO { Price = com.RealPrice, DiyGroupPrice = pro.DiscountPrice, SubTime = diyo.SubTime, DiyGroupState = diy.State, GroupMinVolume = p.GroupMinVolume ?? -1, JoinNumber = diy.JoinNumber, DiyGroupId = diy.Id, EsAppId = diy.EsAppId, OrderId = diyo.OrderId, DiyOrderSubTime = diyo.SubTime, ModifiedOn = diyo.ModifiedOn, EndTime = p.EndTime }).Skip((search.PageIndex - 1) * search.PageSize).Take(search.PageSize).ToList(); var diyorderIds = diyList.Select(n => n.OrderId).ToList(); if (diyList.Any()) { var diyorderList = (from ord in OrderItem.ObjectSet() where diyorderIds.Contains(ord.CommodityOrderId) select new DiyGroupManageMM { Pic = ord.PicturesPath, Name = ord.Name, DiyNumber = ord.Number, DiyGroupOrderId = ord.CommodityOrderId, attributes = ord.CommodityAttributes }).ToList(); Dictionary <Guid, List <DiyGroupManageMM> > csdtoList = diyorderList.GroupBy(c => c.DiyGroupOrderId, (key, group) => new { DiyGroupOrderId = key, CommodityList = group }) .ToDictionary(c => c.DiyGroupOrderId, c => c.CommodityList.ToList()); var listAppIds = (from co in diyList select co.EsAppId).Distinct().ToList(); Dictionary <Guid, string> dictAppName = APPSV.GetAppNameListByIds(listAppIds); foreach (var diyGroupOrder in diyList) { if (csdtoList.ContainsKey(diyGroupOrder.OrderId)) { var commodityDtoList = csdtoList[diyGroupOrder.OrderId]; diyGroupOrder.OrderDataList = commodityDtoList; } if (dictAppName != null && dictAppName.Count > 0 && dictAppName.ContainsKey(diyGroupOrder.EsAppId)) { var appNameDto = dictAppName[diyGroupOrder.EsAppId]; diyGroupOrder.AppName = appNameDto; } resultlist.Add(diyGroupOrder); } } return(resultlist); }
/// <summary> /// 我的拼团订单列表 /// </summary> /// <param name="search"></param> /// <returns></returns> public List <Jinher.AMP.BTP.Deploy.CustomDTO.DiyGroupOrderListDTO> GetDiyGroupList(Jinher.AMP.BTP.Deploy.CustomDTO.DiyGroupSearchDTO search) { base.Do(false); return(this.GetDiyGroupListExt(search)); }
/// <summary> /// 获取拼团信息(必传参数AppId、PageIndex、PageSize、State,可选参数ComNameSub) /// </summary> /// <param name="search"></param> /// <returns></returns> public Jinher.AMP.BTP.Deploy.CustomDTO.ResultDTO <Jinher.AMP.BTP.Deploy.CustomDTO.DiyGroupManageDTO> GetDiyGroupsExt(Jinher.AMP.BTP.Deploy.CustomDTO.DiyGroupSearchDTO search) { Jinher.AMP.BTP.Deploy.CustomDTO.ResultDTO <Jinher.AMP.BTP.Deploy.CustomDTO.DiyGroupManageDTO> result = new ResultDTO <DiyGroupManageDTO>(); if (search == null) { result.Message = "参数错误,appId不能为空!"; result.ResultCode = 1; return(result); } var resultData = new Jinher.AMP.BTP.Deploy.CustomDTO.DiyGroupManageDTO(); var diyQuery = (from diy in DiyGroup.ObjectSet() join c in Commodity.ObjectSet() on diy.CommodityId equals c.Id join ps in PromotionItems.ObjectSet() on c.Id equals ps.CommodityId join p in Promotion.ObjectSet() on ps.PromotionId equals p.Id where c.AppId == search.AppId && diy.State != 0 && diy.JoinNumber != 0 && diy.PromotionId == p.Id select new DiyGroupManageVM { DiyGroupNumber = diy.Code, DiyGroupName = c.Name, DiyGroupPrice = ps.DiscountPrice, DiyGroupCount = p.GroupMinVolume, DiyId = diy.Id, DiyGroupSubTime = diy.SubTime, DiyGroupState = diy.State }); if (!String.IsNullOrEmpty(search.ComNameSub)) { diyQuery = diyQuery.Where(c => c.DiyGroupName.Contains(search.ComNameSub)); } if (!String.IsNullOrEmpty(search.State)) { if (search.State.Contains(",")) { int[] arrystate = Array.ConvertAll <string, int>(search.State.Split(','), s => int.Parse(s)).ToArray(); diyQuery = diyQuery.Where(c => arrystate.Contains(c.DiyGroupState)); } else { diyQuery = diyQuery.Where(c => c.DiyGroupState == 1); } } else if (search.State == "") { } diyQuery = diyQuery.Distinct(); resultData.Count = diyQuery.Count(); var searchResult = diyQuery.OrderByDescending(c => c.DiyGroupNumber).Skip((search.PageIndex - 1) * search.PageSize).Take(search.PageSize).ToList(); var diygroupIdList = searchResult.Select(c => c.DiyId).ToList(); //构建拼团订单id数组 List <Guid> diyOrderIdList = new List <Guid>(); for (int i = 0; i < searchResult.Count; i++) { diyOrderIdList.Add(searchResult[i].DiyId); } List <DiyGroupManageMM> diyGroupManageMmList = (from diyo in DiyGroupOrder.ObjectSet() join co in CommodityOrder.ObjectSet() on diyo.OrderId equals co.Id where diyo.AppId == search.AppId && diygroupIdList.Contains(diyo.DiyGroupId) && diyo.State == 1 select new DiyGroupManageMM { DiyGroupOrderCode = diyo.OrderCode, DiyGroupPersonCode = diyo.SubCode, DiyGroupPersonRole = diyo.Role, DiyGroupOrderId = diyo.OrderId, DiyGroupId = diyo.DiyGroupId, DiyGroupPrice = (decimal)co.RealPrice } ).OrderBy(c => c.DiyGroupOrderCode).ToList(); foreach (DiyGroupManageVM vm in searchResult) { List <DiyGroupManageMM> diyorderItemslist = new List <DiyGroupManageMM>(); foreach (DiyGroupManageMM model in diyGroupManageMmList) { if (model.DiyGroupId == vm.DiyId) { diyorderItemslist.Add(model); } } vm.OrderDataList = diyorderItemslist; } resultData.Data = searchResult; result.Data = resultData; return(result); }
/// <summary> /// 确认成团(必传参数DiyGoupId) /// </summary> /// <param name="search"></param> /// <returns></returns> public Jinher.AMP.BTP.Deploy.CustomDTO.ResultDTO Refund(Jinher.AMP.BTP.Deploy.CustomDTO.DiyGroupSearchDTO search) { base.Do(); return(this.Command.Refund(search)); }
/// <summary> /// 获取拼团信息(必传参数AppId、PageIndex、PageSize、State,可选参数ComNameSub) /// </summary> /// <param name="search"></param> /// <returns></returns> public Jinher.AMP.BTP.Deploy.CustomDTO.ResultDTO <Jinher.AMP.BTP.Deploy.CustomDTO.DiyGroupManageDTO> GetDiyGroups(Jinher.AMP.BTP.Deploy.CustomDTO.DiyGroupSearchDTO search) { base.Do(); return(this.Command.GetDiyGroups(search)); }