فهرست منبع

修复五兴领取体验套餐用户为空报错问题

zhangdongming 2 سال پیش
والد
کامیت
66865a4f62
1فایلهای تغییر یافته به همراه6 افزوده شده و 3 حذف شده
  1. 6 3
      Controller/UnicomCombo/WXTechController.py

+ 6 - 3
Controller/UnicomCombo/WXTechController.py

@@ -65,7 +65,7 @@ class WXTechController(View):
             elif operation == 'getExperiencePackage':
                 return self.get_experience_package(request_dict, response)
             elif operation == 'createOrder':
-                return self.create_order_package(request_dict, response)
+                return self.create_order_package(user_id, request_dict, response)
             elif operation == 'exchangePackage':
                 return self.wx_exchange_package(request_dict, response, request, user_id)
 
@@ -128,6 +128,7 @@ class WXTechController(View):
                 serial_no = request_dict.get('serialNo', None)
                 if not serial_no:
                     return response.json(444)
+                serial_no = serial_no[0:9]
                 # 查询是否注册iccid
                 unicom_device_qs = UnicomDeviceInfo.objects.filter(serial_no=serial_no) \
                     .values('serial_no', 'user_id', 'iccid')
@@ -151,7 +152,7 @@ class WXTechController(View):
                 return response.json(500, 'error_line:{}, error_msg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
 
         @classmethod
-        def create_order_package(cls, request_dict, response):
+        def create_order_package(cls, user_id, request_dict, response):
             """
             五兴电信领取1G15天流量体验包
             """
@@ -161,12 +162,12 @@ class WXTechController(View):
                 operator = request_dict.get('operator', None)
                 if not all([operator, serial_no]):
                     return response.json(444)
+                serial_no = serial_no[0:9]
                 unicom_device_qs = UnicomDeviceInfo.objects.filter(serial_no=serial_no) \
                     .values('serial_no', 'user_id', 'iccid')
                 if not unicom_device_qs.exists():
                     return response.json(173)
                 unicom_device_qs = unicom_device_qs.first()
-                user_id = unicom_device_qs['user_id']
                 iccid = unicom_device_qs['iccid']
                 # 查看是否体验过免费套餐
                 experience_history_qs = UnicomComboExperienceHistory.objects.filter(iccid=iccid)
@@ -183,6 +184,8 @@ class WXTechController(View):
                     experience_history_vo = {'iccid': iccid, 'experience_type': 0, 'do_time': int(time.time())}
                     UnicomComboExperienceHistory.objects.create(**experience_history_vo)
                     order_res = cls.created_order(serial_no, user_id, trade_no, pay_type=10)
+                    UnicomDeviceInfo.objects.filter(serial_no=serial_no) \
+                        .update(user_id=user_id, updated_time=int(time.time()))
                     LOGGER.info('*****系统创建体验订单:{}'.format(order_res))
                     return response.json(0)
                 return response.json(10063)