视频评论功能

本文详细描述了一个使用SpringMVC框架的Java控制器类MovieController,涉及评论的上传、电影信息的更新以及评论的保存到数据库的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

评论存储到数据库中

MovieController.java

package com.yx.controller;

import java.util.ArrayList;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;

import com.yx.pojo.Category;
import com.yx.pojo.Comment;
import com.yx.pojo.Movie;
import com.yx.pojo.User;
import com.yx.service.CategoryService;
import com.yx.service.MovieService;
import com.yx.utils.SaveFile;

@Controller
public class MovieController {
    
    @Autowired
    private CategoryService categoryService;
    
    @Autowired
    private MovieService movieService;
    
    @RequestMapping("/toUpload")
    public String toUpload(HttpServletRequest request) {
        List<Category> categories = this.categoryService.getCategorys();
        if(null!=categories) {
            request.setAttribute("categories", categories);
        }
        return "/upload.jsp";
    }
    
    
    @RequestMapping("/updateMovie")
    public String updateMovie(Movie movie,HttpSession session,HttpServletRequest request,
            @RequestParam(value = "moviePicture",required=false) MultipartFile moviePicture) {
        
        String uuid = (String) session.getAttribute("uuid");
        String exMv = (String) session.getAttribute("exMv");
        movie.setId(uuid);
        movie.setMvType("."+exMv);
        User user = (User) session.getAttribute("user");
        user.getUserName();
        movie.setUserId(user.getId());
        if(!moviePicture.isEmpty()) {
            SaveFile.saveMvPicture(user,moviePicture,movie);
        }else {
            SaveFile.saveDefaultMVPicture(user,movie,request);
        }
        int result = this.movieService.insertSelective(movie);
        if(result>0) {
            return "redirect:toUpload";
        }else {
            return "redirect:toUpload";
        }
    }
    
    
    @RequestMapping("/getMoviesByUserID")
    public String getMoviesByUserID(Movie movie,HttpSession session,HttpServletRequest request) {
        User user = (User) session.getAttribute("user");
        movie.setUserId(user.getId());
        List<Movie> movielist = this.movieService.getMoviesByUserID(movie);
        request.setAttribute("movielist", movielist);
        return "jsp/user/filmManage.jsp";
    }
    
    
    /**
     * 影片播放
     */
    @RequestMapping("/player")
    public String playMovie(HttpSession session,HttpServletRequest request,
            @RequestParam(value = "movie",required=false) String movie) {
    
        String[] ids = movie.split("\\.");
        String movieId = ids[0];
        Movie movieResult = this.movieService.getMoviesByID(movieId);
        Movie moviess = new Movie();
        moviess.setId(movieResult.getId());
        moviess.setPlays(movieResult.getPlays()+1);
        this.movieService.updateByCondiction(moviess);
        if(null!=movieResult.getAdminId()) {
            String admin = "admin";
            request.setAttribute("userName", admin);
        }else {
            User user = (User) session.getAttribute("user");
            request.setAttribute("userName", user.getUserName());
        }
        request.setAttribute("movieResult", movieResult);
        if(movieResult.getCategoryId()!=1) {
            String mvs = movieId.substring(0, movieId.length()-2);
            String mv = movieId.substring(movieId.length()-1, movieId.length());
            int i = Integer.valueOf(mv);
            if(i==1) {
                request.setAttribute("i", 2);
            }else if(i==5){
                request.setAttribute("i", 4);
            }else {
                request.setAttribute("i", i);
            }
            
            List<Movie> movies = this.movieService.getMoviesByIDs(mvs);
            request.setAttribute("movies", movies);
        }else {
            request.setAttribute("i", 2);
            List<Movie> movies = new ArrayList<Movie>();
            movies.add(movieResult);
            request.setAttribute("movies", movies);
        }
        return "player.jsp";
    }
    
    
    /**
     * 根据用户id与影片id来删除影片
     * @param movieid
     * @param session
     * @return
     */
    @RequestMapping("/delMovie")
    public String delMovie(HttpSession session,HttpServletRequest request) {
        
        String movieid = request.getParameter("movieid");
        int result = this.movieService.delMovieById(movieid);
        if(result>0) {
            return "redirect:getMoviesByUserID";
        }else {
            request.setAttribute("error", "删除视频失败!请重试");
            return "error.jsp";
        }
        
    }
    /**
     * 后台管理员删除视频
     * @param session
     * @param request
     * @return
     */
    @RequestMapping("/delMovieByAdmin")
    public String delMovieByAdmin(HttpSession session,HttpServletRequest request) {
        
        String movieid = request.getParameter("movieid");
        int result = this.movieService.delMovieById(movieid);
        if(result>0) {
            return "redirect:checkAdmin";
        }else {
            request.setAttribute("error", "删除视频失败!请重试");
            return "error.jsp";
        }
        
    }
    
