libushang 1 주 전
부모
커밋
ee75543ac5
3개의 변경된 파일44개의 추가작업 그리고 3개의 파일을 삭제
  1. 19 0
      jobs/yzy_job.py
  2. 24 2
      models/yzy_base.py
  3. 1 1
      routers/prod_api/auth.py

+ 19 - 0
jobs/yzy_job.py

@@ -84,6 +84,25 @@ def yzy_msg_queue_proc():
                 except Exception as e:
                     traceback.print_exc()
 
+            rows = db.query(YzyMsgQueueSk).filter(YzyMsgQueueSk.sent_status == 0).limit(30).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()
+
             redis_unlock(lock_key)
         print('yzy_msg_queue_proc end.')
 

+ 24 - 2
models/yzy_base.py

@@ -1,8 +1,9 @@
 #!/usr/bin/env python3
 # -*- coding: utf-8 -*-
-from sqlalchemy import String, Column, Integer, Date, DateTime
+from sqlalchemy import String, Column, Integer, Date, DateTime, Text
 from database import Base
 from datetime import datetime
+from sqlalchemy.sql import func
 
 class YzyOrgUnitEntity(Base):
     """
@@ -270,4 +271,25 @@ class YstProcessEntity(Base):
     djsj = Column(Integer, default=0)
     
     class Config:
-        orm_mode = True
+        orm_mode = True
+
+
+
+class YzyMsgQueueSk(Base):
+    """
+    粤政易消息队列(数科)
+    """
+    __tablename__ = "yzy_msg_queue_sk"
+
+    id = Column(Integer, primary_key=True, autoincrement=True)
+    request_id = Column(String, default='', server_default='', comment='消息ID')
+    yzy_userid = Column(String, default='', server_default='', comment='粤政易用户ID')
+    title = Column(String, default='', server_default='', comment='标题')
+    content = Column(Text, default='', server_default='', comment='消息体')
+    detail_url = Column(String, default='', server_default='', comment='跳转URL')
+    create_time = Column(DateTime, server_default=func.now(), comment='数据创建时间')
+    sent_time = Column(String, comment='发送时间')
+    sent_status = Column(Integer, default=0, server_default='0', comment='发送状态 0 待发 1发送中 2 发送成功 9 发送失败')
+    errcode = Column(Integer, default=0, server_default='0', comment='错误代码')
+    errmsg = Column(String, default='', server_default='', comment='错误提示')
+    

+ 1 - 1
routers/prod_api/auth.py

@@ -288,7 +288,7 @@ async def yzy(
     '''
     
     # where = and_(SysUser.del_flag == '0', SysUser.yzy_account == user_id)
-    where = and_(SysUser.del_flag == '0', SysUser.user_name == mpfun.enc_data('admin'))
+    where = and_(SysUser.del_flag == '0', SysUser.user_name == mpfun.enc_data('mmyj_admin'))
     row = db.query(SysUser).filter(where).first()
     if row is None:
         return {