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.service.FollowerService; import com.xiaozhi.blog.service.FollowingService; import com.xiaozhi.blog.service.GroupService; 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; /** * 类说明 * * @creator your name * @create-time 2011-11-13 下午10:22:26 * @revision $Id */ @Controller @RequestMapping("/manage/following/") public class FollowingManageController { private static Log logger = LogFactory.getLog(FollowingManageController.class); @Autowired private FollowerService followerService; @Autowired private FollowingService followingService; @Autowired private GroupService groupService; @Value(value="#{globalProperties['blog.list.pagesize']}") private int pageSize; /** * 关注列表 * @param page * @param model * @return */ @RequestMapping(value = "followings", method = RequestMethod.GET) public String flowing(@RequestParam(value="page",defaultValue="1") Integer page, Model model) { String uid = LoginHelper.getUserId(); model.addAttribute("followers", followerService.getFollowers(uid)); model.addAttribute("following", followingService.getFollowing(uid)); model.addAttribute("groups", this.groupService.getGroupByUserId(uid)); model.addAttribute("pages", followingService.getFollowingsByPage(uid, page, pageSize)); return "/manage/followings"; } @RequestMapping(value = "followings/page", method = RequestMethod.GET) public String flowingPage(@RequestParam(value="page",defaultValue="1") Integer page, Model model) { String uid = LoginHelper.getUserId(); model.addAttribute("pages", followingService.getFollowingsByPage(uid, page, pageSize)); return "/fragments/followinglist"; } /** * 获得分组关注列表 * @param groupId * @param page * @param model * @return */ @RequestMapping(value = "followinggroup/{groupId}", method = RequestMethod.GET) public String flowingGroup(@PathVariable String groupId, @RequestParam(value="page",defaultValue="1") Integer page, Model model) { String uid = LoginHelper.getUserId(); model.addAttribute("following", this.groupService.getMembersByGroupId(groupId)); return "/fragments/followinggroup"; } /** * 加关注 * @param page * @param model * @return */ @RequestMapping(value = "follow/{targetUid}", method = RequestMethod.GET) public @ResponseBody boolean follow(@PathVariable String targetUid, Model model) { return followingService.follow(targetUid,LoginHelper.getUserId()); } /** * 取消关注 * @param targetUser * @param model * @return */ @RequestMapping(value = "stopfollowing/{targetUid}", method = RequestMethod.GET) public @ResponseBody boolean stopFollowing(@PathVariable String targetUid, Model model) { return followingService.stopFollowing(targetUid,LoginHelper.getUserId()); } }