@SuppressWarnings("unchecked") public String show() { // test user User user = getCurrentUser(); ActionContext.getContext().put("luser", user); // 该问题 Userpost userpost = userPostService.findById(questionId); Integer cnum = userpost.getClickNumber(); if (cnum == null) cnum = 0; userpost.setClickNumber(cnum + 1); userPostService.update(userpost); ActionContext.getContext().getValueStack().push(userpost); // 标签云 List<Postlabel> postlabels = labelService.findAll(); ActionContext.getContext().put("postlabels", postlabels); // 相关问题 List<Userpost> userposts = userPostService.findByType(userpost.getPostlabel(), 5); userposts.remove(userpost); ActionContext.getContext().put("userposts", userposts); // 雷锋榜 List<User> users = (List<User>) userService.topByReplys(1, 6).getRecordList(); ActionContext.getContext().put("users", users); // 等级称号 List<Title> titles = titleService.findAll(); ActionContext.getContext().put("titles", titles); // 采纳 Reply adoptReply = null; Set<Reply> replies = (Set<Reply>) userpost.getReplies(); for (Reply r : replies) { if (r.getStatus() == 2) { adoptReply = r; continue; } if (r.getStatus() == 0) { r.setStatus(1); replyService.update(r); } } // 新提问 int questionNum = userPostService.getQuestionNum(user.getUserId()); ActionContext.getContext().put("questionNum", questionNum); // 新回复 int replyNum = userPostService.getReplyNum(user.getUserId()); ActionContext.getContext().put("replyNum", replyNum); ActionContext.getContext().put("adoptReply", adoptReply); return "show"; }
@SuppressWarnings("unchecked") public String index() { // test user User user = getCurrentUser(); ActionContext.getContext().put("luser", user); ActionContext.getContext().put("questionState", questionState); ActionContext.getContext().put("labelId", labelId); if (user != null) { // 新提问 int questionNum = userPostService.getQuestionNum(user.getUserId()); ActionContext.getContext().put("questionNum", questionNum); // 新回复 int replyNum = userPostService.getReplyNum(user.getUserId()); ActionContext.getContext().put("replyNum", replyNum); } // 标签云 List<Postlabel> postlabels = labelService.findAll(); ActionContext.getContext().put("postlabels", postlabels); // 热门问题 List<Userpost> userposts = userPostService.topPosts(5); ActionContext.getContext().put("topposts", userposts); // 雷锋榜 List<User> users = (List<User>) userService.topByReplys(1, 6).getRecordList(); ActionContext.getContext().put("users", users); // 等级称号 List<Title> titles = titleService.findAll(); ActionContext.getContext().put("titles", titles); // 分页 Map<String, Object> filterMap = new HashMap<String, Object>(); if (labelId != 0) { filterMap.put("labelId=?", labelId); } Map<String, Boolean> orderMap = new HashMap<String, Boolean>(); if (questionState == TOPNEW) { orderMap.put("postTime", false); } else if (questionState == TOPHOT) { orderMap.put("clickNumber", false); } else if (questionState == QUESWAIT) { orderMap.put("postTime", false); filterMap.put("replyNumber is NULL", null); } PageBean page = userPostService.findPage(pageNum, pageSize, filterMap, orderMap); ActionContext.getContext().getValueStack().push(page); // replyVO List<ReplyVO> replyVOs = new ArrayList<ReplyVO>(); List<Userpost> questions = (List<Userpost>) page.getRecordList(); for (int i = 0; i < questions.size(); i++) { Userpost question = questions.get(i); if (question.getReplyNumber() == null || question.getReplyNumber() == 0) { replyVOs.add(null); } else { List<Reply> replies = new ArrayList<Reply>(question.getReplies()); int m = -1; ReplyVO replyVO = new ReplyVO(); for (int j = 0; j < replies.size(); j++) { Reply reply = replies.get(j); if (reply.getStatus() == 2) { // 采纳 m = j; break; } } if (m == -1) { m = replies.size() - 1; } Reply reply = replies.get(m); UserVO userVO = new UserVO(); MyBeanUtils.copy(userVO, reply.getUser()); MyBeanUtils.copy(replyVO, reply); replyVO.setUserHead(reply.getUser().getUserHead()); replyVO.setUserName(reply.getUser().getUserName()); replyVO.setUserVO(userVO); replyVOs.add(replyVO); } } ActionContext.getContext().put("replyVOs", replyVOs); return "index"; }