diff --git a/api/code.py b/api/code.py index 18b5907..09f553a 100644 --- a/api/code.py +++ b/api/code.py @@ -580,7 +580,7 @@ async def get_code_log_detail(request: Request, ): sub_departments = current_user.get("sub_departments") if log := await QueryCodeLog.get_or_none(id=id, operator__department__id__in=sub_departments, del_flag=1): - data = await log.first().values( + data = await log.get(id=id).values( id="id", query_count="query_count", result_count="result_count", @@ -633,10 +633,16 @@ async def add_feedback(request: Request, feedback_description=params.feedback_description, user_id=str(user_id), ) - if feedback: - return Response.success(msg="添加成功!") - return Response.failure(msg="添加失败!") - return Response.failure(msg="编码不存在!") + else: + feedback = await CodeFeedback.create( + code=None, + feedback_code=params.feedback_code, + feedback_description=params.feedback_description, + user_id=str(user_id), + ) + if feedback: + return Response.success(msg="添加成功!") + return Response.failure(msg="添加失败!") @codeAPI.delete("/deleteFeedbackList", response_class=JSONResponse, response_model=BaseResponse, @@ -672,7 +678,7 @@ async def update_feedback(request: Request, if code: feedback.code = code else: - return Response.failure(msg="编码不存在!") + feedback.code = None feedback.feedback_description = params.feedback_description feedback.feedback_code = params.feedback_code await feedback.save() @@ -793,14 +799,28 @@ async def feedback_audit(request: Request, if feedback := await CodeFeedback.get_or_none(id=id, user__department__id__in=sub_departments, del_flag=1): feedback.status = params.status if params.status == 1: - await Code.filter(id=feedback.code_id, del_flag=1).update(code=feedback.feedback_code, - description=feedback.feedback_description) - await request.app.state.es.update(index=ElasticSearchConfig.ES_INDEX, id=feedback.code_id, - body={"doc": {"id": feedback.code_id, "code": feedback.feedback_code, - "description": feedback.feedback_description}}) + if code := await Code.get_or_none(id=feedback.code_id, del_flag=1): + code.code = feedback.feedback_code + code.description = feedback.feedback_description + await code.save() + await request.app.state.es.update(index=ElasticSearchConfig.ES_INDEX, id=feedback.code_id, + body={"doc": {"id": feedback.code_id, + "code": feedback.feedback_code, + "description": feedback.feedback_description}}) + else: + code = await Code.create( + user_id=feedback.user_id, + code=feedback.feedback_code, + description=feedback.feedback_description, + ) + if code: + await request.app.state.es.create(index=ElasticSearchConfig.ES_INDEX, + id=code.id, + body={"id": code.id, + "code": code.code, + "description": code.description}) await feedback.save() - return Response.failure(msg="编码反馈不存在!") - + return Response.success(msg="审核成功!") @codeAPI.delete("/deleteCodeImport/{id}", response_class=JSONResponse, response_model=BaseResponse, summary="删除编码导入") diff --git a/models/code.py b/models/code.py index 88ea630..a461429 100644 --- a/models/code.py +++ b/models/code.py @@ -176,6 +176,7 @@ class CodeFeedback(BaseModel): "models.Code", related_name="feedbacks", description="编码", + null=True, source_field="code_id" ) user = fields.ForeignKeyField( @@ -228,3 +229,7 @@ class CodeImport(BaseModel): description="状态,0删除,1审核通过,2审核不通过,3待审核)", source_field="status" ) + + class Meta: + table = "code_import" + table_description = "编码导入表"