package com.stylefeng.guns.modular.system.controller; import com.stylefeng.guns.core.base.controller.BaseController; import com.stylefeng.guns.core.common.annotion.BussinessLog; import com.stylefeng.guns.core.common.constant.dictmap.NoticeMap; import com.stylefeng.guns.core.common.constant.factory.ConstantFactory; import com.stylefeng.guns.core.common.exception.BizExceptionEnum; import com.stylefeng.guns.core.exception.GunsException; import com.stylefeng.guns.core.log.LogObjectHolder; import com.stylefeng.guns.core.shiro.ShiroKit; import com.stylefeng.guns.core.util.ToolUtil; import com.stylefeng.guns.modular.system.model.Notice; import com.stylefeng.guns.modular.system.service.INoticeService; import com.stylefeng.guns.modular.system.warpper.NoticeWrapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import java.util.Date; import java.util.List; import java.util.Map; /** * 通知控制器 * * @author fengshuonan * @Date 2017-05-09 23:02:21 */ @Controller @RequestMapping("/notice") public class NoticeController extends BaseController { private String PREFIX = "/system/notice/"; @Autowired private INoticeService noticeService; /** * 跳转到通知列表首页 */ @RequestMapping("") public String index() { return PREFIX + "notice.html"; } /** * 跳转到添加通知 */ @RequestMapping("/notice_add") public String noticeAdd() { return PREFIX + "notice_add.html"; } /** * 跳转到修改通知 */ @RequestMapping("/notice_update/{noticeId}") public String noticeUpdate(@PathVariable Integer noticeId, Model model) { Notice notice = this.noticeService.selectById(noticeId); model.addAttribute("notice",notice); LogObjectHolder.me().set(notice); return PREFIX + "notice_edit.html"; } /** * 跳转到首页通知 */ @RequestMapping("/hello") public String hello() { List> notices = noticeService.list(null); super.setAttr("noticeList",notices); return "/blackboard.html"; } /** * 获取通知列表 */ @RequestMapping(value = "/list") @ResponseBody public Object list(String condition) { List> list = this.noticeService.list(condition); return super.warpObject(new NoticeWrapper(list)); } /** * 新增通知 */ @RequestMapping(value = "/add") @ResponseBody @BussinessLog(value = "新增通知",key = "title",dict = NoticeMap.class) public Object add(Notice notice) { if (ToolUtil.isOneEmpty(notice, notice.getTitle(), notice.getContent())) { throw new GunsException(BizExceptionEnum.REQUEST_NULL); } notice.setCreater(ShiroKit.getUser().getId()); notice.setCreatetime(new Date()); notice.insert(); return SUCCESS_TIP; } /** * 删除通知 */ @RequestMapping(value = "/delete") @ResponseBody @BussinessLog(value = "删除通知",key = "noticeId",dict = NoticeMap.class) public Object delete(@RequestParam Integer noticeId) { //缓存通知名称 LogObjectHolder.me().set(ConstantFactory.me().getNoticeTitle(noticeId)); this.noticeService.deleteById(noticeId); return SUCCESS_TIP; } /** * 修改通知 */ @RequestMapping(value = "/update") @ResponseBody @BussinessLog(value = "修改通知",key = "title",dict = NoticeMap.class) public Object update(Notice notice) { if (ToolUtil.isOneEmpty(notice, notice.getId(), notice.getTitle(), notice.getContent())) { throw new GunsException(BizExceptionEnum.REQUEST_NULL); } Notice old = this.noticeService.selectById(notice.getId()); old.setTitle(notice.getTitle()); old.setContent(notice.getContent()); old.updateById(); return SUCCESS_TIP; } }