Exemplo n.º 1
0
        /// <summary>
        /// 获取商品列表 轮播图片 直播列表
        /// </summary>
        /// <param name="search">查询条件model</param>
        /// <returns></returns>
        public Jinher.AMP.BTP.Deploy.CustomDTO.ComdtyListResultCDTO GetCommodityListV3Ext(Jinher.AMP.BTP.Deploy.CustomDTO.CommodityListSearchDTO search)
        {
            //商品列表参数
            search.FieldSort  = 0;
            search.IsHasStock = false;
            search.OrderState = 1;
            search.areaCode   = "";
            //店铺直播参数
            Jinher.AMP.ZPH.Deploy.CustomDTO.QueryLiveActivityParam param = new ZPH.Deploy.CustomDTO.QueryLiveActivityParam()
            {
                Id        = new Guid("00000000-0000-0000-0000-000000000000"),
                LiveAppId = search.AppId ?? new Guid("00000000-0000-0000-0000-000000000000"),
                PageOpt   = 0,
                pageSize  = 20
            };
            //轮播图参数
            Jinher.AMP.LBP.Deploy.CustomDTO.LBListGetDTO arg = new LBP.Deploy.CustomDTO.LBListGetDTO()
            {
                AppId           = search.AppId ?? new Guid("00000000-0000-0000-0000-000000000000"),
                ClientType      = ClientTypeEnum.IPhone,
                Count           = 5,
                IsAnonymousUser = false,
                PosBizId        = new Guid("00000000-0000-0000-0000-000000000000"),
                PosType         = 0,
                UserId          = search.UserId
            };
            CommoditySV          Com          = new CommoditySV();
            ComdtyListResultCDTO HomePageInfo = new ComdtyListResultCDTO();

            if (search.AppId != Guid.Empty && search.CouponTemplateId != Guid.Empty && search.UserId != Guid.Empty)
            {
                HomePageInfo = Com.GetCommodityByCouponId_New(search);//获取首页商品列表信息
            }
            else
            {
                HomePageInfo = Com.GetCommodityListV2Ext(search);//获取首页商品列表信息
            }
            if (search.PageIndex <= 1)
            {
                var ActivityResult = ZPHSV.GetLiveActivityList(param);//获取店铺直播列表数据
                if (ActivityResult.isSuccess)
                {
                    HomePageInfo.LiveActivity = ActivityResult.Data.FirstOrDefault();
                }
                var LBlistResult = LBPSV.GetLBList(arg);//获取店铺轮播图片
                if (LBlistResult.IsSuccess)
                {
                    HomePageInfo.LBList = LBlistResult.Data;
                }
            }
            return(HomePageInfo);
        }
Exemplo n.º 2
0
        /// <summary>
        /// 获取店铺720云景地址
        /// </summary>
        /// <param name="appId"></param>
        /// <returns></returns>
        public string GetCloudViewUrl(Guid appId)
        {
            var key  = "A_CloudViewUrl:AI:" + appId.ToString();
            var data = HttpRuntime.Cache.Get(key) as string;

            if (data == null)
            {
                data = ZPHSV.GetCloudViewUrl(appId);
                if (string.IsNullOrEmpty(data))
                {
                    data = string.Empty;
                }
                HttpRuntime.Cache.Add(key, data, null, DateTime.Now.AddHours(1), System.Web.Caching.Cache.NoSlidingExpiration, System.Web.Caching.CacheItemPriority.Default, null);
            }
            return(data);
        }
Exemplo n.º 3
0
        public string GetCreateOrderTip(Guid appId)
        {
            var key  = "A_CreateOrderTip:" + appId.ToString();
            var data = HttpRuntime.Cache.Get(key) as string;

            if (data == null)
            {
                data = ZPHSV.GetCreateOrderTip(appId);
                if (string.IsNullOrEmpty(data))
                {
                    data = string.Empty;
                }
                HttpRuntime.Cache.Add(key, data, null, DateTime.Now.AddHours(1), System.Web.Caching.Cache.NoSlidingExpiration, System.Web.Caching.CacheItemPriority.Default, null);
                LogHelper.Info("ZPHCache.GetCreateOrderTip from db......");
            }
            else
            {
                LogHelper.Info("ZPHCache.GetCreateOrderTip from cache......");
            }
            return(data);
        }
Exemplo n.º 4
0
        /// <summary>
        /// 严选库存回调执行方法
        /// </summary>
        /// <param name="sku"></param>
        public static void SkuCheckStock(List <SkuCheck> sku)
        {
            ContextSession contextSession = ContextFactory.CurrentThreadContext;
            var            SkuList        = sku.Select(s => s.skuId).ToList();
            //取出库存表中所有的skuid
            var stockList = (from m in Commodity.ObjectSet()
                             join n in CommodityStock.ObjectSet() on m.Id equals n.CommodityId
                             where CustomConfig.YxAppIdList.Contains(m.AppId) && n.IsDel == false &&
                             m.IsDel == false && SkuList.Contains(n.JDCode)
                             select n).ToList();

            if (!stockList.Any())
            {
                LogHelper.Info("JdOrderHelper.SkuCheckStock 店铺中未找到商品,跳过~");
                return;
            }
            List <Guid> ComIds = new List <Guid>();

            //更新库存
            foreach (var item in sku)
            {
                var ComStock = stockList.FirstOrDefault(p => p.JDCode == item.skuId);
                if (ComStock != null)
                {
                    ComStock.Stock      = item.count;
                    ComStock.ModifiedOn = DateTime.Now;
                    ComIds.Add(ComStock.CommodityId);
                }
            }
            int mmm = contextSession.SaveChanges();

            #region 重新计算Commodity表库存信息
            //出去所有严选商品信息
            var         commodity      = Commodity.ObjectSet().Where(p => ComIds.Distinct().Contains(p.Id) && p.IsDel == false).ToList();
            var         comids         = commodity.Select(s => s.Id).ToList();
            var         commodityStock = CommodityStock.ObjectSet().Where(p => comids.Contains(p.CommodityId)).ToList();
            var         AuditModeApp   = JDAuditMode.ObjectSet().Where(_ => _.StockModeState == 0).Select(_ => _.AppId).ToList(); //库存自动审核appid集合
            List <Guid> NoticeComIds   = new List <Guid>();                                                                       //到货提醒商品Id
            foreach (var item in commodity)
            {
                var StockNo = commodityStock.Where(p => p.CommodityId == item.Id).Sum(s => s.Stock);
                if (StockNo == 0)//无库存商品下架处理
                {
                    item.State = 1;
                }
                else if (item.State == 1 && StockNo > 0)//有库存上架处理审核处理
                {
                    item.State = 0;
                }
                if (item.Stock == 0 && StockNo > 0 && item.State == 0)
                {
                    NoticeComIds.Add(item.Id);
                }
                item.Stock      = StockNo;
                item.ModifiedOn = DateTime.Now;
            }
            int nnn = contextSession.SaveChanges();
            //调用到货提醒接口
            if (NoticeComIds.Any())
            {
                for (int i = 0; i < NoticeComIds.Count; i += 30)
                {
                    ZPHSV.SendStockNotifications(NoticeComIds.Skip(i).Take(30).ToList());
                }
            }
            #endregion
        }