From 1ebc0a080bdbff2b82d069a70dd189788999cee1 Mon Sep 17 00:00:00 2001 From: YunaiV Date: Thu, 9 Apr 2026 12:35:00 +0800 Subject: [PATCH] ✨ feat(mes): 增加客户和供应商请求VO的字段验证 --- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/client/vo/MesMdClientSaveReqVO.java | 23 +++++++++++++++++++++++ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/vendor/vo/MesMdVendorSaveReqVO.java | 24 ++++++++++++++++++++++++ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/ipqc/MesQcIpqcLineServiceImpl.java | 8 ++++---- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/iqc/MesQcIqcLineServiceImpl.java | 8 ++++---- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/oqc/MesQcOqcLineServiceImpl.java | 8 ++++---- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/rqc/MesQcRqcLineServiceImpl.java | 8 ++++---- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/template/MesQcTemplateIndicatorService.java | 10 ++++++++++ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/template/MesQcTemplateIndicatorServiceImpl.java | 7 +++++++ 8 files changed, 80 insertions(+), 16 deletions(-) diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/client/vo/MesMdClientSaveReqVO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/client/vo/MesMdClientSaveReqVO.java index 1e75183..2166f92 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/client/vo/MesMdClientSaveReqVO.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/client/vo/MesMdClientSaveReqVO.java @@ -1,8 +1,10 @@ package cn.iocoder.yudao.module.mes.controller.admin.md.client.vo; import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.Email; import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; import lombok.Data; @Schema(description = "管理后台 - MES 客户新增/修改 Request VO") @@ -14,22 +16,28 @@ public class MesMdClientSaveReqVO { @Schema(description = "客户编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "C00184") @NotEmpty(message = "客户编码不能为空") + @Size(max = 64, message = "客户编码长度不能超过 64 个字符") private String code; @Schema(description = "客户名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "比亚迪") @NotEmpty(message = "客户名称不能为空") + @Size(max = 255, message = "客户名称长度不能超过 255 个字符") private String name; @Schema(description = "客户简称", example = "比亚迪") + @Size(max = 255, message = "客户简称长度不能超过 255 个字符") private String nickname; @Schema(description = "客户英文名称", example = "BYD") + @Size(max = 255, message = "客户英文名称长度不能超过 255 个字符") private String englishName; @Schema(description = "客户简介", example = "比亚迪品牌诞生于深圳") + @Size(max = 500, message = "客户简介长度不能超过 500 个字符") private String description; @Schema(description = "客户LOGO地址", example = "https://xxx.com/logo.png") + @Size(max = 255, message = "客户LOGO地址长度不能超过 255 个字符") private String logo; @Schema(description = "客户类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") @@ -37,36 +45,50 @@ public class MesMdClientSaveReqVO { private Integer type; @Schema(description = "客户地址", example = "深圳南山区") + @Size(max = 500, message = "客户地址长度不能超过 500 个字符") private String address; @Schema(description = "客户官网地址", example = "https://www.bydglobal.com") + @Size(max = 255, message = "客户官网地址长度不能超过 255 个字符") private String website; @Schema(description = "客户邮箱地址", example = "salse@bydglobal.com") + @Size(max = 255, message = "客户邮箱地址长度不能超过 255 个字符") + @Email(message = "客户邮箱地址格式不正确") private String email; @Schema(description = "客户电话", example = "123432222") + @Size(max = 64, message = "客户电话长度不能超过 64 个字符") private String telephone; @Schema(description = "联系人1", example = "张三") + @Size(max = 64, message = "联系人1长度不能超过 64 个字符") private String contact1Name; @Schema(description = "联系人1-电话", example = "122212312") + @Size(max = 64, message = "联系人1-电话长度不能超过 64 个字符") private String contact1Telephone; @Schema(description = "联系人1-邮箱", example = "s1@bydglobal.com") + @Size(max = 255, message = "联系人1-邮箱长度不能超过 255 个字符") + @Email(message = "联系人1-邮箱格式不正确") private String contact1Email; @Schema(description = "联系人2", example = "李四") + @Size(max = 64, message = "联系人2长度不能超过 64 个字符") private String contact2Name; @Schema(description = "联系人2-电话", example = "1132323232") + @Size(max = 64, message = "联系人2-电话长度不能超过 64 个字符") private String contact2Telephone; @Schema(description = "联系人2-邮箱", example = "s2@bydglobal.com") + @Size(max = 255, message = "联系人2-邮箱长度不能超过 255 个字符") + @Email(message = "联系人2-邮箱格式不正确") private String contact2Email; @Schema(description = "统一社会信用代码", example = "11212121") + @Size(max = 64, message = "统一社会信用代码长度不能超过 64 个字符") private String creditCode; @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "0") @@ -74,6 +96,7 @@ public class MesMdClientSaveReqVO { private Integer status; @Schema(description = "备注", example = "备注") + @Size(max = 500, message = "备注长度不能超过 500 个字符") private String remark; } diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/vendor/vo/MesMdVendorSaveReqVO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/vendor/vo/MesMdVendorSaveReqVO.java index 1a95f40..c17c653 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/vendor/vo/MesMdVendorSaveReqVO.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/vendor/vo/MesMdVendorSaveReqVO.java @@ -1,8 +1,10 @@ package cn.iocoder.yudao.module.mes.controller.admin.md.vendor.vo; import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.Email; import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; import lombok.Data; @Schema(description = "管理后台 - MES 供应商新增/修改 Request VO") @@ -14,61 +16,82 @@ public class MesMdVendorSaveReqVO { @Schema(description = "供应商编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "V00101") @NotEmpty(message = "供应商编码不能为空") + @Size(max = 64, message = "供应商编码长度不能超过 64 个字符") private String code; @Schema(description = "供应商名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "海力德电子") @NotEmpty(message = "供应商名称不能为空") + @Size(max = 255, message = "供应商名称长度不能超过 255 个字符") private String name; @Schema(description = "供应商简称", example = "海力德") + @Size(max = 255, message = "供应商简称长度不能超过 255 个字符") private String nickname; @Schema(description = "供应商英文名称", example = "HLD Electronics") + @Size(max = 255, message = "供应商英文名称长度不能超过 255 个字符") private String englishName; @Schema(description = "供应商简介", example = "专业从事电子元器件生产与销售") + @Size(max = 500, message = "供应商简介长度不能超过 500 个字符") private String description; @Schema(description = "供应商LOGO地址", example = "https://xxx.com/logo.png") + @Size(max = 255, message = "供应商LOGO地址长度不能超过 255 个字符") private String logo; @Schema(description = "供应商等级", example = "A") + @Size(max = 64, message = "供应商等级长度不能超过 64 个字符") private String level; @Schema(description = "供应商评分", example = "95") private Integer score; @Schema(description = "供应商地址", example = "深圳市宝安区") + @Size(max = 500, message = "供应商地址长度不能超过 500 个字符") private String address; @Schema(description = "供应商官网地址", example = "https://www.hld-elec.com") + @Size(max = 255, message = "供应商官网地址长度不能超过 255 个字符") private String website; @Schema(description = "供应商邮箱地址", example = "info@hld-elec.com") + @Size(max = 255, message = "供应商邮箱地址长度不能超过 255 个字符") + @Email(message = "供应商邮箱地址格式不正确") private String email; @Schema(description = "供应商电话", example = "0755-12345678") + @Size(max = 64, message = "供应商电话长度不能超过 64 个字符") private String telephone; @Schema(description = "联系人1", example = "王经理") + @Size(max = 64, message = "联系人1长度不能超过 64 个字符") private String contact1Name; @Schema(description = "联系人1-电话", example = "13800138001") + @Size(max = 64, message = "联系人1-电话长度不能超过 64 个字符") private String contact1Telephone; @Schema(description = "联系人1-邮箱", example = "wang@hld-elec.com") + @Size(max = 255, message = "联系人1-邮箱长度不能超过 255 个字符") + @Email(message = "联系人1-邮箱格式不正确") private String contact1Email; @Schema(description = "联系人2", example = "赵助理") + @Size(max = 64, message = "联系人2长度不能超过 64 个字符") private String contact2Name; @Schema(description = "联系人2-电话", example = "13800138002") + @Size(max = 64, message = "联系人2-电话长度不能超过 64 个字符") private String contact2Telephone; @Schema(description = "联系人2-邮箱", example = "zhao@hld-elec.com") + @Size(max = 255, message = "联系人2-邮箱长度不能超过 255 个字符") + @Email(message = "联系人2-邮箱格式不正确") private String contact2Email; @Schema(description = "统一社会信用代码", example = "91440300MA5EXAMPLE") + @Size(max = 64, message = "统一社会信用代码长度不能超过 64 个字符") private String creditCode; @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "0") @@ -76,6 +99,7 @@ public class MesMdVendorSaveReqVO { private Integer status; @Schema(description = "备注", example = "备注") + @Size(max = 500, message = "备注长度不能超过 500 个字符") private String remark; } diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/ipqc/MesQcIpqcLineServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/ipqc/MesQcIpqcLineServiceImpl.java index f3cff4e..31be93c 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/ipqc/MesQcIpqcLineServiceImpl.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/ipqc/MesQcIpqcLineServiceImpl.java @@ -9,9 +9,9 @@ import cn.iocoder.yudao.module.mes.dal.dataobject.qc.indicator.MesQcIndicatorDO; import cn.iocoder.yudao.module.mes.dal.dataobject.qc.ipqc.MesQcIpqcLineDO; import cn.iocoder.yudao.module.mes.dal.dataobject.qc.template.MesQcTemplateIndicatorDO; import cn.iocoder.yudao.module.mes.dal.mysql.qc.ipqc.MesQcIpqcLineMapper; -import cn.iocoder.yudao.module.mes.dal.mysql.qc.template.MesQcTemplateIndicatorMapper; import cn.iocoder.yudao.module.mes.enums.qc.MesQcDefectLevelEnum; import cn.iocoder.yudao.module.mes.service.qc.indicator.MesQcIndicatorService; +import cn.iocoder.yudao.module.mes.service.qc.template.MesQcTemplateIndicatorService; import jakarta.annotation.Resource; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; @@ -37,11 +37,11 @@ public class MesQcIpqcLineServiceImpl implements MesQcIpqcLineService { @Resource private MesQcIpqcLineMapper ipqcLineMapper; - @Resource - private MesQcTemplateIndicatorMapper templateIndicatorMapper; @Resource private MesQcIndicatorService indicatorService; + @Resource + private MesQcTemplateIndicatorService templateIndicatorService; @Override public MesQcIpqcLineDO validateIpqcLineExists(Long id) { @@ -64,7 +64,7 @@ public class MesQcIpqcLineServiceImpl implements MesQcIpqcLineService { @Override public void createLinesFromTemplate(Long ipqcId, Long templateId) { - List templateIndicators = templateIndicatorMapper.selectListByTemplateId(templateId); + List templateIndicators = templateIndicatorService.getTemplateIndicatorListByTemplateId(templateId); if (CollUtil.isEmpty(templateIndicators)) { return; } diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/iqc/MesQcIqcLineServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/iqc/MesQcIqcLineServiceImpl.java index 268f9b1..c44937f 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/iqc/MesQcIqcLineServiceImpl.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/iqc/MesQcIqcLineServiceImpl.java @@ -9,9 +9,9 @@ import cn.iocoder.yudao.module.mes.dal.dataobject.qc.iqc.MesQcIqcLineDO; import cn.iocoder.yudao.module.mes.dal.dataobject.qc.indicator.MesQcIndicatorDO; import cn.iocoder.yudao.module.mes.dal.dataobject.qc.template.MesQcTemplateIndicatorDO; import cn.iocoder.yudao.module.mes.dal.mysql.qc.iqc.MesQcIqcLineMapper; -import cn.iocoder.yudao.module.mes.dal.mysql.qc.template.MesQcTemplateIndicatorMapper; import cn.iocoder.yudao.module.mes.enums.qc.MesQcDefectLevelEnum; import cn.iocoder.yudao.module.mes.service.qc.indicator.MesQcIndicatorService; +import cn.iocoder.yudao.module.mes.service.qc.template.MesQcTemplateIndicatorService; import jakarta.annotation.Resource; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; @@ -37,11 +37,11 @@ public class MesQcIqcLineServiceImpl implements MesQcIqcLineService { @Resource private MesQcIqcLineMapper iqcLineMapper; - @Resource - private MesQcTemplateIndicatorMapper templateIndicatorMapper; @Resource private MesQcIndicatorService indicatorService; + @Resource + private MesQcTemplateIndicatorService templateIndicatorService; @Override public MesQcIqcLineDO validateIqcLineExists(Long id) { @@ -64,7 +64,7 @@ public class MesQcIqcLineServiceImpl implements MesQcIqcLineService { @Override public void createLinesFromTemplate(Long iqcId, Long templateId) { - List templateIndicators = templateIndicatorMapper.selectListByTemplateId(templateId); + List templateIndicators = templateIndicatorService.getTemplateIndicatorListByTemplateId(templateId); if (CollUtil.isEmpty(templateIndicators)) { return; } diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/oqc/MesQcOqcLineServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/oqc/MesQcOqcLineServiceImpl.java index e4f02ff..498b27b 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/oqc/MesQcOqcLineServiceImpl.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/oqc/MesQcOqcLineServiceImpl.java @@ -9,9 +9,9 @@ import cn.iocoder.yudao.module.mes.dal.dataobject.qc.indicator.MesQcIndicatorDO; import cn.iocoder.yudao.module.mes.dal.dataobject.qc.oqc.MesQcOqcLineDO; import cn.iocoder.yudao.module.mes.dal.dataobject.qc.template.MesQcTemplateIndicatorDO; import cn.iocoder.yudao.module.mes.dal.mysql.qc.oqc.MesQcOqcLineMapper; -import cn.iocoder.yudao.module.mes.dal.mysql.qc.template.MesQcTemplateIndicatorMapper; import cn.iocoder.yudao.module.mes.enums.qc.MesQcDefectLevelEnum; import cn.iocoder.yudao.module.mes.service.qc.indicator.MesQcIndicatorService; +import cn.iocoder.yudao.module.mes.service.qc.template.MesQcTemplateIndicatorService; import jakarta.annotation.Resource; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; @@ -38,9 +38,9 @@ public class MesQcOqcLineServiceImpl implements MesQcOqcLineService { @Resource private MesQcOqcLineMapper oqcLineMapper; @Resource - private MesQcTemplateIndicatorMapper templateIndicatorMapper; - @Resource private MesQcIndicatorService indicatorService; + @Resource + private MesQcTemplateIndicatorService templateIndicatorService; @Override public MesQcOqcLineDO validateOqcLineExists(Long id) { @@ -63,7 +63,7 @@ public class MesQcOqcLineServiceImpl implements MesQcOqcLineService { @Override public void createLinesFromTemplate(Long oqcId, Long templateId) { - List templateIndicators = templateIndicatorMapper.selectListByTemplateId(templateId); + List templateIndicators = templateIndicatorService.getTemplateIndicatorListByTemplateId(templateId); if (CollUtil.isEmpty(templateIndicators)) { return; } diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/rqc/MesQcRqcLineServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/rqc/MesQcRqcLineServiceImpl.java index f4351f2..1e9dffa 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/rqc/MesQcRqcLineServiceImpl.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/rqc/MesQcRqcLineServiceImpl.java @@ -9,9 +9,9 @@ import cn.iocoder.yudao.module.mes.dal.dataobject.qc.indicator.MesQcIndicatorDO; import cn.iocoder.yudao.module.mes.dal.dataobject.qc.rqc.MesQcRqcLineDO; import cn.iocoder.yudao.module.mes.dal.dataobject.qc.template.MesQcTemplateIndicatorDO; import cn.iocoder.yudao.module.mes.dal.mysql.qc.rqc.MesQcRqcLineMapper; -import cn.iocoder.yudao.module.mes.dal.mysql.qc.template.MesQcTemplateIndicatorMapper; import cn.iocoder.yudao.module.mes.enums.qc.MesQcDefectLevelEnum; import cn.iocoder.yudao.module.mes.service.qc.indicator.MesQcIndicatorService; +import cn.iocoder.yudao.module.mes.service.qc.template.MesQcTemplateIndicatorService; import jakarta.annotation.Resource; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; @@ -37,11 +37,11 @@ public class MesQcRqcLineServiceImpl implements MesQcRqcLineService { @Resource private MesQcRqcLineMapper rqcLineMapper; - @Resource - private MesQcTemplateIndicatorMapper templateIndicatorMapper; @Resource private MesQcIndicatorService indicatorService; + @Resource + private MesQcTemplateIndicatorService templateIndicatorService; @Override public MesQcRqcLineDO validateRqcLineExists(Long id) { @@ -64,7 +64,7 @@ public class MesQcRqcLineServiceImpl implements MesQcRqcLineService { @Override public void createLinesFromTemplate(Long rqcId, Long templateId) { - List templateIndicators = templateIndicatorMapper.selectListByTemplateId(templateId); + List templateIndicators = templateIndicatorService.getTemplateIndicatorListByTemplateId(templateId); if (CollUtil.isEmpty(templateIndicators)) { return; } diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/template/MesQcTemplateIndicatorService.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/template/MesQcTemplateIndicatorService.java index 9e28f41..f8d0e64 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/template/MesQcTemplateIndicatorService.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/template/MesQcTemplateIndicatorService.java @@ -6,6 +6,8 @@ import cn.iocoder.yudao.module.mes.controller.admin.qc.template.vo.indicator.Mes import cn.iocoder.yudao.module.mes.dal.dataobject.qc.template.MesQcTemplateIndicatorDO; import jakarta.validation.Valid; +import java.util.List; + /** * MES 质检方案-检测指标项 Service 接口 * @@ -58,4 +60,12 @@ public interface MesQcTemplateIndicatorService { */ void deleteTemplateIndicatorByTemplateId(Long templateId); + /** + * 根据方案编号,获得检测指标项列表 + * + * @param templateId 质检方案编号 + * @return 检测指标项列表 + */ + List getTemplateIndicatorListByTemplateId(Long templateId); + } diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/template/MesQcTemplateIndicatorServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/template/MesQcTemplateIndicatorServiceImpl.java index afe355e..84e1120 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/template/MesQcTemplateIndicatorServiceImpl.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/template/MesQcTemplateIndicatorServiceImpl.java @@ -11,6 +11,8 @@ import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; +import java.util.List; + import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.QC_TEMPLATE_INDICATOR_NOT_EXISTS; @@ -80,4 +82,9 @@ public class MesQcTemplateIndicatorServiceImpl implements MesQcTemplateIndicator templateIndicatorMapper.deleteByTemplateId(templateId); } + @Override + public List getTemplateIndicatorListByTemplateId(Long templateId) { + return templateIndicatorMapper.selectListByTemplateId(templateId); + } + } -- libgit2 0.21.4