Эх сурвалжийг харах

初始化赠送内置流量增加判断

zhangdongming 3 жил өмнө
parent
commit
ef0181d0bf

+ 10 - 2
Controller/UnicomCombo/UnicomComboController.py

@@ -25,6 +25,7 @@ from Object.UnicomObject import UnicomObjeect
 from Object.utils import LocalDateTimeUtil
 from Object.utils.PayUtil import PayService
 from Service.CommonService import CommonService
+from Object.RedisObject import RedisObject
 
 
 class UnicomComboView(View):
@@ -210,10 +211,12 @@ class UnicomComboView(View):
             if not CommonService.check_time_stamp_token(sign, time_stamp):
                 return response.json(13)
             now_time = int(time.time())
+            redis = RedisObject()
             with transaction.atomic():
                 device_info_qs = UnicomDeviceInfo.objects.filter(serial_no=serial_no)
                 if device_info_qs.exists():
                     iccid = device_info_qs.first().iccid
+                    key = 'ASJ:UNICOM:RESET:{}'.format(serial_no)
                     flow_push_qs = UnicomFlowPush.objects.filter(serial_no=serial_no)
                     if flow_push_qs.exists():
                         flow_push_qs.delete()
@@ -221,14 +224,13 @@ class UnicomComboView(View):
                     if sys_msg_qs.exists():
                         sys_msg_qs.delete()
                     device_info_qs.update(status=1, updated_time=now_time, user_id='')
-
                     combo_order_qs = UnicomComboOrderInfo.objects.filter(iccid=iccid)
                     if combo_order_qs.exists():
                         combo_order_qs.delete()
                     combo_experience_history_qs = UnicomComboExperienceHistory.objects.filter(iccid=iccid)
                     if combo_experience_history_qs.exists():
                         combo_experience_history_qs.delete()
-
+                    redis.set_data(key, iccid, 60 * 30)
                 return response.json(0)
         except Exception as e:
             print(e.args)
@@ -302,11 +304,17 @@ class UnicomComboView(View):
         n_time = int(time.time())
         try:
             logger.info('--->参数验证通过,sign验证通过')
+            redis = RedisObject()
             with transaction.atomic():
                 # 待完善代码 根据uid与用户id验证系统设备
                 unicom_device_qs = UnicomDeviceInfo.objects.filter(iccid=iccid)
                 if unicom_device_qs.exists():
                     if unicom_device_qs.first().status == 1 and unicom_device_qs.first().serial_no == serial_no:
+                        key = 'ASJ:UNICOM:RESET:{}'.format(serial_no)
+                        reset_cache = redis.get_data(key)
+                        if reset_cache:
+                            logger.info('--->三十分后再次访问接口生效赠送流量套餐')
+                            return response.json(0, 'Thirty minutes later to visit again take effect')
                         cls.user_activate_flow(iccid)
                     return response.json(0)
                 unicom_obj = UnicomObjeect()