|
@@ -44,10 +44,10 @@ class IcloudServeView(View):
|
|
|
elif operation == 'getMealLang':
|
|
|
return self.get_meal_lang(request_dict, response)
|
|
|
# ai套餐语言相关
|
|
|
- elif operation == 'getAiMealLanguage':
|
|
|
- return self.getAiMealLanguage(request_dict, response)
|
|
|
- elif operation == 'addOrEditAiMealLanguage':
|
|
|
- return self.addOrEditAiMealLanguage(request_dict, response)
|
|
|
+ elif operation == 'addOrEditLang':
|
|
|
+ return self.add_or_edit_lang(request_dict, response)
|
|
|
+ elif operation == 'deleteMeal':
|
|
|
+ return self.delete_meal(request_dict, response)
|
|
|
elif operation == 'deleteAiMealLanguage':
|
|
|
return self.deleteAiMealLanguage(request_dict, response)
|
|
|
# 设备ai套餐相关
|
|
@@ -83,10 +83,6 @@ class IcloudServeView(View):
|
|
|
for icloud_meal in icloud_meals:
|
|
|
# 获取支付方式列表
|
|
|
pay_type_list = list(ICloudStoreMeal.objects.filter(id=icloud_meal['id']).values('pay_type__payment'))
|
|
|
- # 获取套餐语言
|
|
|
- lang_list = list(ICloudStoreMeal.objects.filter(id=icloud_meal['id']).values('lang__lang',
|
|
|
- 'lang__title',
|
|
|
- 'lang__content'))
|
|
|
# 获取存储桶信息
|
|
|
vod_bucket_qs = VodBucketModel.objects.filter(id=icloud_meal['bucket_id']).values('bucket')
|
|
|
# 组织响应数据
|
|
@@ -99,7 +95,6 @@ class IcloudServeView(View):
|
|
|
'is_delete': icloud_meal['is_delete'],
|
|
|
'expire': icloud_meal['expire'],
|
|
|
'pay_type': pay_type_list,
|
|
|
- 'lang': lang_list,
|
|
|
'size': icloud_meal['size'],
|
|
|
'bucket': vod_bucket_qs[0]['bucket'],
|
|
|
'addTime': icloud_meal['add_time'].strftime("%Y-%m-%d %H:%M:%S"),
|
|
@@ -118,16 +113,14 @@ class IcloudServeView(View):
|
|
|
currency = request_dict.get('currency', None)
|
|
|
symbol = request_dict.get('symbol', None)
|
|
|
pay_type = request_dict.get('pay_type', None)
|
|
|
- lang = request_dict.get('lang', None)
|
|
|
is_show = int(request_dict.get('is_show', 1))
|
|
|
is_delete = int(request_dict.get('is_delete', 0))
|
|
|
- size = int(request_dict.get('size', None))
|
|
|
+ size = float(request_dict.get('size', None))
|
|
|
is_edit = request_dict.get('isEdit', None)
|
|
|
|
|
|
- if not all([expire, price, currency, symbol, pay_type, lang, size]):
|
|
|
+ if not all([expire, price, currency, symbol, pay_type, size]):
|
|
|
return response.json(444)
|
|
|
pay_type = pay_type.split(',')
|
|
|
- lang = lang.split(',')
|
|
|
try:
|
|
|
icloud_store_meal_data = {
|
|
|
'expire': expire,
|
|
@@ -143,17 +136,59 @@ class IcloudServeView(View):
|
|
|
return response.json(444)
|
|
|
ICloudStoreMeal.objects.filter(id=meal_id).update(**icloud_store_meal_data)
|
|
|
ICloudStoreMeal.objects.get(id=meal_id).pay_type.set(pay_type)
|
|
|
- ICloudStoreMeal.objects.get(id=meal_id).lang.set(lang)
|
|
|
else:
|
|
|
icloud_meal_qs = ICloudStoreMeal.objects.create(**icloud_store_meal_data)
|
|
|
icloud_meal_qs.pay_type.set(pay_type)
|
|
|
- icloud_meal_qs.lang.set(lang)
|
|
|
return response.json(0)
|
|
|
except Exception as e:
|
|
|
print(e)
|
|
|
return response.json(500, repr(e))
|
|
|
|
|
|
+ @staticmethod
|
|
|
+ def delete_meal(request_dict, response):
|
|
|
+ meal_id = request_dict.get('meal_id', None)
|
|
|
+ if not meal_id:
|
|
|
+ return response.json(444)
|
|
|
+ icloud_meal_qs = ICloudStoreMeal.objects.filter(id=meal_id).values('lang__id')
|
|
|
+ icloud_meal_qs.lang.remove(*icloud_meal_qs)
|
|
|
+ Lang.objects.filter(id=icloud_meal_qs[0]['lang__id']).delete()
|
|
|
+ icloud_meal_qs.delete()
|
|
|
+ return response.json(0)
|
|
|
+
|
|
|
@staticmethod
|
|
|
def get_meal_lang(request_dict, response):
|
|
|
- lang = Lang.objects.filter(type=3).values('id', 'lang', 'title', 'content')
|
|
|
- return response.json(0, list(lang))
|
|
|
+ is_select = request_dict.get('isSelect', None)
|
|
|
+ meal_id = request_dict.get('mealId', None)
|
|
|
+ page = request_dict.get('pageNo', None)
|
|
|
+ line = request_dict.get('pageSize', None)
|
|
|
+ if not all([page, line]):
|
|
|
+ return response.json(444)
|
|
|
+ icloud_meal_qs = ICloudStoreMeal.objects.all()
|
|
|
+
|
|
|
+ if is_select:
|
|
|
+ icloud_meal_qs = icloud_meal_qs.values('id', 'lang__title')
|
|
|
+ else:
|
|
|
+ if meal_id:
|
|
|
+ icloud_meal_qs = icloud_meal_qs.filter(id=meal_id).values('id', 'lang__id', 'lang__lang', 'lang__title',
|
|
|
+ 'lang__content')
|
|
|
+ else:
|
|
|
+ icloud_meal_qs = icloud_meal_qs.values('id', 'lang__id', 'lang__lang', 'lang__title',
|
|
|
+ 'lang__content')[(page - 1) * line:page * line]
|
|
|
+ total = icloud_meal_qs.count()
|
|
|
+ return response.json(0, {'langList': list(icloud_meal_qs), 'total': total})
|
|
|
+
|
|
|
+ @staticmethod
|
|
|
+ def add_or_edit_lang(request_dict, response):
|
|
|
+ lang_id = request_dict.get('lang_id', None)
|
|
|
+ lang = request_dict.get('lang', 'en')
|
|
|
+ title = request_dict.get('title', None)
|
|
|
+ content = request_dict.get('content', None)
|
|
|
+ try:
|
|
|
+ if lang_id:
|
|
|
+ Lang.objects.filter(id=lang_id).update(lang=lang, title=title, content=content)
|
|
|
+ else:
|
|
|
+ Lang.objects.create(lang=lang, title=title, content=content, type=3)
|
|
|
+ return response.json(0)
|
|
|
+ except Exception as e:
|
|
|
+ return response.json(500)
|
|
|
+
|