9.续controller
发表于:2017-06-24 10:19:49 分类:博客源码 阅读:401次
2.BlogController
package top.ersredma.blog.controller; import ... @Controller @RequestMapping("/") public class BlogController { @Autowired UserService userService; @Autowired BlogService blogService; //配置博客 @RequestMapping(value = "/mng/configBlog",produces = "application/json;charset=UTF-8") @ResponseBody public Map<String,Object> configBlog(Blog blog, HttpSession session, HttpServletRequest request, HttpServletResponse response) { boolean success=false; String msg=""; String url=""; if(blog!=null){ User user=(User)session.getAttribute("USER"); if(user!=null){ //判断url是否可用 Blog blogtemp=blogService.findBlogByUrl(blog); if(blogtemp!=null&&blogtemp.getUserId()!=user.getId()){ msg = "该英文名已被使用,请换一个再试!"; url = "#"; }else { blog.setUserId(user.getId()); blogtemp = blogService.findBlogByUser(user); if (blogtemp == null) { blogService.createBlog(blog); success = true; msg = "配置成功,前往我的BLOG!"; url = "/blog/" + blog.getUrl(); } else { blog.setId(blogtemp.getId()); blogService.editBlogById(blog); msg = "修改成功,前往我的BLOG!"; url = "/blog/" + blog.getUrl(); } user.setBlog(blog); //把用户写入Session,并返回博客配置页面 session.setAttribute("USER", user); } }else{ msg="无效登陆,请先登陆后再操作!"; url="/loginUI"; } }else{ msg="数据非法!"; url="/mng/configUI"; } Map<String, Object> map = new HashMap<>(); map.put("success",success); map.put("msg",msg); map.put("url",url); return map; } //编辑分类 @RequestMapping(value = "/mng/catemng",produces = "application/json;charset=UTF-8") @ResponseBody public Map<String,Object> catemng(Category cate,int option, HttpSession session) { boolean success=false; String msg=""; String url=""; User user=(User)session.getAttribute("USER"); if(option==0){ int size= blogService.findCatesByUser(user).size(); if(size<=10){ cate.setUserId(user.getId()); cate.setId(null); blogService.addCate(cate); success=true; msg="添加成功!"; }else{ msg="自定义分类最多只允许有10个!"; } }else if(option==1){ blogService.editCate(cate); success=true; msg="修改成功!"; }else if(option==2){ blogService.delCate(cate); success=true; msg="删除成功!"; } Map<String, Object> map = new HashMap<>(); map.put("success",success); map.put("msg",msg); map.put("url","/mng/catemngUI"); return map; } //编辑友情链接 @RequestMapping(value = "/mng/rollmng",produces = "application/json;charset=UTF-8") @ResponseBody public Map<String,Object> rollmng(BlogRoll roll,int option, HttpSession session) { boolean success=false; String msg=""; String url=""; User user=(User)session.getAttribute("USER"); if(option==0){ User userById=userService.findUserById(user.getId()); int size= userById!=null?userById.getBlogRolls().size():0; if(size<=10){ roll.setUserId(user.getId()); roll.setId(null); userService.addRoll(roll); success=true; msg="添加成功!"; }else{ msg="友情链接最多只允许有10个!"; } }else if(option==1){ userService.editRoll(roll); success=true; msg="修改成功!"; }else if(option==2){ userService.delRoll(roll); success=true; msg="删除成功!"; } session.setAttribute("USER",userService.findUserById(user.getId())); Map<String, Object> map = new HashMap<>(); map.put("success",success); map.put("msg",msg); map.put("url","/mng/rollmngUI"); return map; } //编辑文章 @RequestMapping(value = "/mng/editEssay",produces = "application/json;charset=UTF-8") @ResponseBody public Map<String,Object> editEssay(Essay essay, HttpSession session) { boolean success=false; String msg=""; String url=""; User user=(User)session.getAttribute("USER"); if(essay!=null){ essay.setUserId(user.getId()); if(essay.getId()==null){ essay.setTime(AppUtils.formatDate(new Date(),"yyyy-MM-dd HH:mm:ss")); if(essay.getImgurl().contains("/upload")) { essay.setImgurl(essay.getImgurl().substring(essay.getImgurl().indexOf("/upload"))); }else{ essay.setImgurl(null); } //新建文章 blogService.addEssay(essay); //保存关键词数据 String[] keys=essay.getKeyword().split(","); for(int i=0;i<keys.length&&i<5;i++){ KeyWord keyWord = new KeyWord(); keyWord.setEssayId(essay.getId()); keyWord.setKeyword(keys[i]); blogService.addKeyWord(keyWord); } success=true; msg="发布成功!"; url="/essay/"+essay.getId(); System.out.println(url); }else{ //编辑文章 blogService.editEssay(essay); success=true; msg="编辑成功!"; url="/mng/drafts"; } } Map<String, Object> map = new HashMap<>(); map.put("success",success); map.put("msg",msg); map.put("url",url); return map; } //添加评论 @RequestMapping(value = "/addComment",produces = "application/json;charset=UTF-8") @ResponseBody public Map<String,Object> addComment(Comment comment, HttpSession session) { boolean success=false; String msg=""; String url=""; ServletContext servletContext = session.getServletContext(); WebApplicationContext webApplicationContext = (WebApplicationContext) servletContext.getAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE); User user=(User)session.getAttribute("USER"); if(comment!=null){ if(user!=null){ comment.setUserId(user.getId()+""); }else { comment.setUserId(AppUtils.getRandomName()); } comment.setTime(AppUtils.formatDate(new Date(),"yyyy-MM-dd HH:mm:ss")); blogService.addComment(comment); success=true; msg="评论成功!"; url="/essay/"+comment.getEssayId(); } Map<String, Object> map = new HashMap<>(); map.put("success",success); map.put("msg",msg); map.put("url",url); return map; } //访问用户的博客 @RequestMapping(value = "/blog/{url}",produces = "application/json;charset=UTF-8") public String blog(@PathVariable("url")String userurl, HttpSession session, HttpServletRequest request){ if(userurl!=null){ User bloger=userService.findUserByUrl(userurl); if(bloger!=null) { request.setAttribute("bloger", bloger); //分页 String pageStr = request.getParameter("pageNo"); int pageNum = 1; if (pageStr != null && !"".equals(pageStr)) { try { pageNum = Integer.parseInt(pageStr); } catch (Exception e) { } } //分类 String cateStr = request.getParameter("cate"); int cate = -1; if (cateStr != null && !"".equals(cateStr)) { try { cate = Integer.parseInt(cateStr); } catch (Exception e) { } } //浏览方式(按时间升降序) String model = request.getParameter("model"); if (model != null && !"desc".equals(model)) { model = "asc"; } else { model = "desc"; } User user =(User) session.getAttribute("USER"); if(!(user!=null&&user.getId()==bloger.getId())){ blogService.addBlogPV(bloger.getBlog()); } initTopData(request); PageResult pageResult = userService.findUsersEssayByCase(bloger.getId(), cate, model, pageNum); request.setAttribute("pageResult", pageResult); return "user/home"; }else{ return "redirect:/home"; } }else{ return "redirect:/home"; } } //博客配置页面 @RequestMapping("/mng/configUI") public String configUI(HttpServletRequest request,HttpSession session){ User user=(User) session.getAttribute("USER"); Blog blogByUser = blogService.findBlogByUser(user); request.setAttribute("blog",blogByUser); return "user/config"; } //文章编辑页面 @RequestMapping("/mng/editEssayUI") public String editEssayUI(Integer essayId, HttpServletRequest request,HttpSession session){ User user=(User) session.getAttribute("USER"); List<Category> cates = blogService.findCatesByUser(user); request.setAttribute("cates",cates); if(essayId!=null){ Essay essay= blogService.findEssayById(essayId); request.setAttribute("essay",essay); } return "user/editessay"; } //分类编辑页面 @RequestMapping("/mng/catemngUI") public String catemngUI(HttpServletRequest request,HttpSession session){ User user=(User) session.getAttribute("USER"); List<Category> cateList= blogService.findCatesByUser(user); request.setAttribute("cates",cateList); return "user/catemng"; } //友情链接编辑页面 @RequestMapping("/mng/rollmngUI") public String rollmngUI(HttpServletRequest request,HttpSession session){ User user =(User)session.getAttribute("USER"); //session.setAttribute("USER",userService.findUserById(user.getId())); return "user/rollmng"; } //文章展示页面 @RequestMapping("/essay/{id}") public String showEssay(@PathVariable("id")Integer id,HttpServletRequest request,HttpSession session){ if(id!=null){ Essay essay= blogService.findEssayById(id); if(essay!=null){ List<Comment> comments= blogService.findCommentByEssay(essay); for (Comment com:comments ) { try { Integer userId= Integer.parseInt(com.getUserId()); com.setUser(userService.findUserById(userId)); }catch (Exception e){ //不能转为int } } essay.setComments(comments); User user=(User) session.getAttribute("USER"); User author= userService.findUserById(essay.getUserId()); author.setBlog(blogService.findBlogByUser(author)); List<Category> cateList= blogService.findCatesByUser(author); author.setCates(cateList); essay.setAuthor(author); if(essay.getState()>Essay.ESSAY_STATE_SHOW){ if(user!=null&&user.getId()==author.getId()){ request.setAttribute("essay",essay); if(essay.getState()==Essay.ESSAY_STATE_HIDDEN) return "user/essayInfo"; if(essay.getState()==Essay.ESSAY_STATE_DRAFTS) return "redirect:/mng/catemngUI?id="+essay.getId(); }else{ return "redirect:/home"; } }else if(essay.getState()==Essay.ESSAY_STATE_SHOW){ if(!(user!=null&&user.getId()==author.getId())){ blogService.addEssayPV(essay.getId()); } request.setAttribute("essay",essay); initTopData(request); return "user/essayInfo"; } } } return "redirect:/home"; } @RequestMapping("/search") public String search(Integer model,String key,HttpServletRequest request){ HashMap<Integer,List<Object>> map=new HashMap(); if(key!=null&&!"".equals(key)){ key=key.trim(); } if(model==1){//搜博主 List list= userService.findUsersByKey(key); map.put(1,list); }else if(model==2){//搜文章 List list= blogService.findEssaysByKey(key); map.put(2,list); } initTopData(request); request.setAttribute("resMap",map); return "searchUI"; } private void initTopData(HttpServletRequest request){ List<Essay> hotList= blogService.findHotTop(); List<Essay> newList= blogService.findNewTop(); List<Essay> likeList= blogService.findLikeTop(); request.setAttribute("hotList",hotList); request.setAttribute("newList",newList); request.setAttribute("likeList",likeList); } }
关键词:blog源码,控制器