ETest-Vue-FastAPI/ruoyi-fastapi-backend/module_admin/system/entity/vo/test_item_vo.py

80 lines
2.9 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

from datetime import datetime
from pydantic import BaseModel, ConfigDict, Field
from pydantic.alias_generators import to_camel
from pydantic_validation_decorator import NotBlank
from typing import Optional
from module_admin.annotation.pydantic_annotation import as_query
class Test_itemModel(BaseModel):
"""
测试单元表对应pydantic模型
"""
model_config = ConfigDict(alias_generator=to_camel, from_attributes=True)
id: Optional[int] = Field(default=None, description='ID')
name: Optional[str] = Field(default=None, description='名称')
test_category_id: Optional[int] = Field(default=None, description='测试类别ID')
test_category_name: Optional[str] = Field(default=None, description='测试类别名称')
eut_type_id: Optional[int] = Field(default=None, description='产品类别ID')
eut_type_name: Optional[str] = Field(default=None, description='产品类别名称')
condition_form_id: Optional[int] = Field(default=None, description='测试条件表单模板ID')
condition_form_name: Optional[str] = Field(default=None, description='测试条件表单模板名称')
condition_data: Optional[str] = Field(default=None, description='测试条件填写数据JSON')
result_form_id: Optional[int] = Field(default=None, description='测试结果表单模板ID')
result_form_name: Optional[str] = Field(default=None, description='测试结果表单模板名称')
condition_json: Optional[str] = Field(default=None, description='测试条件模板JSON动态获取')
config_json: Optional[str] = Field(default=None, description='测试结果模板JSON动态获取')
memo: Optional[str] = Field(default=None, description='备注说明')
update_by: Optional[int] = Field(default=None, description='更新者')
update_time: Optional[datetime] = Field(default=None, description='修改时间')
@NotBlank(field_name='name', message='名称不能为空')
def get_name(self):
return self.name
@NotBlank(field_name='test_category_id', message='测试类别ID不能为空')
def get_test_category_id(self):
return self.test_category_id
@NotBlank(field_name='eut_type_id', message='产品类别ID不能为空')
def get_eut_type_id(self):
return self.eut_type_id
def validate_fields(self):
self.get_name()
self.get_test_category_id()
self.get_eut_type_id()
class Test_itemQueryModel(Test_itemModel):
"""
测试单元不分页查询模型
"""
pass
@as_query
class Test_itemPageQueryModel(Test_itemQueryModel):
"""
测试单元分页查询模型
"""
page_num: int = Field(default=1, description='当前页码')
page_size: int = Field(default=10, description='每页记录数')
class DeleteTest_itemModel(BaseModel):
"""
删除测试单元模型
"""
model_config = ConfigDict(alias_generator=to_camel)
ids: str = Field(description='需要删除的ID')