9.续controller-查看文章

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源码,控制器


验证码: