| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- """
- 端到端测试:审批消息发送到个人和项目群
- 验证配置:个人(ou_498988d823b61ab89c9afe4310f85bb4)+ 项目群(oc_7940ec97cde40b245cff9cb606ff1ac7)
- """
- import sys
- from pathlib import Path
- sys.path.insert(0, str(Path(__file__).parent.parent.parent))
- from dotenv import load_dotenv
- load_dotenv()
- from agent.tools.builtin.feishu.feishu_client import FeishuClient
- from config import (
- FEISHU_APP_ID,
- FEISHU_APP_SECRET,
- FEISHU_OPERATOR_OPEN_ID,
- FEISHU_AD_PROJECT_CHAT_ID
- )
- print("=" * 70)
- print("端到端测试:审批消息发送验证")
- print("=" * 70)
- print()
- print(f"飞书应用 ID: {FEISHU_APP_ID}")
- print(f"个人 Open ID: {FEISHU_OPERATOR_OPEN_ID}")
- print(f"项目群聊 ID: {FEISHU_AD_PROJECT_CHAT_ID}")
- print()
- # 检查配置
- if not FEISHU_OPERATOR_OPEN_ID:
- print("❌ 错误:FEISHU_OPERATOR_OPEN_ID 未配置")
- sys.exit(1)
- if not FEISHU_AD_PROJECT_CHAT_ID:
- print("❌ 错误:FEISHU_AD_PROJECT_CHAT_ID 未配置")
- sys.exit(1)
- client = FeishuClient(
- app_id=FEISHU_APP_ID,
- app_secret=FEISHU_APP_SECRET
- )
- # 模拟审批消息
- test_message = """📋 **广告调控决策审批(测试)**
- 请求ID: test_e2e_20260418_001
- 时间: 2026-04-18 00:30
- 🔶 待审批操作(3 个):
- ----------------------------------------
- ⏸️ 暂停: 1 个
- ⬇️ 降价: 2 个
- 前 3 个示例:
- 1. 广告 ID: 12345 | R500_test_ad_1 | 操作: pause
- 理由: 动态ROI为1.5,低于R500组中位数30%
- 2. 广告 ID: 12346 | R500_test_ad_2 | 操作: bid_down 3%
- 理由: 动态ROI为2.2,低于R500组中位数11%
- 3. 广告 ID: 12347 | R330_test_ad_1 | 操作: bid_down 5%
- 理由: 动态ROI为1.8,低于R330组中位数15%
- ---
- 💬 **请回复以下内容进行审批**:
- - 回复 "通过" → 批准所有操作
- - 回复 "拒绝" → 拒绝所有操作
- - 回复 "广告12345不要暂停" → 修改决策
- 📊 详细报表将随后发送(Excel在线表格)
- """
- print("测试 1/2:发送消息到个人")
- print("-" * 70)
- try:
- result_personal = client.send_message(to=FEISHU_OPERATOR_OPEN_ID, text=test_message)
- print("✅ 发送成功!")
- print(f" 消息 ID: {result_personal.message_id}")
- print(f" 接收者: {FEISHU_OPERATOR_OPEN_ID}")
- print()
- except Exception as e:
- print(f"❌ 发送失败: {e}")
- print()
- print("测试 2/2:发送消息到项目群聊")
- print("-" * 70)
- try:
- result_group = client.send_message(to=FEISHU_AD_PROJECT_CHAT_ID, text=test_message)
- print("✅ 发送成功!")
- print(f" 消息 ID: {result_group.message_id}")
- print(f" 群聊 ID: {result_group.chat_id}")
- print()
- except Exception as e:
- print(f"❌ 发送失败: {e}")
- print()
- print("=" * 70)
- print("验证步骤:")
- print("=" * 70)
- print()
- print("1️⃣ 检查个人飞书消息,应该收到上述测试消息")
- print("2️⃣ 检查项目群聊,应该收到相同的测试消息")
- print("3️⃣ 在任一位置回复'通过'或'拒绝',系统应能识别")
- print()
- print("如果两处都收到消息,说明配置成功!✅")
- print()
|