package cn.ictgu.controller; import cn.ictgu.serv.model.Sponsor; import cn.ictgu.serv.service.FriendLinkService; import cn.ictgu.dto.Video; import cn.ictgu.dto.VideoDTO; import cn.ictgu.parse.search.VideoSearch; import cn.ictgu.redis.RedisSourceManager; import cn.ictgu.serv.service.SponsorService; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import javax.servlet.http.HttpServletRequest; import java.util.List; /** * Controller * Created by Silence on 2016/11/11. */ @Controller public class IndexController { private final static String[] TAGS = {"LETV","PANDA"}; @Autowired private RedisSourceManager redisSourceManager; @Autowired private FriendLinkService friendLinkService; @Autowired private SponsorService sponsorService; @Autowired private VideoSearch videoSearch; /* 首页 */ @GetMapping("/") public String home(Model model){ List<VideoDTO> carouselPics = redisSourceManager.getVideosByKeyAndTag(redisSourceManager.VIDEO_PREFIX_HOME_CAROUSEL_KEY, TAGS[0]); List<VideoDTO> recommends = redisSourceManager.getVideosByKeyAndTag(redisSourceManager.VIDEO_PREFIX_HOME_RECOMMEND_KEY, TAGS[0]); List<VideoDTO> tvHots = redisSourceManager.getVideosByKeyAndTag(redisSourceManager.VIDEO_PREFIX_HOME_TV_KEY, TAGS[0]); List<VideoDTO> animeHots = redisSourceManager.getVideosByKeyAndTag(redisSourceManager.VIDEO_PREFIX_HOME_CARTOON_KEY, TAGS[0]); List<VideoDTO> movies = redisSourceManager.getVideosByKeyAndTag(redisSourceManager.VIDEO_PREFIX_HOME_MOVIE_KEY, TAGS[0]); List<VideoDTO> tvTops = redisSourceManager.getVideosByKeyAndTag(redisSourceManager.VIDEO_PREFIX_HOME_TV_HOT_KEY, TAGS[0]); List<VideoDTO> lives = redisSourceManager.getVideosByKeyAndTag(redisSourceManager.VIDEO_PREFIx_HOME_LIVE_KEY, TAGS[1]); model.addAttribute("carouselPics", carouselPics); model.addAttribute("recommends", recommends); model.addAttribute("tvHots", tvHots); model.addAttribute("animeHots", animeHots); model.addAttribute("tvTops", tvTops); model.addAttribute("lives", lives); model.addAttribute("movies", movies); model.addAttribute("navIndex", 0); return "home"; } /* 搜索 */ @GetMapping(value = "/s") public String search(HttpServletRequest request, Model model){ model.addAttribute("navIndex", 1); String keyword = request.getParameter("wd"); if (StringUtils.isNotEmpty(keyword)){ List<Video> videos = videoSearch.searchVideos(keyword); model.addAttribute("videos", videos); model.addAttribute("hasResult", true); model.addAttribute("size", videos.size()); } return "search"; } /* 解析 */ @GetMapping("/video") public String video(Model model){ model.addAttribute("navIndex", 2); return "video"; } /* 捐助 */ @GetMapping("/sponsor") public String sponsor(Model model){ List<Sponsor> sponsors = sponsorService.list(); model.addAttribute("navIndex", 3); model.addAttribute("sponsors", sponsors); return "sponsor"; } /* 解析 */ @GetMapping("/author") public String author(Model model){ model.addAttribute("navIndex", 4); return "author"; } /* 友情链接 */ @GetMapping("/friend") public String friend(Model model){ model.addAttribute("appName", friendLinkService.getAppName()); model.addAttribute("appDomain", friendLinkService.getAppDomain()); return "friend-link"; } /* 登录 */ @GetMapping("/login") public String login(){ return "login"; } /* 注册 */ @GetMapping("/register") public String register(){ return "register"; } }