Package com.skyline.base.controller

Source Code of com.skyline.base.controller.NoticeController

package com.skyline.base.controller;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
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.servlet.ModelAndView;

import com.skyline.base.model.Notification;
import com.skyline.base.service.NoticeService;
import com.skyline.base.type.NotificationType;
import com.skyline.common.util.Constant;
import com.skyline.common.util.WebHelper;
import com.skyline.user.model.User;

/**
* 通知的Controller
*
* @author jairus
*
* @version 0.1
*/
@Controller
@RequestMapping("/notice")
public class NoticeController extends BaseController {

  @Autowired
  private NoticeService noticeService;

  /**
   * getNotification,获取某个人自己所收到的通知,提供ajax调用
   *
   * @param request
   *            HttpServletRequest
   * @return 所查询到的通知列表
   *
   */
  @RequestMapping(value = "/list", method = RequestMethod.GET)
  public @ResponseBody
  List<Notification> getNotification() {

    User user = (User) WebHelper.getSessionAttribute(null, Constant.SESSION_USER);
    if (user == null) {
      return null;
    } else {
      List<Notification> notifications = noticeService.getNotificationByOwnerId(user.getId());
      return notifications;
    }
  }

  /**
   * viewNotifiction,浏览通知:系统将自动跳转到相应的页面
   *
   * @param id
   *            通知的ID
   * @return ModelAndView
   */
  @RequestMapping(value = "/view/{id}", method = RequestMethod.GET)
  public ModelAndView viewNotifiction(@PathVariable Long id) {
    Notification notification = noticeService.getNotificationById(id);
    String viewName = null;
    if (notification != null) {
      if (notification.getType().equals(NotificationType.ARTICLE_COMMENT)) {
        viewName = "/article/view/" + notification.getResourceId();
      } else if (notification.getType().equals(NotificationType.ALBUM_COMMENT)) {
        // TODO:
      } else if (notification.getType().equals(NotificationType.ATTENTION)) {
        // TODO:
      } else if (notification.getType().equals(NotificationType.MANAGE_NOTIFICATION)) {
        // TODO:
      } else if (notification.getType().equals(NotificationType.PHOTO_COMMENT)) {
        // TODO:
      }
    }
    viewName += URL_SUFFIX;
    ModelAndView mav = new ModelAndView();
    //FIXME 不要使用redirect
    mav.setViewName("redirect:" + viewName);
    return mav;
  }
}
TOP

Related Classes of com.skyline.base.controller.NoticeController

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.