【7.0.4】【notice】整理发布消息

pull/22/head
fengshuonan 2021-06-14 22:10:58 +08:00
parent e70824202d
commit 1a8affbb9e
5 changed files with 83 additions and 6 deletions

View File

@ -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;
/** /**

View File

@ -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>

View File

@ -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));
} }

View File

@ -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());

View File

@ -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.
*
* GunsAPACHE 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;
}
}