AgentCustomerController.py 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. # -*- encoding: utf-8 -*-
  2. """
  3. @File : AgentCustomerController.py
  4. @Time : 2024/3/7 16:56
  5. @Author : stephen
  6. @Email : zhangdongming@asj6.wecom.work
  7. @Software: PyCharm
  8. """
  9. from django.http import QueryDict
  10. from django.views import View
  11. from django.core.paginator import Paginator
  12. from datetime import datetime
  13. from AgentModel.models import AgentCustomerInfo, AgentCustomerCard, AgentCustomerPackage, AgentCloudServicePackage, \
  14. AgentDeviceOrder
  15. from Model.models import UnicomCombo, Store_Meal, Device_User
  16. from Object.ResponseObject import ResponseObject
  17. from Object.TokenObject import TokenObject
  18. class AgentCustomerView(View):
  19. def get(self, request, *args, **kwargs):
  20. request.encoding = 'utf-8'
  21. operation = kwargs.get('operation')
  22. return self.validation(request.GET, request, operation)
  23. def post(self, request, *args, **kwargs):
  24. request.encoding = 'utf-8'
  25. operation = kwargs.get('operation')
  26. return self.validation(request.POST, request, operation)
  27. def delete(self, request, *args, **kwargs):
  28. request.encoding = 'utf-8'
  29. operation = kwargs.get('operation')
  30. delete = QueryDict(request.body)
  31. if not delete:
  32. delete = request.GET
  33. return self.validation(delete, request, operation)
  34. def put(self, request, *args, **kwargs):
  35. request.encoding = 'utf-8'
  36. operation = kwargs.get('operation')
  37. put = QueryDict(request.body)
  38. return self.validation(put, request, operation)
  39. def validation(self, request_dict, request, operation):
  40. AgentCustomerInfo.objects.filter()
  41. language = request_dict.get('language', 'en')
  42. response = ResponseObject(language, 'pc')
  43. if operation == 'getUnicomAndIcloud':
  44. return self.get_unicom_and_icloud(response)
  45. else:
  46. return response.json(444, 'operation')
  47. def get_unicom_and_icloud(self, response):
  48. """
  49. 查询云存储套餐和物联网卡套餐列表
  50. @param response: 响应对象
  51. @return:
  52. """
  53. try:
  54. # 云存储套餐名称查询,只包括is_show=1的记录
  55. store_meal_names = Store_Meal.objects.filter(is_show=1).values_list('bucket__bucket', flat=True).distinct()
  56. # 联通套餐名称查询,只包括is_show=1且未被删除的记录
  57. unicom_combo_names = UnicomCombo.objects.filter(is_show=1, is_del=False).values_list('combo_name',
  58. flat=True).distinct()
  59. # 将查询结果转换为列表
  60. store_meal_name_list = list(store_meal_names)
  61. unicom_combo_name_list = list(unicom_combo_names)
  62. # 合并结果并返回
  63. return response.json(0, {
  64. 'storeMealNames': store_meal_name_list,
  65. 'unicomComboNames': unicom_combo_name_list,
  66. })
  67. except Exception as e:
  68. print(e)
  69. return response.json(500, 'error_line:{}, error_msg:{}'.format(e.__traceback__.tb_lineno, repr(e)))