开始
This commit is contained in:
Executable
+102
@@ -0,0 +1,102 @@
|
||||
# utils\lzmx.py
|
||||
import requests
|
||||
import json
|
||||
from datetime import datetime
|
||||
|
||||
# 推送系统工单处理信息到量子密信
|
||||
def send_lzmx_message(webhook_url, handler, device_id, device_type, distance_from_branch, restore_time):
|
||||
headers = {'Content-Type': 'application/json'}
|
||||
|
||||
message = {
|
||||
"type": "text",
|
||||
"textMsg": {
|
||||
"content":
|
||||
f"📢 故障处理通知\n"
|
||||
f"故障设备:{device_id}\n"
|
||||
f"处理时间:{restore_time.strftime('%Y-%m-%d %H:%M:%S')}\n"
|
||||
f"故障类型:{device_type}\n"
|
||||
f"距离支局:{distance_from_branch}公里\n"
|
||||
f"处理人:{handler}"
|
||||
}
|
||||
}
|
||||
|
||||
try:
|
||||
response = requests.post(
|
||||
webhook_url,
|
||||
headers=headers,
|
||||
data=json.dumps(message)
|
||||
)
|
||||
response.raise_for_status()
|
||||
return True
|
||||
except Exception as e:
|
||||
print(f"发送量子密信消息失败: {str(e)}")
|
||||
return False
|
||||
|
||||
# 推送手工申报工单信息到量子密信
|
||||
def send_manual_lzmx_message(webhook_url, handler, device_id, fault_type, distance_from_branch, fault_time, project_type, device_location):
|
||||
headers = {'Content-Type': 'application/json'}
|
||||
|
||||
message = {
|
||||
"type": "text",
|
||||
"textMsg": {
|
||||
"content":
|
||||
f"📝 故障处理通知\n"
|
||||
f"项目类型:{project_type}\n"
|
||||
f"故障设备:{device_id}\n"
|
||||
f"设备位置:{device_location}\n"
|
||||
f"故障时间:{fault_time.strftime('%Y-%m-%d %H:%M:%S')}\n"
|
||||
f"故障类型:{fault_type}\n"
|
||||
f"距离支局:{distance_from_branch}公里\n"
|
||||
f"处理人:{handler}"
|
||||
}
|
||||
}
|
||||
|
||||
try:
|
||||
response = requests.post(
|
||||
webhook_url,
|
||||
headers=headers,
|
||||
data=json.dumps(message)
|
||||
)
|
||||
response.raise_for_status()
|
||||
return True
|
||||
except Exception as e:
|
||||
print(f"发送量子密信消息失败: {str(e)}")
|
||||
return False
|
||||
|
||||
# 每周五统计本周情况推送量子密信
|
||||
def send_weekly_stats_message(webhook_url, stats):
|
||||
headers = {'Content-Type': 'application/json'}
|
||||
|
||||
# 格式化前三名处理人信息
|
||||
top_handlers = []
|
||||
for handler, amount in stats['top_handlers']:
|
||||
top_handlers.append(f"👤 {handler}: {amount}元")
|
||||
|
||||
message = {
|
||||
"type": "text",
|
||||
"textMsg": {
|
||||
"content":
|
||||
f"📊 本周工单统计报告\n"
|
||||
f"—————————————————\n"
|
||||
f" 本周派单:{stats['total_orders']}单\n"
|
||||
f" 已处理数:{stats['completed_orders']}单\n"
|
||||
f" 未处理数:{stats['pending_orders']}单\n"
|
||||
f" 手工故障:{stats['manual_orders']}个\n\n"
|
||||
f"🏆 前三名预计奖励:\n"
|
||||
f"{chr(10).join(top_handlers)}\n"
|
||||
f"—————————————————\n"
|
||||
f"统计时间:{datetime.now().strftime('%Y-%m-%d %H:%M:%S')}"
|
||||
}
|
||||
}
|
||||
|
||||
try:
|
||||
response = requests.post(
|
||||
webhook_url,
|
||||
headers=headers,
|
||||
data=json.dumps(message)
|
||||
)
|
||||
response.raise_for_status()
|
||||
return True
|
||||
except Exception as e:
|
||||
print(f"发送量子密信消息失败: {str(e)}")
|
||||
return False
|
||||
Reference in New Issue
Block a user