    @RequestMapping("/showIndex")
    public String showIndex(HttpServletRequest request) {
        
        List<Movie> sliders = this.movieService.getMovieBySliderImage();
        List<Movie> movies = this.movieService.getMovieByCategory(1l);
        List<Movie> tvplays = this.movieService.getMovieByCategory(2l);;
        List<Movie> rankings = this.movieService.selectByRankings();
        
        request.setAttribute("sliders", sliders);
        request.setAttribute("movies", movies);
        request.setAttribute("tvplays", tvplays);
        request.setAttribute("rankings", rankings);
        
        return "indexs.jsp";
    }
    
    
    @RequestMapping("/getMovieByCategory")
    public String getMovieByCategory(@RequestParam(value="category") Long category,
            Movie movie, HttpServletRequest request) {
        
        movie.setCategoryId(category);
        
        List<Movie> movies = this.movieService.getMoviesByUserID(movie);
        List<Movie> rankings = this.movieService.selectByRankingsByCategory(category);
        request.setAttribute("movies", movies);
        request.setAttribute("rankings", rankings);
        if(category==1) {
            return "jsp/movie/movie.jsp";
        }else if(category==2) {
            return "index1.jsp";
        }else if(category==3) {
            return "jsp/movie/comic.jsp";
        }else if(category==4) {
            return "52CL.htm";
        }else {
            return "jsp/movie/music.jsp";
        }
    }
    
    /**
     * 首页影片搜索
     */
    @RequestMapping("/searchIndexMovie")
    public String searcIndexhMovie(Movie movie,HttpServletRequest request) {
        String condiction = movie.getMovieName();
        movie.setActors(condiction);
        movie.setDirector(condiction);
        movie.setMessage(condiction);
        movie.setMovieCountry(condiction);
        List<Movie> listMovie = this.movieService.searchMovie(movie);
        request.setAttribute("listMovie", listMovie);
        List<Movie> rankings = this.movieService.selectByRankings();
        request.setAttribute("rankings", rankings);
        
        request.setAttribute("search", condiction);
        
        return "jsp/movie/search.jsp";
    }
    
