mirror of https://gitee.com/stylefeng/roses
【7.0.4】【notice】整理发布消息
parent
e70824202d
commit
1a8affbb9e
|
@ -67,7 +67,6 @@ public class SysNoticeRequest extends BaseRequest {
|
||||||
/**
|
/**
|
||||||
* 通知优先级
|
* 通知优先级
|
||||||
*/
|
*/
|
||||||
@NotBlank(message = "通知优先级不能为空", groups = {add.class, edit.class})
|
|
||||||
@ChineseDescription("通知优先级")
|
@ChineseDescription("通知优先级")
|
||||||
private String priorityLevel;
|
private String priorityLevel;
|
||||||
|
|
||||||
|
@ -75,8 +74,7 @@ public class SysNoticeRequest extends BaseRequest {
|
||||||
/**
|
/**
|
||||||
* 通知开始时间
|
* 通知开始时间
|
||||||
*/
|
*/
|
||||||
@NotNull(message = "通知开始时间不能为空", groups = {add.class, edit.class})
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
|
||||||
@ChineseDescription("通知开始时间")
|
@ChineseDescription("通知开始时间")
|
||||||
private Date noticeBeginTime;
|
private Date noticeBeginTime;
|
||||||
|
|
||||||
|
@ -84,8 +82,7 @@ public class SysNoticeRequest extends BaseRequest {
|
||||||
/**
|
/**
|
||||||
* 通知结束时间
|
* 通知结束时间
|
||||||
*/
|
*/
|
||||||
@NotNull(message = "通知开始时间不能为空", groups = {add.class, edit.class})
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
|
||||||
@ChineseDescription("通知结束时间")
|
@ChineseDescription("通知结束时间")
|
||||||
private Date noticeEndTime;
|
private Date noticeEndTime;
|
||||||
|
|
||||||
|
@ -93,6 +90,7 @@ public class SysNoticeRequest extends BaseRequest {
|
||||||
* 通知内容
|
* 通知内容
|
||||||
*/
|
*/
|
||||||
@ChineseDescription("通知内容")
|
@ChineseDescription("通知内容")
|
||||||
|
@NotBlank(message = "通知内容不能为空", groups = {add.class, edit.class})
|
||||||
private String noticeContent;
|
private String noticeContent;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -32,6 +32,14 @@
|
||||||
<version>${roses.version}</version>
|
<version>${roses.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
<!--包装器模块-->
|
||||||
|
<!--包装结果-->
|
||||||
|
<dependency>
|
||||||
|
<groupId>cn.stylefeng.roses</groupId>
|
||||||
|
<artifactId>wrapper-api</artifactId>
|
||||||
|
<version>${roses.version}</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
<!--参数校验模块-->
|
<!--参数校验模块-->
|
||||||
<!--用在控制器,参数校验-->
|
<!--用在控制器,参数校验-->
|
||||||
<dependency>
|
<dependency>
|
||||||
|
|
|
@ -32,6 +32,8 @@ import cn.stylefeng.roses.kernel.scanner.api.annotation.PostResource;
|
||||||
import cn.stylefeng.roses.kernel.system.api.pojo.notice.SysNoticeRequest;
|
import cn.stylefeng.roses.kernel.system.api.pojo.notice.SysNoticeRequest;
|
||||||
import cn.stylefeng.roses.kernel.system.modular.notice.entity.SysNotice;
|
import cn.stylefeng.roses.kernel.system.modular.notice.entity.SysNotice;
|
||||||
import cn.stylefeng.roses.kernel.system.modular.notice.service.SysNoticeService;
|
import cn.stylefeng.roses.kernel.system.modular.notice.service.SysNoticeService;
|
||||||
|
import cn.stylefeng.roses.kernel.system.modular.notice.wrapper.NoticeWrapper;
|
||||||
|
import cn.stylefeng.roses.kernel.wrapper.api.annotation.Wrapper;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
@ -105,6 +107,7 @@ public class SysNoticeController {
|
||||||
* @date 2021/1/9 21:23
|
* @date 2021/1/9 21:23
|
||||||
*/
|
*/
|
||||||
@GetResource(name = "查询通知管理", path = "/sysNotice/page", responseClass = SysNotice.class)
|
@GetResource(name = "查询通知管理", path = "/sysNotice/page", responseClass = SysNotice.class)
|
||||||
|
@Wrapper(NoticeWrapper.class)
|
||||||
public ResponseData page(SysNoticeRequest sysNoticeParam) {
|
public ResponseData page(SysNoticeRequest sysNoticeParam) {
|
||||||
return new SuccessResponseData(sysNoticeService.findPage(sysNoticeParam));
|
return new SuccessResponseData(sysNoticeService.findPage(sysNoticeParam));
|
||||||
}
|
}
|
||||||
|
@ -115,7 +118,7 @@ public class SysNoticeController {
|
||||||
* @author liuhanqing
|
* @author liuhanqing
|
||||||
* @date 2021/1/9 14:55
|
* @date 2021/1/9 14:55
|
||||||
*/
|
*/
|
||||||
@GetResource(name = "通知管理列表", path = "/sysNotice/list",responseClass = SysNotice.class)
|
@GetResource(name = "通知管理列表", path = "/sysNotice/list", responseClass = SysNotice.class)
|
||||||
public ResponseData list(SysNoticeRequest sysNoticeParam) {
|
public ResponseData list(SysNoticeRequest sysNoticeParam) {
|
||||||
return new SuccessResponseData(sysNoticeService.findList(sysNoticeParam));
|
return new SuccessResponseData(sysNoticeService.findList(sysNoticeParam));
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,6 +29,7 @@ import cn.hutool.core.util.ObjectUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import cn.stylefeng.roses.kernel.db.api.factory.PageFactory;
|
import cn.stylefeng.roses.kernel.db.api.factory.PageFactory;
|
||||||
import cn.stylefeng.roses.kernel.db.api.factory.PageResultFactory;
|
import cn.stylefeng.roses.kernel.db.api.factory.PageResultFactory;
|
||||||
|
import cn.stylefeng.roses.kernel.db.api.pojo.entity.BaseEntity;
|
||||||
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
|
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
|
||||||
import cn.stylefeng.roses.kernel.message.api.MessageApi;
|
import cn.stylefeng.roses.kernel.message.api.MessageApi;
|
||||||
import cn.stylefeng.roses.kernel.message.api.enums.MessageBusinessTypeEnum;
|
import cn.stylefeng.roses.kernel.message.api.enums.MessageBusinessTypeEnum;
|
||||||
|
@ -66,7 +67,11 @@ public class SysNoticeServiceImpl extends ServiceImpl<SysNoticeMapper, SysNotice
|
||||||
@Override
|
@Override
|
||||||
public void add(SysNoticeRequest sysNoticeRequest) {
|
public void add(SysNoticeRequest sysNoticeRequest) {
|
||||||
SysNotice sysNotice = new SysNotice();
|
SysNotice sysNotice = new SysNotice();
|
||||||
|
|
||||||
|
// 拷贝属性
|
||||||
BeanUtil.copyProperties(sysNoticeRequest, sysNotice);
|
BeanUtil.copyProperties(sysNoticeRequest, sysNotice);
|
||||||
|
|
||||||
|
// 没传递通知范围,则默认发给所有人
|
||||||
if (StrUtil.isBlank(sysNotice.getNoticeScope())) {
|
if (StrUtil.isBlank(sysNotice.getNoticeScope())) {
|
||||||
sysNotice.setNoticeScope(NOTICE_SCOPE_ALL);
|
sysNotice.setNoticeScope(NOTICE_SCOPE_ALL);
|
||||||
}
|
}
|
||||||
|
@ -151,6 +156,9 @@ public class SysNoticeServiceImpl extends ServiceImpl<SysNoticeMapper, SysNotice
|
||||||
private LambdaQueryWrapper<SysNotice> createWrapper(SysNoticeRequest sysNoticeRequest) {
|
private LambdaQueryWrapper<SysNotice> createWrapper(SysNoticeRequest sysNoticeRequest) {
|
||||||
LambdaQueryWrapper<SysNotice> queryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<SysNotice> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
|
||||||
|
// 按时间倒序排列
|
||||||
|
queryWrapper.orderByDesc(BaseEntity::getCreateTime);
|
||||||
|
|
||||||
// 查询未删除状态的
|
// 查询未删除状态的
|
||||||
queryWrapper.eq(SysNotice::getDelFlag, YesOrNotEnum.N.getCode());
|
queryWrapper.eq(SysNotice::getDelFlag, YesOrNotEnum.N.getCode());
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,60 @@
|
||||||
|
/*
|
||||||
|
* Copyright [2020-2030] [https://www.stylefeng.cn]
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*
|
||||||
|
* Guns采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
|
||||||
|
*
|
||||||
|
* 1.请不要删除和修改根目录下的LICENSE文件。
|
||||||
|
* 2.请不要删除和修改Guns源码头部的版权声明。
|
||||||
|
* 3.请保留源码和相关描述文件的项目出处,作者声明等。
|
||||||
|
* 4.分发源码时候,请注明软件出处 https://gitee.com/stylefeng/guns
|
||||||
|
* 5.在修改包名,模块名称,项目代码等时,请注明软件出处 https://gitee.com/stylefeng/guns
|
||||||
|
* 6.若您的项目无法满足以上几点,可申请商业授权
|
||||||
|
*/
|
||||||
|
package cn.stylefeng.roses.kernel.system.modular.notice.wrapper;
|
||||||
|
|
||||||
|
import cn.hutool.extra.spring.SpringUtil;
|
||||||
|
import cn.stylefeng.roses.kernel.system.api.UserServiceApi;
|
||||||
|
import cn.stylefeng.roses.kernel.system.api.pojo.user.SysUserDTO;
|
||||||
|
import cn.stylefeng.roses.kernel.system.modular.notice.entity.SysNotice;
|
||||||
|
import cn.stylefeng.roses.kernel.wrapper.api.BaseWrapper;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 系统通知的包装
|
||||||
|
*
|
||||||
|
* @author fengshuonan
|
||||||
|
* @date 2021/6/14 17:28
|
||||||
|
*/
|
||||||
|
public class NoticeWrapper implements BaseWrapper<SysNotice> {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Map<String, Object> doWrap(SysNotice beWrappedModel) {
|
||||||
|
|
||||||
|
HashMap<String, Object> resultMap = new HashMap<>();
|
||||||
|
UserServiceApi userServiceApi = SpringUtil.getBean(UserServiceApi.class);
|
||||||
|
|
||||||
|
if (beWrappedModel.getCreateUser() != null) {
|
||||||
|
SysUserDTO sysUserDTO = userServiceApi.getUserInfoByUserId(beWrappedModel.getCreateUser());
|
||||||
|
if (sysUserDTO != null) {
|
||||||
|
resultMap.put("createUserName", sysUserDTO.getRealName());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return resultMap;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue