|
@@ -0,0 +1,34 @@
|
|
|
+from typing import Optional
|
|
|
+
|
|
|
+import requests
|
|
|
+
|
|
|
+from pqai_agent.logging_service import logger
|
|
|
+
|
|
|
+class RelationStageClient:
|
|
|
+ def __init__(self, base_url: Optional[str] = None):
|
|
|
+ base_url = base_url or "http://ai-wechat-hook-internal.piaoquantv.com/analyse/getUserEmployeeRelStage"
|
|
|
+ self.base_url = base_url
|
|
|
+
|
|
|
+ def get_relation_stage(self, staff_id: str, user_id: str) -> Optional[str]:
|
|
|
+ url = f"{self.base_url}?employeeId={staff_id}&userId={user_id}"
|
|
|
+ response = requests.get(url)
|
|
|
+ if response.status_code != 200:
|
|
|
+ logger.error(f"Request error [{response.status_code}]: {response.text}")
|
|
|
+ return None
|
|
|
+ data = response.json()
|
|
|
+ if not data.get('success', False):
|
|
|
+ logger.error(f"Error in response: {data.get('message', 'no message returned')}")
|
|
|
+ return None
|
|
|
+ if 'data' not in data:
|
|
|
+ logger.error("No 'data' field in response")
|
|
|
+ return None
|
|
|
+ return data.get('data')
|
|
|
+
|
|
|
+if __name__ == "__main__":
|
|
|
+ # Example usage
|
|
|
+ client = RelationStageClient()
|
|
|
+ stage = client.get_relation_stage("1688856125791790", "7881301780233975")
|
|
|
+ if stage:
|
|
|
+ print(f"Relation stage: {stage}")
|
|
|
+ else:
|
|
|
+ print("Failed to retrieve relation stage.")
|