1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- import time
- from django.views import View
- from Model.models import DeviceScheme
- from Object.RedisObject import RedisObject
- from Service.CommonService import CommonService
- from Ansjer.config import LOGGER
- class IncomeProductsView(View):
- def get(self, request, *args, **kwargs):
- request.encoding = 'utf-8'
- operation = kwargs.get('operation')
- return self.validation(request.GET, request, operation)
- def post(self, request, *args, **kwargs):
- request.encoding = 'utf-8'
- operation = kwargs.get('operation')
- return self.validation(request.POST, request, operation)
- def validation(self, request_dict, request, operation):
- token_code, user_id, response = CommonService.verify_token_get_user_id(request_dict, request)
- if operation == 'income': # 设备关联产品方案
- return self.income_device_scheme(request_dict, response)
- else:
- return response.json(414)
- @staticmethod
- def income_device_scheme(request_dict, response):
- """
- 设备关联产品方案
- @param request_dict:
- @param response:
- @return:
- """
- storage_code = request_dict.get("storageCode", None)
- serial_number = request_dict.get("serialNumber", None)
- device_type = request_dict.get("deviceType", None)
- phone_model = request_dict.get("phoneModel", None)
- if not all([storage_code, serial_number, phone_model, device_type]):
- return response.json(444)
- full_serial_number = serial_number
- serial_number = serial_number[0:9]
- try:
- LOGGER.info(f"设备关联产品方案, storageCode: {storage_code}, serialNumber: {serial_number}")
- device_scheme_qs = DeviceScheme.objects.filter(serial_number=serial_number)
- if device_scheme_qs.exists():
- storage_code = device_scheme_qs.first().storage_code
- LOGGER.info(f"设备关联产品方案, serialNumber已存在, storageCode: {storage_code}, serialNumber: {serial_number}")
- return response.json(173, f"数据已存在, storage_code为: {storage_code}")
- now_time = int(time.time())
- DeviceScheme.objects.create(storage_code=storage_code, serial_number=serial_number,
- full_serial_number=full_serial_number, device_type=device_type,
- phone_model=phone_model, created_time=now_time,
- updated_time=now_time)
- LOGGER.info(f"设备关联产品方案, serialNumber录入成功, storageCode: {storage_code}, serialNumber: {serial_number}")
- return response.json(0)
- except Exception as e:
- print(e)
- return response.json(500, 'error_line:{}, error_msg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
|