event type string
This commit is contained in:
50
src/event_type.rs
Normal file
50
src/event_type.rs
Normal file
@ -0,0 +1,50 @@
|
||||
use std::collections::HashMap;
|
||||
|
||||
pub fn get_event_type_map() -> HashMap<i32, String> {
|
||||
// 创建一个HashMap,用于存储事件类型码和对应的事件名称
|
||||
let mut event_type_map = HashMap::new();
|
||||
event_type_map.insert(131329, String::from("视频丢失"));
|
||||
event_type_map.insert(131330, String::from("视频遮挡"));
|
||||
event_type_map.insert(131331, String::from("移动侦测"));
|
||||
event_type_map.insert(131612, String::from("场景变更"));
|
||||
event_type_map.insert(131613, String::from("虚焦"));
|
||||
event_type_map.insert(589825, String::from("报警输入"));
|
||||
event_type_map.insert(196355, String::from("可视域事件"));
|
||||
event_type_map.insert(851969, String::from("GPS采集"));
|
||||
event_type_map.insert(131588, String::from("区域入侵"));
|
||||
event_type_map.insert(131585, String::from("越界侦测"));
|
||||
event_type_map.insert(131586, String::from("进入区域"));
|
||||
event_type_map.insert(131587, String::from("离开区域"));
|
||||
event_type_map.insert(131590, String::from("徘徊侦测"));
|
||||
event_type_map.insert(131593, String::from("人员聚集"));
|
||||
event_type_map.insert(131592, String::from("快速移动"));
|
||||
event_type_map.insert(131591, String::from("停车侦测"));
|
||||
event_type_map.insert(131594, String::from("物品遗留"));
|
||||
event_type_map.insert(131595, String::from("物品拿取"));
|
||||
event_type_map.insert(131664, String::from("人数异常"));
|
||||
event_type_map.insert(131665, String::from("间距异常"));
|
||||
event_type_map.insert(131596, String::from("剧烈运动"));
|
||||
event_type_map.insert(131603, String::from("岗位值守"));
|
||||
event_type_map.insert(131605, String::from("倒地"));
|
||||
event_type_map.insert(131597, String::from("攀高"));
|
||||
event_type_map.insert(131666, String::from("人员站立"));
|
||||
event_type_map.insert(131609, String::from("防风场滞留"));
|
||||
event_type_map.insert(131598, String::from("起身"));
|
||||
event_type_map.insert(131599, String::from("人靠近ATM"));
|
||||
event_type_map.insert(131600, String::from("操作超时"));
|
||||
event_type_map.insert(131601, String::from("贴纸条"));
|
||||
event_type_map.insert(131602, String::from("安装读卡器"));
|
||||
event_type_map.insert(131604, String::from("尾随"));
|
||||
event_type_map.insert(131606, String::from("声强突变"));
|
||||
event_type_map.insert(131607, String::from("折线攀高"));
|
||||
event_type_map.insert(131611, String::from("折线警戒面"));
|
||||
event_type_map.insert(192518, String::from("温差报警"));
|
||||
event_type_map.insert(192517, String::from("温度报警"));
|
||||
event_type_map.insert(192516, String::from("船只检测"));
|
||||
event_type_map.insert(192515, String::from("火点检测"));
|
||||
event_type_map.insert(192514, String::from("烟火检测"));
|
||||
event_type_map.insert(192513, String::from("烟雾检测"));
|
||||
event_type_map.insert(930335, String::from("高空抛物"));
|
||||
event_type_map.insert(889196545, String::from("监控点离线"));
|
||||
event_type_map
|
||||
}
|
15
src/main.rs
15
src/main.rs
@ -1,19 +1,28 @@
|
||||
mod typing;
|
||||
|
||||
use axum::http::StatusCode;
|
||||
use axum::{
|
||||
routing::{get, post},
|
||||
Json, Router,
|
||||
};
|
||||
|
||||
use crate::event_type::get_event_type_map;
|
||||
use typing::EventMessage;
|
||||
|
||||
mod event_type;
|
||||
mod typing;
|
||||
|
||||
async fn event_rcv_handle(
|
||||
Json(form_data): Json<EventMessage>,
|
||||
) -> Result<String, (StatusCode, String)> {
|
||||
tokio::spawn(async move {
|
||||
println!("收到告警,向飞书推送消息");
|
||||
reqwest::get(format!("https://www.feishu.cn/flow/api/trigger-webhook/31f13dead0bf78fc4bdb51ba23abba9f?title={}&content={}", &form_data.method, &form_data.params.send_time)).await
|
||||
let event_map = get_event_type_map();
|
||||
for event in &form_data.params.events {
|
||||
let event_type = match event_map.get(&event.event_type) {
|
||||
None => String::from("未知事件类型"),
|
||||
Some(name) => name.to_string(),
|
||||
};
|
||||
let _ = reqwest::get(format!("https://www.feishu.cn/flow/api/trigger-webhook/31f13dead0bf78fc4bdb51ba23abba9f?title={}&content={}", event_type, event.happen_time)).await;
|
||||
}
|
||||
});
|
||||
Ok(String::from("success"))
|
||||
}
|
||||
|
@ -8,7 +8,7 @@ pub struct Event {
|
||||
#[serde(rename = "eventId")]
|
||||
pub event_id: String,
|
||||
#[serde(rename = "eventType")]
|
||||
pub event_type: i64,
|
||||
pub event_type: i32,
|
||||
#[serde(rename = "happenTime")]
|
||||
pub happen_time: String,
|
||||
#[serde(rename = "srcIndex")]
|
||||
|
Reference in New Issue
Block a user