package com.fang.bbks.modules.sys.web; import javax.servlet.http.HttpServletRequest; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import com.fang.bbks.common.utils.SessionUtil; import com.fang.bbks.common.web.BaseController; import com.fang.bbks.modules.social.entity.DonateType; import com.fang.bbks.modules.social.entity.InterestType; import com.fang.bbks.modules.social.service.DonateService; import com.fang.bbks.modules.social.service.InterestService; import com.fang.bbks.modules.sys.entity.Book; import com.fang.bbks.modules.sys.entity.User; import com.fang.bbks.modules.sys.service.BookService; import com.fang.bbks.modules.sys.service.UserService; /** * @Intro descrption here * @author Lee [shouli1990@gmail.com] * @Version V0.0.1 * @Date 2014-5-13 * @since 下午2:00:44 */ @Controller @RequestMapping("/bs") public class BookShelfController extends BaseController{ private Logger logger = LoggerFactory.getLogger(BookShelfController.class); @Autowired private SessionUtil sessionUtil; @Autowired private BookService bookService; @Autowired private InterestService interestService; @Autowired private UserService userService; @Autowired private DonateService donateService; @RequestMapping(value={"/","/index"}) public String index(HttpServletRequest request,Model model, @RequestParam(value="uid",required=false) Long uid, @RequestParam(value="type",required=false) Integer type){ User user = sessionUtil.getSignInUser(request.getSession()); if(user == null){ model.addAttribute(HANDLER_MSG, "登录后才能查看书架信息"); return "redirect:/login"; } if(uid == null){ //使用 uid = user.getId(); } InterestType inType = InterestType.getTypeById(type); if(inType == InterestType.unknow){ //search all inType = null; } //如果uid == user.getId ,访问的自己的书架信息,所以展示相似的就是了。否则展示,该用户相关的。 //search by type model.addAttribute("invos", interestService.findAll(uid, inType,user.getId())); User cuser = userService.findOne(uid); model.addAttribute("userInfo", cuser); return "/book/bookShelf"; } @RequestMapping(value={"/similar"}) public String similar(HttpServletRequest request,Model model, @RequestParam(value="uid",required=false) Long uid, @RequestParam(value="type",required=false) Integer type){ User user = sessionUtil.getSignInUser(request.getSession()); if(user == null){ model.addAttribute(HANDLER_MSG, "登录后才能查看书架信息"); return "redirect:/login"; } if(uid != null && !user.getId().equals(uid)){ return "redirect:/bs/index?uid="+uid; } InterestType inType = InterestType.getTypeById(type); if(inType == InterestType.unknow){ //search all inType = null; } model.addAttribute("userInfo", user); model.addAttribute("invos", interestService.findSimilar(uid, inType)); return "/book/similar"; } @RequestMapping(value={"/donate"}) public String donate(HttpServletRequest request,Model model, @RequestParam(value="uid",required=false) Long uid){ User user = sessionUtil.getSignInUser(request.getSession()); if(user == null){ model.addAttribute(HANDLER_MSG, "登录后才能查看书架信息"); return "redirect:/login"; } if(uid == null){ //使用 uid = user.getId(); } User cuser = userService.findOne(uid); model.addAttribute("userInfo", cuser); model.addAttribute("donateInfo",donateService.findAll(cuser.getId())); return "/book/bookDonate"; } @RequestMapping(value={"/bookmarks"}) public String bookMark(HttpServletRequest request,Model model, @RequestParam(value="uid",required=false) Long uid){ User user = sessionUtil.getSignInUser(request.getSession()); if(user == null){ model.addAttribute(HANDLER_MSG, "登录后才能查看书架信息"); return "redirect:/login"; } if(uid == null){ //使用 uid = user.getId(); } User cuser = userService.findOne(uid); model.addAttribute("userInfo", cuser); return "/book/bookmarks"; } @RequestMapping(value={"/uploadEbook"}) public String uploadEbook(HttpServletRequest request,Model model, @RequestParam(value="bookSrc",required=true) String bookSrc, @RequestParam(value="bookIsbn",required=false) String bookIsbn //@RequestParam(value="bookName",required=false) String bookName ){ User u = sessionUtil.getSignInUser(request.getSession()); if(u == null){ model.addAttribute(HANDLER_MSG, "登录后才能查看书架信息"); return "redirect:/login"; } try{ Book b = bookService.findByIsbn(bookIsbn);//bookService.findByBookNameOrIsbn(bookName, bookIsbn); System.out.println("--find--"); if(b != null){ bookService.updateEbook("", bookSrc, b.getId()); System.out.println("--update--"); } donateService.DonateBook(b.getId(), bookSrc, DonateType.donate_txt,bookIsbn,u.getId()); model.addAttribute(HANDLER_MSG, "处理成功!"); }catch(Exception e){ e.printStackTrace(); logger.error("异常,{},{}", e.getMessage(),e); model.addAttribute(HANDLER_MSG, "处理失败!"); } return "redirect:/bs/donate"; } }