Merge branch 'master' of https://gitee.com/youlaiorg/youlai-boot into feature/noticews

# Conflicts:
#	src/main/java/com/youlai/boot/platform/websocket/service/impl/WebsocketServiceImpl.java
#	src/main/java/com/youlai/boot/system/controller/NoticeController.java
#	src/main/java/com/youlai/boot/system/controller/NoticeStatusController.java
#	src/main/java/com/youlai/boot/system/converter/NoticeConverter.java
#	src/main/java/com/youlai/boot/system/converter/NoticeStatusConverter.java
#	src/main/java/com/youlai/boot/system/mapper/NoticeMapper.java
#	src/main/java/com/youlai/boot/system/mapper/NoticeStatusMapper.java
#	src/main/java/com/youlai/boot/system/model/entity/Notice.java
#	src/main/java/com/youlai/boot/system/model/entity/NoticeStatus.java
#	src/main/java/com/youlai/boot/system/model/form/NoticeForm.java
#	src/main/java/com/youlai/boot/system/model/form/NoticeStatusForm.java
#	src/main/java/com/youlai/boot/system/model/query/NoticeQuery.java
#	src/main/java/com/youlai/boot/system/model/query/NoticeStatusQuery.java
#	src/main/java/com/youlai/boot/system/model/vo/NoticeStatusVO.java
#	src/main/java/com/youlai/boot/system/model/vo/NoticeVO.java
#	src/main/java/com/youlai/boot/system/service/NoticeService.java
#	src/main/java/com/youlai/boot/system/service/NoticeStatusService.java
#	src/main/java/com/youlai/boot/system/service/impl/NoticeServiceImpl.java
#	src/main/java/com/youlai/boot/system/service/impl/NoticeStatusServiceImpl.java
This commit is contained in:
Theo
2024-08-31 20:10:54 +08:00
252 changed files with 1338 additions and 1267 deletions

View File

@@ -0,0 +1,81 @@
package com.youlai.system.controller;
import com.youlai.system.service.NoticeService;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.youlai.system.model.form.NoticeForm;
import com.youlai.system.model.query.NoticeQuery;
import com.youlai.system.model.vo.NoticeVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.youlai.system.common.result.PageResult;
import com.youlai.system.common.result.Result;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Operation;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import jakarta.validation.Valid;
/**
* 通知公告前端控制层
*
* @author youlaitech
* @since 2024-08-27 10:31
*/
@Tag(name = "通知公告接口")
@RestController
@RequestMapping("/api/v1/notices")
@RequiredArgsConstructor
public class NoticeController {
private final NoticeService noticeService;
@Operation(summary = "通知公告分页列表")
@GetMapping("/page")
@PreAuthorize("@ss.hasPerm('system:notice:query')")
public PageResult<NoticeVO> getNoticePage(NoticeQuery queryParams ) {
IPage<NoticeVO> result = noticeService.getNoticePage(queryParams);
return PageResult.success(result);
}
@Operation(summary = "新增通知公告")
@PostMapping
@PreAuthorize("@ss.hasPerm('system:notice:add')")
public Result saveNotice(@RequestBody @Valid NoticeForm formData ) {
boolean result = noticeService.saveNotice(formData);
return Result.judge(result);
}
@Operation(summary = "获取通知公告表单数据")
@GetMapping("/{id}/form")
@PreAuthorize("@ss.hasPerm('system:notice:edit')")
public Result<NoticeForm> getNoticeForm(
@Parameter(description = "通知公告ID") @PathVariable Long id
) {
NoticeForm formData = noticeService.getNoticeFormData(id);
return Result.success(formData);
}
@Operation(summary = "修改通知公告")
@PutMapping(value = "/{id}")
@PreAuthorize("@ss.hasPerm('system:notice:edit')")
public Result updateNotice(
@Parameter(description = "通知公告ID") @PathVariable Long id,
@RequestBody @Validated NoticeForm formData
) {
boolean result = noticeService.updateNotice(id, formData);
return Result.judge(result);
}
@Operation(summary = "删除通知公告")
@DeleteMapping("/{ids}")
@PreAuthorize("@ss.hasPerm('system:notice:delete')")
public Result deleteNotices(
@Parameter(description = "通知公告ID多个以英文逗号(,)分割") @PathVariable String ids
) {
boolean result = noticeService.deleteNotices(ids);
return Result.judge(result);
}
}