CloudServiceController.py 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. # -*- encoding: utf-8 -*-
  2. """
  3. @File : CloudServiceController.py
  4. @Time : 2022/12/8 10:23
  5. @Author : stephen
  6. @Email : zhangdongming@asj6.wecom.work
  7. @Software: PyCharm
  8. """
  9. from django.views import View
  10. from Model.models import CouponCombo
  11. from Object.ResponseObject import ResponseObject
  12. from Object.TokenObject import TokenObject
  13. class CloudServiceController(View):
  14. def get(self, request, *args, **kwargs):
  15. request.encoding = 'utf-8'
  16. operation = kwargs.get('operation')
  17. return self.validation(request.GET, request, operation)
  18. def post(self, request, *args, **kwargs):
  19. request.encoding = 'utf-8'
  20. operation = kwargs.get('operation')
  21. return self.validation(request.POST, request, operation)
  22. def validation(self, request_dict, request, operation):
  23. token = TokenObject(request.META.get('HTTP_AUTHORIZATION'))
  24. lang = request_dict.get('lang', token.lang)
  25. response = ResponseObject(lang)
  26. if token.code != 0:
  27. return response.json(token.code)
  28. user_id = token.userID
  29. if operation == 'save-photo':
  30. return self.get_combo_list_by_coupon(user_id, response)
  31. else:
  32. return response.json(404)
  33. @classmethod
  34. def get_combo_list_by_coupon(cls, request_dict, response):
  35. """
  36. 根据优惠券获取套餐列表
  37. @param request_dict: couponId 优惠券ID
  38. @param request_dict: couponType 优惠券类型
  39. @param response: 响应结果
  40. """
  41. coupon_id = int(request_dict.get('couponId', 0))
  42. coupon_type = int(request_dict.get('couponType', 0))
  43. if coupon_id == 0:
  44. return response.json(444)
  45. coupon_combo_qs = CouponCombo.objects.filter(coupon_type=coupon_type, coupon_id=coupon_id).values('combo_id')
  46. combo_list = []
  47. if not coupon_combo_qs.exists():
  48. return combo_list
  49. for item in coupon_combo_qs:
  50. combo_list.append(item['combo_id'])
  51. return combo_list