libushang il y a 4 mois
Parent
commit
aa399c2251

+ 7 - 1
.env

@@ -21,6 +21,8 @@ DEV_YJXP_WEB_ROOT_PATH = "http://127.0.0.1:8086/yjxp/#"
 #粤政易APP回调地址
 DEV_YJXP_CALLBACK_WEB_PATH = "http://19.155.220.206:8086/api/yzy/callback.html"
 
+DEV_YZY_WEB_ROOT = "http://yjdev.tjp.com.cn:8086"
+
 #########################################################################
 # 预发布环境配置
 STAGE_MYSQL_SERVER = '172.26.1.68'
@@ -47,6 +49,8 @@ STAGE_YJXP_WEB_ROOT_PATH = "http://120.241.74.139:8086/yjxp/#"
 STAGE_YJXP_CALLBACK_WEB_PATH = "http://19.155.220.206:8086/api/yzy/callback.html"
 # STAGE_YJXP_CALLBACK_WEB_PATH = "http://120.241.74.139:8086/api/yzy/callback.html"
 
+STAGE_YZY_WEB_ROOT = "http://yjdev.tjp.com.cn:8086"
+
 #########################################################################
 # 生产环境配置
 PROD_MYSQL_SERVER = '172.26.1.88'
@@ -72,4 +76,6 @@ PROD_YJXP_WEB_ROOT_PATH = "http://120.241.74.139:8086/yjxp/#"
 
 # 粤政易APP回调地址(域名和端口不能随便改,申请时定下来)
 # STAGE_YJXP_CALLBACK_WEB_PATH = "http://19.155.220.228:8086/yzy/callback.html"
-PROD_YJXP_CALLBACK_WEB_PATH = "http://120.241.74.139:8086/yzy/callback.html"
+PROD_YJXP_CALLBACK_WEB_PATH = "http://120.241.74.139:8086/yzy/callback.html"
+
+PROD_YZY_WEB_ROOT = "http://yjdev.tjp.com.cn:8086"

+ 3 - 0
config.py

@@ -65,6 +65,7 @@ class DevConfig(Settings):
     YJHTGL_WEB_ROOT_PATH: Optional[str] = Field(..., env="DEV_YJHTGL_WEB_ROOT_PATH")
     YJXP_WEB_ROOT_PATH: Optional[str] = Field(..., env="DEV_YJXP_WEB_ROOT_PATH")
     YJXP_CALLBACK_WEB_PATH: Optional[str] = Field(..., env="DEV_YJXP_CALLBACK_WEB_PATH")
+    YZY_WEB_ROOT: Optional[str] = Field(..., env="DEV_YZY_WEB_ROOT")
 
     HOME_URL = "http://127.0.0.1:8086"
 
@@ -90,6 +91,7 @@ class ProdConfig(Settings):
     YJHTGL_WEB_ROOT_PATH: Optional[str] = Field(..., env="PROD_YJHTGL_WEB_ROOT_PATH")
     YJXP_WEB_ROOT_PATH: Optional[str] = Field(..., env="PROD_YJXP_WEB_ROOT_PATH")
     YJXP_CALLBACK_WEB_PATH: Optional[str] = Field(..., env="PROD_YJXP_CALLBACK_WEB_PATH")
+    YZY_WEB_ROOT: Optional[str] = Field(..., env="PROD_YZY_WEB_ROOT")
 
     # 粤政易
     # YZY_PASS_ID: Optional[str] = Field(..., env="PROD_YZY_PASS_ID")
@@ -121,6 +123,7 @@ class StageConfig(Settings):
     YJHTGL_WEB_ROOT_PATH: Optional[str] = Field(..., env="STAGE_YJHTGL_WEB_ROOT_PATH")
     YJXP_WEB_ROOT_PATH: Optional[str] = Field(..., env="STAGE_YJXP_WEB_ROOT_PATH")
     YJXP_CALLBACK_WEB_PATH: Optional[str] = Field(..., env="STAGE_YJXP_CALLBACK_WEB_PATH")
+    YZY_WEB_ROOT: Optional[str] = Field(..., env="STAGE_YZY_WEB_ROOT")
 
     # 粤政易
     # YZY_PASS_ID: Optional[str] = Field(..., env="STAGE_YZY_PASS_ID")

+ 1 - 0
models/taskRegistration_base.py

@@ -35,6 +35,7 @@ class TaskRegistration(Base):
     contact_phone = Column(String(150), default='', server_default='', comment='')
     complete_time = Column(DateTime, comment='完成时限')
     executor = Column(String(150), default='', server_default='', comment='执行人')
+    executor_id = Column(String, default='0', comment='执行人ID')
     
     # 你可以添加更多的字段和关系,例如与用户模型的外键关系
     # user_id = Column(Integer, ForeignKey('users.id'))

+ 1 - 1
routers/api/infoPublish/__init__.py

@@ -13,4 +13,4 @@ router = APIRouter()
 router.include_router(back.router, prefix="/back", tags=["增删改"])
 router.include_router(addressbook.router, prefix="/addressbook", tags=["通信录"])
 router.include_router(me.router, prefix="/me")
-router.include_router(msg_center.router, prefix="/msg_center")
+router.include_router(msg_center.router, prefix="/msg_center", tags=["消息中心"])

+ 47 - 1
routers/api/infoPublish/msg_center.py

@@ -14,7 +14,7 @@ import os
 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_msg_center
+from common.db import db_event_management, db_user, db_area, db_msg_center, db_yzy
 from common.security import valid_access_token
 import traceback
 from utils import *
@@ -50,3 +50,49 @@ async def msg_count(
         traceback.print_exc()
         raise HTTPException(status_code=500, detail=str(e))
 
+
+
+@router.post("/send_yzy_msg")
+async def send_yzy_msg(request: Request, 
+    body = Depends(remove_xss_json), 
+    db: Session = Depends(get_db),
+    user_id = Depends(valid_access_token)):
+
+    msg_type = body['msg_type']
+    detail_url = body['detail_url']
+    description = body['description']
+    
+    foreign_key = '0'
+    if 'foreign_key' in body:
+        foreign_key = body['foreign_key']
+
+    from_scenario = ''    
+    if 'from_scenario' in body:
+        from_scenario = body['from_scenario']
+    
+    user_list = []
+    tousers = body['tousers']
+    for to_user_id in tousers:
+        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)
+        
+        if yzy_userid not in user_list:
+            data = {
+                "yzy_userid": yzy_userid,
+                "mobile": yzy_account,
+                "content": description,
+                "recorded_by": user_id,
+                "detail_url": settings.YZY_WEB_ROOT + detail_url,
+                "foreign_key": foreign_key,
+                "from_scenario": from_scenario,
+                "title": msg_type
+            }
+            YzyApi.add_to_msg_queue(db, data)
+            db_msg_center.add_msg(db, msg_type, foreign_key, to_user_id)
+            user_list.append(yzy_userid)
+
+    return {
+        "code": 200,
+        "msg": "消息暂存成功"
+    }