diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/auth/vo/AuthLoginReqVO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/auth/vo/AuthLoginReqVO.java index 55574c421..5c17b3c3b 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/auth/vo/AuthLoginReqVO.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/auth/vo/AuthLoginReqVO.java @@ -1,6 +1,5 @@ package com.cf.imes.module.system.controller.admin.auth.vo; -import cn.hutool.core.util.ObjectUtil; import com.cf.imes.framework.common.validation.InEnum; import com.cf.imes.module.system.enums.social.SocialTypeEnum; import io.swagger.v3.oas.annotations.media.Schema; @@ -33,9 +32,6 @@ public class AuthLoginReqVO { @NotEmpty(message = "密码不能为空") private String password; - @Schema(description = "组织名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "晨丰科技") - private String organName; - // ========== 图片验证码相关 ========== @Schema(description = "验证码,验证码开启时,需要传递", requiredMode = Schema.RequiredMode.REQUIRED, diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/dept/vo/post/PostPageReqVO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/dept/vo/post/PostPageReqVO.java index aa6f20457..4afd65576 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/dept/vo/post/PostPageReqVO.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/dept/vo/post/PostPageReqVO.java @@ -1,22 +1,28 @@ package com.cf.imes.module.system.controller.admin.dept.vo.post; 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 javax.validation.constraints.Size; + @Schema(description = "管理后台 - 岗位分页 Request VO") @Data @EqualsAndHashCode(callSuper = true) public class PostPageReqVO extends PageParam { @Schema(description = "岗位编码,模糊匹配", example = "chenfeng") + @Size(max = 64, message = "岗位编码长度不能超过64个字符") private String code; @Schema(description = "岗位名称,模糊匹配", example = "晨丰") + @Size(max = 50, message = "岗位名称长度不能超过50个字符") private String name; @Schema(description = "展示状态,参见 CommonStatusEnum 枚举类", example = "1") + @CommonStatus private Integer status; private Long organId; diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/dept/vo/post/PostSaveReqVO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/dept/vo/post/PostSaveReqVO.java index 4b42a1eaf..a4c2b75cb 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/dept/vo/post/PostSaveReqVO.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/dept/vo/post/PostSaveReqVO.java @@ -1,7 +1,6 @@ package com.cf.imes.module.system.controller.admin.dept.vo.post; -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 io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -31,10 +30,11 @@ public class PostSaveReqVO { private Integer sort; @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - @InEnum(CommonStatusEnum.class) + @CommonStatus private Integer status; @Schema(description = "备注", example = "快乐的备注") + @Size(max = 256, message = "备注长度不能超过256个字符") private String remark; } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/label/LabelController.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/label/LabelController.java index 2f6976d6c..5f95727fe 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/label/LabelController.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/label/LabelController.java @@ -12,6 +12,7 @@ import com.cf.imes.module.system.controller.admin.label.vo.LabelRespVO; import com.cf.imes.module.system.controller.admin.label.vo.LabelSaveReqVO; import com.cf.imes.module.system.dal.dataobject.lable.LabelDO; import com.cf.imes.module.system.service.lable.LabelService; +import com.cf.imes.module.system.validation.label.LabelTemplateTypeValid; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; @@ -87,7 +88,7 @@ public class LabelController { @Parameter(name = "type", description = "类型", required = false, example = "1024") //@PreAuthorize("@ss.hasPermission('system:label:query')") @OperateLog(enable = false) - public CommonResult> getList(@RequestParam("type") String type) { + public CommonResult> getList(@RequestParam("type") @LabelTemplateTypeValid String type) { return success(BeanUtils.toBean(labelService.list(type), LabelRespVO.class)); } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/label/vo/LabelPageReqVO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/label/vo/LabelPageReqVO.java index e0780943b..ff27391d9 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/label/vo/LabelPageReqVO.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/label/vo/LabelPageReqVO.java @@ -7,6 +7,7 @@ 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 +19,15 @@ import static com.cf.imes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH public class LabelPageReqVO extends PageParam { @Schema(description = "标签类型", example = "2") + @Size(max = 32, message = "标签类型长度不能超过32个字符") private String type; @Schema(description = "标签名称", example = "王五") + @Size(max = 50, message = "标签名称长度不能超过50个字符") private String name; @Schema(description = "备注", example = "你猜") + @Size(max = 255, message = "备注长度不能超过255个字符") private String remark; @Schema(description = "宽度") diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/label/vo/LabelSaveReqVO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/label/vo/LabelSaveReqVO.java index 173d1dd08..c70b50e5d 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/label/vo/LabelSaveReqVO.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/label/vo/LabelSaveReqVO.java @@ -1,12 +1,11 @@ package com.cf.imes.module.system.controller.admin.label.vo; -import co.elastic.clients.elasticsearch.watcher.DeactivateWatchRequest; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; -import java.util.List; +import javax.validation.constraints.Size; @Schema(description = "管理后台 - 标签模板新增/修改 Request VO") @Data @@ -17,14 +16,17 @@ public class LabelSaveReqVO { @Schema(description = "标签类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") @NotNull(message = "标签类型不能为空") + @Size(max = 32, message = "标签类型长度不能超过32个字符") private String type; @Schema(description = "标签名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五") @NotEmpty(message = "标签名称不能为空") + @Size(max = 50, message = "标签名称长度不能超过50个字符") private String name; @Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED, example = "你猜") @NotEmpty(message = "备注不能为空") + @Size(max = 255, message = "备注长度不能超过255个字符") private String remark; @Schema(description = "宽度", requiredMode = Schema.RequiredMode.REQUIRED) diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/MachineController.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/MachineController.java index 804f7b01a..4533f4bef 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/MachineController.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/MachineController.java @@ -10,6 +10,7 @@ import com.cf.imes.module.system.controller.admin.machine.vo.*; import com.cf.imes.module.system.dal.dataobject.machine.MachineDO; import com.cf.imes.module.system.service.machine.MachineService; import com.cf.imes.module.system.service.machine.MachineTemplateService; +import com.cf.imes.module.system.validation.machine.MachineTypeValid; import com.fasterxml.jackson.core.JsonProcessingException; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; @@ -119,7 +120,7 @@ public class MachineController { @GetMapping("getBrandAndModel") @Operation(summary = "获得机台的品牌跟型号") //@PreAuthorize("@ss.hasPermission('machine::query')") - public CommonResult> getBrandAndModel(@RequestParam Integer type) { + public CommonResult> getBrandAndModel(@RequestParam @MachineTypeValid Integer type) { return success(machineService.getBrandAndModel(type)); } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/CuttingSaveReqVO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/CuttingSaveReqVO.java index 3dbd60976..209d9506f 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/CuttingSaveReqVO.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/CuttingSaveReqVO.java @@ -2,11 +2,13 @@ package com.cf.imes.module.system.controller.admin.machine.vo; import com.alibaba.fastjson.JSONObject; import com.cf.imes.framework.es.core.valid.UpdateGroup; +import com.cf.imes.module.system.validation.machine.MachineTypeValid; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; /** * @author there @@ -21,10 +23,12 @@ public class CuttingSaveReqVO { @Schema(description = "名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五") @NotEmpty(message = "名称不能为空") + @Size(max = 100, message = "名称长度不能超过100个字符") private String name; @Schema(description = "1开料机台设备 2钻孔机台设备", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") @NotNull(message = "1开料机台设备 2钻孔机台设备 不能为空") + @MachineTypeValid private Integer machineType; @Schema(description = "标签id") diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/CuttingTemplateSaveReqVO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/CuttingTemplateSaveReqVO.java index 0d520ae2a..84221b682 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/CuttingTemplateSaveReqVO.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/CuttingTemplateSaveReqVO.java @@ -2,11 +2,13 @@ package com.cf.imes.module.system.controller.admin.machine.vo; import com.alibaba.fastjson.JSONObject; import com.cf.imes.framework.es.core.valid.UpdateGroup; +import com.cf.imes.module.system.validation.machine.MachineTypeValid; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; /** * @author there @@ -19,10 +21,12 @@ public class CuttingTemplateSaveReqVO { @Schema(description = "名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五") @NotEmpty(message = "名称不能为空") + @Size(max = 100, message = "名称长度不能超过100个字符") private String name; @Schema(description = "1开料机台设备 2钻孔机台设备", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") @NotNull(message = "1开料机台设备 2钻孔机台设备 不能为空") + @MachineTypeValid private Integer machineType; diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/MachinePageReqVO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/MachinePageReqVO.java index 281038454..9c82ea96f 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/MachinePageReqVO.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/MachinePageReqVO.java @@ -1,10 +1,12 @@ package com.cf.imes.module.system.controller.admin.machine.vo; +import com.cf.imes.module.system.validation.machine.MachineTypeValid; import lombok.*; -import java.util.*; import io.swagger.v3.oas.annotations.media.Schema; import com.cf.imes.framework.common.pojo.PageParam; 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; @@ -16,9 +18,11 @@ import static com.cf.imes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH public class MachinePageReqVO extends PageParam { @Schema(description = "名称", example = "王五") + @Size(max = 100, message = "名称长度不能超过100个字符") private String name; @Schema(description = "1机台设备 2CNC设备", example = "2") + @MachineTypeValid private Integer machineType; @Schema(description = "创建时间") diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/MachineTemplateBrandReqVO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/MachineTemplateBrandReqVO.java index 97a4d852d..c647cc0c4 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/MachineTemplateBrandReqVO.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/MachineTemplateBrandReqVO.java @@ -1,10 +1,12 @@ package com.cf.imes.module.system.controller.admin.machine.vo; +import com.cf.imes.module.system.validation.machine.MachineTypeValid; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; import java.util.List; @Data @@ -16,6 +18,7 @@ public class MachineTemplateBrandReqVO { @Schema(description = "1开料机台设备 2钻孔机台设备", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") @NotNull(message = "1开料机台设备 2钻孔机台设备 不能为空") + @MachineTypeValid private Integer machineType; @Schema(description = "机台的品牌ID") @@ -24,6 +27,7 @@ public class MachineTemplateBrandReqVO { @Schema(description = "机台的品牌", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") @NotNull(message = "品牌名称不能为空") + @Size(max = 64, message = "品牌名称长度不能超过64个字符") private String brand; diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/OrganMachinePage.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/OrganMachinePage.java index bdb5fc381..cbb4a48ba 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/OrganMachinePage.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/OrganMachinePage.java @@ -1,6 +1,7 @@ package com.cf.imes.module.system.controller.admin.machine.vo; 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; @@ -10,10 +11,11 @@ import lombok.Data; @Data public class OrganMachinePage extends PageParam { - @Schema(description = "组织名称") + @Schema(description = "组织编号") private Long organId; @Schema(description = "组织状态(0正常 1停用)") + @CommonStatus private Integer status; } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/validation/machine/MachineTypeValid.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/validation/machine/MachineTypeValid.java new file mode 100644 index 000000000..80f5f6899 --- /dev/null +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/validation/machine/MachineTypeValid.java @@ -0,0 +1,32 @@ +package com.cf.imes.module.system.validation.machine; + +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/16 10:20 + */ +@Target({ + ElementType.PARAMETER, + ElementType.FIELD, +}) +@Retention(RetentionPolicy.RUNTIME) +@Documented +@Constraint( + validatedBy = {MachineTypeValidator.class} +) +public @interface MachineTypeValid { + 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/machine/MachineTypeValidator.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/validation/machine/MachineTypeValidator.java new file mode 100644 index 000000000..e6fc27cb7 --- /dev/null +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/validation/machine/MachineTypeValidator.java @@ -0,0 +1,28 @@ +package com.cf.imes.module.system.validation.machine; + +import cn.hutool.core.util.ObjectUtil; +import com.cf.imes.framework.common.enums.MachineTypeEnum; + +import javax.validation.ConstraintValidator; +import javax.validation.ConstraintValidatorContext; + +/** + * 机台类型校验器 + * + * @author Gqr + * @since 2024/10/16 10:21 + */ +public class MachineTypeValidator implements ConstraintValidator { + @Override + public boolean isValid(Integer value, ConstraintValidatorContext context) { + if (ObjectUtil.isNull(value)) { + return true; + } + for (MachineTypeEnum typeEnum : MachineTypeEnum.values()) { + if (ObjectUtil.equal(typeEnum.getType(), value)) { + return true; + } + } + return false; + } +}