|
@@ -56,6 +56,8 @@ class IcloudMeal(View):
|
|
|
return self.get_meal(request_dict, response)
|
|
|
elif operation == 'createPayOrder': # 购买订单
|
|
|
return self.create_pay_order(request_dict, request, user_id, response)
|
|
|
+ elif operation == 'getCloudDriveInit': # 获取套餐明细
|
|
|
+ return self.get_cloud_drive_init(request_dict, response, user_id)
|
|
|
else:
|
|
|
return response.json(414)
|
|
|
|
|
@@ -71,7 +73,7 @@ class IcloudMeal(View):
|
|
|
lang = request_dict.get('lang', 'en')
|
|
|
# 隐藏的、删除的套餐不查
|
|
|
cloud_drive_qs = ICloudStoreMeal.objects.filter(Q(lang__lang=lang), Q(is_show=1), Q(is_delete=0)).values(
|
|
|
- 'currency', 'symbol', 'price', 'expire',
|
|
|
+ 'id', 'currency', 'symbol', 'price', 'expire',
|
|
|
'pay_type',
|
|
|
'size', 'bucket_id', 'lang__title',
|
|
|
'lang__content', 'sort').order_by(
|
|
@@ -351,7 +353,6 @@ class IcloudMeal(View):
|
|
|
else:
|
|
|
icloud_service_dict['use_details_id'] = icloud_use_qs[0]['id']
|
|
|
|
|
|
-
|
|
|
with transaction.atomic():
|
|
|
# 更新订单数据,返回支付成功url
|
|
|
order_qs.update(status=1, updTime=now_time)
|
|
@@ -462,4 +463,71 @@ class IcloudMeal(View):
|
|
|
return {'pay_url': pay_url, 'sign_params': sign_params}
|
|
|
except Exception as e:
|
|
|
print(e)
|
|
|
- return {}
|
|
|
+ return {}
|
|
|
+
|
|
|
+ @staticmethod
|
|
|
+ def get_cloud_drive_init(request_dict, response, user_id):
|
|
|
+ """
|
|
|
+ 获取套餐明细
|
|
|
+ @param request_dict: 请求数据
|
|
|
+ @request_dict page: 页
|
|
|
+ @request_dict line: 大小
|
|
|
+ @request_dict lang: 语言
|
|
|
+ @param user_id: 用户id
|
|
|
+ @param response: 响应
|
|
|
+ @return: response
|
|
|
+ """
|
|
|
+ lang = request_dict.get('lang', 'en')
|
|
|
+ page = request_dict.get('page', None)
|
|
|
+ line = request_dict.get('line', None)
|
|
|
+ if not all([page, line]):
|
|
|
+ return response.json(444)
|
|
|
+ page = int(page)
|
|
|
+ line = int(line)
|
|
|
+ cloud_use_qs = IcloudUseDetails.objects.filter(user_id=user_id).values('id')
|
|
|
+ if not cloud_use_qs.exists():
|
|
|
+ return response.json(0)
|
|
|
+ use_list = [obj['id'] for obj in cloud_use_qs]
|
|
|
+ cloud_service_qs = IcloudService.objects.filter(use_details_id__in=use_list)
|
|
|
+ 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[(page - 1) * line:page * line].values('use_status', 'type',
|
|
|
+ 'order_id',
|
|
|
+ 'add_time', 'end_time').order_by(
|
|
|
+ '-add_time')
|
|
|
+ # 获取套餐明细
|
|
|
+ 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']
|
|
|
+ if service['type'] == 0:
|
|
|
+ if lang == 'cn':
|
|
|
+ data['title'] = '1G永久套餐'
|
|
|
+ data['note'] = '赠送'
|
|
|
+ if lang == 'en':
|
|
|
+ data['title'] = '1G Permanent Package'
|
|
|
+ data['note'] = 'Gift'
|
|
|
+ if service['type'] == 1:
|
|
|
+ orders_qs = Order_Model.objects.filter(orderID=service['order_id'], order_type=4). \
|
|
|
+ values('desc', 'unify_combo_id')
|
|
|
+ data['note'] = orders_qs[0]['desc']
|
|
|
+ cloud_store_qs = ICloudStoreMeal.objects.filter(id=orders_qs[0]['unify_combo_id'],
|
|
|
+ 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')
|
|
|
+ data['title'] = orders_qs[0]['desc']
|
|
|
+ data['note'] = orders_qs[0]['price'] + orders_qs[0]['currency']
|
|
|
+ cloud_service_list.append(data)
|
|
|
+ return response.json(0, {'data': cloud_service_list, 'count': count})
|
|
|
+ except Exception as e:
|
|
|
+ logging.info('异常错误,errLine:{}, errMsg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
|
|
|
+ return response.json(500, e)
|