public ActionResult Intro(int id) { try { if (id <= 0) { return(Redirect("/Home/NotFound")); } var brandInfo = brandBll.GetBrandInfo(id, base.language); int spuCount = brandBll.GetBrandSaleSpuCount(id, base.language, base.DeliveryRegion); ViewBag.SpuCount = spuCount; ViewBag.StoreList = brandBll.GetStoreListByBrandId(id, base.language); if (brandInfo == null) { return(Redirect("/Home/NotFound")); } return(View(brandInfo)); } catch (Exception ex) { LogHelper.Error(ex); return(Redirect("/home/error")); } }
/// <summary> /// 创建专题模板视图对象 /// </summary> /// <param name="model">专题活动实体Model</param> /// <param name="activityName">活动编号如:0701</param> /// <returns>ActivityViewModel</returns> public ActivityViewModel CreateActivityViewModel(ActivityModel model, string activityName) { ViewBag.ExchangeRate = base.ExchangeRate; //拆分页面模块,获取模块标题以及对应的spu集合 ActivityViewModel viewmodel = new ActivityViewModel(); //Key如:"0601" 可以用于找到模板对应的0601素材文件夹 viewmodel.Key = activityName; viewmodel.Title = model.Title; viewmodel.HeadTitle = model.HeadTitle; viewmodel.Discription = model.Discription; viewmodel.ImgPath = model.ImgPath; viewmodel.TempType = model.TempType; string[] sections = model.SPUs.Split('|'); //为模板装配模块数据 List <ActivityModule> modules = new List <ActivityModule>(); //1品牌模板 和 2分类模板 if (viewmodel.TempType != 3) { foreach (var section in sections) { string[] sectionSplit = section.Split(':'); ActivityModule module = new ActivityModule(); if (viewmodel.TempType == 1) { module.ModuleName = sectionSplit[0]; } else { var sectionHead = sectionSplit[0].Split(',');//示例: 保健品,product/index?level=0&c=1 以逗号隔开 module.ModuleName = sectionHead[0]; module.ModuleLinkURL = sectionHead[1]; } //module.ProductList = bll.GetProductListBySpus(sectionSplit[1]).ToList(); //换做从Redis缓存中各个模块数据 module.ProductList = bll.GetProductListBySpusFromCache(sectionSplit[1], activityName, module.ModuleName).ToList(); modules.Add(module); } } else//品牌模板 { ActivityBrandViewModel brand = new ActivityBrandViewModel(); var brandArr = sections[0].Split(','); brand.BrandId = brandArr[0].As(0); brand.BrandName = brandArr[1]; brand.BrandDescription = brandBll.GetBrandInfo(brand.BrandId, base.language).IntroductionCN; viewmodel.BrandInfo = brand; //将主推产品的介绍,加入字典,在后面装配给响应的spu商品 Dictionary <string, string> mainProductDiscriptions = new Dictionary <string, string>(); if (!string.IsNullOrEmpty(model.MainProductDescription)) { string[] mpd = model.MainProductDescription.Split('|'); foreach (var item in mpd) { string[] dic = item.Split(':'); mainProductDiscriptions.Add(dic[0], dic[1]); } } //装配品牌模板的每个模块数据 for (int i = 1; i < sections.Length; i++) { string[] sectionSplit = sections[i].Split(':'); ActivityModule module = new ActivityModule(); module.ModuleName = sectionSplit[0]; //List<ProductInfoModel> plist = bll.GetProductListBySpus(sectionSplit[1]).ToList(); //换做从Redis缓存中各个模块数据 List <ProductInfoModel> plist = bll.GetProductListBySpusFromCache(sectionSplit[1], activityName, module.ModuleName).ToList(); //为主推产品添加专有描述 if (module.ModuleName.Trim() == "主推产品") { plist.ForEach(x => x.Description = mainProductDiscriptions[x.SPU]); } module.ProductList = plist; modules.Add(module); } } viewmodel.Modules = modules; return(viewmodel); }