package cn.ksource.web.controller.business.pages; import cn.ksource.beans.GG_MESSAGE_RECEIVER; import cn.ksource.core.page.PageInfo; import cn.ksource.core.util.DateUtil; import cn.ksource.core.util.JsonUtil; import cn.ksource.core.util.ParamsMapUtil; import cn.ksource.core.util.StringUtil; import cn.ksource.core.web.WebUtil; import cn.ksource.entity.SysMessage; import cn.ksource.web.service.message.MessageService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.context.request.async.DeferredResult; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.Map; /** * Created by chenlong * Date:2017/8/14 * time:18:10 */ @Controller @RequestMapping("/business/pages/sysMessage/") public class SysMessageController { @Autowired private MessageService messageService; /** * 同步系统消息 * @return */ @RequestMapping("/synMessage.html") @ResponseBody public DeferredResult synMessage(HttpServletRequest request, HttpServletResponse response) { String random = StringUtil.getRandom(8); DeferredResult result = new DeferredResult(60000L, ""); final Map> messageContext = (Map>)(request.getServletContext().getAttribute("messageContext")); final String connectionIdentify = WebUtil.getLoginedUserId(request) + random; messageContext.put(connectionIdentify, result); result.onCompletion(new Runnable() { @Override public void run() { messageContext.remove(connectionIdentify); } }); return result; } /** * 我的消息页面 * @return */ @RequestMapping("messageList.html") public String messageList(){ return "/business/pages/sysMessage/messageList"; } /** * 我的消息列表 * @param model * @param request * @return */ @RequestMapping("messageData.html") public String messageData(PageInfo pageInfo, Model model, HttpServletRequest request){ String userId = WebUtil.getLoginedUserId(request); Map params = ParamsMapUtil.getParameterMap(request); params.put("userId", userId); PageInfo pageinfo = messageService.getMessageData(pageInfo,params); model.addAttribute("info",pageinfo); System.out.println(JsonUtil.obj2Json(pageinfo)); return "/business/pages/sysMessage/messageData"; } /** * 查询我的消息数量 * @param request * @return */ @RequestMapping("messageCount.html") @ResponseBody public String messageCount(HttpServletRequest request){ String userId = WebUtil.getLoginedUserId(request); Map params = ParamsMapUtil.getParameterMap(request); params.put("userId", userId); String count = String.valueOf(messageService.getMessageCount(params)); return count; } @RequestMapping("delMessage.html") @ResponseBody public String delMessage(HttpServletRequest request){ String receiveId = request.getParameter("receiveId"); new GG_MESSAGE_RECEIVER(receiveId).deleteById(); return "1"; } }