mirror of
https://github.com/FatttSnake/Pinnacle-OA.git
synced 2026-04-05 23:11:24 +08:00
Added permission control for NoticeeManagement
This commit is contained in:
@@ -3,13 +3,12 @@ package com.cfive.pinnacle.controller;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.cfive.pinnacle.entity.Notice;
|
||||
import com.cfive.pinnacle.entity.NoticeReceive;
|
||||
import com.cfive.pinnacle.entity.common.ResponseCode;
|
||||
import com.cfive.pinnacle.entity.common.ResponseResult;
|
||||
import com.cfive.pinnacle.service.INoticeReceiveService;
|
||||
import com.cfive.pinnacle.service.INoticeService;
|
||||
import com.cfive.pinnacle.utils.WebUtil;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.util.StringUtils;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
@@ -35,6 +34,7 @@ public class NoticeController {
|
||||
|
||||
//根据公告id查公告信息及发布人
|
||||
@GetMapping("/{nid}")
|
||||
@PreAuthorize("hasAuthority('notice:manage:get')")
|
||||
public ResponseResult<Notice> selectByNoticeId(@PathVariable Long nid) {
|
||||
Notice noticeById = noticeService.selectByNoticeId(nid);
|
||||
Integer code = noticeById != null ? ResponseCode.DATABASE_SELECT_OK : ResponseCode.DATABASE_SELECT_ERROR;
|
||||
@@ -44,6 +44,7 @@ public class NoticeController {
|
||||
|
||||
//查询所有公告或模糊查询
|
||||
@GetMapping
|
||||
@PreAuthorize("hasAuthority('notice:manage:get')")
|
||||
public ResponseResult<List<Notice>> selectAllNotice(String title, String type, String startTime, String endTime) {
|
||||
List<Notice> noticeList;
|
||||
if (!StringUtils.hasText(title) && !StringUtils.hasText(type) && !StringUtils.hasText(startTime) && !StringUtils.hasText(endTime)) {
|
||||
@@ -59,6 +60,7 @@ public class NoticeController {
|
||||
|
||||
//根据登录用户id查询所接收的公告
|
||||
@GetMapping("/self")
|
||||
@PreAuthorize("hasAuthority('notice:self:get')")
|
||||
public ResponseResult<List<Notice>> selectByUserId(Integer readStatus) {
|
||||
List<Notice> noticesByUserId = noticeReceiveService.selectByUserId(readStatus);
|
||||
Integer code = noticesByUserId != null ? ResponseCode.DATABASE_SELECT_OK : ResponseCode.DATABASE_SELECT_ERROR;
|
||||
@@ -68,6 +70,7 @@ public class NoticeController {
|
||||
|
||||
//修改登录用户所接收公告的阅读状态
|
||||
@PutMapping("/modify_notice_read")
|
||||
@PreAuthorize("hasAuthority('notice:self:get')")
|
||||
public ResponseResult<?> modifyNoticeIsRead(@RequestBody Notice notice) {
|
||||
boolean updateById = false;
|
||||
if (null != notice) {
|
||||
@@ -88,6 +91,7 @@ public class NoticeController {
|
||||
|
||||
//修改公告置顶状态
|
||||
@PutMapping("/update_notice_top")
|
||||
@PreAuthorize("hasAuthority('notice:self:get')")
|
||||
public ResponseResult<?> updateNoticeTop(@RequestBody Notice notice) {
|
||||
String operationMessage = notice.getTop() == 1 ? "取消置顶" : "置顶";
|
||||
boolean updateResult = noticeService.updateNoticeTop(notice);
|
||||
@@ -97,6 +101,7 @@ public class NoticeController {
|
||||
|
||||
//添加公告
|
||||
@PostMapping
|
||||
@PreAuthorize("hasAuthority('notice:manage:add')")
|
||||
public ResponseResult<?> addNotice(@RequestBody Notice notice) {
|
||||
Boolean insertNotice = noticeService.addNotice(notice);
|
||||
String msg = insertNotice ? "" : "数据添加失败,请重试!";
|
||||
@@ -105,6 +110,7 @@ public class NoticeController {
|
||||
|
||||
//删除公告
|
||||
@DeleteMapping("/{nid}")
|
||||
@PreAuthorize("hasAuthority('notice:manage:modify')")
|
||||
public ResponseResult<?> deleteByNoticeId(@PathVariable Long nid) {
|
||||
boolean removeById = noticeService.deleteById(nid);
|
||||
String msg = removeById ? "" : "数据删除失败,请重试!";
|
||||
@@ -113,6 +119,7 @@ public class NoticeController {
|
||||
|
||||
//分页查询所有公告或分页模糊查询
|
||||
@GetMapping("/page")
|
||||
@PreAuthorize("hasAuthority('notice:manage:get')")
|
||||
public ResponseResult<List<Notice>> selectPageAllNotice(Integer currentPage, Integer pageSize, String title, String type, String startTime, String endTime) {
|
||||
IPage<Notice> noticePageList;
|
||||
Page<?> page = new Page();
|
||||
|
||||
@@ -5,9 +5,8 @@ import com.cfive.pinnacle.entity.common.ResponseCode;
|
||||
import com.cfive.pinnacle.entity.common.ResponseResult;
|
||||
import com.cfive.pinnacle.service.INoticeTypeService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.util.StringUtils;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
@@ -32,6 +31,7 @@ public class NoticeTypeController {
|
||||
|
||||
//查询已启用的公告类型
|
||||
@GetMapping("/enable")
|
||||
@PreAuthorize("hasAnyAuthority('notice:type:enable', 'notice:self:get', 'notice:manage:get')")
|
||||
public ResponseResult<List<NoticeType>> selectEnableTypeList(){
|
||||
List<NoticeType> selectTypeName = noticeTypeService.selectEnableTypeList();
|
||||
Integer code = selectTypeName != null ? ResponseCode.DATABASE_SELECT_OK : ResponseCode.DATABASE_SELECT_ERROR;
|
||||
@@ -41,6 +41,7 @@ public class NoticeTypeController {
|
||||
|
||||
//查询所有公告类型
|
||||
@GetMapping
|
||||
@PreAuthorize("hasAuthority('notice:type:get')")
|
||||
public ResponseResult<List<NoticeType>> selectTypeList(){
|
||||
List<NoticeType> selectTypeList = noticeTypeService.selectTypeList();
|
||||
Integer code = selectTypeList != null ? ResponseCode.DATABASE_SELECT_OK : ResponseCode.DATABASE_SELECT_ERROR;
|
||||
@@ -50,6 +51,7 @@ public class NoticeTypeController {
|
||||
|
||||
//修改公告类型启用或禁用
|
||||
@GetMapping("/update")
|
||||
@PreAuthorize("hasAuthority('notice:type:modify')")
|
||||
public ResponseResult<?> updateTypeEnableById(String typeId,Integer enable){
|
||||
Long tid=null;
|
||||
if (StringUtils.hasText(typeId)){
|
||||
@@ -62,14 +64,16 @@ public class NoticeTypeController {
|
||||
|
||||
//添加公告类型
|
||||
@PostMapping
|
||||
public ResponseResult addNoticeType(@RequestBody NoticeType noticeType){
|
||||
@PreAuthorize("hasAuthority('notice:type:add')")
|
||||
public ResponseResult<?> addNoticeType(@RequestBody NoticeType noticeType){
|
||||
Boolean insertNotice = noticeTypeService.addNoticeType(noticeType);
|
||||
String msg = insertNotice ? "" : "数据添加失败,请重试!";
|
||||
return ResponseResult.build(insertNotice ? ResponseCode.DATABASE_SAVE_OK : ResponseCode.DATABASE_SAVE_ERROR, msg, insertNotice);
|
||||
return ResponseResult.build(insertNotice ? ResponseCode.DATABASE_SAVE_OK : ResponseCode.DATABASE_SAVE_ERROR, msg, null);
|
||||
}
|
||||
|
||||
//修改公告类型
|
||||
@PutMapping
|
||||
@PreAuthorize("hasAuthority('notice:type:modify')")
|
||||
public ResponseResult<?> updateNoticeType(@RequestBody NoticeType noticeType){
|
||||
boolean updateById =noticeTypeService.updateNoticeType(noticeType);
|
||||
String msg = updateById ? "" : "数据修改失败,请重试!";
|
||||
@@ -78,6 +82,7 @@ public class NoticeTypeController {
|
||||
|
||||
//删除公告类型
|
||||
@DeleteMapping("/{typeId}")
|
||||
@PreAuthorize("hasAuthority('notice:type:delete')")
|
||||
public ResponseResult<?> deleteNoticeTypeById(@PathVariable Long typeId) {
|
||||
boolean removeById = noticeTypeService.deleteNoticeTypeById(typeId);
|
||||
String msg = removeById ? "" : "数据删除失败,请重试!";
|
||||
|
||||
Reference in New Issue
Block a user