diff --git a/app/api/endpoints/wecom.py b/app/api/endpoints/wecom.py index 33b9ccd..b0bd205 100644 --- a/app/api/endpoints/wecom.py +++ b/app/api/endpoints/wecom.py @@ -65,7 +65,7 @@ def decrypt_msg(msg_encrypt: str, signature: str, timestamp: str, nonce: str) -> return xml_content.decode() except Exception as e: - logging.exception("解密企业微信消息失败") + logger.exception("解密企业微信消息失败") return None @router.get("") @@ -85,7 +85,7 @@ async def verify_callback( return Response(content=decrypted_str, media_type="text/plain") except Exception as e: - logging.exception("验证回调配置失败") + logger.exception("验证回调配置失败") return Response(status_code=403) @router.post("") @@ -113,18 +113,18 @@ async def wechat_corp_callback( # 解析解密后的XML msg_root = ET.fromstring(decrypted_msg) - logging.info(f"企业微信回调消息:{decrypted_msg}") + logger.info(f"企业微信回调消息:{decrypted_msg}") # 解析基本信息 msg_type = msg_root.find('MsgType').text - logging.info(f"msg_type: {msg_type}") + logger.info(f"msg_type: {msg_type}") # 处理事件消息 if msg_type == 'event': event = msg_root.find('Event').text - logging.info(f"event: {event}") + logger.info(f"event: {event}") # 处理外部群聊变更事件 if event == 'change_external_chat': @@ -134,13 +134,13 @@ async def wechat_corp_callback( join_user_id = None if update_detail == 'add_member' and msg_root.find('JoinScene') is not None: - logging.info(f"有新成员加入群聊") + logger.info(f"有新成员加入群聊") # 获取加入的成员ID join_user_id_elem = msg_root.find('JoinUserID') if join_user_id_elem is not None: join_user_id = join_user_id_elem.text - logging.info(f"chat_id: {chat_id}, change_type: {change_type}, update_detail: {update_detail}, join_user_id: {join_user_id}") + logger.info(f"chat_id: {chat_id}, change_type: {change_type}, update_detail: {update_detail}, join_user_id: {join_user_id}") # 处理群聊变更事件 await wecom_client.handle_chat_change_event( @@ -151,13 +151,13 @@ async def wechat_corp_callback( ) if update_detail == 'add_member' and join_user_id: - logging.info(f"发送欢迎消息到群聊:{chat_id}") + logger.info(f"发送欢迎消息到群聊:{chat_id}") await wecom_client.send_welcome_message(chat_id) return Response(content="success", media_type="text/plain") except Exception as e: - logging.exception("处理企业微信回调消息异常") + logger.exception("处理企业微信回调消息异常") return Response(content="success", media_type="text/plain") class UnionidToExternalUseridRequest(BaseModel): @@ -194,7 +194,7 @@ async def get_external_chats( return success_response(message="获取群聊列表成功", data=chat_list) except Exception as e: - logging.exception("获取群聊列表异常") + logger.exception("获取群聊列表异常") return error_response(code=500, message=f"获取群聊列表失败: {str(e)}") @router.get("/external-chats/{chat_id}/members", response_model=ResponseModel) @@ -227,7 +227,7 @@ async def get_external_chat_members( return success_response(message="获取群聊成员列表成功", data=member_list) except Exception as e: - logging.exception("获取群聊成员列表异常") + logger.exception("获取群聊成员列表异常") return error_response(code=500, message=f"获取群聊成员列表失败: {str(e)}") @router.post("/sync-chat/{chat_id}", response_model=ResponseModel) @@ -254,7 +254,7 @@ async def sync_external_chat( return success_response(message="同步群聊信息成功") except Exception as e: - logging.exception("同步群聊信息异常") + logger.exception("同步群聊信息异常") return error_response(code=500, message=f"同步群聊信息失败: {str(e)}") @router.get("/chat-dashboard") diff --git a/app/core/wecomclient.py b/app/core/wecomclient.py index 8ededca..45b08ed 100644 --- a/app/core/wecomclient.py +++ b/app/core/wecomclient.py @@ -36,7 +36,7 @@ class WecomClient: else: raise Exception(f"获取access_token失败: {result}") except Exception as e: - logging.error(f"获取access_token异常: {str(e)}") + logger.error(f"获取access_token异常: {str(e)}") return None async def code2session(self, js_code: str) -> Optional[Dict[str, Any]]: @@ -68,11 +68,11 @@ class WecomClient: "session_key": result.get("session_key") } else: - logging.error(f"code2session失败: {result}") + logger.error(f"code2session失败: {result}") return None except Exception as e: - logging.error(f"code2session异常: {str(e)}") + logger.error(f"code2session异常: {str(e)}") return None async def get_unionid_from_userid(self, userid: str) -> Optional[str]: @@ -94,7 +94,7 @@ class WecomClient: return result.get("unionid") except Exception as e: - logging.error(f"get_unionid_from_userid异常: {str(e)}") + logger.error(f"get_unionid_from_userid异常: {str(e)}") return None async def unionid_to_external_userid(self, unionid: str, openid: str) -> Optional[str]: @@ -113,7 +113,7 @@ class WecomClient: return result except Exception as e: - logging.error(f"unionid_to_external_userid异常: {str(e)}") + logger.error(f"unionid_to_external_userid异常: {str(e)}") return None async def send_welcome_message(self, chat_id: str, user_id: str = None) -> bool: @@ -130,7 +130,7 @@ class WecomClient: # 1. 获取 access_token access_token = await self.get_access_token() if not access_token: - logging.error("获取access_token失败") + logger.error("获取access_token失败") return False welcome_text = f"""🥳 欢迎您进群,在群内可以享受📦【代取快递】跑腿服务。 @@ -171,11 +171,11 @@ class WecomClient: if result.get("errcode") == 0: return True else: - logging.error(f"发送欢迎消息失败: {result}") + logger.error(f"发送欢迎消息失败: {result}") return False except Exception as e: - logging.error(f"发送欢迎消息异常: {str(e)}") + logger.error(f"发送欢迎消息异常: {str(e)}") return False async def get_external_chat_info(self, chat_id: str) -> Optional[Dict[str, Any]]: @@ -190,7 +190,7 @@ class WecomClient: try: access_token = await self.get_access_token() if not access_token: - logging.error("获取access_token失败") + logger.error("获取access_token失败") return None url = f"https://qyapi.weixin.qq.com/cgi-bin/externalcontact/groupchat/get?access_token={access_token}" @@ -204,10 +204,10 @@ class WecomClient: if result.get("errcode") == 0: return result.get("group_chat") else: - logging.error(f"获取外部群聊信息失败: {result}") + logger.error(f"获取外部群聊信息失败: {result}") return None except Exception as e: - logging.error(f"获取外部群聊信息异常: {str(e)}") + logger.error(f"获取外部群聊信息异常: {str(e)}") return None async def get_external_contact_info(self, external_userid: str) -> Optional[Dict[str, Any]]: @@ -222,7 +222,7 @@ class WecomClient: try: access_token = await self.get_access_token() if not access_token: - logging.error("获取access_token失败") + logger.error("获取access_token失败") return None url = f"https://qyapi.weixin.qq.com/cgi-bin/externalcontact/get?access_token={access_token}" @@ -236,10 +236,10 @@ class WecomClient: if result.get("errcode") == 0: return result.get("external_contact") else: - logging.error(f"获取外部联系人信息失败: {result}") + logger.error(f"获取外部联系人信息失败: {result}") return None except Exception as e: - logging.error(f"获取外部联系人信息异常: {str(e)}") + logger.error(f"获取外部联系人信息异常: {str(e)}") return None async def handle_chat_change_event(self, chat_id: str, change_type: str, update_detail: str, join_user_id: str = None) -> bool: @@ -408,7 +408,7 @@ class WecomClient: return False except Exception as e: - logging.error(f"处理群聊变更事件异常: {str(e)}") + logger.error(f"处理群聊变更事件异常: {str(e)}") if 'db' in locals(): db.close() return False diff --git a/jobs.sqlite b/jobs.sqlite index 9ff0b2b..2fa3dbf 100644 Binary files a/jobs.sqlite and b/jobs.sqlite differ