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 ManageCache { /** * manage后台 */ // @Resource(name = "orderServiceManage") // private OrderService orderService; // @Resource(name = "productServiceManage") // private ProductService productService; // @Resource(name = "commentServiceManage") // private CommentService commentService; // @Resource(name = "areaServiceManage") // private AreaService areaService; // @Resource(name = "taskServiceManage") // private TaskService taskService; // public void setTaskService(TaskService taskService) { // this.taskService = taskService; // } // // public void setAreaService(AreaService areaService) { // this.areaService = areaService; // } // // public OrderService getOrderService() { // return orderService; // } // // public void setOrderService(OrderService orderService) { // this.orderService = orderService; // } // // public ProductService getProductService() { // return productService; // } // // public void setProductService(ProductService productService) { // this.productService = productService; // } // // public CommentService getCommentService() { // return commentService; // } // // public void setCommentService(CommentService commentService) { // this.commentService = commentService; // } /** * manage后台 */ @Autowired private ManageSettingService systemSettingService; /** * 加载系统配置信息 */ public void loadSystemSetting() { SystemManager.manageSetting = systemSettingService.selectOne(new ManageSetting()); if (SystemManager.manageSetting == null) { throw new NullPointerException("未设置本地环境变量,请管理员在后台进行设置"); } } /** * 加载订单报表 */ public void loadOrdersReport(){ // SystemManager.ordersReport = orderService.loadOrdersReport(); // if(SystemManager.ordersReport==null){ // SystemManager.ordersReport = new OrdersReport(); // } // //加载缺货商品数 // SystemManager.ordersReport.setOutOfStockProductCount(productService.selectOutOfStockProductCount()); // // //加载吐槽评论数 // SystemManager.ordersReport.setNotReplyCommentCount(commentService.selectNotReplyCount()); // // logger.error("SystemManager.ordersReport = " + SystemManager.ordersReport.toString()); } // /** // * 加载省市区数据 // */ // private void loadArea(){ // logger.error("loadArea..."); // Area area = new Area(); // area.setPcode("0"); // List<Area> rootData = areaService.selectList(area); // if(rootData==null){ // return ; // } // // for(int i=0;i<rootData.size();i++){ // Area item = rootData.get(i); // getAreaByDigui2(item); // } // // Map<String, Area> map = new TreeMap<String, Area>(); // for(int i=0;i<rootData.size();i++){ // Area item = rootData.get(i); // map.put(item.getCode(), item); // } // // SystemManager.areaMap = map; // //// logger.error("SystemManager.areaMap=="+SystemManager.areaMap); // // String json = JSON.toJSONString(SystemManager.areaMap); //// logger.error("json="+json); // try { // //写到文件 // File file = new File("__area.txt"); // logger.error(file.getAbsolutePath()); // FileUtils.writeStringToFile(new File("__area.json"), json, "utf-8"); // } catch (IOException e) { // e.printStackTrace(); // } // } // private void readJsonArea(){ // long start = System.currentTimeMillis(); // try { // String path = ManageCache.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 loadTask(){ // List<Task> list = taskService.selectList(new Task()); // if(list!=null){ // TaskManager.taskPool.clear(); // for(int i=0;i<list.size();i++){ // Task item = list.get(i); // TaskManager.taskPool.put(item.getCode(),item); // } // } } /** * 加载全部的缓存数据 * @throws Exception */ public void loadAllCache() throws Exception { System.out.println("ManageCache.loadAllCache..."); loadOrdersReport(); // readJsonArea(); loadTask(); loadSystemSetting(); System.out.println("后台缓存加载完毕!"); } }