From 5306e24aa2ea62ccb66185256173b4d43dfce863 Mon Sep 17 00:00:00 2001 From: Chuck1sn Date: Mon, 16 Jun 2025 11:44:51 +0800 Subject: [PATCH] =?UTF-8?q?refactor(component):=20=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E9=83=A8=E9=97=A8=E3=80=81=E5=B2=97=E4=BD=8D=E5=92=8C=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E5=88=9B=E5=BB=BA=E5=8A=9F=E8=83=BD=E7=9A=84=E5=8F=82?= =?UTF-8?q?=E6=95=B0=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 DepartmentOperatorTool、PositionOperatorTool 和 UserRolePermissionOperatorTool 中添加了 @Size 注解- 用于限制部门名称、岗位名称和用户名的长度 - 更新了前端 UserUpsertModal 组件中用户名的校验规则 --- .../java/com/zl/mjga/component/DepartmentOperatorTool.java | 4 +++- .../main/java/com/zl/mjga/component/PositionOperatorTool.java | 3 ++- .../com/zl/mjga/component/UserRolePermissionOperatorTool.java | 3 ++- frontend/src/components/UserUpsertModal.vue | 2 +- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/backend/src/main/java/com/zl/mjga/component/DepartmentOperatorTool.java b/backend/src/main/java/com/zl/mjga/component/DepartmentOperatorTool.java index 7d5b4d2..f40b9f6 100644 --- a/backend/src/main/java/com/zl/mjga/component/DepartmentOperatorTool.java +++ b/backend/src/main/java/com/zl/mjga/component/DepartmentOperatorTool.java @@ -6,6 +6,7 @@ import com.zl.mjga.service.DepartmentService; import dev.langchain4j.agent.tool.P; import dev.langchain4j.agent.tool.Tool; import dev.langchain4j.model.output.structured.Description; +import jakarta.validation.constraints.Size; import lombok.RequiredArgsConstructor; import org.apache.commons.lang3.StringUtils; import org.jooq.generated.mjga.tables.pojos.Department; @@ -21,7 +22,8 @@ public class DepartmentOperatorTool { @Tool(value = "创建部门") void createDepartment( - @P(value = "部门名称") String name, @P(value = "上级部门名称", required = false) String parentName) { + @P(value = "部门名称") @Size(min = 2, max = 15) String name, + @P(value = "上级部门名称", required = false) @Size(min = 2, max = 15) String parentName) { Department exist = departmentRepository.fetchOneByName(name); Department department = new Department(null, name, null); if (exist != null) { diff --git a/backend/src/main/java/com/zl/mjga/component/PositionOperatorTool.java b/backend/src/main/java/com/zl/mjga/component/PositionOperatorTool.java index 0615397..1b8ef50 100644 --- a/backend/src/main/java/com/zl/mjga/component/PositionOperatorTool.java +++ b/backend/src/main/java/com/zl/mjga/component/PositionOperatorTool.java @@ -5,6 +5,7 @@ import com.zl.mjga.repository.PositionRepository; import dev.langchain4j.agent.tool.P; import dev.langchain4j.agent.tool.Tool; import dev.langchain4j.model.output.structured.Description; +import jakarta.validation.constraints.Size; import lombok.RequiredArgsConstructor; import org.jooq.generated.mjga.tables.pojos.Position; import org.springframework.stereotype.Component; @@ -17,7 +18,7 @@ public class PositionOperatorTool { private final PositionRepository positionRepository; @Tool(value = "创建岗位") - void createPosition(@P("岗位名称") String name) { + void createPosition(@P("岗位名称") @Size(min = 2, max = 15) String name) { Position position = positionRepository.fetchOneByName(name); if (position != null) { throw new BusinessException("岗位已存在"); diff --git a/backend/src/main/java/com/zl/mjga/component/UserRolePermissionOperatorTool.java b/backend/src/main/java/com/zl/mjga/component/UserRolePermissionOperatorTool.java index 8f0aec4..4ae5045 100644 --- a/backend/src/main/java/com/zl/mjga/component/UserRolePermissionOperatorTool.java +++ b/backend/src/main/java/com/zl/mjga/component/UserRolePermissionOperatorTool.java @@ -11,6 +11,7 @@ import com.zl.mjga.service.IdentityAccessService; import dev.langchain4j.agent.tool.P; import dev.langchain4j.agent.tool.Tool; import dev.langchain4j.model.output.structured.Description; +import jakarta.validation.constraints.Size; import java.util.List; import lombok.RequiredArgsConstructor; import org.apache.commons.lang3.StringUtils; @@ -31,7 +32,7 @@ public class UserRolePermissionOperatorTool { private final PositionRepository positionRepository; @Tool(value = {"创建用户", "入职申请", "开通账号"}) - void createUser(@P(value = "用户名") String name) { + void createUser(@P(value = "用户名") @Size(min = 1, max = 15) String name) { User user = userRepository.fetchOneByUsername(name); if (user != null) { throw new BusinessException("用户已存在"); diff --git a/frontend/src/components/UserUpsertModal.vue b/frontend/src/components/UserUpsertModal.vue index 021230a..f0c6b9a 100644 --- a/frontend/src/components/UserUpsertModal.vue +++ b/frontend/src/components/UserUpsertModal.vue @@ -154,7 +154,7 @@ const handleSubmit = async () => { .string({ message: "用户名不能为空", }) - .min(4, "用户名至少4个字符") + .min(1, "用户名至少1个字符") .max(15, "用户名最多15个字符"), enable: z.boolean({ message: "状态不能为空",