From 1a8affbb9ed85c107ce14fdffb1afaa943c25648 Mon Sep 17 00:00:00 2001 From: fengshuonan Date: Mon, 14 Jun 2021 22:10:58 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=907.0.4=E3=80=91=E3=80=90notice=E3=80=91?= =?UTF-8?q?=E6=95=B4=E7=90=86=E5=8F=91=E5=B8=83=E6=B6=88=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/pojo/notice/SysNoticeRequest.java | 8 +-- .../system-business-notice/pom.xml | 8 +++ .../controller/SysNoticeController.java | 5 +- .../service/impl/SysNoticeServiceImpl.java | 8 +++ .../modular/notice/wrapper/NoticeWrapper.java | 60 +++++++++++++++++++ 5 files changed, 83 insertions(+), 6 deletions(-) create mode 100644 kernel-s-system/system-business-notice/src/main/java/cn/stylefeng/roses/kernel/system/modular/notice/wrapper/NoticeWrapper.java diff --git a/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/api/pojo/notice/SysNoticeRequest.java b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/api/pojo/notice/SysNoticeRequest.java index e0b0c769f..5899ea5f9 100644 --- a/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/api/pojo/notice/SysNoticeRequest.java +++ b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/api/pojo/notice/SysNoticeRequest.java @@ -67,7 +67,6 @@ public class SysNoticeRequest extends BaseRequest { /** * 通知优先级 */ - @NotBlank(message = "通知优先级不能为空", groups = {add.class, edit.class}) @ChineseDescription("通知优先级") 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("通知开始时间") 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("通知结束时间") private Date noticeEndTime; @@ -93,6 +90,7 @@ public class SysNoticeRequest extends BaseRequest { * 通知内容 */ @ChineseDescription("通知内容") + @NotBlank(message = "通知内容不能为空", groups = {add.class, edit.class}) private String noticeContent; /** diff --git a/kernel-s-system/system-business-notice/pom.xml b/kernel-s-system/system-business-notice/pom.xml index f40dc3243..793fdfd44 100644 --- a/kernel-s-system/system-business-notice/pom.xml +++ b/kernel-s-system/system-business-notice/pom.xml @@ -32,6 +32,14 @@ ${roses.version} + + + + cn.stylefeng.roses + wrapper-api + ${roses.version} + + diff --git a/kernel-s-system/system-business-notice/src/main/java/cn/stylefeng/roses/kernel/system/modular/notice/controller/SysNoticeController.java b/kernel-s-system/system-business-notice/src/main/java/cn/stylefeng/roses/kernel/system/modular/notice/controller/SysNoticeController.java index 9fe793fe2..219da87bb 100644 --- a/kernel-s-system/system-business-notice/src/main/java/cn/stylefeng/roses/kernel/system/modular/notice/controller/SysNoticeController.java +++ b/kernel-s-system/system-business-notice/src/main/java/cn/stylefeng/roses/kernel/system/modular/notice/controller/SysNoticeController.java @@ -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.modular.notice.entity.SysNotice; 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.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; @@ -105,6 +107,7 @@ public class SysNoticeController { * @date 2021/1/9 21:23 */ @GetResource(name = "查询通知管理", path = "/sysNotice/page", responseClass = SysNotice.class) + @Wrapper(NoticeWrapper.class) public ResponseData page(SysNoticeRequest sysNoticeParam) { return new SuccessResponseData(sysNoticeService.findPage(sysNoticeParam)); } @@ -115,7 +118,7 @@ public class SysNoticeController { * @author liuhanqing * @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) { return new SuccessResponseData(sysNoticeService.findList(sysNoticeParam)); } diff --git a/kernel-s-system/system-business-notice/src/main/java/cn/stylefeng/roses/kernel/system/modular/notice/service/impl/SysNoticeServiceImpl.java b/kernel-s-system/system-business-notice/src/main/java/cn/stylefeng/roses/kernel/system/modular/notice/service/impl/SysNoticeServiceImpl.java index 92f2aa063..357df851a 100644 --- a/kernel-s-system/system-business-notice/src/main/java/cn/stylefeng/roses/kernel/system/modular/notice/service/impl/SysNoticeServiceImpl.java +++ b/kernel-s-system/system-business-notice/src/main/java/cn/stylefeng/roses/kernel/system/modular/notice/service/impl/SysNoticeServiceImpl.java @@ -29,6 +29,7 @@ import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; 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.pojo.entity.BaseEntity; 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.enums.MessageBusinessTypeEnum; @@ -66,7 +67,11 @@ public class SysNoticeServiceImpl extends ServiceImpl createWrapper(SysNoticeRequest sysNoticeRequest) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + // 按时间倒序排列 + queryWrapper.orderByDesc(BaseEntity::getCreateTime); + // 查询未删除状态的 queryWrapper.eq(SysNotice::getDelFlag, YesOrNotEnum.N.getCode()); diff --git a/kernel-s-system/system-business-notice/src/main/java/cn/stylefeng/roses/kernel/system/modular/notice/wrapper/NoticeWrapper.java b/kernel-s-system/system-business-notice/src/main/java/cn/stylefeng/roses/kernel/system/modular/notice/wrapper/NoticeWrapper.java new file mode 100644 index 000000000..13dab7391 --- /dev/null +++ b/kernel-s-system/system-business-notice/src/main/java/cn/stylefeng/roses/kernel/system/modular/notice/wrapper/NoticeWrapper.java @@ -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 { + + @Override + public Map doWrap(SysNotice beWrappedModel) { + + HashMap 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; + } + +}