From cebbe90eac199689f40b7b6ca861a8cc67103b53 Mon Sep 17 00:00:00 2001 From: insistence <3055204202@qq.com> Date: Thu, 4 Jul 2024 17:30:14 +0800 Subject: [PATCH] =?UTF-8?q?feat&perf:=20=E9=83=A8=E9=97=A8=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E6=A8=A1=E5=9D=97vo=E5=B1=82=E4=BC=98=E5=8C=96?= =?UTF-8?q?=EF=BC=8C=E6=96=B0=E5=A2=9E=E5=AD=97=E6=AE=B5=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module_admin/entity/vo/dept_vo.py | 67 +++++++++++++------ 1 file changed, 46 insertions(+), 21 deletions(-) diff --git a/ruoyi-fastapi-backend/module_admin/entity/vo/dept_vo.py b/ruoyi-fastapi-backend/module_admin/entity/vo/dept_vo.py index 9a8eb3e..8ae4c9a 100644 --- a/ruoyi-fastapi-backend/module_admin/entity/vo/dept_vo.py +++ b/ruoyi-fastapi-backend/module_admin/entity/vo/dept_vo.py @@ -1,7 +1,8 @@ -from pydantic import BaseModel, ConfigDict +from pydantic import BaseModel, ConfigDict, Field from pydantic.alias_generators import to_camel -from typing import Union, Optional, List +from typing import Union, Optional, List, Literal from datetime import datetime +from module_admin.annotation.check_annotation import NetWork, NotBlank, Size from module_admin.annotation.pydantic_annotation import as_query @@ -11,20 +12,44 @@ class DeptModel(BaseModel): """ model_config = ConfigDict(alias_generator=to_camel, from_attributes=True) - dept_id: Optional[int] = None - parent_id: Optional[int] = None - ancestors: Optional[str] = None - dept_name: Optional[str] = None - order_num: Optional[int] = None - leader: Optional[str] = None - phone: Optional[str] = None - email: Optional[str] = None - status: Optional[str] = None - del_flag: Optional[str] = None - create_by: Optional[str] = None - create_time: Optional[datetime] = None - update_by: Optional[str] = None - update_time: Optional[datetime] = None + dept_id: Optional[int] = Field(default=None, description='部门id') + parent_id: Optional[int] = Field(default=None, description='父部门id') + ancestors: Optional[str] = Field(default=None, description='祖级列表') + dept_name: Optional[str] = Field(default=None, description='部门名称') + order_num: Optional[int] = Field(default=None, description='显示顺序') + leader: Optional[str] = Field(default=None, description='负责人') + phone: Optional[str] = Field(default=None, description='联系电话') + email: Optional[str] = Field(default=None, description='邮箱') + status: Optional[Literal['0', '1']] = Field(default=None, description='部门状态(0正常 1停用)') + del_flag: Optional[Literal['0', '2']] = Field(default=None, description='删除标志(0代表存在 2代表删除)') + create_by: Optional[str] = Field(default=None, description='创建者') + create_time: Optional[datetime] = Field(default=None, description='创建时间') + update_by: Optional[str] = Field(default=None, description='更新者') + update_time: Optional[datetime] = Field(default=None, description='更新时间') + + @NotBlank(field_name='dept_name', message='部门名称不能为空') + @Size(field_name='dept_name', min_length=0, max_length=30, message='部门名称长度不能超过30个字符') + def get_dept_name(self): + return self.dept_name + + @NotBlank(field_name='order_num', message='显示顺序不能为空') + def get_order_num(self): + return self.order_num + + @Size(field_name='phone', min_length=0, max_length=11, message='联系电话长度不能超过11个字符') + def get_phone(self): + return self.phone + + @NetWork(field_name='email', field_type='EmailStr', message='邮箱格式不正确') + @Size(field_name='email', min_length=0, max_length=50, message='邮箱长度不能超过50个字符') + def get_email(self): + return self.email + + def validate_fields(self): + self.get_dept_name() + self.get_order_num() + self.get_phone() + self.get_email() @as_query @@ -32,8 +57,8 @@ class DeptQueryModel(DeptModel): """ 部门管理不分页查询模型 """ - begin_time: Optional[str] = None - end_time: Optional[str] = None + begin_time: Optional[str] = Field(default=None, description='开始时间') + end_time: Optional[str] = Field(default=None, description='结束时间') class DeleteDeptModel(BaseModel): @@ -42,6 +67,6 @@ class DeleteDeptModel(BaseModel): """ model_config = ConfigDict(alias_generator=to_camel) - dept_ids: str - update_by: Optional[str] = None - update_time: Optional[str] = None + dept_ids: str = Field(default=None, description='需要删除的部门id') + update_by: Optional[str] = Field(default=None, description='更新者') + update_time: Optional[str] = Field(default=None, description='更新时间')