mirror of
https://github.com/ccmjga/zhilu-admin
synced 2026-04-05 03:37:32 +00:00
refactor(component): 优化部门、岗位和用户创建功能的参数校验
- 在 DepartmentOperatorTool、PositionOperatorTool 和 UserRolePermissionOperatorTool 中添加了 @Size 注解- 用于限制部门名称、岗位名称和用户名的长度 - 更新了前端 UserUpsertModal 组件中用户名的校验规则
This commit is contained in:
@@ -6,6 +6,7 @@ import com.zl.mjga.service.DepartmentService;
|
|||||||
import dev.langchain4j.agent.tool.P;
|
import dev.langchain4j.agent.tool.P;
|
||||||
import dev.langchain4j.agent.tool.Tool;
|
import dev.langchain4j.agent.tool.Tool;
|
||||||
import dev.langchain4j.model.output.structured.Description;
|
import dev.langchain4j.model.output.structured.Description;
|
||||||
|
import jakarta.validation.constraints.Size;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.jooq.generated.mjga.tables.pojos.Department;
|
import org.jooq.generated.mjga.tables.pojos.Department;
|
||||||
@@ -21,7 +22,8 @@ public class DepartmentOperatorTool {
|
|||||||
|
|
||||||
@Tool(value = "创建部门")
|
@Tool(value = "创建部门")
|
||||||
void createDepartment(
|
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 exist = departmentRepository.fetchOneByName(name);
|
||||||
Department department = new Department(null, name, null);
|
Department department = new Department(null, name, null);
|
||||||
if (exist != null) {
|
if (exist != null) {
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import com.zl.mjga.repository.PositionRepository;
|
|||||||
import dev.langchain4j.agent.tool.P;
|
import dev.langchain4j.agent.tool.P;
|
||||||
import dev.langchain4j.agent.tool.Tool;
|
import dev.langchain4j.agent.tool.Tool;
|
||||||
import dev.langchain4j.model.output.structured.Description;
|
import dev.langchain4j.model.output.structured.Description;
|
||||||
|
import jakarta.validation.constraints.Size;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.jooq.generated.mjga.tables.pojos.Position;
|
import org.jooq.generated.mjga.tables.pojos.Position;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
@@ -17,7 +18,7 @@ public class PositionOperatorTool {
|
|||||||
private final PositionRepository positionRepository;
|
private final PositionRepository positionRepository;
|
||||||
|
|
||||||
@Tool(value = "创建岗位")
|
@Tool(value = "创建岗位")
|
||||||
void createPosition(@P("岗位名称") String name) {
|
void createPosition(@P("岗位名称") @Size(min = 2, max = 15) String name) {
|
||||||
Position position = positionRepository.fetchOneByName(name);
|
Position position = positionRepository.fetchOneByName(name);
|
||||||
if (position != null) {
|
if (position != null) {
|
||||||
throw new BusinessException("岗位已存在");
|
throw new BusinessException("岗位已存在");
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ import com.zl.mjga.service.IdentityAccessService;
|
|||||||
import dev.langchain4j.agent.tool.P;
|
import dev.langchain4j.agent.tool.P;
|
||||||
import dev.langchain4j.agent.tool.Tool;
|
import dev.langchain4j.agent.tool.Tool;
|
||||||
import dev.langchain4j.model.output.structured.Description;
|
import dev.langchain4j.model.output.structured.Description;
|
||||||
|
import jakarta.validation.constraints.Size;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
@@ -31,7 +32,7 @@ public class UserRolePermissionOperatorTool {
|
|||||||
private final PositionRepository positionRepository;
|
private final PositionRepository positionRepository;
|
||||||
|
|
||||||
@Tool(value = {"创建用户", "入职申请", "开通账号"})
|
@Tool(value = {"创建用户", "入职申请", "开通账号"})
|
||||||
void createUser(@P(value = "用户名") String name) {
|
void createUser(@P(value = "用户名") @Size(min = 1, max = 15) String name) {
|
||||||
User user = userRepository.fetchOneByUsername(name);
|
User user = userRepository.fetchOneByUsername(name);
|
||||||
if (user != null) {
|
if (user != null) {
|
||||||
throw new BusinessException("用户已存在");
|
throw new BusinessException("用户已存在");
|
||||||
|
|||||||
@@ -154,7 +154,7 @@ const handleSubmit = async () => {
|
|||||||
.string({
|
.string({
|
||||||
message: "用户名不能为空",
|
message: "用户名不能为空",
|
||||||
})
|
})
|
||||||
.min(4, "用户名至少4个字符")
|
.min(1, "用户名至少1个字符")
|
||||||
.max(15, "用户名最多15个字符"),
|
.max(15, "用户名最多15个字符"),
|
||||||
enable: z.boolean({
|
enable: z.boolean({
|
||||||
message: "状态不能为空",
|
message: "状态不能为空",
|
||||||
|
|||||||
Reference in New Issue
Block a user