libushang пре 6 месеци
родитељ
комит
bf47854ce8
2 измењених фајлова са 38 додато и 8 уклоњено
  1. 6 6
      routers/api/eventManagement/checkin.py
  2. 32 2
      routers/api/eventManagement/event.py

+ 6 - 6
routers/api/eventManagement/checkin.py

@@ -37,11 +37,8 @@ async def get_qrcode(
     print('url:', url)
     url = url.replace("qrcode", "qrcode2") + "&r="+rnd()
 
-    if settings.IS_STAGE:
-        # 120.241.74.139
-        url = url.replace(request.url.hostname, "yjdev.tjp.com.cn:8086")
-        # url = url.replace(request.url.hostname, "19.155.220.206:8086")
-    #    logger.info('替换到互联网ip: {}', url)   
+    url = url.replace(request.url.hostname, settings.YZY_WEB_ROOT)
+    logger.info('替换到互联网ip: {}', url)   
 
     qr = qrcode.QRCode(
         version=1,
@@ -65,7 +62,8 @@ async def get_qrcode2(
     db: Session = Depends(get_db)
 ):    
     print('user_agent:', user_agent)
-    redirect_url = "/signPage?event_id={}".format(event_id) # 业务页面
+    redirect_url = "/yjxp/#/signPage?event_id={}".format(event_id) # 业务页面
+    '''
     if "wxworklocal" in user_agent:
         logger.info("redirect_url: {}", redirect_url)
         # qrcode_str = f"http://19.155.220.209/api/event_management/event?event_id={event_id}"
@@ -73,6 +71,8 @@ async def get_qrcode2(
     else:
         # 120.241.74.139
         detail_url = "http://yjdev.tjp.com.cn:8086/yjxp/#" + redirect_url
+    '''
+    detail_url = "{}{}".format(settings.YZY_WEB_ROOT, redirect_url)
 
     return RedirectResponse(detail_url)
 

+ 32 - 2
routers/api/eventManagement/event.py

@@ -11,7 +11,7 @@ import random
 from sqlalchemy import create_engine, select
 from typing import Optional
 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
 import traceback
 from utils import *
@@ -76,17 +76,46 @@ async def create_event(
         db.add(event_tracking)
         db.commit()
 
+        # 发送粤政易事件
+        send_yzy_msg(db, event_base, user_id)
+        
         return {
             "code": 200,
             "msg": "新建事件成功",
             "data": eventId
         }
+    
         
     except Exception as e:
         db.rollback()
         traceback.print_exc()
         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')
 async def get_event_list(
     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
         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({
             "id": event_emergency_notify.id,