feat: 通知公告临时提交
通知公告临时提交
This commit is contained in:
@@ -14,6 +14,7 @@ import com.youlai.boot.system.service.DictService;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import jakarta.validation.Valid;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
@@ -73,7 +74,7 @@ public class DictController {
|
||||
@PostMapping
|
||||
@PreAuthorize("@ss.hasPerm('sys:dict:add')")
|
||||
@RepeatSubmit
|
||||
public Result<?> saveDict(@RequestBody DictForm formData) {
|
||||
public Result<?> saveDict(@Valid @RequestBody DictForm formData) {
|
||||
boolean result = dictService.saveDict(formData);
|
||||
return Result.judge(result);
|
||||
}
|
||||
|
||||
@@ -120,4 +120,11 @@ public class NoticeController {
|
||||
noticeStatusService.readAll();
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@Operation(summary = "获取我的通知公告")
|
||||
@GetMapping("/my/page")
|
||||
public PageResult<NoticeVO> getMyNoticePage(NoticeQuery queryParams) {
|
||||
IPage<NoticeVO> result = noticeService.getMyNoticePage(queryParams);
|
||||
return PageResult.success(result);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,8 +1,12 @@
|
||||
package com.youlai.boot.system.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.youlai.boot.system.model.entity.NoticeStatus;
|
||||
import com.youlai.boot.system.model.query.NoticeQuery;
|
||||
import com.youlai.boot.system.model.vo.NoticeStatusVO;
|
||||
import com.youlai.boot.system.model.vo.NoticeVO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
@@ -23,4 +27,12 @@ public interface NoticeStatusMapper extends BaseMapper<NoticeStatus> {
|
||||
* @return 公告列表
|
||||
*/
|
||||
List<NoticeStatusVO> listUnreadNotices(@Param("userId")Long userId);
|
||||
|
||||
/**
|
||||
* 分页获取我的通知公告
|
||||
* @param page 分页对象
|
||||
* @param queryParams 查询参数
|
||||
* @return 通知公告分页列表
|
||||
*/
|
||||
IPage<NoticeVO> getMyNoticePage(Page<NoticeVO> page, @Param("queryParams") NoticeQuery queryParams);
|
||||
}
|
||||
|
||||
@@ -28,4 +28,7 @@ public class NoticeQuery extends BasePageQuery {
|
||||
|
||||
@Schema(description = "发布时间")
|
||||
private List<String> releaseTime;
|
||||
|
||||
@Schema(description = "查询人ID")
|
||||
private Long userId;
|
||||
}
|
||||
|
||||
@@ -1,8 +1,11 @@
|
||||
package com.youlai.boot.system.model.vo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 用户公告状态VO
|
||||
*
|
||||
@@ -13,12 +16,25 @@ import lombok.Data;
|
||||
@Schema(description = "用户公告状态VO")
|
||||
public class NoticeStatusVO {
|
||||
|
||||
@Schema(description = "公告ID")
|
||||
@Schema(description = "通知ID")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "公告标题")
|
||||
@Schema(description = "通知标题")
|
||||
private String title;
|
||||
|
||||
@Schema(description = "通知类型")
|
||||
private String noticeTypeLabel;
|
||||
|
||||
@Schema(description = "发布人")
|
||||
private String releaseBy;
|
||||
|
||||
@Schema(description = "优先级(0-低 1-中 2-高)")
|
||||
private Integer priority;
|
||||
|
||||
@Schema(description = "发布时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime releaseTime;
|
||||
|
||||
@Schema(description = "是否已读")
|
||||
private Integer readStatus;
|
||||
|
||||
|
||||
@@ -86,4 +86,11 @@ public interface NoticeService extends IService<Notice> {
|
||||
* @return 通知公告详情
|
||||
*/
|
||||
NoticeDetailVO getReadNoticeDetail(Long id);
|
||||
|
||||
/**
|
||||
* 获取我的通知公告分页列表
|
||||
* @param queryParams 查询参数
|
||||
* @return 通知公告分页列表
|
||||
*/
|
||||
IPage<NoticeVO> getMyNoticePage(NoticeQuery queryParams);
|
||||
}
|
||||
|
||||
@@ -1,8 +1,12 @@
|
||||
package com.youlai.boot.system.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.youlai.boot.system.model.entity.NoticeStatus;
|
||||
import com.youlai.boot.system.model.query.NoticeQuery;
|
||||
import com.youlai.boot.system.model.vo.NoticeStatusVO;
|
||||
import com.youlai.boot.system.model.vo.NoticeVO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -25,4 +29,12 @@ public interface NoticeStatusService extends IService<NoticeStatus> {
|
||||
* @return 是否成功
|
||||
*/
|
||||
boolean readAll();
|
||||
|
||||
/**
|
||||
* 分页获取我的通知公告
|
||||
* @param page 分页对象
|
||||
* @param queryParams 查询参数
|
||||
* @return 通知公告分页列表
|
||||
*/
|
||||
IPage<NoticeVO> getMyNoticePage(Page<NoticeVO> page, NoticeQuery queryParams);
|
||||
}
|
||||
|
||||
@@ -20,6 +20,7 @@ import com.youlai.boot.system.model.entity.NoticeStatus;
|
||||
import com.youlai.boot.system.model.entity.User;
|
||||
import com.youlai.boot.system.model.form.NoticeForm;
|
||||
import com.youlai.boot.system.model.query.NoticeQuery;
|
||||
import com.youlai.boot.system.model.vo.NoticeStatusVO;
|
||||
import com.youlai.boot.system.model.vo.NoticeVO;
|
||||
import com.youlai.boot.system.model.vo.NoticeDetailVO;
|
||||
import com.youlai.boot.system.service.NoticeService;
|
||||
@@ -262,5 +263,16 @@ public class NoticeServiceImpl extends ServiceImpl<NoticeMapper, Notice> impleme
|
||||
return noticeDetailVO;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取当前登录用户的通知公告列表
|
||||
* @param queryParams 查询参数
|
||||
* @return 通知公告分页列表
|
||||
*/
|
||||
@Override
|
||||
public IPage<NoticeVO> getMyNoticePage(NoticeQuery queryParams) {
|
||||
Long userId = SecurityUtils.getUserId();
|
||||
queryParams.setUserId(userId);
|
||||
return noticeStatusService.getMyNoticePage(new Page<>(queryParams.getPageNum(), queryParams.getPageSize()),queryParams);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,11 +1,15 @@
|
||||
package com.youlai.boot.system.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.youlai.boot.core.security.util.SecurityUtils;
|
||||
import com.youlai.boot.system.mapper.NoticeStatusMapper;
|
||||
import com.youlai.boot.system.model.entity.NoticeStatus;
|
||||
import com.youlai.boot.system.model.query.NoticeQuery;
|
||||
import com.youlai.boot.system.model.vo.NoticeStatusVO;
|
||||
import com.youlai.boot.system.model.vo.NoticeVO;
|
||||
import com.youlai.boot.system.service.NoticeStatusService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -48,5 +52,16 @@ public class NoticeStatusServiceImpl extends ServiceImpl<NoticeStatusMapper, Not
|
||||
return this.update(updateWrapper);
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页获取我的通知公告
|
||||
* @param page 分页对象
|
||||
* @param queryParams 查询参数
|
||||
* @return 通知公告分页列表
|
||||
*/
|
||||
@Override
|
||||
public IPage<NoticeVO> getMyNoticePage(Page<NoticeVO> page, NoticeQuery queryParams) {
|
||||
return this.getBaseMapper().getMyNoticePage(new Page<>(queryParams.getPageNum(), queryParams.getPageSize()),queryParams);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -12,8 +12,6 @@ import com.youlai.boot.common.constant.RedisConstants;
|
||||
import com.youlai.boot.common.constant.SystemConstants;
|
||||
import com.youlai.boot.common.enums.ContactType;
|
||||
import com.youlai.boot.common.model.Option;
|
||||
import com.youlai.boot.platform.mail.service.MailService;
|
||||
import com.youlai.boot.platform.sms.service.SmsService;
|
||||
import com.youlai.boot.module.mail.service.MailService;
|
||||
import com.youlai.boot.module.sms.service.SmsService;
|
||||
import com.youlai.boot.system.model.entity.User;
|
||||
|
||||
Reference in New Issue
Block a user