From 478e9838e05ac905d297c0054f409afe2146e97b Mon Sep 17 00:00:00 2001 From: HuangHuiKang Date: Fri, 10 Jul 2026 11:31:04 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E6=B7=BB=E5=8A=A0=E5=AE=A1=E6=A0=B8?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/v1/module_energy/report_review/model.py | 2 +- app/api/v1/module_energy/report_review/schema.py | 13 +++++++------ app/api/v1/module_energy/report_review/service.py | 9 +++++---- 3 files changed, 13 insertions(+), 11 deletions(-) diff --git a/app/api/v1/module_energy/report_review/model.py b/app/api/v1/module_energy/report_review/model.py index 79e5295..2e0f59f 100644 --- a/app/api/v1/module_energy/report_review/model.py +++ b/app/api/v1/module_energy/report_review/model.py @@ -53,7 +53,7 @@ class EnergyReportReviewModel(ModelMixin, TenantMixin, UserMixin): Integer, default=0, nullable=False, - comment="状态 0:待审查 1:审核通过 2:审核不通过", + comment="状态 0:待审查 1:审查中 2:已审查 3:审查失败", index=True, ) reviewer_id: Mapped[int | None] = mapped_column( diff --git a/app/api/v1/module_energy/report_review/schema.py b/app/api/v1/module_energy/report_review/schema.py index d666567..7cc1d1f 100644 --- a/app/api/v1/module_energy/report_review/schema.py +++ b/app/api/v1/module_energy/report_review/schema.py @@ -19,7 +19,7 @@ class EnergyReportReviewCreateSchema(BaseModel): template_id: int = Field(..., ge=1, description="能源报告模板ID") file_id: int = Field(..., ge=1, description="上传文档文件ID") attachment_file_id: int | None = Field(default=None, ge=1, description="附件文件ID") - status: int = Field(default=0, ge=0, le=2, description="状态 0:待审查 1:审核通过 2:审核不通过") + status: int = Field(default=0, ge=0, le=3, description="状态 0:待审查 1:审查中 2:已审查 3:审查失败") reviewer_id: int | None = Field(default=None, ge=1, description="审查人ID") description: str | None = Field(default=None, max_length=500, description="描述") @@ -34,8 +34,8 @@ class EnergyReportReviewCreateSchema(BaseModel): @field_validator("status") @classmethod def validate_status(cls, value: int) -> int: - if value not in {0, 1, 2}: - raise ValueError("状态仅支持 0(待审查)、1(审核通过)、2(审核不通过)") + if value not in {0, 1, 2, 3}: + raise ValueError("状态仅支持 0(待审查)、1(审查中)、2(已审查)、3(审查失败)") return value @field_validator("report_type") @@ -71,9 +71,10 @@ class EnergyReportReviewStatsSchema(BaseModel): """能源报告审核任务统计模型。""" submitted_count: int = Field(default=0, description="提交任务数") - reviewed_count: int = Field(default=0, description="审核通过任务数") + reviewing_count: int = Field(default=0, description="审查中任务数") + reviewed_count: int = Field(default=0, description="已审查任务数") pending_count: int = Field(default=0, description="待审查任务数") - failed_count: int = Field(default=0, description="审核不通过任务数") + failed_count: int = Field(default=0, description="审查失败任务数") class EnergyReportReviewPageOutSchema(BaseModel): @@ -93,7 +94,7 @@ class EnergyReportReviewQueryParam(BaseQueryParam, UserByQueryParam, TenantByQue task_name: str | None = Query(None, description="任务名称") report_type: int | None = Query(None, ge=1, le=2, description="报告类型 1:能源报告 2:光伏报告") - status: int | None = Query(None, ge=0, le=2, description="状态 0:待审查 1:审核通过 2:审核不通过") + status: int | None = Query(None, ge=0, le=3, description="状态 0:待审查 1:审查中 2:已审查 3:审查失败") template_id: int | None = Query(None, ge=1, description="模板ID") reviewer_id: int | None = Query(None, ge=1, description="审查人ID") diff --git a/app/api/v1/module_energy/report_review/service.py b/app/api/v1/module_energy/report_review/service.py index 7a9fc50..10f08ae 100644 --- a/app/api/v1/module_energy/report_review/service.py +++ b/app/api/v1/module_energy/report_review/service.py @@ -22,8 +22,8 @@ ENERGY_REPORT_REVIEW_BUSINESS_TYPE = "energy_report_review" REVIEW_LOG_ACTION_NAMES = { "create_task": "创建审查任务", "start_review": "开始审查", - "review_pass": "审核通过", - "review_reject": "审核不通过", + "review_pass": "已审查", + "review_reject": "审查失败", } @@ -128,9 +128,10 @@ class EnergyReportReviewService: records = await EnergyReportReviewCRUD(self.auth).get_list(search=search_dict or {}) return EnergyReportReviewStatsSchema( submitted_count=len(records), - reviewed_count=len([record for record in records if record.status == 1]), + reviewing_count=len([record for record in records if record.status == 1]), + reviewed_count=len([record for record in records if record.status == 2]), pending_count=len([record for record in records if record.status == 0]), - failed_count=len([record for record in records if record.status == 2]), + failed_count=len([record for record in records if record.status == 3]), ) def _build_stats_search(self, search_dict: dict | None = None) -> dict: