|
@@ -15,7 +15,7 @@ from Controller.UnicomCombo.UnicomComboController import UnicomComboView
|
|
|
from Model.models import SerialNumberModel, CompanySerialModel, UIDCompanySerialModel, UIDModel, Device_Info, \
|
|
|
iotdeviceInfoModel, LogModel, UidSetModel, UID_Bucket, \
|
|
|
Unused_Uid_Meal, Order_Model, StsCrdModel, VodHlsModel, ExperienceContextModel, UidUserModel, ExperienceAiModel, \
|
|
|
- AiService, DeviceDomainRegionModel, RegionModel, UidPushModel
|
|
|
+ AiService, DeviceDomainRegionModel, RegionModel, UidPushModel, AppScannedSerial
|
|
|
from Object.AWS.S3Email import S3Email
|
|
|
from Object.RedisObject import RedisObject
|
|
|
from Object.TokenObject import TokenObject
|
|
@@ -134,6 +134,13 @@ class SerialNumberView(View):
|
|
|
unused_serial_redis_list = [str(i, 'utf-8') for i in unused_serial_redis_list]
|
|
|
if serial in unused_serial_redis_list:
|
|
|
return response.json(5)
|
|
|
+
|
|
|
+ # 查询app是否已扫码,未扫码不能进行绑定
|
|
|
+ app_scanned_serial_qs = AppScannedSerial.objects.filter(serial=serial)
|
|
|
+ if not app_scanned_serial_qs.exists():
|
|
|
+ LOGGER.info(f'{serial}当前序列号未进行APP扫码')
|
|
|
+ return response.json(5)
|
|
|
+
|
|
|
# 判断序列号是否已和企业关联
|
|
|
company_serial_qs = CompanySerialModel.objects.filter(company__secret=company_secret, serial_number=serial)
|
|
|
if not company_serial_qs.exists():
|
|
@@ -579,6 +586,9 @@ class SerialNumberView(View):
|
|
|
UIDModel.objects.filter(uid=uid, status=2).update(status=0, mac='', update_time=now_time)
|
|
|
uid_serial.delete()
|
|
|
|
|
|
+ # 重置扫码记录
|
|
|
+ AppScannedSerial.objects.filter(serial=serial).delete()
|
|
|
+
|
|
|
# 记录操作日志
|
|
|
ip = CommonService.get_ip_address(request)
|
|
|
content = json.loads(json.dumps(request_dict))
|
|
@@ -639,6 +649,20 @@ class SerialNumberView(View):
|
|
|
company_serial = company_serial_qs[0]
|
|
|
|
|
|
try:
|
|
|
+ # 添加或更新扫码记录
|
|
|
+ ip = CommonService.get_ip_address(request)
|
|
|
+ data = {
|
|
|
+ 'ip': ip,
|
|
|
+ 'update_time': now_time
|
|
|
+ }
|
|
|
+ app_scanned_serial_qs = AppScannedSerial.objects.filter(serial=serial)
|
|
|
+ if app_scanned_serial_qs.exists():
|
|
|
+ app_scanned_serial_qs.update(**data)
|
|
|
+ else:
|
|
|
+ data['serial'] = serial
|
|
|
+ data['add_time'] = now_time
|
|
|
+ AppScannedSerial.objects.create(**data)
|
|
|
+
|
|
|
if company_serial.status == 0 or company_serial.status == 1: # 未使用
|
|
|
UnicomComboView().is_4g_device(serial_number, request_dict, request)
|
|
|
return response.json(173)
|