package com.juick.rss.controllers; import com.juick.User; import com.juick.server.util.HttpBadRequestException; import com.juick.service.MessagesService; import com.juick.service.UserService; import org.springframework.stereotype.Controller; 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.servlet.ModelAndView; import javax.inject.Inject; import java.util.List; /** * Created by vitalyster on 13.12.2016. */ @Controller public class FeedsController { @Inject MessagesService messagesService; @Inject UserService userService; @RequestMapping(value = "/{userName}/blog", method = RequestMethod.GET) public ModelAndView getBlog(@PathVariable String userName) { User user = userService.getUserByName(userName); if (user.getUid() > 0) { List mids = messagesService.getUserBlog(user.getUid(), 0, 0); ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("messages"); modelAndView.addObject("user", user); modelAndView.addObject("messages", messagesService.getMessages(mids)); return modelAndView; } throw new HttpBadRequestException(); } @RequestMapping(value = "/", method = RequestMethod.GET) public ModelAndView getLast(@RequestParam(value = "hours", required = false, defaultValue = "0") Integer hours) { List mids = messagesService.getLastMessages(hours); ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("messages"); modelAndView.addObject("messages", messagesService.getMessages(mids)); return modelAndView; } @RequestMapping(value = "/comments", method = RequestMethod.GET) public ModelAndView getLastReplies(@RequestParam(value = "hours", required = false, defaultValue = "0") Integer hours) { ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("replies"); modelAndView.addObject("messages", messagesService.getLastReplies(hours)); return modelAndView; } }