VideosController.java 4.45 KB
package com.cnlive.shenhe.controller;

import com.alibaba.fastjson.JSONObject;
import com.cnlive.shenhe.bean.ErrorEnum;
import com.cnlive.shenhe.bean.ResponseBean;
import com.cnlive.shenhe.bean.SessionUser;
import com.cnlive.shenhe.entity.ShyUsers;
import com.cnlive.shenhe.entity.ShyVideos;
import com.cnlive.shenhe.serviceImpl.UsersServiceImpl;
import com.cnlive.shenhe.serviceImpl.VideosServiceImpl;
import com.cnlive.shenhe.utils.AuditPass;
import com.cnlive.shenhe.utils.CommonUtils;
import com.github.pagehelper.PageInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpSession;

@Controller
@RequestMapping("/videos")
public class VideosController {

    @Autowired
    AuditPass Pass;
    @Autowired
    VideosServiceImpl videosService;
    @Autowired
    UsersServiceImpl usersService;

    @RequestMapping("/index")
    public String index(HttpSession session, Model model) {
        SessionUser sessionUser = (SessionUser) session.getAttribute(SessionUser.getSessionKey());
        ShyUsers shyUsers = new ShyUsers();
        shyUsers.setUser_id(sessionUser.getUserId());
        shyUsers = usersService.select(shyUsers);
        JSONObject user = new JSONObject();
        user.put("name", shyUsers.getUsername());
        user.put("company", shyUsers.getCompany_brief());
        user.put("spid", shyUsers.getSp_id());
        model.addAttribute("user", user);


        return "page/video.html";
    }

    /**
     * 审核信息返回接口
     *
     * @param activity_id 视频id
     * @param state       状态码
     * @param attr_tags   标签
     * @param msg         备注信息
     * @return
     */
    @RequestMapping("/shenheVideo")
    @ResponseBody
    public ResponseBean shenheInfo(Integer id, String activity_id, Integer state, String attr_tags, String msg, HttpSession session) {
        SessionUser sessionUser = (SessionUser) session.getAttribute(SessionUser.getSessionKey());
        String userId = sessionUser.getUserId();
        JSONObject result = Pass.auditPass(activity_id, state, attr_tags, msg);
        Integer code = result.getInteger("code");
        if (code != 0) {
            return new ResponseBean(code, result.getString("msg"));
        }
        int i = videosService.updateVideo(id, userId, state, attr_tags, msg);
        if (i == 0) {
            return new ResponseBean(ErrorEnum.ERROR);
        }
        return new ResponseBean(ErrorEnum.SUCCESS);
    }

    /**
     * 内容分页列表接口
     *
     * @param video_title
     * @param start_date
     * @param end_date
     * @param state
     * @param page
     * @param pageSize
     * @param orderByClause
     * @return
     */
    @RequestMapping("/page")
    public Object getListVideos(Model model,String video_title, String start_date, String end_date, Integer state, Integer page, Integer pageSize, String orderByClause, HttpSession session) {
        SessionUser sessionUser = (SessionUser) session.getAttribute(SessionUser.getSessionKey());
        ShyUsers shyUsers = new ShyUsers();
        shyUsers.setUser_id(sessionUser.getUserId());
        shyUsers = usersService.select(shyUsers);
        JSONObject user = new JSONObject();
        user.put("name", shyUsers.getUsername());
        user.put("company", shyUsers.getCompany_brief());
        user.put("spid", shyUsers.getSp_id());
        user.put("email", shyUsers.getEmail());
        user.put("logo", shyUsers.getUser_logo());
        model.addAttribute("user", user);

        Integer spid = sessionUser.getSpid();
        if (CommonUtils.isNull(page)) page = 1;
        if (CommonUtils.isNull(pageSize)) pageSize = 10;
        if (CommonUtils.isNotNull(spid) && spid == 0) {
            spid = 82;
        }
        PageInfo<ShyVideos> videoPage = videosService.getListContent(video_title, start_date, end_date, state, page, pageSize, orderByClause, spid);
        model.addAttribute("videoPage", videoPage);
        return "page/video.html";
    }

    /**
     * 内容详情页接口(查看)
     *
     * @param id
     * @return
     */
    @RequestMapping("/details")
    @ResponseBody
    public Object getDetailsVideo(Integer id) {
        return videosService.getDetailsContent(id);
    }


}