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<SysMessage> synMessage(HttpServletRequest request, HttpServletResponse response) {
|
String random = StringUtil.getRandom(8);
|
DeferredResult<SysMessage> result = new DeferredResult<SysMessage>(60000L, "");
|
final Map<String,DeferredResult<SysMessage>> messageContext = (Map<String,DeferredResult<SysMessage>>)(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<String, String> 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<String, String> 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";
|
}
|
|
}
|