package cn.jeesoft.core.oscache; import org.springframework.beans.factory.annotation.Autowired; import cn.jeesoft.core.SystemManager; import cn.jeesoft.mvc.bean.ManageSetting; import cn.jeesoft.mvc.services.ManageSettingService; /** * 缓存管理器。 后台项目可以通过接口程序通知该类重新加载部分或全部的缓存 * * @author huangf * */ public class FrontCache { /** * manage后台 */ // @Autowired // private KeyvalueService keyvalueService; @Autowired private ManageSettingService systemSettingService; // @Autowired // private NewsService newsService; // @Autowired // private CatalogService catalogService; // @Autowired // private IndexImgService indexImgService; // @Autowired // private NavigationService navigationService; // @Autowired // private AttributeService attributeService; // @Autowired // private PayService payService; // @Autowired // private CommentTypeService commentTypeService; // @Autowired // private AreaService areaService; // @Autowired // private ExpressService expressService; // @Autowired // private AdvertService advertService; // @Autowired // private NotifyTemplateService notifyTemplateService; // @Autowired //// private OssService ossService; // private OrderService orderService; // @Autowired // private CommentService commentService; // @Autowired // private AccountRankService accountRankService; // @Autowired // private ActivityService activityService; // @Autowired // private HotqueryService hotqueryService; /** * front前台 */ // @Autowired // private ProductService productService; // // // public HotqueryService getHotqueryService() { // return hotqueryService; // } // // public void setHotqueryService(HotqueryService hotqueryService) { // this.hotqueryService = hotqueryService; // } // // public ActivityService getActivityService() { // return activityService; // } // // public void setActivityService(ActivityService activityService) { // this.activityService = activityService; // } // // public AccountRankService getAccountRankService() { // return accountRankService; // } // // public void setAccountRankService(AccountRankService accountRankService) { // this.accountRankService = accountRankService; // } // // public void setCommentService(CommentService commentService) { // this.commentService = commentService; // } // // public void setOrderService(OrderService orderService) { // this.orderService = orderService; // } // // public void setNotifyTemplateService(NotifyTemplateService notifyTemplateService) { // this.notifyTemplateService = notifyTemplateService; // } // // public void setAdvertService(AdvertService advertService) { // this.advertService = advertService; // } // // public void setExpressService(ExpressService expressService) { // this.expressService = expressService; // } // // public void setAreaService(AreaService areaService) { // this.areaService = areaService; // } // // public void setPayService(PayService payService) { // this.payService = payService; // } // // public void setCommentTypeService(CommentTypeService commentTypeService) { // this.commentTypeService = commentTypeService; // } // // public void setNewsService(NewsService newsService) { // this.newsService = newsService; // } // // public void setIndexImgService(IndexImgService indexImgService) { // this.indexImgService = indexImgService; // } // // public void setAttributeService(AttributeService attributeService) { // this.attributeService = attributeService; // } public void setSystemSettingService( ManageSettingService systemSettingService) { this.systemSettingService = systemSettingService; } // public void setCatalogService(CatalogService catalogService) { // this.catalogService = catalogService; // } // // public void setProductService(ProductService productService) { // this.productService = productService; // } // // public void setNavigationService(NavigationService navigationService) { // this.navigationService = navigationService; // } // // public void setKeyvalueService(KeyvalueService keyvalueService) { // this.keyvalueService = keyvalueService; // } /** * 加载key-value键值对 */ public void loadKeyValue() { System.out.println("load..."); // KeyValueHelper.load(keyvalueService.selectList(new Keyvalue())); } /** * 加载系统配置信息 */ public void loadSystemSetting() { SystemManager.manageSetting = systemSettingService.selectOne(new ManageSetting()); if(SystemManager.manageSetting==null){ throw new NullPointerException("未设置本地环境变量,请管理员在后台进行设置"); } //分解信任登陆 // if(StringUtils.isNotBlank(SystemManager.systemSetting.getBelieveLoginConfig())){ //// SystemManager.systemSetting.setBelieveLoginInfo(JSON.parseObject(SystemManager.systemSetting.getBelieveLoginConfig(), BelieveLoginInfo.class)); // } } /** * 加载插件配置 */ public void loadPlugConfig() { // /** // * 加载支付宝配置 // */ // Pay pay = new Pay(); // pay.setCode(Pay.pay_code_alipayescow); // pay = payService.selectOne(pay); //// SystemManager.alipayConfig = pay.getSeller(); // //// AlipayConfig.partner = pay.getPartner(); //// AlipayConfig.key = pay.getKey1(); // //// logger.error("SystemManager.alipayConfig="+SystemManager.alipayConfig); // // /** // * 加载评论配置 // */ // CommentType commentType = new CommentType(); // commentType.setStatus(CommentType.commentType_status_y); // commentType = commentTypeService.selectOne(commentType); // SystemManager.commentTypeCode = commentType.getCode(); // logger.error("SystemManager.commentTypeCode="+SystemManager.commentTypeCode); } /** * 加载所有的属性列表 */ public void loadAttributeList() { // List<Attribute> attrs = attributeService.selectList(new Attribute()); // SystemManager.attrs = attrs; // // /** // * 转换成map的形式存储 // */ // if(attrs!=null && attrs.size()>0){ // Map<String, Integer> map = new HashMap<String, Integer>(); // SystemManager.attrsMap.clear(); // // for(int i=0;i<attrs.size();i++){ // Attribute mainAttr = attrs.get(i); // if(mainAttr.getPid()==0){ // map.put(mainAttr.getId(), mainAttr.getCatalogID()); // }else{ // Attribute newAttr = new Attribute(); // newAttr.setPid(mainAttr.getPid()); // SystemManager.attrsMap.put(mainAttr.getId(), newAttr); // } // } // if(map.size()>0){ // for(Iterator<Entry<String, Attribute>> it = SystemManager.attrsMap.entrySet().iterator();it.hasNext();){ // Entry<String, Attribute> entry = it.next(); // String id = String.valueOf(entry.getValue().getPid()); //// logger.error("id="+id); // if(map.get(id)!=null){ // entry.getValue().setCatalogID(map.get(id)); // } // } // //// logger.error("SystemManager.attrsMap="+SystemManager.attrsMap); //// logger.error("SystemManager.attrsMap(63) = "+SystemManager.attrsMap.get("63")); // } // } } /** * 加载文章目录 */ public void loadNewCatalogs() { // Catalog c = new Catalog(); // c.setType("a"); // c.setPid("0"); // List<Catalog> newCatalogs = catalogService.selectList(c); // if(newCatalogs!=null && newCatalogs.size()>0){ // for(int i=0;i<newCatalogs.size();i++){ // Catalog item = newCatalogs.get(i); // // //加载此目录下的所有文章列表 // News news = new News(); // news.setCatalogID(item.getId()); // List<News> newsList = newsService.selectList(news); // item.setNews(newsList); // } // } // SystemManager.newCatalogs = newCatalogs; } /** * 加载文章列表 */ public void loadNews() { // List<News> news = newsService.selectList(new News()); // if(news!=null && news.size()>0){ // SystemManager.newsMap.clear(); // for(int i=0;i<news.size();i++){ // News newsObj = news.get(i); // SystemManager.newsMap.put(newsObj.getCode(),newsObj); // } // } } // /** // * 如果类别ID是是主类别,则返回该主类别的下面所有子类别 // * @param catalogID // * @return // */ // public static List<Catalog> loadCatalogChildren(String catalogID) { // try { // logger.error(">>catalogID="+catalogID); // if(StringUtils.isBlank(catalogID)){ // throw new NullPointerException(); // } // // Catalog catalog = SystemManager.catalogsMap.get(catalogID); // if(catalog==null){ // throw new NullPointerException(); // } // // if(catalog.getPid().equals("0")){ // if(catalog.getChildren()==null){ // logger.error(">>主类别catalog.getChildren()=0"); // }else{ // logger.error(">>主类别catalog.getChildren()="+catalog.getChildren().size()); // } // //主类别 // return catalog.getChildren(); // }else{ // //子类别 // // } // } catch (Exception e) { // e.printStackTrace(); // } // return null; // } // // public static String getPid(String catalogID){ // if(StringUtils.isBlank(catalogID)){ // throw new NullPointerException(); // } // Catalog catalog = SystemManager.catalogsMap.get(catalogID); // if(catalog==null){ // throw new NullPointerException(); // } // if(catalog.getPid().equals("0")){ // return catalog.getId(); // }else{ // catalog = SystemManager.catalogsMap.get(catalog.getPid()); // return catalog.getId(); // } // } // // /** // * 根据商品目录ID加载属性列表 // * // * @param catalogID // */ // public static List<Attribute> loadAttrByCatalogID(int catalogID) { // if (SystemManager.attrs == null || SystemManager.attrs.size() == 0) { // return null; // } // // List<Attribute> attrs = new LinkedList<Attribute>(); // for (int i = 0; i < SystemManager.attrs.size(); i++) { // Attribute attr = SystemManager.attrs.get(i); // if (attr.getPid() == -1) { // continue; // } // // if (attr.getCatalogID() == catalogID) { // attrs.add(attr);// 添加主属性 // attr.getAttrList().clear(); // int id = Integer.valueOf(attr.getId()); // // 添加子属性列表 // for (int j = 0; j < SystemManager.attrs.size(); j++) { // Attribute attr2 = SystemManager.attrs.get(j); // if (attr2.getPid() == id) { // attr.getAttrList().add(attr2);// 添加子属性到主属性的内部集合 // } // } // } // } // // logger.error("attrs=" + attrs); // return attrs; // } // // /** // * 加载目录列表,树形结构 // * @param loadProduct 是否加载商品数据。true:加载,false:不加载 // * @throws Exception // */ // public void loadCatalogs(boolean loadProduct) throws Exception { // logger.info("load..."); //// Catalog c = new Catalog(); //// c.setType("p"); //// c.setPid("0"); //// List<Catalog> catalogs = catalogService.loadRoot(c); //// //// System.out.println("result:" + catalogs); //// //// SystemManager.catalogs = catalogs; // //// loadCatalogs2(); // // loadCatalogs2("p",SystemManager.catalogs); // loadCatalogs2("a",SystemManager.catalogsArticle); // // logger.error("SystemManager.catalogs="+SystemManager.catalogs.size()); // logger.error("SystemManager.catalogsArticle="+SystemManager.catalogsArticle.size()); // // SystemManager.catalogsMap.clear(); // SystemManager.catalogsCodeMap.clear(); // putToMap(SystemManager.catalogs,loadProduct); // } // // /** // * 将商品目录结构转化为map的形式。 // * @param catalogs // * @throws Exception // */ // public void putToMap(List<Catalog> catalogs,boolean loadProduct) throws Exception{ // if(catalogs==null || catalogs.size()==0){ // return; // } // // for(int i=0;i<catalogs.size();i++){ // Catalog item = catalogs.get(i); // // if(loadProduct){ // //超级菜单里面的推荐商品 // loadsuperMenuProducts(item); // // //加载每个目录下的热门推荐商品列表 // loadHotProductByCatalog(item); // } // // SystemManager.catalogsMap.put(item.getId(),item); // // if(SystemManager.catalogsCodeMap.get(item.getCode())!=null){ // logger.error("item.code = " + item.getCode()); // throw new Exception("错误:商品类别code重复!"); // } // // SystemManager.catalogsCodeMap.put(item.getCode(),item); // if(item.getChildren()!=null && item.getChildren().size()>0){ // // //递归调用 // putToMap(item.getChildren(),loadProduct); // } // } // } // // /** // * 加载超级菜单的位置显示的热门推荐商品列表 // * @param item // */ // private void loadsuperMenuProducts(Catalog item){ // if(!item.getPid().equals("0")){ // //子目录则不加载任何数据 // return; // } // // if(item.getChildren()==null || item.getChildren().size()==0){ // return; // } // List<String> ids = new LinkedList<String>(); // for(int j=0;j<item.getChildren().size();j++){ // ids.add(item.getChildren().get(j).getId()); // } // // Product product = new Product(); // product.setTop(3);//显示的最大个数 // product.setProductIds(ids);//目录集合 // List<Product> superMenuProducts = productService.loadHotProductShowInSuperMenu(product); // //// if(superMenuProducts==null || superMenuProducts.size()==0){ //// logger.error("superMenuProducts = 0" + ",catalogCode = " + item.getCode()); //// }else{ //// logger.error("superMenuProducts = " + superMenuProducts.size() + ",catalogCode = " + item.getCode()); //// } // if(superMenuProducts!=null && superMenuProducts.size()>0){ // item.setSuperMenuProducts(superMenuProducts); // } // } // // /** // * 加载每个目录下的热门推荐商品列表(包括子目录) // * @param item // */ // private void loadHotProductByCatalog(Catalog item){ // if(item.getPid().equals("0") && (item.getChildren()==null || item.getChildren().size()==0)){ // return; // } // // Product p = new Product(); // p.setTop(FrontContainer.default_page_left_product_size); // // if(item.getPid().equals("0")){ // List<Integer> ids = new LinkedList<Integer>(); // for(int j=0;j<item.getChildren().size();j++){ // ids.add(Integer.valueOf(item.getChildren().get(j).getId())); // } // p.setQueryCatalogIDs(ids); // }else{ // p.setCatalogID(item.getId()); // } // List<Product> hotProducts = productService.selectPageLeftHotProducts(p); // // if(hotProducts==null || hotProducts.size()==0){ // logger.error("loadHotProductByCatalog.hotProducts = 0" + ",catalogCode = " + item.getCode()); // }else{ // logger.error("loadHotProductByCatalog.hotProducts = " + hotProducts.size() + ",catalogCode = " + item.getCode()); // } // // if(hotProducts!=null && hotProducts.size()>0){ // item.setHotProducts(hotProducts); // } // } // // /** // * 原来递归的方式修改为非递归方式。 // * 非递归方法查询商品/文章目录结构,并且自动排序。 // * @param type // * @param catalogs // */ // private void loadCatalogs2(String type,List<Catalog> catalogs){ // Catalog cc = new Catalog(); // cc.setType(type); // List<Catalog> catalogsList = catalogService.selectList(cc); // if(catalogsList!=null){ // // Map<String, Catalog> map = new HashMap<String, Catalog>(); // for(Iterator<Catalog> it = catalogsList.iterator();it.hasNext();){ // Catalog item = it.next(); // // if(StringUtils.isNotBlank(item.getPid()) && item.getPid().equals("0")){ // //是否在导航栏显示中文化 // if(item.getShowInNav().equals(Catalog.catalog_showInNav_y)){ // item.setShowInNavStr("是"); // } // // map.put(item.getId(), item); // it.remove(); // } // } // // for(Iterator<Catalog> it = catalogsList.iterator();it.hasNext();){ // Catalog item = it.next(); // if(StringUtils.isNotBlank(item.getPid())){ //// list.add(item); // Catalog rootItem = map.get(item.getPid()); // if(rootItem!=null){ // if(rootItem.getChildren()==null){ // rootItem.setChildren(new LinkedList<Catalog>()); // } // rootItem.getChildren().add(item); // } // it.remove(); // } // } // // if(catalogs==null){ // catalogs = new LinkedList<Catalog>(); // }else{ // catalogs.clear(); // } // // for(Iterator<Entry<String, Catalog>> it = map.entrySet().iterator();it.hasNext();){ // catalogs.add(it.next().getValue()); // } // // //对主类别和子类别进行排序 // Collections.sort(catalogs, new Comparator<Catalog>() { // public int compare(Catalog o1, Catalog o2) { // if (o1.getOrder1() > o2.getOrder1()) { // return 1; // } else if (o1.getOrder1() < o2.getOrder1()) { // return -1; // } // return 0; // } // }); // // for(int i=0;i<catalogs.size();i++){ // if(catalogs.get(i).getChildren()==null){ // continue; // } // Collections.sort(catalogs.get(i).getChildren(), new Comparator<Catalog>() { // public int compare(Catalog o1, Catalog o2) { // if (o1.getOrder1() > o2.getOrder1()) { // return 1; // } else if (o1.getOrder1() < o2.getOrder1()) { // return -1; // } // return 0; // } // }); // } // } // } // // /** // * 加载门户滚动图片列表 // */ // public void loadIndexImgs() { // logger.info("loadIndexImgs..."); // IndexImg c = new IndexImg(); // SystemManager.indexImages = indexImgService.selectList(c); // } // // /** // * 加载促销的商品 // */ // public void selectTopProducts() { // Product e = new Product(); // e.setStatus(1); // e.setTop(8); // // List<Product> result = productService.selectList(e); // if (result == null || result.size() == 0) { // return; // } // // System.out.println("result=" + result); // // List<List<Product>> list = new LinkedList<List<Product>>(); // int nn = 0; // int maxLen = 4; // int i = 0; // List<Product> row = new LinkedList<Product>(); // for (Iterator<Product> it = result.iterator(); it.hasNext();) { // Product ee = (Product) it.next(); // row.add(ee); // nn++; // i++; // if (nn == maxLen) { // list.add(row); // nn = 0; // row = new LinkedList<Product>(); // } // // if ((result.size() == 1 + i)) { // if (row.size() == 0) { // row.add(ee); // } // list.add(row); // break; // } // } // SystemManager.goodsTopList = list;// productTypeService.selectList(e); // // System.out.println("list====" + list); // } // // /** // * 加载门户导航菜单 // */ // public void loadNavigations() { // logger.info("load..."); // Navigation nav = new Navigation(); // nav.setPosition("bottom"); // List<Navigation> navigations = navigationService.selectList(nav); // SystemManager.navigations = navigations; // } // // /** // * 加载特价商品、热门商品、新品商品 显示到首页的中下方位置 // */ // public void loadProductsShowInIndex() { // SystemManager.newProducts = loadProducts(1); // SystemManager.saleProducts = loadProducts(2); // SystemManager.hotProducts = loadProducts(3); // } // // /** // * 加载随机推荐的商品 // */ //// public void loadSuijiProducts() { ////// SystemManager.suijiProducts = loadProducts(2); //// Product p = new Product(); //// p.setTop(10); //// SystemManager.suijiProducts = productService.selectList(p); //// } // // // 加载商品 // private List<Product> loadProducts(int type) { // Product p = new Product(); // p.setTop(8); // if (type == 1) { // p.setIsnew(Product.Product_isnew_y);//最新 // } else if (type == 2) { // p.setSale(Product.Product_sale_y);//特价 // } else if (type == 3) { // p.setHot(true);//热门 // } // return productService.selectList(p); // } // // /** // * 加载系统通知 // */ // private void loadNotices() { //// Notice notice = new Notice(7); //// notice.setOffset(0); //// notice.setPageSize(7); //// SystemManager.noticeList = noticeService.selectList(notice); // // News news = new News(); // news.setOffset(0); // news.setPageSize(7); // SystemManager.noticeList = newsService.selectNoticeList(news); // } // // /** // * 加载商品内存库存 // */ // public void loadProductStock() { // List<ProductStockInfo> list = productService.selectStockList(new Product()); // synchronized (SystemManager.product_stock_lock) { // if(SystemManager.productStockMap==null){ // SystemManager.productStockMap = new ConcurrentHashMap<String, ProductStockInfo>(list.size()); // }else{ // SystemManager.productStockMap.clear(); // } // // if(list!=null && list.size()>0){ // for(int i=0;i<list.size();i++){ // ProductStockInfo p = list.get(i); // SystemManager.productStockMap.put(p.getId(), p); // } // } // } // } // // /** // * 加载指定商品的库存到内存 // */ // public void loadProductStockByID(String productID) { // if(StringUtils.isNotBlank(productID)){ // throw new NullPointerException("商品ID不能为空!"); // } // // Product p = new Product(); // p.setId(productID); // List<ProductStockInfo> list = productService.selectStockList(p); // if(list!=null && list.size()>0){ // synchronized (SystemManager.product_stock_lock) { // SystemManager.productStockMap.put(productID,list.get(0)); // } // } // } // // /** // * 加载物流列表 // */ // private void loadExpress(){ // List<Express> expressList = expressService.selectList(new Express()); // if(SystemManager.expressMap==null){ // SystemManager.expressMap = new HashMap<String, Express>(); // }else{ // SystemManager.expressMap.clear(); // } // if(expressList!=null && expressList.size()>0){ // for(int i=0;i<expressList.size();i++){ // Express item = expressList.get(i); // SystemManager.expressMap.put(item.getCode(), item); // } // } // } // // /** // * 加载广告列表 // */ // public void loadAdvertList(){ // Advert advert = new Advert(); // advert.setStatus(Advert.advert_status_y); // List<Advert> advertList = advertService.selectList(advert); // if(SystemManager.advertMap==null){ // SystemManager.advertMap = new HashMap<String, Advert>(); // }else{ // SystemManager.advertMap.clear(); // } // if(advertList!=null && advertList.size()>0){ // for(int i=0;i<advertList.size();i++){ // Advert item = advertList.get(i); // SystemManager.advertMap.put(item.getCode(), item); // } // } // } // // /** // * 加载热门搜索列表 // */ //// private void loadHotSearch(){ //// String productIDs = SystemManager.systemSetting.getProductIDs(); //// if(StringUtils.isNotBlank(productIDs)){ //// String[] arr = productIDs.split("\\|"); //// Product p = new Product(); //// if(p.getProductIds()==null){ //// p.setProductIds(new LinkedList<String>()); //// }else{ //// p.getProductIds().clear(); //// } //// //// for(int i=0;i<arr.length;i++){ //// p.getProductIds().add(arr[i]); //// } //// SystemManager.hotSearchProductList = productService.selectHotSearch(p); //// } //// } // // /** // * 读取本地区域数据 // */ // public void readJsonArea(){ // long start = System.currentTimeMillis(); // try { // String path = FrontCache.class.getResource("/").getPath(); // logger.error("path = " + path); // File file = new File(path + "__area.json"); // logger.error(file.getAbsolutePath()); // List<String> list = FileUtils.readLines(file, "utf-8"); // logger.error("list.size()="+list.size()); // // SystemManager.areaMap = JSON.parseObject(list.get(0),new TypeReference<Map<String,Area>>(){}); // } catch (IOException e) { // e.printStackTrace(); // } // // logger.error("readJsonArea time = " + (System.currentTimeMillis() - start)); // } // // /** // * 加载邮件模板列表 // */ // public void loadNotifyTemplate(){ // List<NotifyTemplate> list = notifyTemplateService.selectList(null); // if(list!=null && list.size()>0){ // SystemManager.notifyTemplateMap = new HashMap<String, NotifyTemplate>(); // for(int i=0;i<list.size();i++){ // NotifyTemplate item = list.get(i); // SystemManager.notifyTemplateMap.put(item.getCode(), item); // } // } // } // // /** // * 加载会员等级列表 // */ // private void loadAccountRank(){ // List<AccountRank> list = accountRankService.selectList(new AccountRank()); // if(list!=null && list.size()>0){ // SystemManager.notifyTemplateMap = new HashMap<String, NotifyTemplate>(); // for(int i=0;i<list.size();i++){ // AccountRank item = list.get(i); // SystemManager.accountRankMap.put(item.getCode(), item); // } // } // } // // /** // * 加载热卖商品列表,此数据将会在门户的超级菜单上显示出来。 // */ //// private void loadHotProductShowInSuperMenu(){ //// for(int i=0;i<SystemManager.catalogs.size();i++){ //// Catalog item = SystemManager.catalogs.get(i); //// //// if(item.getChildren()==null || item.getChildren().size()==0){ //// continue; //// } //// List<String> ids = new LinkedList<String>(); //// for(int j=0;j<item.getChildren().size();j++){ //// ids.add(item.getChildren().get(j).getId()); //// } //// //// Product product = new Product(); //// product.setTop(3);//显示的最大个数 ////// product.setCatalogID(item.getId()); //// product.setProductIds(ids); //// List<Product> superMenuProducts = productService.loadHotProductShowInSuperMenu(product); //// //// if(superMenuProducts==null || superMenuProducts.size()==0){ //// logger.error("superMenuProducts = 0"); //// }else{ //// logger.error("superMenuProducts = " + superMenuProducts.size()); //// } //// if(superMenuProducts!=null && superMenuProducts.size()>0){ //// item.setSuperMenuProducts(superMenuProducts); //// } //// } //// } // // /** // * 加载首页左侧的商品列表,此位置的商品从全局加载 // */ // private void loadIndexLeftProduct(){ // Product p = new Product(); // p.setTop(FrontContainer.default_page_left_product_size); // SystemManager.indexLeftProduct = productService.selectPageLeftHotProducts(p); // } // // /** // * 加载促销活动的商品 // */ // public void loadActivityProductList(){ // SystemManager.activityProductMap.clear(); // if(SystemManager.activityMap.size()==0){ // return; // } // List<Product> list = productService.selectActivityProductList(null); // if(list==null){ // logger.error("loadActivityProductList.list=0"); // }else{ // logger.error("loadActivityProductList.list="+list.size()); // for(int i=0;i<list.size();i++){ // Product p = list.get(i); // Activity activity = SystemManager.activityMap.get(p.getActivityID()); // if(activity==null){ // logger.error(" p = " + p.getId()); // continue; // } // // if(activity.getActivityType().equals(Activity.activity_activityType_c)){ // if(activity.getDiscountType().equals(Activity.activity_discountType_r)){ // addProductByDiscountType(p,activity); // }else if(activity.getDiscountType().equals(Activity.activity_discountType_d)){ // addProductByDiscountType(p,activity); // }else if(activity.getDiscountType().equals(Activity.activity_discountType_s)){ // addProductByDiscountType(p,activity); // } // } // } // } // } // // //根据此商品的优惠类型,进行分组 // private void addProductByDiscountType(Product p,Activity activity) { // List<Product> valueList = SystemManager.activityProductMap.get(activity.getDiscountType()); // if(valueList == null){ // valueList = new LinkedList<Product>(); // SystemManager.activityProductMap.put(activity.getDiscountType(), valueList); // } // // //复制活动的属性过来 // p.setFinalPrice(String.valueOf(p.caclFinalPrice())); // p.setExpire(activity.isExpire()); // p.setActivityEndDateTime(activity.getEndDate());//activity.getActivityEndDateTime()); // p.setDiscountFormat(activity.getDiscountFormat()); // p.setMaxSellCount(activity.getMaxSellCount()); // valueList.add(p); // } // // /** // * 加载积分商城商品列表 // */ // public void loadActivityScoreProductList(){ // logger.error("loadActivityScoreProductList..."); // if(SystemManager.activityMap.size()==0){ // return; // } // // List<String> productIds = new LinkedList<String>(); // for(Iterator<Entry<String, Activity>> it = SystemManager.activityMap.entrySet().iterator();it.hasNext();){ // Entry<String, Activity> entry = it.next(); // if(entry.getValue().getActivityType().equals(Activity.activity_activityType_j) && // StringUtils.isNotBlank(entry.getValue().getProductID())){ // String[] arr = entry.getValue().getProductID().split("\\|"); // for(int i=0;i<arr.length;i++){ // productIds.add(arr[i]); // } // } // } // logger.error("loadActivityScoreProductList...productIds="+productIds.toString()); // if(productIds.size()>0){ // Product queryProduct = new Product(); // queryProduct.setProductIds(productIds); // SystemManager.activityScoreProductList = productService.selectActivityProductList(queryProduct); // // //从活动中拷贝属性过去 // for(int i=0;i<SystemManager.activityScoreProductList.size();i++){ // Product p = SystemManager.activityScoreProductList.get(i); // Activity activity = SystemManager.activityMap.get(p.getActivityID()); // if(activity==null){ // logger.error(" p = " + p.getId()); // continue; // } // // if(!activity.getActivityType().equals(Activity.activity_activityType_c)){ // p.setExchangeScore(activity.getExchangeScore()); // p.setExpire(activity.isExpire()); // p.setActivityEndDateTime(activity.getEndDate());//activity.getActivityEndDateTime()); //// p.setDiscountFormat(activity.getDiscountFormat()); // p.setMaxSellCount(activity.getMaxSellCount()); // } // } // } // } // /** // * 加载团购活动商品列表 // */ // public void loadActivityTuanProductList(){ // logger.error("loadActivityTuanProductList..."); // if(SystemManager.activityMap.size()==0){ // return; // } // // List<String> productIds = new LinkedList<String>(); // for(Iterator<Entry<String, Activity>> it = SystemManager.activityMap.entrySet().iterator();it.hasNext();){ // Entry<String, Activity> entry = it.next(); // if(entry.getValue().getActivityType().equals(Activity.activity_activityType_t) && // StringUtils.isNotBlank(entry.getValue().getProductID())){ // String[] arr = entry.getValue().getProductID().split("\\|"); // for(int i=0;i<arr.length;i++){ // productIds.add(arr[i]); // } // } // } // logger.error("loadActivityScoreProductList...productIds="+productIds.toString()); // if(productIds.size()>0){ // Product queryProduct = new Product(); // queryProduct.setProductIds(productIds); // SystemManager.activityTuanProductList = productService.selectActivityProductList(queryProduct); // // //从活动中拷贝属性过去 // for(int i=0;i<SystemManager.activityTuanProductList.size();i++){ // Product p = SystemManager.activityTuanProductList.get(i); // Activity activity = SystemManager.activityMap.get(p.getActivityID()); // if(activity==null){ // logger.error(" p = " + p.getId()); // continue; // } // // if(activity.getActivityType().equals(Activity.activity_activityType_t)){ // p.setExchangeScore(activity.getExchangeScore()); // p.setExpire(activity.isExpire()); // p.setActivityEndDateTime(activity.getEndDate());//activity.getActivityEndDateTime()); //// p.setDiscountFormat(activity.getDiscountFormat()); // p.setMaxSellCount(activity.getMaxSellCount()); // p.setMinGroupCount(activity.getMinGroupCount()); // p.setTuanPrice(activity.getTuanPrice()); // p.setHasBuyGroupPerson(3212);//activity.getHasBuyGroupPerson()); // } // } // } // } // // /** // * 加载所有的活动列表 // */ // public void loadActivityMap(){ // SystemManager.activityMap.clear(); // List<Activity> list = activityService.selectList(new Activity()); // if(list!=null){ // for(int i=0;i<list.size();i++){ // Activity activity = list.get(i); // // activity.setExpire(activity.checkActivity()); // // if(!activity.isExpire()){ // //计算活动多久结束,是否已结束 // activity.setActivityEndDateTime(DateTimeUtil.getActivityEndDateTimeString(activity.getEndDate())); // } // // //折扣类型 ,则进行折扣计算 // if(activity.getDiscountType().equals(Activity.activity_discountType_d)){ // activity.setDiscountFormat(String.valueOf(Double.valueOf(activity.getDiscount()) / 10D)); // } // // SystemManager.activityMap.put(activity.getId(), activity); // } // } // } // // /** // * 加载热门查询列表 // */ // public void loadHotquery(){ // SystemManager.hotqueryList = hotqueryService.selectList(new Hotquery()); // } /** * 加载全部的缓存数据 * @throws Exception */ public void loadAllCache() throws Exception { System.out.println("loadAllCache..."); // loadHotquery(); // loadCatalogs(true); // loadIndexLeftProduct(); loadAttributeList(); // loadIndexImgs(); loadKeyValue(); // loadNavigations(); loadSystemSetting(); loadPlugConfig(); // loadArea(); // loadExpress(); // loadAdvertList(); loadNewCatalogs(); loadNews(); // loadHotProducts(); // loadNewProducts(); // loadSaleProducts(); // loadSuijiProducts(); // loadProductsShowInIndex(); // loadNotices(); // // loadProductStock(); // loadAccountRank(); // loadHotSearch(); // // readJsonArea(); // loadNotifyTemplate(); // // // //加载所有的活动列表 // loadActivityMap(); // //加载促销活动的商品 // loadActivityProductList(); // //加载积分商城商品列表 // loadActivityScoreProductList(); // //加载团购活动的商品列表 // loadActivityTuanProductList(); System.out.println("前台缓存加载完毕!"); } }