From a8a6ecc475fcbab6b1e2b30031a668af247922bd Mon Sep 17 00:00:00 2001 From: opensnail <598092184@qq.com> Date: Thu, 18 Apr 2024 16:44:55 +0800 Subject: [PATCH] =?UTF-8?q?feat(sj=5F1.0.0):=20=E6=96=B0=E5=A2=9E=E9=80=9A?= =?UTF-8?q?=E7=9F=A5=E4=BA=BA=E6=8E=A5=E5=8F=A3=E5=92=8C=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E9=80=9A=E7=9F=A5=E4=BA=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/sql/snail_job_mysql.sql | 1 - .../persistence/po/NotifyRecipient.java | 5 --- .../template/mapper/NotifyRecipientMapper.xml | 1 - .../server/web/annotation/Update.java | 10 ++++++ .../request/NotifyRecipientRequestVO.java | 32 +++++++++++++++++++ ...ter.java => NotifyRecipientConverter.java} | 6 ++-- .../impl/NotifyRecipientServiceImpl.java | 9 +++--- 7 files changed, 51 insertions(+), 13 deletions(-) create mode 100644 snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/annotation/Update.java rename snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/convert/{NotifyRecipientResponseVOConverter.java => NotifyRecipientConverter.java} (63%) diff --git a/doc/sql/snail_job_mysql.sql b/doc/sql/snail_job_mysql.sql index 4d67c71b3..a38126f95 100644 --- a/doc/sql/snail_job_mysql.sql +++ b/doc/sql/snail_job_mysql.sql @@ -72,7 +72,6 @@ CREATE TABLE `sj_notify_recipient` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', - `group_name` varchar(64) NOT NULL COMMENT '组名称', `recipient_name` varchar(64) NOT NULL COMMENT '接收人名称', `notify_type` tinyint(4) NOT NULL DEFAULT 0 COMMENT '通知类型 1、钉钉 2、邮件 3、企业微信 4 飞书', `notify_attribute` varchar(512) NOT NULL COMMENT '配置属性', diff --git a/snail-job-datasource/snail-job-datasource-template/src/main/java/com/aizuda/snailjob/template/datasource/persistence/po/NotifyRecipient.java b/snail-job-datasource/snail-job-datasource-template/src/main/java/com/aizuda/snailjob/template/datasource/persistence/po/NotifyRecipient.java index 7d0416350..2470786ed 100644 --- a/snail-job-datasource/snail-job-datasource-template/src/main/java/com/aizuda/snailjob/template/datasource/persistence/po/NotifyRecipient.java +++ b/snail-job-datasource/snail-job-datasource-template/src/main/java/com/aizuda/snailjob/template/datasource/persistence/po/NotifyRecipient.java @@ -37,11 +37,6 @@ public class NotifyRecipient implements Serializable { */ private String namespaceId; - /** - * 组名称 - */ - private String groupName; - /** * 接收人名称 */ diff --git a/snail-job-datasource/snail-job-datasource-template/src/main/resources/template/mapper/NotifyRecipientMapper.xml b/snail-job-datasource/snail-job-datasource-template/src/main/resources/template/mapper/NotifyRecipientMapper.xml index 585ff9d2b..f6c611a11 100644 --- a/snail-job-datasource/snail-job-datasource-template/src/main/resources/template/mapper/NotifyRecipientMapper.xml +++ b/snail-job-datasource/snail-job-datasource-template/src/main/resources/template/mapper/NotifyRecipientMapper.xml @@ -6,7 +6,6 @@ - diff --git a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/annotation/Update.java b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/annotation/Update.java new file mode 100644 index 000000000..2f7386266 --- /dev/null +++ b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/annotation/Update.java @@ -0,0 +1,10 @@ +package com.aizuda.snailjob.server.web.annotation; + +/** + * @author: opensnail + * @date : 2024-04-18 + * @since : sj_1.0.0 + */ +public @interface Update { + +} diff --git a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/model/request/NotifyRecipientRequestVO.java b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/model/request/NotifyRecipientRequestVO.java index fe62b7f6b..943a250e8 100644 --- a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/model/request/NotifyRecipientRequestVO.java +++ b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/model/request/NotifyRecipientRequestVO.java @@ -1,9 +1,41 @@ package com.aizuda.snailjob.server.web.model.request; +import com.aizuda.snailjob.server.web.annotation.Update; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + /** * @author opensnail * @date 2024-04-17 22:03:33 * @since sj_1.0.0 */ +@Data public class NotifyRecipientRequestVO { + + @NotNull(message = "id不能为空", groups = Update.class) + private Long id; + + /** + * 接收人名称 + */ + @NotBlank(message = "接收人名称不能为空") + private String recipientName; + + /** + * 通知类型 1、钉钉 2、邮件 3、企业微信 4 飞书 + */ + @NotNull(message = "通知类型不能为空") + private Integer notifyType; + + /** + * 配置属性 + */ + @NotBlank(message = "配置属性不能为空") + private String notifyAttribute; + + /** + * 描述 + */ + private String description; } diff --git a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/convert/NotifyRecipientResponseVOConverter.java b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/convert/NotifyRecipientConverter.java similarity index 63% rename from snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/convert/NotifyRecipientResponseVOConverter.java rename to snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/convert/NotifyRecipientConverter.java index c867517d7..9278e4d51 100644 --- a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/convert/NotifyRecipientResponseVOConverter.java +++ b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/convert/NotifyRecipientConverter.java @@ -1,5 +1,6 @@ package com.aizuda.snailjob.server.web.service.convert; +import com.aizuda.snailjob.server.web.model.request.NotifyRecipientRequestVO; import com.aizuda.snailjob.server.web.model.response.NotifyRecipientResponseVO; import com.aizuda.snailjob.template.datasource.persistence.po.NotifyRecipient; import org.mapstruct.Mapper; @@ -13,10 +14,11 @@ import java.util.List; * @since sj_1.0.0 */ @Mapper -public interface NotifyRecipientResponseVOConverter { +public interface NotifyRecipientConverter { - NotifyRecipientResponseVOConverter INSTANCE = Mappers.getMapper(NotifyRecipientResponseVOConverter.class); + NotifyRecipientConverter INSTANCE = Mappers.getMapper(NotifyRecipientConverter.class); List toNotifyRecipientResponseVOs(List notifyRecipients); + NotifyRecipient toNotifyRecipient(NotifyRecipientRequestVO requestVO); } diff --git a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/NotifyRecipientServiceImpl.java b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/NotifyRecipientServiceImpl.java index aa15f2fce..129ea84a9 100644 --- a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/NotifyRecipientServiceImpl.java +++ b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/NotifyRecipientServiceImpl.java @@ -1,11 +1,12 @@ package com.aizuda.snailjob.server.web.service.impl; +import cn.hutool.core.lang.Assert; import com.aizuda.snailjob.server.web.model.base.PageResult; import com.aizuda.snailjob.server.web.model.request.NotifyRecipientQueryVO; import com.aizuda.snailjob.server.web.model.request.NotifyRecipientRequestVO; import com.aizuda.snailjob.server.web.model.response.NotifyRecipientResponseVO; import com.aizuda.snailjob.server.web.service.NotifyRecipientService; -import com.aizuda.snailjob.server.web.service.convert.NotifyRecipientResponseVOConverter; +import com.aizuda.snailjob.server.web.service.convert.NotifyRecipientConverter; import com.aizuda.snailjob.template.datasource.persistence.mapper.NotifyRecipientMapper; import com.aizuda.snailjob.template.datasource.persistence.po.NotifyRecipient; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -31,16 +32,16 @@ public class NotifyRecipientServiceImpl implements NotifyRecipientService { PageDTO notifyRecipientPageDTO = notifyRecipientMapper.selectPage(pageDTO, new LambdaQueryWrapper<>()); - return new PageResult<>(pageDTO, NotifyRecipientResponseVOConverter.INSTANCE.toNotifyRecipientResponseVOs(notifyRecipientPageDTO.getRecords())); + return new PageResult<>(pageDTO, NotifyRecipientConverter.INSTANCE.toNotifyRecipientResponseVOs(notifyRecipientPageDTO.getRecords())); } @Override public Boolean saveNotifyRecipient(NotifyRecipientRequestVO requestVO) { - return null; + return 1 == notifyRecipientMapper.insert(NotifyRecipientConverter.INSTANCE.toNotifyRecipient(requestVO)); } @Override public Boolean updateNotifyRecipient(NotifyRecipientRequestVO requestVO) { - return null; + return 1 == notifyRecipientMapper.updateById(NotifyRecipientConverter.INSTANCE.toNotifyRecipient(requestVO)); } }