|
@@ -14,7 +14,9 @@ from database import get_db
|
|
|
from pydantic import BaseModel
|
|
|
from utils import *
|
|
|
import copy
|
|
|
-from common.db import db_event_management, db_user
|
|
|
+from config import settings
|
|
|
+from common import YzyApi
|
|
|
+from common.db import db_event_management, db_user, db_msg_center, db_yzy, db_dept
|
|
|
|
|
|
router = APIRouter()
|
|
|
|
|
@@ -35,6 +37,9 @@ async def create_task(
|
|
|
event_code = db.query(EventBase).filter(EventBase.event_code == body.get('event_code')).first()
|
|
|
if not event_code:
|
|
|
return Response(content="事件不存在", status_code=400)
|
|
|
+
|
|
|
+ unit_id = db_dept.get_dept_id_by_name(db, body['unit_name'])
|
|
|
+
|
|
|
task_id = db_task.get_next_event_id(db)
|
|
|
|
|
|
imgList = []
|
|
@@ -45,11 +50,12 @@ async def create_task(
|
|
|
fileList = []
|
|
|
if 'fileList' in body:
|
|
|
fileList = body['fileList']
|
|
|
- del body['fileList']
|
|
|
+ del body['fileList']
|
|
|
|
|
|
task_base = TaskRegistration(
|
|
|
**body,
|
|
|
task_id = task_id,
|
|
|
+ unit_id = unit_id,
|
|
|
registrar_id = user_id
|
|
|
)
|
|
|
db.add(task_base)
|
|
@@ -86,6 +92,9 @@ async def create_task(
|
|
|
db.add(new_file)
|
|
|
db.commit()
|
|
|
|
|
|
+ # 发送粤政易消息
|
|
|
+ send_yzy_msg(db, task_base, user_id)
|
|
|
+
|
|
|
return {
|
|
|
"code": 200,
|
|
|
"msg": "任务创建成功",
|
|
@@ -97,6 +106,30 @@ async def create_task(
|
|
|
traceback.print_exc()
|
|
|
raise HTTPException(status_code=500, detail=f"Internal server error: {str(e)}")
|
|
|
|
|
|
+# 发送粤政易消息
|
|
|
+def send_yzy_msg(db: Session, task_base: TaskRegistration, user_id: int) -> None:
|
|
|
+ to_user_id = task_base.executor_id
|
|
|
+ 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)
|
|
|
+ event_title = db_event_management.get_event_title(db, task_base.event_code)
|
|
|
+ create_time = get_datetime_str(task_base.creation_time)
|
|
|
+ detail_url = "{}{}".format(settings.YZY_WEB_ROOT, "/yjxp/")
|
|
|
+
|
|
|
+ description = "事件名称: " + event_title + "\n发布时间:" + create_time + "\n任务内容: "+task_base.task_description
|
|
|
+ data = {
|
|
|
+ "yzy_userid": yzy_userid,
|
|
|
+ "mobile": yzy_account,
|
|
|
+ "content": description,
|
|
|
+ "recorded_by": user_id,
|
|
|
+ "detail_url": detail_url,
|
|
|
+ "foreign_key": task_base.id,
|
|
|
+ "from_scenario": "task_registrations",
|
|
|
+ "title": "事件任务"
|
|
|
+ }
|
|
|
+ YzyApi.add_to_msg_queue(db, data)
|
|
|
+
|
|
|
+ db_msg_center.add_msg(db, "任务消息", task_base.id, task_base.executor_id)
|
|
|
|
|
|
class TaskQuery(BaseModel):
|
|
|
task_id: str = None
|