SysNoticeController.java 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  1. package com.tzy.web.controller.system;
  2. import java.util.List;
  3. import com.tzy.system.dto.SysNoticeDto;
  4. import io.swagger.annotations.Api;
  5. import io.swagger.annotations.ApiOperation;
  6. import io.swagger.annotations.ApiResponse;
  7. import io.swagger.annotations.ApiResponses;
  8. import org.apache.shiro.authz.annotation.RequiresPermissions;
  9. import org.springframework.beans.factory.annotation.Autowired;
  10. import org.springframework.stereotype.Controller;
  11. import org.springframework.ui.ModelMap;
  12. import org.springframework.web.bind.annotation.*;
  13. import com.tzy.common.annotation.Log;
  14. import com.tzy.common.core.controller.BaseController;
  15. import com.tzy.common.core.domain.AjaxResult;
  16. import com.tzy.common.core.page.TableDataInfo;
  17. import com.tzy.common.enums.BusinessType;
  18. import com.tzy.common.utils.ShiroUtils;
  19. import com.tzy.system.domain.SysNotice;
  20. import com.tzy.system.service.ISysNoticeService;
  21. /**
  22. * 公告 信息操作处理
  23. *
  24. * @author zheng
  25. */
  26. @Api("系统公告")
  27. @Controller
  28. @RequestMapping("/system/notice")
  29. public class SysNoticeController extends BaseController
  30. {
  31. private String prefix = "system/notice";
  32. @Autowired
  33. private ISysNoticeService noticeService;
  34. @RequiresPermissions("system:notice:view")
  35. @GetMapping()
  36. public String notice()
  37. {
  38. return prefix + "/notice";
  39. }
  40. /**
  41. * 查询公告列表
  42. */
  43. @RequiresPermissions("system:notice:list")
  44. @PostMapping("/list")
  45. @ResponseBody
  46. public TableDataInfo list(SysNotice notice)
  47. {
  48. startPage();
  49. List<SysNoticeDto> list = noticeService.selectNoticeList(notice);
  50. return getDataTable(list);
  51. }
  52. /**
  53. * 查询公告列表
  54. */
  55. @ApiOperation("查询公告列表")
  56. @ApiResponses({
  57. @ApiResponse(code = 200, message = "公告详情", response = SysNoticeDto.class)
  58. })
  59. @PostMapping("/sysNotices")
  60. @ResponseBody
  61. public TableDataInfo sysNotices(@RequestBody SysNotice notice)
  62. {
  63. startPage();
  64. List<SysNoticeDto> list = noticeService.selectNoticeList(notice);
  65. return getDataTable(list);
  66. }
  67. /**
  68. * 新增公告
  69. */
  70. @GetMapping("/add")
  71. public String add()
  72. {
  73. return prefix + "/add";
  74. }
  75. /**
  76. * 新增保存公告
  77. */
  78. @RequiresPermissions("system:notice:add")
  79. @Log(title = "通知公告", businessType = BusinessType.INSERT)
  80. @PostMapping("/add")
  81. @ResponseBody
  82. public AjaxResult addSave(SysNotice notice)
  83. {
  84. notice.setCreateBy(ShiroUtils.getLoginName());
  85. return toAjax(noticeService.insertNotice(notice));
  86. }
  87. /**
  88. * 新增保存公告
  89. */
  90. @ApiOperation("新增保存公告")
  91. @Log(title = "通知公告", businessType = BusinessType.INSERT)
  92. @PostMapping("/addNotice")
  93. @ResponseBody
  94. public AjaxResult addNotice(@RequestBody SysNotice notice)
  95. {
  96. notice.setCreateBy(ShiroUtils.getLoginName());
  97. return toAjax(noticeService.insertNotice(notice));
  98. }
  99. /**
  100. * 修改公告
  101. */
  102. @GetMapping("/edit/{noticeId}")
  103. public String edit(@PathVariable("noticeId") Long noticeId, ModelMap mmap)
  104. {
  105. mmap.put("notice", noticeService.selectNoticeById(noticeId));
  106. return prefix + "/edit";
  107. }
  108. /**
  109. * 公告详情
  110. */
  111. @ApiOperation("公告详情")
  112. @ApiResponses({
  113. @ApiResponse(code = 200, message = "公告详情", response = SysNoticeDto.class)
  114. })
  115. @Log(title = "通知公告", businessType = BusinessType.UPDATE)
  116. @PostMapping("/detail/{noticeId}")
  117. @ResponseBody
  118. public AjaxResult detail(@PathVariable("noticeId") Long noticeId)
  119. {
  120. SysNoticeDto sysNotice = noticeService.selectNoticeById(noticeId);
  121. if(null != sysNotice){
  122. return AjaxResult.success(sysNotice);
  123. }else{
  124. return toAjax(0);
  125. }
  126. }
  127. /**
  128. * 修改保存公告
  129. */
  130. @RequiresPermissions("system:notice:edit")
  131. @Log(title = "通知公告", businessType = BusinessType.UPDATE)
  132. @PostMapping("/edit")
  133. @ResponseBody
  134. public AjaxResult editSave(SysNotice notice)
  135. {
  136. notice.setUpdateBy(ShiroUtils.getLoginName());
  137. return toAjax(noticeService.updateNotice(notice));
  138. }
  139. /**
  140. * 修改保存公告
  141. */
  142. @ApiOperation("修改保存公告")
  143. @Log(title = "通知公告", businessType = BusinessType.UPDATE)
  144. @PostMapping("/editNotice")
  145. @ResponseBody
  146. public AjaxResult editNotice(@RequestBody SysNotice notice)
  147. {
  148. notice.setUpdateBy(ShiroUtils.getLoginName());
  149. return toAjax(noticeService.updateNotice(notice));
  150. }
  151. /**
  152. * 删除公告
  153. */
  154. @RequiresPermissions("system:notice:remove")
  155. @Log(title = "通知公告", businessType = BusinessType.DELETE)
  156. @PostMapping("/remove")
  157. @ResponseBody
  158. public AjaxResult remove(String ids)
  159. {
  160. return toAjax(noticeService.deleteNoticeByIds(ids));
  161. }
  162. /**
  163. * 删除公告
  164. */
  165. @ApiOperation("删除公告")
  166. @Log(title = "通知公告", businessType = BusinessType.DELETE)
  167. @PostMapping("/del")
  168. @ResponseBody
  169. public AjaxResult del(@RequestBody String ids)
  170. {
  171. return toAjax(noticeService.deleteNoticeByIds(ids));
  172. }
  173. }