SysNoticeController.java 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. package com.dgtly.web.controller.system;
  2. import java.util.List;
  3. import com.dgtly.common.config.Global;
  4. import com.dgtly.common.utils.StringUtils;
  5. import com.dgtly.common.utils.file.FileUploadUtils;
  6. import com.dgtly.common.utils.file.FileUtils;
  7. import com.dgtly.system.domain.SysUser;
  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.dgtly.common.annotation.Log;
  14. import com.dgtly.common.core.controller.BaseController;
  15. import com.dgtly.common.core.domain.AjaxResult;
  16. import com.dgtly.common.core.page.TableDataInfo;
  17. import com.dgtly.common.enums.BusinessType;
  18. import com.dgtly.framework.util.ShiroUtils;
  19. import com.dgtly.system.domain.SysNotice;
  20. import com.dgtly.system.service.ISysNoticeService;
  21. import org.springframework.web.multipart.MultipartFile;
  22. /**
  23. * 公告 信息操作处理
  24. *
  25. * @author ruoyi
  26. */
  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. notice.setCompanyId(ShiroUtils.getCompanyId());
  50. List<SysNotice> list = noticeService.selectNoticeListByRole(notice);
  51. return getDataTable(list);
  52. }
  53. /**
  54. * 新增公告
  55. */
  56. @GetMapping("/add")
  57. public String add()
  58. {
  59. return prefix + "/add";
  60. }
  61. /**
  62. * 新增保存公告
  63. */
  64. @RequiresPermissions("system:notice:add")
  65. @Log(title = "通知公告", businessType = BusinessType.INSERT)
  66. @PostMapping("/add")
  67. @ResponseBody
  68. public AjaxResult addSave(SysNotice notice,MultipartFile file)
  69. {
  70. if(StringUtils.isNotEmpty(notice.getFmzFile())){
  71. //获取base64文件后缀
  72. String houzhui = notice.getFmzFile().split(";")[0].split("\\/")[1];
  73. //获取base64值
  74. String base64 = notice.getFmzFile().substring( notice.getFmzFile().indexOf(",") + 1);
  75. //base64转文件 并返回展示url
  76. String fileUrl = FileUploadUtils.base64ToFile(base64,FileUploadUtils.getDefaultBaseDir()+"/content",System.currentTimeMillis()+"."+houzhui);
  77. notice.setFmzFileUrl(fileUrl);
  78. }
  79. notice.setCompanyId(ShiroUtils.getCompanyId());
  80. notice.setCreateBy(ShiroUtils.getLoginName());
  81. return toAjax(noticeService.insertNotice(notice));
  82. }
  83. /**
  84. * 修改公告
  85. */
  86. @GetMapping("/edit/{noticeId}")
  87. public String edit(@PathVariable("noticeId") Long noticeId, ModelMap mmap)
  88. {
  89. mmap.put("notice", noticeService.selectNoticeById(noticeId));
  90. return prefix + "/edit";
  91. }
  92. /**
  93. * 修改保存公告
  94. */
  95. @RequiresPermissions("system:notice:edit")
  96. @Log(title = "通知公告", businessType = BusinessType.UPDATE)
  97. @PostMapping("/edit")
  98. @ResponseBody
  99. public AjaxResult editSave(SysNotice notice)
  100. {
  101. if(StringUtils.isNotEmpty(notice.getFmzFileUrl())){
  102. //获取base64文件后缀
  103. String houzhui = notice.getFmzFileUrl().split(";")[0].split("\\/")[1];
  104. //获取base64值
  105. String base64 = notice.getFmzFileUrl().substring( notice.getFmzFileUrl().indexOf(",") + 1);
  106. //base64转文件 并返回展示url
  107. String fileUrl = FileUploadUtils.base64ToFile(base64,FileUploadUtils.getDefaultBaseDir()+"/content",System.currentTimeMillis()+"."+houzhui);
  108. notice.setFmzFileUrl(fileUrl);
  109. }
  110. notice.setUpdateBy(ShiroUtils.getLoginName());
  111. return toAjax(noticeService.updateNotice(notice));
  112. }
  113. /**
  114. * 删除公告
  115. */
  116. @RequiresPermissions("system:notice:remove")
  117. @Log(title = "通知公告", businessType = BusinessType.DELETE)
  118. @PostMapping("/remove")
  119. @ResponseBody
  120. public AjaxResult remove(String ids)
  121. {
  122. return toAjax(noticeService.deleteNoticeByIds(ids));
  123. }
  124. }