libushang před 1 dnem
rodič
revize
b4b4d86a96

+ 2 - 1
jobs/__init__.py

@@ -19,7 +19,8 @@ from .yst_job import daiban_proc as yst_daiban_proc
 def register_jobs(scheduler: BaseScheduler):
     scheduler.add_job(yzy_proc, next_run_time=(datetime.now() + timedelta(seconds=3)))
     scheduler.add_job(yzy_proc, CronTrigger.from_crontab('0 */5 * * *'))
-    # scheduler.add_job(yzy_msg_queue_proc, CronTrigger.from_crontab('* * * * *'))
+    
+    scheduler.add_job(yzy_msg_queue_proc, CronTrigger.from_crontab('* * * * *'))
 
     # 粤政易组织架构同步
     scheduler.add_job(yzy_unit_queue_proc, next_run_time=(datetime.now() + timedelta(seconds=3)))

+ 28 - 24
jobs/yzy_job.py

@@ -54,34 +54,38 @@ def proc():
         '''
         redis_unlock(lock_key)
 
-def yzy_msg_queue_proc(db = get_local_db()):
+def yzy_msg_queue_proc():
+    print('yzy_msg_queue_proc ')
     if settings.IS_PROD == False:
         return
     
-    lock_key = "yzy_msg_queue_job"
-    if redis_lock(lock_key):
-        logger.info(datetime.now())
+    with get_local_db() as db:
+        print('yzy_msg_queue_proc starting...')
+        lock_key = "yzy_msg_queue_job"
+        if redis_lock(lock_key):
+            logger.info(datetime.now())
 
-        rows = db.query(YzyMsgQueue).filter(YzyMsgQueue.sent_status == 0).limit(20).all()
-        for row in rows:
-            try:
-                resp = YzyApi.send_textcard_message(row.yzy_userid, row.title, row.content, row.detail_url)
-                logger.info(resp)
-                row.sent_time = datetime.now()
-                if resp['errcode'] == 0:
-                    row.sent_status = 1
+            rows = db.query(YzyMsgQueue).filter(YzyMsgQueue.sent_status == 0).limit(20).all()
+            for row in rows:
+                try:
+                    resp = YzyApi.send_textcard_message(row.yzy_userid, row.title, row.content, row.detail_url)
+                    logger.info(resp)
+                    row.sent_time = datetime.now()
+                    if resp['errcode'] == 0:
+                        row.sent_status = 1
 
-                    if 'jobid' not in resp:
-                        resp['jobid'] = ''
-                    row.errmsg = resp['jobid']
-                else:
-                    row.sent_status = 9
-                    row.errmsg = resp['errmsg']
-                db.commit()
-            except Exception as e:
-                traceback.print_exc()
+                        if 'jobid' not in resp:
+                            resp['jobid'] = ''
+                        row.errmsg = resp['jobid']
+                    else:
+                        row.sent_status = 9
+                        row.errmsg = resp['errmsg']
+                    db.commit()
+                except Exception as e:
+                    traceback.print_exc()
 
-        redis_unlock(lock_key)
+            redis_unlock(lock_key)
+        print('yzy_msg_queue_proc end.')
 
 def yzy_unit_queue_proc():
     if settings.IS_PROD == False:
@@ -98,7 +102,7 @@ def yzy_unit_queue_proc():
         # 这个看起来没用
         # YzyApi.getauthorizedusersbyupdatetime(starttime, endtime)
         
-        YzyApi.getappusersbyupdatetime(starttime, endtime)
+        result = YzyApi.getappusersbyupdatetime(starttime, endtime)
         
         '''
         result = {
@@ -184,7 +188,7 @@ def yzy_unit_queue_proc():
                     "unitid": unitid,
                     "position": position,
                     "priority": priority,
-                    "order": order,
+                    "order_num": order,
                     "unitpath": unitpath
                 }
 

+ 1 - 1
main.py

@@ -61,7 +61,7 @@ def app_startup():
 
         try:
             from common.enc import mpfun
-            print(mpfun.enc_data('test2'))
+            print(mpfun.enc_data('15800158000'))
         except Exception as e:
             print(str(e))
 

+ 1 - 1
models/yzy_base.py

@@ -51,7 +51,7 @@ class YzyOrgUserEntity(Base):
     position = Column(String)
     priority = Column(Integer)
     unitpath = Column(String)
-    order = Column(Integer)
+    order_num = Column(Integer)
 
     class Config:
         orm_mode = True

+ 6 - 4
routers/api/eventManagement/event.py

@@ -1009,9 +1009,11 @@ async def send_emergency_plan_task_by_yzy(
         if yzy_user_row is None:
             user_row = db.query(SysUser).filter(and_(SysUser.del_flag == '0', SysUser.phonenumber == yue_gov_ease_phone)).first()
             if user_row is None:
-                logger.info("没用匹配的粤政易用户: {}", mobile)
+                logger.error("没有匹配的粤政易用户: {}", mobile)
                 continue
             else:
+                logger.info("匹配粤政易用户: {}", mobile, user_row.yzy_account)
+                _user_id = user_row.user_id
                 yzy_user_id = user_row.yzy_account
         else:
             yzy_user_id = yzy_user_row.userid
@@ -1037,12 +1039,12 @@ async def send_emergency_plan_task_by_yzy(
         db.commit()
         db.refresh(event_emergency_notify)
 
-        description = "事件名称: " + event_row.event_title + "\n事件等级:" + db_dict.get_dict_label(db, "mm_event_level", event_info.event_level) + "\n事发地点: " + event_row.address
-        db_msg_center.add_message(db, "事件接报", _user_id, "事件接报提醒", description, event_row.event_code, 'event_base')
+        description = "事件名称: " + event_row.event_title + "\n事件等级:" + db_dict.get_dict_label(db, "mm_event_level", event_row.event_level) + "\n事发地点: " + event_row.address
+        db_msg_center.add_message(db, "事件接报", _user_id, event_row.event_title, description, event_row.event_code, 'event_base')
 
         # 发送粤政易消息
         detail_url = "{}{}{}".format(settings.YZY_WEB_ROOT, "/yjxp/#/event/detail?event_id=", eventId)
-        description = "预案名称: " + plan_name + "\n响应级别:" + response_level + "\n消息内容: "+yzy_content
+        description = "预案名称: " + plan_name + "\n响应级别: " + response_level + "\n消息内容: "+yzy_content
         data = {
             "yzy_userid": yzy_user_id,
             "mobile": mobile,

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

@@ -223,7 +223,7 @@ async def get_center_list(
 
                     detail = {
                         "title": row.title,
-                        "event_id": row.event_id,
+                        "event_id": event_id,
                         "organizing_unit": plan_info.organizing_unit, # 发布单位
                         "plan_name": plan_name, # 预案名称
                         "response_level": response_level, # 相应级别
@@ -244,6 +244,7 @@ async def get_center_list(
                     }
                 except:
                     traceback.print_exc()
+                    continue
 
             elif row.msg_type == '事件接报':
                 try:

+ 2 - 2
routers/prod_api/auth.py

@@ -283,8 +283,8 @@ async def yzy(
     yzy_account = row.account
     '''
     
-    where = or_(SysUser.yzy_account == user_id, SysUser.yzy_account == mpfun.enc_data(user_id))
-    row = db.query(SysUser).filter(SysUser.yzy_account == where).first()
+    where = and_(SysUser.del_flag == '0', SysUser.yzy_account == user_id)
+    row = db.query(SysUser).filter(where).first()
     if row is None:
         return {
             "code": 500,