Преглед изворни кода

Merge branch 'test' of http://192.168.136.99:3000/servers/ASJServer into peng

peng пре 2 година
родитељ
комит
fe7517f821

+ 15 - 12
Controller/IcloudService/IcloudMeal.py

@@ -490,7 +490,6 @@ class IcloudMeal(View):
         if not cloud_use_qs.exists():
             return response.json(0)
         try:
-            data = {}
             cloud_service_list = []
             count = cloud_service_qs.count()
             cloud_service_qs = cloud_service_qs.values('use_status', 'type', 'order_id', 'add_time',
@@ -498,18 +497,21 @@ class IcloudMeal(View):
                 '-add_time')[(page - 1) * line:page * line]
             # 获取套餐明细
             for service in cloud_service_qs:
-                data['use_status'] = service['use_status']
-                data['type'] = service['type']
-                data['order_id'] = service['order_id']
-                data['add_time'] = service['add_time']
-                data['end_time'] = service['end_time']
+                data = {
+                    'use_status': service['use_status'],
+                    'type': service['type'],
+                    'order_id': service['order_id'],
+                    'add_time': service['add_time'],
+                    'end_time': service['end_time'],
+                }
+                # 注册永久送
                 if service['type'] == 0:
-                    if lang == 'cn':
-                        data['title'] = '1G永久套餐'
-                        data['note'] = '赠送'
-                    if lang == 'en':
-                        data['title'] = '1G Permanent Package'
-                        data['note'] = 'Gift'
+                    icloud_meal_qs = ICloudStoreMeal.objects.filter(price=0, expire=0, is_show=0, size=1, pay_type=10,
+                                                                    lang__lang=lang).values('lang__title',
+                                                                                            'lang__content')
+                    data['title'] = icloud_meal_qs[0]['lang__title']
+                    data['note'] = icloud_meal_qs[0]['lang__content']
+                # 购买云存附送
                 if service['type'] == 1:
                     orders_qs = Order_Model.objects.filter(orderID=service['order_id'], order_type=0). \
                         values('desc', 'unify_combo_id')
@@ -518,6 +520,7 @@ class IcloudMeal(View):
                                                                     lang__lang=lang).values(
                         'lang__title')
                     data['title'] = cloud_store_qs[0]['lang__title']
+                # 单独购买套餐
                 if service['type'] == 2:
                     orders_qs = Order_Model.objects.filter(orderID=service['order_id']).values('desc', 'price',
                                                                                                'currency')

+ 29 - 1
Controller/IcloudService/IcloudService.py

@@ -12,7 +12,7 @@ from django.db.models import Sum, Q
 from django.http import HttpResponse
 from django.views import View
 
-from Model.models import IcloudUseDetails, IcloudService, VodBucketModel, IcloudStorageRecord, Device_Info
+from Model.models import IcloudUseDetails, IcloudService, VodBucketModel, IcloudStorageRecord, Device_Info, Device_User
 from Object.AWS.AmazonS3Util import AmazonS3Util
 from Object.RedisObject import RedisObject
 from Object.ResponseObject import ResponseObject
@@ -54,6 +54,8 @@ class IcloudServiceView(View):
                 return self.delete_icloud_record(request_dict, response, user_id)
             elif operation == 'getIcloudList':  # 获取云盘播放列表
                 return self.get_icloud_list(request_dict, response, user_id)
+            elif operation == 'changeIcloudStatus':  # 修改云盘开关状态
+                return self.do_change_icloud_status(request_dict, response, user_id)
             else:
                 return response.json(404)
 
@@ -556,3 +558,29 @@ class IcloudServiceView(View):
         except Exception as e:
             LOGGER.info('云盘播放异常:{}'.format(repr(e)))
             return response.json(500)
+
+    @staticmethod
+    def do_change_icloud_status(request_dict, response, user_id):
+        """
+        修改云盘开关
+        @param request_dict: 请求参数
+        @param user_id: 用户id
+        @request_dict status: 开关状态, 0: 关闭, 1: 开启
+        @param response: 响应对象
+        @return: response
+        """
+        status = request_dict.get('status', None)
+
+        if not status:
+            return response.json(444, 'status')
+
+        try:
+            device_user_qs = Device_User.objects.filter(userID=user_id)
+            if not device_user_qs.exists():
+                return response.json(173)
+            icloud_use_details_qs = IcloudUseDetails.objects.filter(user_id=user_id)
+            icloud_use_details_qs.update(detect_status=status)
+            return response.json(0)
+        except Exception as e:
+            print(e)
+            return response.json(500)

+ 2 - 2
Controller/PaymentCycle.py

@@ -409,7 +409,7 @@ class PaypalCycleNotify(View):
                     if not self.config_match_region(country_id):
                         return HttpResponse('Fail', status=500)
 
-                    order_qs.update(updTime=nowTime, trade_no=paypal_transaction_id)
+                    order_qs.update(status=1, updTime=nowTime, trade_no=paypal_transaction_id)
                     PAY_LOGGER.info('PayPal周期扣款成功---更新交易id:{}'.format(paypal_transaction_id))
                     return HttpResponse('success')
                 else:
@@ -448,7 +448,7 @@ class PaypalCycleNotify(View):
             # PayPal周期扣款首次扣款
             if billing_agreement.agreement_details.cycles_completed == '0':
                 # 更新order表,paypal的商家交易号
-                order_qs.update(updTime=nowTime, trade_no=paypal_transaction_id)
+                order_qs.update(status=1, updTime=nowTime, trade_no=paypal_transaction_id)
                 PAY_LOGGER.info('{} PayPal周期扣款首次扣款成功'.format(UID))
                 return HttpResponse('success')
 

+ 4 - 3
Controller/SerialNumberController.py

@@ -323,9 +323,8 @@ class SerialNumberView(View):
         redis_obj.rpush(USED_SERIAL_REDIS_LIST, serial)
 
         redis_obj = RedisObject()
-        time_limit_out = redis_obj.CONN.setnx('uid_count_warning', 1)
-        redis_obj.CONN.expire('uid_count_warning', 60*60*24)  # 限制一天提醒一次
-        if time_limit_out:
+        time_limit = redis_obj.get_data('uid_count_warning_time_limit')
+        if not time_limit:
             vpg_id = 1
             if CONFIG_INFO == CONFIG_US:
                 vpg_id = 3
@@ -339,6 +338,8 @@ class SerialNumberView(View):
                 LOGGER.info('uid剩余数量:{}'.format(unused_uid_count))
                 warning_count = 2000
                 if unused_uid_count < warning_count:
+                    # 限制一天提醒一次
+                    redis_obj.set_data('uid_count_warning_time_limit', 1, 60*60*24)
                     platform = '尚云' if p2p_type == 1 else 'tutk'
                     email_content = '{}服{}的uid数量少于{}个,请及时处理'.format(CONFIG_INFO, platform, warning_count)
                     S3Email().faEmail(email_content, 'servers@ansjer.com')