|
@@ -684,37 +684,32 @@ class SerialNumberView(View):
|
|
|
user__id=user_id,
|
|
|
serial_number__status=1,
|
|
|
serial_number__use_status=1
|
|
|
- ).select_related('serial_number')[:quantity]
|
|
|
+ ).values('serial_number__serial_number')[:quantity]
|
|
|
|
|
|
# 判断序列号地址是否充足
|
|
|
if len(user_serial_numbers) < quantity:
|
|
|
return response.json(444, '序列号不足')
|
|
|
|
|
|
now_time = int(time.time())
|
|
|
- #需要更新的序列号表
|
|
|
- company_serial_numbers_list = []
|
|
|
- #保存到CSV的数据
|
|
|
+ # 需要更新的序列号表
|
|
|
+ serial_numbers_list = []
|
|
|
+ # 保存到CSV的数据
|
|
|
csv_data = []
|
|
|
- # 收集需要更新的序列号对象
|
|
|
- serials_to_update = []
|
|
|
+
|
|
|
+ mark = ''
|
|
|
+ if company_id == 1:
|
|
|
+ mark = '11A'
|
|
|
+ elif company_id == 2:
|
|
|
+ mark = '11L'
|
|
|
|
|
|
for user_serial in user_serial_numbers:
|
|
|
- serial = user_serial.serial_number
|
|
|
- company_serial_numbers_list.append(serial.serial_number)
|
|
|
+ serial_number = user_serial['serial_number__serial_number']
|
|
|
+ serial_numbers_list.append(serial_number)
|
|
|
next_mac = CommonService.updateMac(mac)
|
|
|
|
|
|
- if company_id == 1:
|
|
|
- csv_serial_number = serial.serial_number + '11A'
|
|
|
- elif company_id == 2:
|
|
|
- csv_serial_number = serial.serial_number + '11L'
|
|
|
- # company_id其余情况不加后缀
|
|
|
- else:
|
|
|
- csv_serial_number = serial.serial_number
|
|
|
-
|
|
|
+ csv_serial_number = serial_number + mark
|
|
|
csv_data.append([next_mac, csv_serial_number])
|
|
|
mac = next_mac
|
|
|
- serial.use_status = 2
|
|
|
- serials_to_update.append(serial)
|
|
|
|
|
|
# 批量写入CSV文件
|
|
|
with open('mac_serial.csv', 'w', newline='') as csvfile:
|
|
@@ -722,11 +717,10 @@ class SerialNumberView(View):
|
|
|
writer.writerow(['MAC', 'SN'])
|
|
|
writer.writerows(csv_data)
|
|
|
|
|
|
- # 批量更新erialNumberModel
|
|
|
- SerialNumberModel.objects.bulk_update(serials_to_update, ['use_status'])
|
|
|
-
|
|
|
- # 更新CompanySerialModel表
|
|
|
- CompanySerialModel.objects.filter(serial_number__in=company_serial_numbers_list)\
|
|
|
+ # 更新SerialNumberModel,CompanySerialModel表
|
|
|
+ SerialNumberModel.objects.filter(serial_number__in=serial_numbers_list) \
|
|
|
+ .update(use_status=2)
|
|
|
+ CompanySerialModel.objects.filter(serial_number__in=serial_numbers_list) \
|
|
|
.update(status=2, update_time=now_time)
|
|
|
next_mac = CommonService.updateMac(mac)
|
|
|
mac_qs.update(value=next_mac, update_time=now_time)
|