Explorar o código

优化更新序列号状态接口

peng %!s(int64=2) %!d(string=hai) anos
pai
achega
68b33672a8
Modificáronse 1 ficheiros con 26 adicións e 5 borrados
  1. 26 5
      Controller/Cron/CronTaskController.py

+ 26 - 5
Controller/Cron/CronTaskController.py

@@ -348,15 +348,34 @@ class CronUpdateDataView(View):
             'serial_redis_list': serial_redis_list,
             'status': status
         }
+        serial_redis_list = eval(serial_redis_list)
         # 确认域名列表
         orders_domain_name_list = CommonService.get_orders_domain_name_list()
-
+        redis_obj = RedisObject()
         logger = logging.getLogger('info')
         logger.info('---请求更新序列号线程---data:{},orders_domain_name_list:{}'.format(data, orders_domain_name_list))
-
-        for domain_name in orders_domain_name_list:
-            url = '{}cron/update/updateSerialStatus'.format(domain_name)
-            requests.post(url=url, data=data, timeout=2)
+        try:
+            for domain_name in orders_domain_name_list:
+                url = '{}cron/update/updateSerialStatus'.format(domain_name)
+                response = requests.post(url=url, data=data, timeout=2)
+                result = response.json()
+                if result['result_code'] != 0:
+                    if status == 1:
+                        for item in serial_redis_list:
+                            redis_obj.rpush(UNUSED_SERIAL_REDIS_LIST, item)
+                    elif status == 3:
+                        for item in serial_redis_list:
+                            redis_obj.rpush(USED_SERIAL_REDIS_LIST, item)
+                    break
+        except Exception as e:
+            logger.info('---更新序列号状态异常---:{}'.format(repr(e)))
+            print(serial_redis_list)
+            if status == 1:
+                for item in serial_redis_list:
+                    redis_obj.rpush(UNUSED_SERIAL_REDIS_LIST, item)
+            elif status == 3:
+                for item in serial_redis_list:
+                    redis_obj.rpush(USED_SERIAL_REDIS_LIST, item)
 
     @staticmethod
     def updateSerialStatus(request_dict, response):
@@ -376,8 +395,10 @@ class CronUpdateDataView(View):
         try:
             serial_redis_list = eval(serial_redis_list)
             CompanySerialModel.objects.filter(serial_number__in=serial_redis_list).update(status=int(status))
+            return response.json(0)
         except Exception as e:
             logger.info('---更新序列号状态异常---:{}'.format(repr(e)))
+            return response.json(500)
 
 
 class CronCollectDataView(View):