NotSpeakController.java 5.36 KB
package com.cnlive.shenhe.controller;


import com.alibaba.fastjson.JSON;
import com.cnlive.shenhe.bean.ResponseBean;
import com.cnlive.shenhe.bean.SessionUser;
import com.cnlive.shenhe.dto.NotSpeakDTO;
import com.cnlive.shenhe.entity.ShyNotspeak;
import com.cnlive.shenhe.entity.ShySites;
import com.cnlive.shenhe.entity.ShyUsers;
import com.cnlive.shenhe.serviceImpl.*;
import com.cnlive.shenhe.utils.AuditPass;
import com.cnlive.shenhe.utils.CommonUtils;
import com.github.pagehelper.PageInfo;
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.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.servlet.http.HttpSession;
import java.util.List;


/**
 * @author Administrator
 */
@Controller
@RequestMapping("/notSpeak")
public class NotSpeakController extends BaseController {
    private static Logger logger = LoggerFactory.getLogger(NotSpeakController.class);
    @Autowired
    AuditPass Pass;
    @Autowired
    CommentsServiceImpl commentsService;
    @Autowired
    NotspeakServiceImpl notSpeakService;

    @Autowired
    UsersServiceImpl usersService;
    
    @Autowired
    SitesServiceImpl sitesService;
    @Autowired
    ContentServiceImpl contentService;

    /**
     * 禁言列表页
     *
     * @param notSpeakDTO
     * @return
     */
    @GetMapping("/page")
    public String getPage(Model model, NotSpeakDTO notSpeakDTO, HttpSession session) {
        logger.info("列表请求参数:{}", JSON.toJSONString(notSpeakDTO));
        SessionUser sessionUser = (SessionUser) session.getAttribute(SessionUser.getSessionKey());
        if(CommonUtils.isNull(sessionUser)){
        	return "redirect:/users/login";
        }
        String userId = sessionUser.getUserId();
        notSpeakDTO.setUserId(userId);
        PageInfo<ShyNotspeak> shyNotspeakPage = notSpeakService.getPage(notSpeakDTO);

        List<ShyNotspeak> list = shyNotspeakPage.getList();
        if (!list.isEmpty()) {
            for (ShyNotspeak notspeak : list) {
                	String updater = CommonUtils.isEmpty(notspeak.getUpdater()) || "null".equals(notspeak.getUpdater())? "无":notspeak.getUpdater();
                    String auditor_id = notspeak.getAuditor();
                    if (CommonUtils.isNotEmpty(auditor_id)) {
                        ShyUsers user = new ShyUsers();
                        user.setUser_id(auditor_id);
                        user = usersService.select(user);
                        if (CommonUtils.isNotNull(user)) {
                        	String email = CommonUtils.isEmpty(user.getEmail()) || "null".equals(user.getEmail()) ? "" : user.getEmail();
                            String userName = CommonUtils.isEmpty(user.getUsername()) ? email : user.getUsername();
                            updater = userName ;
                        }
                    }
                    notspeak.setUpdater(updater);
                if(null!=notspeak.getSp_id()){
                	//显示spid简称
                	ShySites shySites = sitesService.findspidDescByspid(notspeak.getSp_id());
                	if (CommonUtils.isNotNull(shySites)) {
                		notspeak.setSpid_desc(shySites.getName());
                	}
                }else{
                	notspeak.setSpid_desc("sp无法显示");
                }
            }
        }
        model.addAttribute("pageSize", notSpeakDTO.getPageSize());
        model.addAttribute("notspeakPage", shyNotspeakPage);
        return "page/notspeak.html";
    }


    /**
     * 禁言(通过评论进入)
     * @param commentId
     * @param
     * @param time
     * @param session
     * @return
     */
    @PostMapping("/notSpeakByComment")
    @ResponseBody
    public ResponseBean notSpeakByComment(Integer commentId,Integer time, HttpSession session) {
        SessionUser sessionUser = (SessionUser) session.getAttribute(SessionUser.getSessionKey());
        String userId = sessionUser.getUserId();
        ResponseBean success = notSpeakService.notSpeakByComment(commentId,  time,userId);
        return success;
    }
    /**
     * 查询禁言状态(通过评论进入)
     * @param commentId
     * @param
     * @param
     * @param session
     * @return
     */
    @PostMapping("/querySpeakState")
    @ResponseBody
    public ResponseBean querySpeakState(Integer commentId, HttpSession session) {
    	SessionUser sessionUser = (SessionUser) session.getAttribute(SessionUser.getSessionKey());
    	String userId = sessionUser.getUserId();
    	ResponseBean success = notSpeakService.querySpeakState(commentId,userId);
    	return success;
    }
    /**
     * 禁言(通过禁言管理进入)
     * @param notSpeakId
     * @param type
     * @param time
     * @param session
     * @return
     */
    @PostMapping("/speak")
    @ResponseBody
    public ResponseBean speak(Integer notSpeakId,Integer type,Integer time, HttpSession session) {
    	SessionUser sessionUser = (SessionUser) session.getAttribute(SessionUser.getSessionKey());
    	String userId = sessionUser.getUserId();
    	ResponseBean success = notSpeakService.speak(notSpeakId,type, time,userId);
    	return success;
    }
}