From f02b9d5c5e50879b936e37b51217c73d462b3658 Mon Sep 17 00:00:00 2001 From: liuzhaotian Date: Tue, 15 Oct 2024 16:05:28 +0800 Subject: [PATCH 1/2] =?UTF-8?q?manage=E6=9C=8D=E5=8A=A1pom=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E7=BC=BA=E5=B0=91=E9=85=8D=E7=BD=AE=E5=A2=9E=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cf-module-prod-manage/cf-module-prod-manage-biz/pom.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/pom.xml b/cf-module-prod-manage/cf-module-prod-manage-biz/pom.xml index 0b24044ba..dc0612047 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/pom.xml +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/pom.xml @@ -204,6 +204,10 @@ com.cf.imes cf-module-infra-api + + com.cf.imes + cf-module-prod-executor-api + com.cf.imes cf-module-prod-manage-api From 9f16433e090cbac7d9588fa1ea179b8ba032618d Mon Sep 17 00:00:00 2001 From: gaoqr <13665037151@163.com> Date: Tue, 15 Oct 2024 16:05:32 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E7=AB=99=E5=86=85=E4=BF=A1=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E3=80=81=E6=97=A5=E5=BF=97=E7=AE=A1=E7=90=86=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E5=85=A5=E5=8F=82=E6=A3=80=E6=9F=A5=E5=AE=8C=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../vo/operatelog/OperateLogPageReqVO.java | 5 +++ .../vo/message/NotifyMessagePageReqVO.java | 4 +++ .../vo/template/NotifyTemplatePageReqVO.java | 5 +++ .../vo/template/NotifyTemplateSaveReqVO.java | 8 +++-- .../vo/template/NotifyTemplateSendReqVO.java | 3 ++ .../notify/NofityTemplateTypeValidator.java | 28 +++++++++++++++++ .../notify/NotifyTemplateTypeValid.java | 30 ++++++++++++++++++ .../operatelog/OperateLogTypeValid.java | 31 +++++++++++++++++++ .../operatelog/OperateLogTypeValidator.java | 28 +++++++++++++++++ 9 files changed, 139 insertions(+), 3 deletions(-) create mode 100644 cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/validation/notify/NofityTemplateTypeValidator.java create mode 100644 cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/validation/notify/NotifyTemplateTypeValid.java create mode 100644 cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/validation/operatelog/OperateLogTypeValid.java create mode 100644 cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/validation/operatelog/OperateLogTypeValidator.java diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/logger/vo/operatelog/OperateLogPageReqVO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/logger/vo/operatelog/OperateLogPageReqVO.java index 38d4f7711..fd6f8ee13 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/logger/vo/operatelog/OperateLogPageReqVO.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/logger/vo/operatelog/OperateLogPageReqVO.java @@ -1,10 +1,12 @@ package com.cf.imes.module.system.controller.admin.logger.vo.operatelog; import com.cf.imes.framework.common.pojo.PageParam; +import com.cf.imes.module.system.validation.operatelog.OperateLogTypeValid; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; +import javax.validation.constraints.Size; import java.time.LocalDateTime; import static com.cf.imes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; @@ -14,12 +16,15 @@ import static com.cf.imes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH public class OperateLogPageReqVO extends PageParam { @Schema(description = "操作模块,模拟匹配", example = "订单") + @Size(max = 50, message = "操作模块长度不能超过50个字符") private String module; @Schema(description = "用户昵称,模拟匹配", example = "晨丰") + @Size(max = 30, message = "用户昵称长度不能超过30个字符") private String userNickname; @Schema(description = "操作分类,参见 OperateLogTypeEnum 枚举类", example = "1") + @OperateLogTypeValid private Integer type; @Schema(description = "操作状态", example = "true") diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/notify/vo/message/NotifyMessagePageReqVO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/notify/vo/message/NotifyMessagePageReqVO.java index 758b20ac7..8f4216f23 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/notify/vo/message/NotifyMessagePageReqVO.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/notify/vo/message/NotifyMessagePageReqVO.java @@ -1,12 +1,14 @@ package com.cf.imes.module.system.controller.admin.notify.vo.message; import com.cf.imes.framework.common.pojo.PageParam; +import com.cf.imes.module.system.validation.notify.NotifyTemplateTypeValid; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.ToString; import org.springframework.format.annotation.DateTimeFormat; +import javax.validation.constraints.Size; import java.time.LocalDateTime; import static com.cf.imes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; @@ -21,9 +23,11 @@ public class NotifyMessagePageReqVO extends PageParam { private Long userId; @Schema(description = "模板编码", example = "test_01") + @Size(max = 64, message = "模版编码长度不能超过64个字符") private String templateCode; @Schema(description = "模版类型", example = "2") + @NotifyTemplateTypeValid private Integer templateType; @Schema(description = "创建时间") diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/notify/vo/template/NotifyTemplatePageReqVO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/notify/vo/template/NotifyTemplatePageReqVO.java index a283ca239..6dcfd443a 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/notify/vo/template/NotifyTemplatePageReqVO.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/notify/vo/template/NotifyTemplatePageReqVO.java @@ -1,12 +1,14 @@ package com.cf.imes.module.system.controller.admin.notify.vo.template; import com.cf.imes.framework.common.pojo.PageParam; +import com.cf.imes.module.system.validation.common.CommonStatus; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.ToString; import org.springframework.format.annotation.DateTimeFormat; +import javax.validation.constraints.Size; import java.time.LocalDateTime; import static com.cf.imes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; @@ -18,12 +20,15 @@ import static com.cf.imes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH public class NotifyTemplatePageReqVO extends PageParam { @Schema(description = "模版编码", example = "test_01") + @Size(max = 64, message = "模版编码长度不能超过64个字符") private String code; @Schema(description = "模版名称", example = "我是名称") + @Size(max = 64, message = "模版名称长度不能超过64个字符") private String name; @Schema(description = "状态,参见 CommonStatusEnum 枚举类", example = "1") + @CommonStatus private Integer status; @Schema(description = "创建时间") diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/notify/vo/template/NotifyTemplateSaveReqVO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/notify/vo/template/NotifyTemplateSaveReqVO.java index eb17319a4..edd801a0c 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/notify/vo/template/NotifyTemplateSaveReqVO.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/notify/vo/template/NotifyTemplateSaveReqVO.java @@ -1,7 +1,7 @@ package com.cf.imes.module.system.controller.admin.notify.vo.template; -import com.cf.imes.framework.common.enums.CommonStatusEnum; -import com.cf.imes.framework.common.validation.InEnum; +import com.cf.imes.module.system.validation.common.CommonStatus; +import com.cf.imes.module.system.validation.notify.NotifyTemplateTypeValid; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import org.hibernate.validator.constraints.Length; @@ -28,6 +28,7 @@ public class NotifyTemplateSaveReqVO { @Schema(description = "模版类型,对应 system_notify_template_type 字典", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") @NotNull(message = "模版类型不能为空") + @NotifyTemplateTypeValid private Integer type; @Schema(description = "发送人名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "土豆") @@ -42,10 +43,11 @@ public class NotifyTemplateSaveReqVO { @Schema(description = "状态,参见 CommonStatusEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") @NotNull(message = "状态不能为空") - @InEnum(value = CommonStatusEnum.class, message = "状态必须是 {value}") + @CommonStatus private Integer status; @Schema(description = "备注", example = "我是备注") + @Length(max = 255, message = "备注长度不能超过255个字符") private String remark; } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/notify/vo/template/NotifyTemplateSendReqVO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/notify/vo/template/NotifyTemplateSendReqVO.java index cad18862e..1e93e565a 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/notify/vo/template/NotifyTemplateSendReqVO.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/notify/vo/template/NotifyTemplateSendReqVO.java @@ -4,6 +4,7 @@ import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.Size; import java.util.Map; @Schema(description = "管理后台 - 站内信模板的发送 Request VO") @@ -16,9 +17,11 @@ public class NotifyTemplateSendReqVO { @Schema(description = "模板编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "01") @NotEmpty(message = "模板编码不能为空") + @Size(max = 64, message = "模板编码长度不能超过64个字符") private String templateCode; @Schema(description = "模板参数") + @Size(max = 10, message = "模板参数数量不能超过10个") private Map templateParams; } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/validation/notify/NofityTemplateTypeValidator.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/validation/notify/NofityTemplateTypeValidator.java new file mode 100644 index 000000000..138071699 --- /dev/null +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/validation/notify/NofityTemplateTypeValidator.java @@ -0,0 +1,28 @@ +package com.cf.imes.module.system.validation.notify; + +import cn.hutool.core.util.ObjectUtil; +import com.cf.imes.module.system.enums.notify.NotifyTemplateTypeEnum; + +import javax.validation.ConstraintValidator; +import javax.validation.ConstraintValidatorContext; + +/** + * 通知模板类型校验器 + * + * @author Gqr + * @since 2024/10/15 13:47 + */ +public class NofityTemplateTypeValidator implements ConstraintValidator { + @Override + public boolean isValid(Integer value, ConstraintValidatorContext context) { + if (ObjectUtil.isNull(value)) { + return true; + } + for (NotifyTemplateTypeEnum typeEnum : NotifyTemplateTypeEnum.values()) { + if (ObjectUtil.equal(typeEnum.getType(), value)) { + return true; + } + } + return false; + } +} diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/validation/notify/NotifyTemplateTypeValid.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/validation/notify/NotifyTemplateTypeValid.java new file mode 100644 index 000000000..c0bda5205 --- /dev/null +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/validation/notify/NotifyTemplateTypeValid.java @@ -0,0 +1,30 @@ +package com.cf.imes.module.system.validation.notify; + +import javax.validation.Constraint; +import javax.validation.Payload; +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * 通知模板类型校验注解 + * @author Gqr + * @since 2024/10/15 14:57 + */ +@Target({ + ElementType.FIELD, +}) +@Retention(RetentionPolicy.RUNTIME) +@Documented +@Constraint( + validatedBy = {NofityTemplateTypeValidator.class} +) +public @interface NotifyTemplateTypeValid { + String message() default "通知模板类型不合法"; + + Class[] groups() default {}; + + Class[] payload() default {}; +} diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/validation/operatelog/OperateLogTypeValid.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/validation/operatelog/OperateLogTypeValid.java new file mode 100644 index 000000000..fac2bb906 --- /dev/null +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/validation/operatelog/OperateLogTypeValid.java @@ -0,0 +1,31 @@ +package com.cf.imes.module.system.validation.operatelog; + +import javax.validation.Constraint; +import javax.validation.Payload; +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * 操作日志类型校验注解 + * + * @author Gqr + * @since 2024/10/15 15:47 + */ +@Target({ + ElementType.FIELD, +}) +@Retention(RetentionPolicy.RUNTIME) +@Documented +@Constraint( + validatedBy = {OperateLogTypeValidator.class} +) +public @interface OperateLogTypeValid { + String message() default "操作日志类型不合法"; + + Class[] groups() default {}; + + Class[] payload() default {}; +} diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/validation/operatelog/OperateLogTypeValidator.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/validation/operatelog/OperateLogTypeValidator.java new file mode 100644 index 000000000..27571ea01 --- /dev/null +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/validation/operatelog/OperateLogTypeValidator.java @@ -0,0 +1,28 @@ +package com.cf.imes.module.system.validation.operatelog; + +import cn.hutool.core.util.ObjectUtil; +import com.cf.imes.framework.operatelog.core.enums.OperateTypeEnum; + +import javax.validation.ConstraintValidator; +import javax.validation.ConstraintValidatorContext; + +/** + * 操作日志类型校验器 + * + * @author Gqr + * @since 2024/10/15 15:49 + */ +public class OperateLogTypeValidator implements ConstraintValidator { + @Override + public boolean isValid(Integer value, ConstraintValidatorContext context) { + if (ObjectUtil.isNull(value)) { + return true; + } + for (OperateTypeEnum typeEnum : OperateTypeEnum.values()) { + if (ObjectUtil.equal(typeEnum.getType(), value)) { + return true; + } + } + return false; + } +}