📄 forums.java
字号:
/* * 作者: 胡李青 * qq: 31703299 * Copyright (c) 2007 huliqing * 主页 http://www.tbuy.biz/ * 你可以免费使用该软件,未经许可请勿作用于任何商业目的,如有技术问题请与本人联系! */package biz.tbuy.bbs.bean;import biz.tbuy.bbs.AuthModel;import biz.tbuy.bbs.ForumFactory;import biz.tbuy.bbs.ForumModel;import biz.tbuy.bbs.ReplyAction;import biz.tbuy.bbs.TopicAction;import biz.tbuy.bbs.TopicModel;import biz.tbuy.bbs.ZoneBuilder;import biz.tbuy.bbs.ZoneFactory;import biz.tbuy.bbs.ZoneModel;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util.Set;/** * @author huliqing * <p><b>qq:</b>31703299 * <p><b>E-mail:</b><a href="mailto:huliqing.cn@gmail.com">huliqing.cn@gmail.com</a> * <p><b>Homepage:</b><a href="http://www.tbuy.biz/">http://www.tbuy.biz/</a> */public class Forums extends BaseBean { private List<ZoneModel> _zones; // 所有专区 private Map<Integer, AuthModel> _zonesAuth; // 专区id -> 该专区的最终authModel private Map<Integer, AuthModel> _forumsAuth;// 讨论区 -> 该讨论区的authModel private Map<Integer, List<ForumModel>> _forumsGroup; // 专区id -> 讨论区列表 private Map<Integer, Integer> _totalTopicsMap; // 讨论区id -> 该区主题数 private Map<Integer, Integer> _totalRepliesMap; // 讨论区id -> 该区回复数 private Map<Integer, TopicModel> _lastTopicsMap; // 讨论区id -> 该区最新主题 /** Creates a new instance of ForumsBean */ public Forums() { long start = System.currentTimeMillis(); // 初始化zones _zones = ZoneFactory.getZones(); _zonesAuth = new HashMap<Integer, AuthModel>(); // 初始化专区 _forumsGroup = new HashMap<Integer, List<ForumModel>>(); if (_zones != null && !_zones.isEmpty()) { for (ZoneModel zone : _zones) { AuthModel auth = ZoneFactory.getFinalAuthModel(zone); ZoneBuilder zBuilder = ZoneFactory.newBuilder(zone.getNum()); if (auth != null) _zonesAuth.put(zone.getNum(), auth); List<ForumModel> forums = zBuilder.getForums(); if (forums != null && !forums.isEmpty()) _forumsGroup.put(zone.getNum(), forums); } } // 初始化文章数 _forumsAuth = new HashMap<Integer, AuthModel>(); _totalTopicsMap = new HashMap<Integer, Integer>(); _totalRepliesMap = new HashMap<Integer, Integer>(); _lastTopicsMap = new HashMap<Integer, TopicModel>(); Map<Integer, ForumModel> forums = getBBSApplication().getForumsMap(); if (forums != null && !forums.isEmpty()) { Set<Integer> fKeys = forums.keySet(); for (Integer key : fKeys) { ForumModel forum = forums.get(key); int totalTopics = TopicAction.getTotalTopicsByForum(forum); int totalReplies = ReplyAction.getTotalRepliesByForum(forum); TopicModel lastTopic = TopicAction.getLastTopicByForumId(forum.getNum()); AuthModel auth = ForumFactory.getFinallAuthModel(forum); _forumsAuth.put(forum.getNum(), auth); _totalTopicsMap.put(forum.getNum(), totalTopics); _totalRepliesMap.put(forum.getNum(), totalReplies); _lastTopicsMap.put(forum.getNum(), lastTopic); } } long end = System.currentTimeMillis(); System.out.println("user time:" + (end - start)); } public List<ZoneModel> getZones() { return _zones; } public Map<Integer, AuthModel> getZonesAuth() { return _zonesAuth; } public Map<Integer, AuthModel> getForumsAuth() { return _forumsAuth; } public Map<Integer, List<ForumModel>> getForumsGroup() { return _forumsGroup; } public Map<Integer, Integer> getTotalTopicsMap() { return _totalTopicsMap; } public Map<Integer, Integer> getTotalRepliesMap() { return _totalRepliesMap; } public Map<Integer, TopicModel> getLastTopicsMap() { return _lastTopicsMap; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -