|
@@ -179,14 +179,25 @@ class FeedbackRequest(BaseModel):
|
|
|
user_org: Optional[str] = Field(None, description="用户所属机构")
|
|
user_org: Optional[str] = Field(None, description="用户所属机构")
|
|
|
user_endpoint: Optional[str] = Field(None, description="用户所属网点")
|
|
user_endpoint: Optional[str] = Field(None, description="用户所属网点")
|
|
|
business_attr: str = Field(..., description="业务属性")
|
|
business_attr: str = Field(..., description="业务属性")
|
|
|
|
|
+ phrase: Optional[str] = Field(None, description="打标文本")
|
|
|
|
|
|
|
|
@router.post("/feedback")
|
|
@router.post("/feedback")
|
|
|
def ai_feedback(feedback_request: FeedbackRequest):
|
|
def ai_feedback(feedback_request: FeedbackRequest):
|
|
|
logger.info(f"Received feedback request: {feedback_request}")
|
|
logger.info(f"Received feedback request: {feedback_request}")
|
|
|
- # 这里将用户的反馈信息保存到数据库中aitag_tag_log,供后续分析和模型优化使用
|
|
|
|
|
- dao.execute(
|
|
|
|
|
- """update aitag_tag_log set feedback = %s, feedback_result = %s, feedback_time = %s, feedback_user_id = %s, feedback_user_nm = %s, contract_no = %s, feedback_user_org = %s, feedback_user_endpoint = %s, state = %s where business_attr = %s""",
|
|
|
|
|
- (feedback_request.feedback, feedback_request.feedback_result, datetime.now(), feedback_request.user_id, feedback_request.user_nm, feedback_request.contract_no, feedback_request.user_org, feedback_request.user_endpoint, TAGGING_STATE.FEEDBACK.value, feedback_request.business_attr)
|
|
|
|
|
- )
|
|
|
|
|
|
|
+
|
|
|
|
|
+ r = dao.query("""SELECT count(*) FROM aitag_tag_log WHERE business_attr = %s and is_delete = 0""", (feedback_request.business_attr,))
|
|
|
|
|
+ if r and len(r) > 0 and r[0][0]==1:
|
|
|
|
|
+ # update
|
|
|
|
|
+ # 这里将用户的反馈信息保存到数据库中aitag_tag_log,供后续分析和模型优化使用
|
|
|
|
|
+ dao.execute(
|
|
|
|
|
+ """update aitag_tag_log set feedback = %s, feedback_result = %s, feedback_time = %s, feedback_user_id = %s, feedback_user_nm = %s, contract_no = %s, feedback_user_org = %s, feedback_user_endpoint = %s, state = %s where business_attr = %s""",
|
|
|
|
|
+ (feedback_request.feedback, feedback_request.feedback_result, datetime.now(), feedback_request.user_id, feedback_request.user_nm, feedback_request.contract_no, feedback_request.user_org, feedback_request.user_endpoint, TAGGING_STATE.FEEDBACK.value, feedback_request.business_attr)
|
|
|
|
|
+ )
|
|
|
|
|
+ else:
|
|
|
|
|
+ dao.execute(
|
|
|
|
|
+ """INSERT INTO aitag_tag_log (id, insert_time, business_attr, phrase, state, feedback, feedback_result, feedback_time, feedback_user_id, feedback_user_nm, contract_no, feedback_user_org, feedback_user_endpoint)
|
|
|
|
|
+ VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)""",
|
|
|
|
|
+ (uuid.uuid4().hex, datetime.now(), feedback_request.business_attr, feedback_request.phrase, TAGGING_STATE.FEEDBACK.value, feedback_request.feedback, feedback_request.feedback_result, datetime.now(), feedback_request.user_id, feedback_request.user_nm, feedback_request.contract_no, feedback_request.user_org, feedback_request.user_endpoint)
|
|
|
|
|
+ )
|
|
|
return {"code": 200, "message": "Feedback received successfully"}
|
|
return {"code": 200, "message": "Feedback received successfully"}
|
|
|
|
|
|