    /**
     * 个人中心影片搜索
     */
    @RequestMapping("/searchMovie")
    public String searchMovie(Movie movie,HttpServletRequest request) {
        String condiction = request.getParameter("movieName");
        User user = (User) request.getSession().getAttribute("user");
        movie.setActors(condiction);
        movie.setDirector(condiction);
        movie.setMessage(condiction);
        movie.setMovieName(condiction);
        movie.setMovieCountry(condiction);
        movie.setUserId(user.getId());
        List<Movie> listMovie = this.movieService.searchMovie(movie);
        request.setAttribute("listMovie", listMovie);
        List<Movie> rankings = this.movieService.selectByRankings();
        request.setAttribute("rankings", rankings);
        request.setAttribute("search", condiction);
        return "jsp/user/search.jsp";
    }
    
    
    /**
     * 根据影片id查询影片
     * 
     */
    @RequestMapping("/editMovie")
    public String getMovieById(Movie movie,HttpServletRequest request) {
        User user = (User) request.getSession().getAttribute("user");
        movie.setId(request.getParameter("movieid"));
        Movie mv = this.movieService.getMoviesByID(movie.getId());
        request.setAttribute("mv", mv);
        
        movie.setUserId(user.getId());
        movie.setActors(mv.getActors());
        movie.setDirector(mv.getDirector());
        movie.setMessage(mv.getMessage());
        movie.setMovieCountry(mv.getMovieCountry());
        List<Movie> listMovie = this.movieService.searchMovie(movie);
        //提前结束for循环
        flag:for (Movie movie2 : listMovie) {
            if((mv.getId()).equals(movie2.getId())) {
                listMovie.remove(movie2);
                break flag;
            }
        }
        //listMovie.remove(0);
        request.setAttribute("rankings", listMovie);
        return "jsp/movie/editMovie.jsp";
    }
    
    /**
     * 保存已经修好的影片
     * SaveEditMovie
     */
    @RequestMapping("/SaveEditMovie")
    public String saveEditMovie(Movie movie,HttpServletRequest request) {
        this.movieService.updateByCondiction(movie);
        String movieId = movie.getId();
        return "editMovie?movieid="+movieId;
    }
    
    /**
     * 后台根据影片id查询影片
     * 
     */
    @RequestMapping("/editMovieByAdmin")
    public String editMovieByAdmin(Movie movie,HttpServletRequest request) {
        
        movie.setId(request.getParameter("movieid"));
        Movie mv = this.movieService.getMoviesByID(movie.getId());
        
        request.setAttribute("mv", mv);
        
        movie.setActors(mv.getActors());
        movie.setDirector(mv.getDirector());
        movie.setMessage(mv.getMessage());
        movie.setMovieCountry(mv.getMovieCountry());
        List<Movie> listMovie = this.movieService.searchMovie(movie);
        //提前结束for循环
        flag:for (Movie movie2 : listMovie) {
            if((mv.getId()).equals(movie2.getId())) {
                listMovie.remove(movie2);
                break flag;
            }
        }
        //listMovie.remove(0);
        request.setAttribute("rankings", listMovie);
        return "jsp/admin/editMovieByAdmin.jsp";
    }
    
    /**
     * 保存已经修好的影片
     * SaveEditMovie
     */
    @RequestMapping("/saveEditMovieByAdmin")
    public String saveEditMovieByAdmin(Movie movie,HttpServletRequest request) {
        if(null==movie.getId()&&null!=request.getParameter("movieId")) {
            movie.setId(request.getParameter("movieId"));
            movie.setIsplay(1);
        }
        this.movieService.updateByCondiction(movie);
        return "redirect:checkAdmin";
    }
    
    /**
     * 保存评论
     */
    @RequestMapping("/saveArgu")
    public String saveArgu(Movie movie,@RequestParam(value="message") String message,@RequestParam(value="movieId") String movieId, HttpServletRequest request) {

        // 获取用户信息
        User user = (User) request.getSession().getAttribute("user");
        
        // jsp里面组件必须要有name,后端才能获取到值,比如message
        // 与数据库进行交互
        Comment comment = new Comment();
        comment.setContent(message);
        comment.setMovieId(movieId);
        comment.setCreator(user.getId());
        int i = movieService.saveArgu(comment);
        
    
        
        System.out.println("========================>"+"saveArgu");
        return "player.jsp";
    }
}
 

CommentMapper.java

package com.yx.dao;

import org.springframework.stereotype.Repository;

import com.yx.pojo.Comment;

@Repository
public interface CommentMapper {
    int deleteByPrimaryKey(Long id);

    int insert(Comment record);

    int insertSelective(Comment record);

    //selectByPrimaryKey(Long id);

    int updateByPrimaryKeySelective(Comment record);

    int updateByPrimaryKey(Comment record);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值