mirror of
https://github.com/fastapiadmin/FastapiAdmin.git
synced 2026-09-21 12:52:26 +00:00
chore: 批量整理代码格式与优化细节
- 修复多处代码缩进、换行不规范问题 - 调整部分配置注释与字符串格式对齐 - 优化导入语句与多行表达式的排版 - 统一枚举、模型字段的注释风格 - 调整部分校验逻辑与提示文案 - 重构部分长函数参数与查询语句格式
This commit is contained in:
@@ -18,9 +18,7 @@ class DictTypeModel(ModelMixin, TenantMixin):
|
||||
__platform_data_shared__: bool = True
|
||||
|
||||
dict_name: Mapped[str] = mapped_column(String(64), nullable=False, comment="字典名称")
|
||||
dict_type: Mapped[str] = mapped_column(
|
||||
String(255), nullable=False, comment="字典类型"
|
||||
)
|
||||
dict_type: Mapped[str] = mapped_column(String(255), nullable=False, comment="字典类型")
|
||||
|
||||
# 关系定义
|
||||
dict_data_list: Mapped[list["DictDataModel"]] = relationship(
|
||||
@@ -39,7 +37,10 @@ class DictDataModel(ModelMixin, TenantMixin):
|
||||
"""
|
||||
|
||||
__tablename__: str = "sys_dict_data"
|
||||
__table_args__: dict[str, str] = {"comment": "字典数据表"}
|
||||
__table_args__ = (
|
||||
UniqueConstraint("tenant_id", "dict_type_id", "dict_value", name="uq_dict_data_value"),
|
||||
{"comment": "字典数据表"},
|
||||
)
|
||||
__loader_options__: list[str] = []
|
||||
__platform_data_shared__: bool = True
|
||||
|
||||
|
||||
@@ -20,10 +20,17 @@ class DictTypeCreateSchema(BaseModel):
|
||||
"""
|
||||
|
||||
dict_name: str = Field(..., min_length=1, max_length=64, description="字典名称")
|
||||
dict_type: str = Field(..., min_length=1, max_length=64, description="字典类型")
|
||||
status: str = Field(default="0", description="状态(0正常 1停用)")
|
||||
dict_type: str = Field(..., min_length=1, max_length=255, description="字典类型编码")
|
||||
status: str = Field(default="0", max_length=1, description="状态(0:正常 1:停用)")
|
||||
description: str | None = Field(default=None, max_length=255, description="描述")
|
||||
|
||||
@field_validator("status")
|
||||
@classmethod
|
||||
def validate_status(cls, value: str):
|
||||
if value not in {"0", "1"}:
|
||||
raise ValueError("状态仅支持 0(正常) 或 1(停用)")
|
||||
return value
|
||||
|
||||
@field_validator("dict_name")
|
||||
def validate_dict_name(cls, value: str):
|
||||
"""
|
||||
@@ -114,19 +121,26 @@ class DictDataCreateSchema(BaseModel):
|
||||
字典数据表对应pydantic模型
|
||||
"""
|
||||
|
||||
dict_sort: int = Field(..., ge=1, le=999, description="字典排序")
|
||||
dict_label: str = Field(..., max_length=100, description="字典标签")
|
||||
dict_value: str = Field(..., max_length=100, description="字典键值")
|
||||
dict_type: str = Field(..., max_length=100, description="字典类型")
|
||||
dict_type_id: int = Field(..., description="字典类型ID")
|
||||
dict_sort: int = Field(..., ge=1, le=999, description="排序")
|
||||
dict_label: str = Field(..., min_length=1, max_length=255, description="字典标签")
|
||||
dict_value: str = Field(..., min_length=1, max_length=255, description="字典键值")
|
||||
dict_type: str = Field(..., max_length=255, description="字典类型")
|
||||
dict_type_id: int = Field(..., gt=0, description="字典类型ID")
|
||||
css_class: str | None = Field(
|
||||
default=None, max_length=100, description="样式属性(其他样式扩展)"
|
||||
default=None, max_length=255, description="样式属性"
|
||||
)
|
||||
list_class: str | None = Field(default=None, description="表格回显样式")
|
||||
is_default: bool = Field(default=False, description="是否默认(True是 False否)")
|
||||
status: str = Field(default="0", description="状态(0正常 1停用)")
|
||||
list_class: str | None = Field(default=None, max_length=255, description="表格回显样式")
|
||||
is_default: bool = Field(default=False, description="是否默认")
|
||||
status: str = Field(default="0", max_length=1, description="状态(0:正常 1:停用)")
|
||||
description: str | None = Field(default=None, max_length=255, description="描述")
|
||||
|
||||
@field_validator("status")
|
||||
@classmethod
|
||||
def validate_status(cls, value: str):
|
||||
if value not in {"0", "1"}:
|
||||
raise ValueError("状态仅支持 0(正常) 或 1(停用)")
|
||||
return value
|
||||
|
||||
@model_validator(mode="after")
|
||||
def validate_after(self):
|
||||
"""
|
||||
|
||||
@@ -197,7 +197,9 @@ class DictTypeService:
|
||||
search={"dict_type": data.dict_type}
|
||||
)
|
||||
dict_data = [
|
||||
DictDataOutSchema.model_validate(row).model_dump(mode="json") for row in dict_data_list if row
|
||||
DictDataOutSchema.model_validate(row).model_dump(mode="json")
|
||||
for row in dict_data_list
|
||||
if row
|
||||
]
|
||||
|
||||
value = json.dumps(dict_data, ensure_ascii=False)
|
||||
@@ -238,7 +240,9 @@ class DictTypeService:
|
||||
# 如果有字典数据,不能删除
|
||||
raise CustomException(msg="删除失败,该数据字典类型下存在字典数据")
|
||||
# 删除Redis缓存
|
||||
redis_key = f"{RedisInitKeyConfig.SYSTEM_DICT.key}:{auth.user.tenant_id}:{exist_obj.dict_type}"
|
||||
redis_key = (
|
||||
f"{RedisInitKeyConfig.SYSTEM_DICT.key}:{auth.user.tenant_id}:{exist_obj.dict_type}"
|
||||
)
|
||||
try:
|
||||
await RedisCURD(redis).delete(redis_key)
|
||||
log.info(f"删除字典类型成功: {id}")
|
||||
@@ -404,7 +408,9 @@ class DictDataService:
|
||||
for row in dict_data_list
|
||||
if row
|
||||
]
|
||||
redis_key = f"{RedisInitKeyConfig.SYSTEM_DICT.key}:{tenant_id}:{dict_type}"
|
||||
redis_key = (
|
||||
f"{RedisInitKeyConfig.SYSTEM_DICT.key}:{tenant_id}:{dict_type}"
|
||||
)
|
||||
value = json.dumps(dict_data, ensure_ascii=False)
|
||||
await RedisCURD(redis).set(
|
||||
key=redis_key,
|
||||
@@ -419,7 +425,9 @@ class DictDataService:
|
||||
raise CustomException(msg=f"字典数据初始化失败: {e!s}")
|
||||
|
||||
@classmethod
|
||||
async def get_init_dict_service(cls, redis: Redis, dict_type: str, tenant_id: int = 1) -> list[dict]:
|
||||
async def get_init_dict_service(
|
||||
cls, redis: Redis, dict_type: str, tenant_id: int = 1
|
||||
) -> list[dict]:
|
||||
"""
|
||||
从缓存获取字典数据列表信息
|
||||
|
||||
@@ -500,7 +508,9 @@ class DictDataService:
|
||||
search={"dict_type": data.dict_type}
|
||||
)
|
||||
dict_data = [
|
||||
DictDataOutSchema.model_validate(row).model_dump(mode="json") for row in dict_data_list if row
|
||||
DictDataOutSchema.model_validate(row).model_dump(mode="json")
|
||||
for row in dict_data_list
|
||||
if row
|
||||
]
|
||||
|
||||
value = json.dumps(dict_data, ensure_ascii=False)
|
||||
@@ -591,7 +601,9 @@ class DictDataService:
|
||||
search={"dict_type": data.dict_type}
|
||||
)
|
||||
dict_data = [
|
||||
DictDataOutSchema.model_validate(row).model_dump(mode="json") for row in dict_data_list if row
|
||||
DictDataOutSchema.model_validate(row).model_dump(mode="json")
|
||||
for row in dict_data_list
|
||||
if row
|
||||
]
|
||||
|
||||
value = json.dumps(dict_data, ensure_ascii=False)
|
||||
@@ -646,7 +658,9 @@ class DictDataService:
|
||||
# 清除缓存
|
||||
for dict_type in dict_types_to_clear:
|
||||
try:
|
||||
redis_key = f"{RedisInitKeyConfig.SYSTEM_DICT.key}:{auth.user.tenant_id}:{dict_type}"
|
||||
redis_key = (
|
||||
f"{RedisInitKeyConfig.SYSTEM_DICT.key}:{auth.user.tenant_id}:{dict_type}"
|
||||
)
|
||||
await RedisCURD(redis).delete(redis_key)
|
||||
log.info(f"清除字典缓存成功: {dict_type}")
|
||||
except Exception as e:
|
||||
|
||||
Reference in New Issue
Block a user