|
@@ -11,7 +11,7 @@ import random
|
|
from sqlalchemy import create_engine, select
|
|
from sqlalchemy import create_engine, select
|
|
from typing import Optional
|
|
from typing import Optional
|
|
from utils.StripTagsHTMLParser import *
|
|
from utils.StripTagsHTMLParser import *
|
|
-from common.db import db_event_management, db_user, db_area, db_emergency_plan, db_msg_center
|
|
|
|
|
|
+from common.db import db_event_management, db_user, db_area, db_emergency_plan, db_msg_center, db_yzy
|
|
from common.security import valid_access_token
|
|
from common.security import valid_access_token
|
|
import traceback
|
|
import traceback
|
|
from utils import *
|
|
from utils import *
|
|
@@ -76,17 +76,46 @@ async def create_event(
|
|
db.add(event_tracking)
|
|
db.add(event_tracking)
|
|
db.commit()
|
|
db.commit()
|
|
|
|
|
|
|
|
+ # 发送粤政易事件
|
|
|
|
+ send_yzy_msg(db, event_base, user_id)
|
|
|
|
+
|
|
return {
|
|
return {
|
|
"code": 200,
|
|
"code": 200,
|
|
"msg": "新建事件成功",
|
|
"msg": "新建事件成功",
|
|
"data": eventId
|
|
"data": eventId
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
|
|
except Exception as e:
|
|
except Exception as e:
|
|
db.rollback()
|
|
db.rollback()
|
|
traceback.print_exc()
|
|
traceback.print_exc()
|
|
raise HTTPException(status_code=500, detail=f"Internal server error: {str(e)}")
|
|
raise HTTPException(status_code=500, detail=f"Internal server error: {str(e)}")
|
|
|
|
|
|
|
|
+
|
|
|
|
+# 发送粤政易消息
|
|
|
|
+def send_yzy_msg(db: Session, event_base: EventBase, user_id: int) -> None:
|
|
|
|
+ to_user_id = event_base.recorded_by
|
|
|
|
+ user_info = db_user.get_user_info(db, to_user_id)
|
|
|
|
+ yzy_account = user_info.yzy_account
|
|
|
|
+ yzy_userid = db_yzy.get_userid_by_account(db, yzy_account)
|
|
|
|
+ create_time = get_datetime_str(event_base.event_time)
|
|
|
|
+ detail_url = "{}{}{}".format(settings.YZY_WEB_ROOT, "/yjxp/#/event/detail?event_id=", event_base.event_code)
|
|
|
|
+
|
|
|
|
+ description = "事件名称: " + event_base.event_title + "\n事件等级:" + create_time + "\n事发地点: " + event_base.address
|
|
|
|
+ data = {
|
|
|
|
+ "yzy_userid": yzy_userid,
|
|
|
|
+ "mobile": yzy_account,
|
|
|
|
+ "content": description,
|
|
|
|
+ "recorded_by": user_id,
|
|
|
|
+ "detail_url": detail_url,
|
|
|
|
+ "foreign_key": event_base.id,
|
|
|
|
+ "from_scenario": "event_base",
|
|
|
|
+ "title": "事件接报"
|
|
|
|
+ }
|
|
|
|
+ YzyApi.add_to_msg_queue(db, data)
|
|
|
|
+
|
|
|
|
+ db_msg_center.add_msg(db, "事件管理", event_base.id, to_user_id)
|
|
|
|
+
|
|
@router.get('/list')
|
|
@router.get('/list')
|
|
async def get_event_list(
|
|
async def get_event_list(
|
|
event_type: str = Query('', description='事件类型的字典键值'),
|
|
event_type: str = Query('', description='事件类型的字典键值'),
|
|
@@ -937,7 +966,8 @@ async def send_emergency_plan_task_by_yzy(
|
|
|
|
|
|
description = "预案名称: " + plan_name + "\n响应级别:" + response_level + "\n消息内容: "+yzy_content
|
|
description = "预案名称: " + plan_name + "\n响应级别:" + response_level + "\n消息内容: "+yzy_content
|
|
redirect_url = "/" # 主页
|
|
redirect_url = "/" # 主页
|
|
- detail_url = YzyApi.format_redirect_url(redirect_url)
|
|
|
|
|
|
+ # detail_url = YzyApi.format_redirect_url(redirect_url)
|
|
|
|
+ detail_url = "{}{}".format(settings.YZY_WEB_ROOT, redirect_url)
|
|
|
|
|
|
send_queue.append({
|
|
send_queue.append({
|
|
"id": event_emergency_notify.id,
|
|
"id": event_emergency_notify.id,
|