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 org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import com.tianji.test.core.redis.LoginHelper; import com.xiaozhi.blog.service.BlogService; import com.xiaozhi.blog.service.FollowerService; import com.xiaozhi.blog.service.FollowingService; import com.xiaozhi.blog.service.UserService; @Controller @RequestMapping("/manage/blog/") public class BlogManageController { private static Log logger = LogFactory.getLog(BlogManageController.class); @Autowired private BlogService blogService; @Autowired private UserService userService; @Autowired private FollowerService followerService; @Autowired private FollowingService followingService; @Value(value="#{globalProperties['blog.list.pagesize']}") private int pageSize; /** * 自己发布的微薄列表 * @param page * @param model * @return */ @RequestMapping(value = "blogs", method = RequestMethod.GET) public String blogs(@RequestParam(required = false,defaultValue="1") Integer page, Model model) { String targetUid = LoginHelper.getUserId(); model.addAttribute("user", userService.getUserById(targetUid)); model.addAttribute("followers", followerService.getFollowers(targetUid)); model.addAttribute("following", followingService.getFollowing(targetUid)); model.addAttribute("posts", blogService.getPostsByPage(targetUid, page,this.pageSize)); model.addAttribute("pagelist", "manage"); return "/manage/blogs"; } /** * 自己发布的微薄列表分页 * @param page * @param model * @return */ @RequestMapping(value = "blogs/page", method = RequestMethod.GET) public String blogsPage(@RequestParam(required = false,defaultValue="1") Integer page, Model model) { String targetUid = LoginHelper.getUserId(); model.addAttribute("posts", blogService.getPostsByPage(targetUid, page,this.pageSize)); model.addAttribute("pagelist", "manage"); return "/fragments/post"; } /** * 删除自己评论 * @param pid * @return */ @RequestMapping(value = "removeBlogByMe/{pid}", method = RequestMethod.POST) public @ResponseBody boolean removeBlogByMe(@PathVariable String pid) { return this.blogService.removeBlogByMe(LoginHelper.getUserId(), pid); } /** * 别人删除自己评论(自己已删除,但留下残余pid列表) * @param pid * @return */ @RequestMapping(value = "removeBlogByOther/{pid}", method = RequestMethod.POST) public @ResponseBody boolean removeBlogByOther(@PathVariable String pid) { return this.blogService.removeBlogByOther(LoginHelper.getUserId(), pid); } /** * 删除提及我的微博的残余 * @param pid * @return */ @RequestMapping(value = "removeMention/{pid}", method = RequestMethod.POST) public @ResponseBody boolean removeMention(@PathVariable String pid) { return this.blogService.removeMention(LoginHelper.getUserId(), pid); } }