libushang 2 روز پیش
والد
کامیت
1a7ca542b2
5فایلهای تغییر یافته به همراه21 افزوده شده و 19 حذف شده
  1. 3 6
      .env
  2. 4 4
      common/YzyApi.py
  3. 2 2
      config.py
  4. 2 2
      jobs/__init__.py
  5. 10 5
      jobs/yzy_job.py

+ 3 - 6
.env

@@ -46,7 +46,6 @@ STAGE_YJHTGL_WEB_ROOT_PATH = "http://19.155.220.206:8086/yjzp/#"
 # STAGE_YJHTGL_WEB_ROOT_PATH = "http://10.181.7.235:8086/yjzp/#"
 
 # 小屏地址
-# STAGE_YJXP_WEB_ROOT_PATH = "http://19.155.220.206:8086/yjxp/#"
 STAGE_YJXP_WEB_ROOT_PATH = "http://120.241.74.139:8086/yjxp/#"
 
 # 粤政易APP回调地址(域名和端口不能随便改,申请时定下来)
@@ -64,7 +63,7 @@ PROD_MYSQL_DB_NAME = 'mmyjhd'
 PROD_MYSQL_PORT = '3306'
 
 # 粤政易
-PROD_YZH_PASSID = 'yzy_mmzhyj'
+PROD_YZY_PASSID = 'yzy_mmzhyj'
 PROD_YZY_PASSTOKEN = 'y5bka6mgbMsQIzAyER4jNnvDrFDhNe23'
 PROD_YZY_CORPSECRET = 'Xgv9WvfmsjWSEgxoaYdPB2QDMtZqFKqzIilv37VFNuM'
 PROD_YZY_CORPID = 'wl2bee594e73'
@@ -80,11 +79,9 @@ PROD_YJHTGL_WEB_ROOT_PATH = "http://19.155.220.228:8086/yjzp/#"
 # STAGE_YJHTGL_WEB_ROOT_PATH = "http://10.181.7.235:8086/yjzp/#"
 
 # 小屏地址
-# STAGE_YJXP_WEB_ROOT_PATH = "http://19.155.220.228:8086/yjxp/#"
-PROD_YJXP_WEB_ROOT_PATH = "http://120.241.74.139:8086/yjxp/#"
+PROD_YJXP_WEB_ROOT_PATH = "https://yjxp.mmsyjj.cn: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 = "https://yjxp.mmsyjj.cn:8086/yzy/callback"
 
 PROD_YZY_WEB_ROOT = "https://yjxp.mmsyjj.cn:8086"

+ 4 - 4
common/YzyApi.py

@@ -50,15 +50,15 @@ def __get_access_token():
         result = response.json()
         errcode = int(result['errcode'])
         if errcode == 0:
-            return result['access_token']
+            return (result['access_token'], result['expires_in'])
         else:
             raise YzyException(errcode=errcode, errmsg=result['errmsg'])
 
 def get_cache_access_token():
     access_token = redis_get(YZY_ACCESS_TOKEN_REDIS_KEY)
     if access_token is None:
-        access_token = __get_access_token()
-        redis_set_with_time(YZY_ACCESS_TOKEN_REDIS_KEY, access_token, 3600)
+        access_token, expires_in = __get_access_token()
+        redis_set_with_time(YZY_ACCESS_TOKEN_REDIS_KEY, access_token, expires_in - 600)
     
     return access_token
 
@@ -111,7 +111,7 @@ def __post_url__(url, data):
     
     timestamp = str(int(time.time()))
     nonce = ranstr(20)
-    signature = calcResponseSign(timestamp, YZY_PASSTOKEN, nonce)
+    signature = calcResponseSign(timestamp, settings.YZY_PASSTOKEN, nonce)
 
     headers = {
         'Content-Type': 'application/json;charset=UTF-8',

+ 2 - 2
config.py

@@ -48,7 +48,7 @@ class Settings(BaseSettings):
     YST_PASS_TOKEN = "lYPHgL5z4B2qdzr9Y07uIaQ2ucYb7thX"
 
     # 粤政易
-    YZH_PASSID = ''
+    YZY_PASSID = ''
     YZY_PASSTOKEN = ''
     YZY_CORPSECRET = ''
     YZY_CORPID = ''
@@ -107,7 +107,7 @@ class ProdConfig(Settings):
     YZY_WEB_ROOT: Optional[str] = Field(..., env="PROD_YZY_WEB_ROOT")
 
     # 粤政易
-    YZH_PASSID: Optional[str] = Field(..., env="PROD_YZH_PASSID")
+    YZY_PASSID: Optional[str] = Field(..., env="PROD_YZY_PASSID")
     YZY_PASSTOKEN: Optional[str] = Field(..., env="PROD_YZY_PASSTOKEN")
     YZY_CORPSECRET: Optional[str] = Field(..., env="PROD_YZY_CORPSECRET")
     YZY_CORPID: Optional[str] = Field(..., env="PROD_YZY_CORPID")

+ 2 - 2
jobs/__init__.py

@@ -17,8 +17,8 @@ from .sign_data_job import sign_data_proc
 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_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(rainfall_proc, CronTrigger.from_crontab('0 10 * * *'))

+ 10 - 5
jobs/yzy_job.py

@@ -13,17 +13,22 @@ from config import settings
 import traceback
 
 def proc():
-    if settings.IS_DEV:
+    if settings.IS_PROD == False:
         return
     
+    YzyApi.get_cache_access_token()
+
+    
     lock_key = "yzy_job_proc"
     if redis_lock(lock_key):
         logger.info(datetime.now())
 
-        '''
-        redirect_url = "{}/leader/index".format(settings.YJXP_WEB_ROOT_PATH) # 业务页面
-        detail_url = YzyApi.format_redirect_url(redirect_url)
+        detail_url = "{}/leader/index".format(settings.YJXP_WEB_ROOT_PATH)
         
+        yzy_user_id = "etk4130970pjg84tgrhapo"
+        description = "预案名称: 茂名市自然灾害救助应急预案\n响应级别: Ⅰ级响应\n消息内容: 单位您好!《茂名市自然灾害救助应急预案》现已全面启动,特此通知您单位迅速响应,全力做好预案工作要点:负责救灾工作宣传报道协调工作。"
+        YzyApi.send_textcard_message(yzy_user_id, "预案响应消息", description, detail_url)
+        '''
         yzy_user_id = "eb4kehgy6wj4qn0jhx1dk6"  # 暂时写死梦梅的账号
         description = "预案名称: 茂名市自然灾害救助应急预案\n响应级别: Ⅰ级响应\n消息内容: 单位您好!《茂名市自然灾害救助应急预案》现已全面启动,特此通知您单位迅速响应,全力做好预案工作要点:负责救灾工作宣传报道协调工作。"
         # ret = YzyApi.send_textcard_message(yzy_user_id, "预案响应消息", description, detail_url)
@@ -48,7 +53,7 @@ def proc():
         redis_unlock(lock_key)
 
 def yzy_msg_queue_proc(db = get_local_db()):
-    if settings.IS_DEV:
+    if settings.IS_PROD == False:
         return
     
     lock_key = "yzy_msg_queue_job"