Bläddra i källkod

优化同步uid数据增加判断

zhangdongming 2 år sedan
förälder
incheckning
2beb6b3074
1 ändrade filer med 14 tillägg och 3 borttagningar
  1. 14 3
      Controller/SerialNumberController.py

+ 14 - 3
Controller/SerialNumberController.py

@@ -397,7 +397,7 @@ class SerialNumberView(View):
                 log['operation'] = operation
                 LogModel.objects.create(**log)
                 return {}
-            # 解析从国内获取的UID数据
+            # 解析从其它服获取的UID数据
             uid_info = results['result']['uidInfo']
             if uid_info:
                 if uid_info['p2p_type'] == 1:  # 尚云UID不进行同步只进行 邮寄警报
@@ -406,9 +406,20 @@ class SerialNumberView(View):
                     send_email.faEmail(email_content, 'servers@ansjer.com')
                 else:
                     # 同步UID数据
-                    uid_vo = UIDModel.objects.create(**uid_info)
+                    uid_id = ''
+                    uid_qs = UIDModel.objects.filter(uid=uid_info['uid'])
+                    if uid_qs.exists():
+                        if uid_qs.first().status == 2:  # 判断uid是否被使用
+                            email_content = '{}序列号已占用且{}已被使用:{}'.format(CONFIG_INFO, uid_info['uid'], serial)
+                            send_email.faEmail(email_content, 'servers@ansjer.com')
+                            return {}
+                        else:
+                            uid_qs.update(status=2, update_time=now_time)
+                            uid_id = uid_qs.first().id
+                    if not uid_id:
+                        uid_id = UIDModel.objects.create(**uid_info).id
                     # 企业序列号关联 uid
-                    UIDCompanySerialModel.objects.create(uid_id=uid_vo.id, company_serial_id=company_serial_id,
+                    UIDCompanySerialModel.objects.create(uid_id=uid_id, company_serial_id=company_serial_id,
                                                          add_time=now_time, update_time=now_time)
                     # 成功后 修改企业序列号状态为2(已分配)
                     CompanySerialModel.objects.filter(id=company_serial_id) \