package com.xiaozhi.blog.web.manager; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import com.tianji.test.core.redis.LoginHelper; import com.xiaozhi.blog.mongo.MongoUserDao; import com.xiaozhi.blog.service.BlogService; import com.xiaozhi.blog.service.CommentService; import com.xiaozhi.blog.service.FollowerService; import com.xiaozhi.blog.service.FollowingService; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; /** * 处理微薄提及和评论提及 * @author xiaozhi * */ @Controller public class MentionManageController { private static Log logger = LogFactory.getLog(MentionManageController.class); @Autowired private final MongoUserDao retwis; @Autowired private BlogService blogService; @Autowired private CommentService commentService; @Autowired public MentionManageController(MongoUserDao twitter) { this.retwis = twitter; } @Autowired private FollowerService followerService; @Autowired private FollowingService followingService; @Value(value="#{globalProperties['blog.list.pagesize']}") private int pageSize; /** * 微博提到我的 * @param uid * @param model * @return */ @RequestMapping("/u/mentions") public String mentions(@RequestParam(required = false,defaultValue="1") Integer page,Model model) { model.addAttribute("name", LoginHelper.getUserName()); String targetUid = LoginHelper.getUserId(); model.addAttribute("posts", blogService.getMentions(targetUid, page,this.pageSize)); model.addAttribute("followers", followerService.getFollowers(targetUid)); model.addAttribute("following", followingService.getFollowing(targetUid)); model.addAttribute("user", retwis.getUserById(targetUid)); if (!targetUid.equals(LoginHelper.getUserId())) { model.addAttribute("also_followed", followerService.alsoFollowed(LoginHelper.getUserId(), targetUid,1,6)); model.addAttribute("common_followers", followerService.commonFollowers(LoginHelper.getUserId(), targetUid,1,6)); model.addAttribute("follows", followingService.isFollowing(LoginHelper.getUserId(), targetUid)); } model.addAttribute("pagelist", "mention"); return "/mention/mentions_blog"; } /** * 微博提到我的分页 * @param uid * @param page * @param model * @return */ @RequestMapping(value = "/u/mentions/page", method = RequestMethod.GET) public String mentionsPage(@RequestParam(required = false,defaultValue="1") Integer page,Model model) { model.addAttribute("posts", blogService.getMentions(LoginHelper.getUserId(), page,this.pageSize)); model.addAttribute("pagelist", "mention"); return "/fragments/post"; } /** * 评论提到我的 * @param uid * @param model * @return */ @RequestMapping("/u/commentmentions") public String commentMentions(@RequestParam(required = false,defaultValue="1") Integer page,Model model) { model.addAttribute("name", LoginHelper.getUserName()); model.addAttribute("comments", commentService.getCommentListByMentionByPage(LoginHelper.getUserId(), page,this.pageSize)); return "/mention/mentions_comment"; } /** * 评论提到我的分页 * @param uid * @param page * @param model * @return */ @RequestMapping(value = "/u/commentmentions/page", method = RequestMethod.GET) public String commentMentionsPage(@RequestParam(required = false,defaultValue="1") Integer page,Model model) { model.addAttribute("posts", commentService.getCommentListByMentionByPage(LoginHelper.getUserId(), page,this.pageSize)); return "/mention/comment_m"; } }