Преглед на файлове

被同步数据的uid状态修改为"数据被同步",序列号解绑uid只更新状态为"已使用"为"未使用"

locky преди 1 година
родител
ревизия
7739fec84b
променени са 4 файла, в които са добавени 15 реда и са изтрити 7 реда
  1. 1 1
      AdminController/DeviceManagementController.py
  2. 6 2
      AdminController/SerialManageController.py
  3. 7 3
      Controller/SerialNumberController.py
  4. 1 1
      Model/models.py

+ 1 - 1
AdminController/DeviceManagementController.py

@@ -445,7 +445,7 @@ class DeviceManagement(View):
                 # 上传序列号文件且选中序列号解绑uid
                 if serialNumberList is not None and '序列号解绑uid' in delDataOptions:
                     # 解绑uid数据
-                    UIDModel.objects.filter(uid__in=uidList).update(status=0)
+                    UIDModel.objects.filter(uid__in=uidList, status=2).update(status=0)
                     UIDCompanySerialModel.objects.filter(uid__uid__in=uidList).delete()
                     CompanySerialModel.objects.filter(serial_number__in=serial_number_list).update(status=1)
                     UidPushModel.objects.filter(uid_set__uid__in=uidList).delete()

+ 6 - 2
AdminController/SerialManageController.py

@@ -319,8 +319,10 @@ class SerialView(View):
             if not uid_company_serial_qs.exists():
                 return response.json(173)
 
+            uid = uid_company_serial_qs[0]['uid__uid']
+
             res_data = {
-                'uid': uid_company_serial_qs[0]['uid__uid'],
+                'uid': uid,
                 'mac': uid_company_serial_qs[0]['uid__mac'],
                 'uid_extra': uid_company_serial_qs[0]['uid__uid_extra'],
                 'status': uid_company_serial_qs[0]['uid__status'],
@@ -349,8 +351,10 @@ class SerialView(View):
                 res_data['endpoint'] = iot_device_info_qs[0]['endpoint']
                 res_data['token_iot_number'] = iot_device_info_qs[0]['token_iot_number']
 
-            # 修改序列号状态为占用
+            # 修改序列号状态为占用,uid状态为3(数据被同步)
             CompanySerialModel.objects.filter(serial_number=serial).update(status=3)
+            UIDModel.objects.filter(uid=uid).update(status=3)
+
             return response.json(0, {'res_data': res_data})
         except Exception as e:
             return response.json(500, 'error_line:{}, error_msg:{}'.format(e.__traceback__.tb_lineno, repr(e)))

+ 7 - 3
Controller/SerialNumberController.py

@@ -296,7 +296,11 @@ class SerialNumberView(View):
                         'uid__init_string', 'uid__init_string_app')
             uid_info = {}
             if uid_company_qs.exists():
-                uid_info['uid'] = uid_company_qs[0]['uid__uid']
+                # 更新被同步数据的uid的状态为3(数据被同步)
+                uid = uid_company_qs[0]['uid__uid']
+                UIDModel.objects.filter(uid=uid).update(status=3)
+
+                uid_info['uid'] = uid
                 uid_info['mac'] = uid_company_qs[0]['uid__mac']
                 uid_info['uid_extra'] = uid_company_qs[0]['uid__uid_extra']
                 uid_info['status'] = uid_company_qs[0]['uid__status']
@@ -554,8 +558,8 @@ class SerialNumberView(View):
                 else:
                     redisObj.rpush(RESET_REGION_ID_SERIAL_REDIS_LIST, serial)
 
-                # 重置uid的使用状态为未使用,更新时间
-                UIDModel.objects.filter(uid=uid).update(status=0, mac='', update_time=now_time)
+                # 重置已使用的uid的使用状态为未使用,更新时间
+                UIDModel.objects.filter(uid=uid, status=2).update(status=0, mac='', update_time=now_time)
                 uid_serial.delete()
 
                 # 记录操作日志

+ 1 - 1
Model/models.py

@@ -2638,7 +2638,7 @@ class UIDModel(models.Model):
     uid = models.CharField(max_length=20, null=False, db_index=True, unique=True, verbose_name='设备id')
     mac = models.CharField(max_length=17, null=True, default='', verbose_name='设备id对应的mac地址')
     uid_extra = models.TextField(default='', verbose_name='uid的额外描述')
-    status = models.SmallIntegerField(default=0, verbose_name='使用状态')  # 0:未使用, 2:已使用
+    status = models.SmallIntegerField(default=0, verbose_name='使用状态')  # 0:未使用, 2:已使用, 3:数据被同步
     add_time = models.IntegerField(default=0, verbose_name='添加时间')
     update_time = models.IntegerField(default=0, verbose_name='更新时间')
     area = models.SmallIntegerField(default=0, verbose_name='区域')  # 0:国内, 1:国外