Exemplo n.º 1
0
 /// <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"
     });
 }
Exemplo n.º 2
0
        /// <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"
            });
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        /// <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);
        }
Exemplo n.º 5
0
 /// <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));
 }
Exemplo n.º 6
0
        /// <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);
        }
Exemplo n.º 7
0
 /// <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));
 }
Exemplo n.º 8
0
 /// <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));
 }