OrderContrller.py 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. #!/usr/bin/env python3
  2. # -*- coding: utf-8 -*-
  3. """
  4. @Copyright (C) ansjer cop Video Technology Co.,Ltd.All rights reserved.
  5. @AUTHOR: ASJRD018
  6. @NAME: AnsjerFormal
  7. @software: PyCharm
  8. @DATE: 2018/12/6 10:53
  9. @Version: python3.6
  10. @MODIFY DECORD:ansjer dev
  11. @file: OrderContrller.py
  12. @Contact: chanjunkai@163.com
  13. """
  14. from django.utils.decorators import method_decorator
  15. from django.views.decorators.csrf import csrf_exempt
  16. from django.views.generic.base import View
  17. from Object.ResponseObject import ResponseObject
  18. from Object.TokenObject import TokenObject
  19. from Model.models import Store_Meal, Order_Model
  20. '''
  21. # 获取所有设备下单信息
  22. http://192.168.136.40:8077/order/querylist?token=local&page=1&line=10
  23. '''
  24. # 设备信息添加
  25. class OrderView(View):
  26. @method_decorator(csrf_exempt)
  27. def dispatch(self, *args, **kwargs):
  28. return super(OrderView, self).dispatch(*args, **kwargs)
  29. def get(self, request, *args, **kwargs):
  30. request.encoding = 'utf-8'
  31. operation = kwargs.get('operation')
  32. return self.validation(request.GET, request, operation)
  33. def post(self, request, *args, **kwargs):
  34. request.encoding = 'utf-8'
  35. operation = kwargs.get('operation')
  36. return self.validation(request.POST, request, operation)
  37. def validation(self, request_dict, request, operation):
  38. response = ResponseObject()
  39. if operation is None:
  40. return response.json(444, 'error path')
  41. token = request_dict.get('token', None)
  42. # 设备主键uid
  43. tko = TokenObject(token)
  44. tko.valid()
  45. response.lang = tko.lang
  46. if tko.code != 0:
  47. return response.json(tko.code)
  48. userID = tko.userID
  49. if operation == 'querylist':
  50. return self.do_querylist(request_dict, userID, response)
  51. else:
  52. return response.json(444, 'error path')
  53. def do_querylist(self, request_dict, userID, response):
  54. page = request_dict.get('page', None)
  55. line = request_dict.get('line', None)
  56. if not page or not line:
  57. return response.json(444, 'page,line')
  58. page = int(page)
  59. line = int(line)
  60. omqs = Order_Model.objects.filter(userID_id=userID)
  61. if not omqs.exists():
  62. return response.json(10, '订单不存在')
  63. count = omqs.count()
  64. order_ql = omqs[(page - 1) * line:page * line].values("orderID", "UID", "channel", "desc", "price", "addTime",
  65. "updTime", "paypal", "rank__day", "rank__price",
  66. "rank__content", "rank__title","rank__currency")
  67. data = list(order_ql)
  68. return response.json(0, {'data': data, 'count': count})