فهرست منبع

Merge branch 'dev'

# Conflicts:
#	Controller/SerialNumberController.py
lang 3 سال پیش
والد
کامیت
9e58a0d7b9
1فایلهای تغییر یافته به همراه22 افزوده شده و 10 حذف شده
  1. 22 10
      Controller/SerialNumberController.py

+ 22 - 10
Controller/SerialNumberController.py

@@ -228,13 +228,18 @@ class SerialNumberView(View):
                         }
                         LogModel.objects.create(**log)
                         # 修改其他数据库的序列号使用状态为已占用
-                        company_serial_id = company_serial.id
-                        data = {'company_serial_id': company_serial_id, 'status': 3}
+                        data = {'serial': serial, 'status': 3}
                         if SERVER_TYPE == 'Ansjer.us_config.formal_settings':
                             url = '{}serialNumber/changeSerialNumberStatus'.format(SERVER_DOMAIN_CN)
                         elif SERVER_TYPE == 'Ansjer.cn_config.formal_settings':
                             url = '{}serialNumber/changeSerialNumberStatus'.format(SERVER_DOMAIN_US)
-                        requests.post(url=url, data=data, timeout=2)
+                        req_res = requests.post(url=url, data=data, timeout=2)
+                        if req_res.status_code != 200:
+                            raise RuntimeError('请求修改序列号状态发生异常')
+                        req_res = req_res.json()
+                        if req_res['result_code'] != 0:
+                            raise RuntimeError('请求修改序列号状态发生异常')
+
                         return response.json(0, res)
 
                     return response.json(5)
@@ -337,13 +342,17 @@ class SerialNumberView(View):
                             up_qs.delete()
 
                     # 修改其他数据库的序列号使用状态为已使用
-                    company_serial_id = company_serial_qs.id
-                    data = {'company_serial_id': company_serial_id, 'status': 1}
+                    data = {'serial': serial, 'status': 1}
                     if SERVER_TYPE == 'Ansjer.us_config.formal_settings':
                         url = '{}serialNumber/changeSerialNumberStatus'.format(SERVER_DOMAIN_CN)
                     elif SERVER_TYPE == 'Ansjer.cn_config.formal_settings':
                         url = '{}serialNumber/changeSerialNumberStatus'.format(SERVER_DOMAIN_US)
-                    requests.post(url=url, data=data, timeout=2)
+                    req_res = requests.post(url=url, data=data, timeout=2)
+                    if req_res.status_code != 200:
+                        raise RuntimeError('请求修改序列号状态发生异常')
+                    req_res = req_res.json()
+                    if req_res['result_code'] != 0:
+                        raise RuntimeError('请求修改序列号状态发生异常')
 
                 UIDModel.objects.filter(uid=uid).update(status=0, mac='')    # 重置uid的使用状态为未分配
                 uid_serial.delete()
@@ -387,15 +396,18 @@ class SerialNumberView(View):
 
     # 序列号绑定和解绑uid时修改其他数据库序列号的使用状态
     def changeSerialNumberStatus(self, request_dict, response):
-        company_serial_id = request_dict.get('company_serial_id', None)
+        serial = request_dict.get('serial', None)
         status = request_dict.get('status', None)
-        if not all([company_serial_id, status]):
+        if not all([serial, status]):
             return response(444)
 
         try:
             # 更新CompanySerialModel表的序列号使用状态
-            CompanySerialModel.objects.filter(id=company_serial_id).update(status=int(status))
-            return response.json(0)
+            update = CompanySerialModel.objects.filter(serial_number=serial).update(status=int(status))
+            if update:
+                return response.json(0)
+            else:
+                return response.json(176)
         except Exception as e:
             djangoLogger = logging.getLogger('django')
             djangoLogger.exception(repr(e))