diff --git a/kernel-s-sys/sys-business-portal/src/main/java/cn/stylefeng/roses/kernel/sys/modular/notice/controller/SysNoticeController.java b/kernel-s-sys/sys-business-portal/src/main/java/cn/stylefeng/roses/kernel/sys/modular/notice/controller/SysNoticeController.java index 560643ac8..8c32b1f73 100644 --- a/kernel-s-sys/sys-business-portal/src/main/java/cn/stylefeng/roses/kernel/sys/modular/notice/controller/SysNoticeController.java +++ b/kernel-s-sys/sys-business-portal/src/main/java/cn/stylefeng/roses/kernel/sys/modular/notice/controller/SysNoticeController.java @@ -32,8 +32,8 @@ import cn.stylefeng.roses.kernel.scanner.api.annotation.ApiResource; import cn.stylefeng.roses.kernel.scanner.api.annotation.GetResource; import cn.stylefeng.roses.kernel.scanner.api.annotation.PostResource; import cn.stylefeng.roses.kernel.sys.modular.notice.entity.SysNotice; +import cn.stylefeng.roses.kernel.sys.modular.notice.pojo.SysNoticeRequest; import cn.stylefeng.roses.kernel.sys.modular.notice.service.SysNoticeService; -import cn.stylefeng.roses.kernel.system.api.pojo.notice.SysNoticeRequest; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; diff --git a/kernel-s-sys/sys-business-portal/src/main/java/cn/stylefeng/roses/kernel/sys/modular/notice/exceptions/NoticeExceptionEnum.java b/kernel-s-sys/sys-business-portal/src/main/java/cn/stylefeng/roses/kernel/sys/modular/notice/exceptions/NoticeExceptionEnum.java new file mode 100644 index 000000000..5b687557f --- /dev/null +++ b/kernel-s-sys/sys-business-portal/src/main/java/cn/stylefeng/roses/kernel/sys/modular/notice/exceptions/NoticeExceptionEnum.java @@ -0,0 +1,66 @@ +/* + * 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.sys.modular.notice.exceptions; + +import cn.stylefeng.roses.kernel.rule.constants.RuleConstants; +import cn.stylefeng.roses.kernel.rule.exception.AbstractExceptionEnum; +import cn.stylefeng.roses.kernel.sys.api.constants.SysConstants; +import lombok.Getter; + +/** + * 通知管理相关异常枚举 + * + * @author liuhanqing + * @since 2021/1/9 16:11 + */ +@Getter +public enum NoticeExceptionEnum implements AbstractExceptionEnum { + + /** + * 通知不存在 + */ + NOTICE_NOT_EXIST(RuleConstants.USER_OPERATION_ERROR_TYPE_CODE + SysConstants.SYS_EXCEPTION_STEP_CODE + "41", "通知不存在,id为:{}"), + + /** + * 通知范围不允许修改 + */ + NOTICE_SCOPE_NOT_EDIT(RuleConstants.USER_OPERATION_ERROR_TYPE_CODE + SysConstants.SYS_EXCEPTION_STEP_CODE + "42", "通知范围不允许修改"); + + /** + * 错误编码 + */ + private final String errorCode; + + /** + * 提示用户信息 + */ + private final String userTip; + + NoticeExceptionEnum(String errorCode, String userTip) { + this.errorCode = errorCode; + this.userTip = userTip; + } + +} diff --git a/kernel-s-sys/sys-business-portal/src/main/java/cn/stylefeng/roses/kernel/sys/modular/notice/pojo/SysNoticeRequest.java b/kernel-s-sys/sys-business-portal/src/main/java/cn/stylefeng/roses/kernel/sys/modular/notice/pojo/SysNoticeRequest.java new file mode 100644 index 000000000..16f7da20e --- /dev/null +++ b/kernel-s-sys/sys-business-portal/src/main/java/cn/stylefeng/roses/kernel/sys/modular/notice/pojo/SysNoticeRequest.java @@ -0,0 +1,102 @@ +/* + * 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.sys.modular.notice.pojo; + +import cn.stylefeng.roses.kernel.rule.annotation.ChineseDescription; +import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.util.Date; + +/** + * 系统通知参数 + * + * @author liuhanqing + * @since 2021/1/8 21:53 + */ +@EqualsAndHashCode(callSuper = true) +@Data +public class SysNoticeRequest extends BaseRequest { + + /** + * 通知id + */ + @NotNull(message = "noticeId不能为空", groups = {edit.class, delete.class, detail.class}) + @ChineseDescription("通知id") + private Long noticeId; + + /** + * 通知标题 + */ + @NotBlank(message = "通知标题不能为空", groups = {add.class, edit.class}) + @ChineseDescription("通知标题") + private String noticeTitle; + + /** + * 通知摘要 + */ + @ChineseDescription("通知摘要") + private String noticeSummary; + + /** + * 通知优先级 + */ + @ChineseDescription("通知优先级") + private String priorityLevel; + + + /** + * 通知开始时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ChineseDescription("通知开始时间") + private Date noticeBeginTime; + + + /** + * 通知结束时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ChineseDescription("通知结束时间") + private Date noticeEndTime; + + /** + * 通知内容 + */ + @ChineseDescription("通知内容") + @NotBlank(message = "通知内容不能为空", groups = {add.class, edit.class}) + private String noticeContent; + + /** + * 通知范围 + */ + @ChineseDescription("通知范围") + private String noticeScope; + +} diff --git a/kernel-s-sys/sys-business-portal/src/main/java/cn/stylefeng/roses/kernel/sys/modular/notice/service/SysNoticeService.java b/kernel-s-sys/sys-business-portal/src/main/java/cn/stylefeng/roses/kernel/sys/modular/notice/service/SysNoticeService.java index 84fed36d5..c6a7e7d60 100644 --- a/kernel-s-sys/sys-business-portal/src/main/java/cn/stylefeng/roses/kernel/sys/modular/notice/service/SysNoticeService.java +++ b/kernel-s-sys/sys-business-portal/src/main/java/cn/stylefeng/roses/kernel/sys/modular/notice/service/SysNoticeService.java @@ -26,8 +26,7 @@ package cn.stylefeng.roses.kernel.sys.modular.notice.service; import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult; import cn.stylefeng.roses.kernel.sys.modular.notice.entity.SysNotice; -import cn.stylefeng.roses.kernel.system.api.NoticeServiceApi; -import cn.stylefeng.roses.kernel.system.api.pojo.notice.SysNoticeRequest; +import cn.stylefeng.roses.kernel.sys.modular.notice.pojo.SysNoticeRequest; import com.baomidou.mybatisplus.extension.service.IService; import java.util.List; @@ -38,7 +37,7 @@ import java.util.List; * @author liuhanqing * @since 2021/1/8 19:56 */ -public interface SysNoticeService extends IService, NoticeServiceApi { +public interface SysNoticeService extends IService { /** * 添加系统应用 diff --git a/kernel-s-sys/sys-business-portal/src/main/java/cn/stylefeng/roses/kernel/sys/modular/notice/service/impl/SysNoticeServiceImpl.java b/kernel-s-sys/sys-business-portal/src/main/java/cn/stylefeng/roses/kernel/sys/modular/notice/service/impl/SysNoticeServiceImpl.java index aa64231b7..d810290e4 100644 --- a/kernel-s-sys/sys-business-portal/src/main/java/cn/stylefeng/roses/kernel/sys/modular/notice/service/impl/SysNoticeServiceImpl.java +++ b/kernel-s-sys/sys-business-portal/src/main/java/cn/stylefeng/roses/kernel/sys/modular/notice/service/impl/SysNoticeServiceImpl.java @@ -35,12 +35,12 @@ import cn.stylefeng.roses.kernel.message.api.MessageApi; import cn.stylefeng.roses.kernel.message.api.enums.MessageBusinessTypeEnum; import cn.stylefeng.roses.kernel.message.api.pojo.request.MessageSendRequest; import cn.stylefeng.roses.kernel.rule.enums.YesOrNotEnum; +import cn.stylefeng.roses.kernel.sys.api.exception.SysException; import cn.stylefeng.roses.kernel.sys.modular.notice.entity.SysNotice; +import cn.stylefeng.roses.kernel.sys.modular.notice.exceptions.NoticeExceptionEnum; import cn.stylefeng.roses.kernel.sys.modular.notice.mapper.SysNoticeMapper; +import cn.stylefeng.roses.kernel.sys.modular.notice.pojo.SysNoticeRequest; import cn.stylefeng.roses.kernel.sys.modular.notice.service.SysNoticeService; -import cn.stylefeng.roses.kernel.system.api.exception.SystemModularException; -import cn.stylefeng.roses.kernel.system.api.exception.enums.notice.NoticeExceptionEnum; -import cn.stylefeng.roses.kernel.system.api.pojo.notice.SysNoticeRequest; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -96,7 +96,7 @@ public class SysNoticeServiceImpl extends ServiceImpl