Order.py 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. class Order(object):
  2. def __init__(self, id, ticket, status, title, note, id_metaservice, is_global, is_visible, service, service_type,
  3. time_created, time_placed, time_start=None, time_start_predicted=None, time_finish_predicted=None,
  4. time_start_real=None, time_finish_real=None, order_place_type=None, order_place_start=None,
  5. order_place_start_gps=None, order_place_start_real=None, order_place_start_real_gps=None,
  6. order_place_finish_predicted=None, order_place_finish_predicted_gps=None, order_place_finish_real=None,
  7. order_place_finish_real_gps=None, predicted_price=None, real_price=None, payment_transaction_id=None,
  8. rating_id=None, provider=None, provider_screen_name=None, receiver=None, receiver_screen_name=None,
  9. client_id=None, resource_id=None, attempts=None, asap=None, money_limit=None, tasks=None,
  10. proceed_before_arrival=False, confirmation=False):
  11. self.id = id
  12. self.ticket = ticket
  13. self.status = status
  14. self.title = title
  15. self.note = note
  16. self.id_metaservice = id_metaservice
  17. self.is_global = is_global
  18. self.is_visible = is_visible
  19. self.service = service
  20. self.service_type = service_type
  21. self.time_created = time_created
  22. self.time_placed = time_placed
  23. self.time_start = time_start
  24. self.time_start_predicted = time_start_predicted
  25. self.time_finish_predicted = time_finish_predicted
  26. self.time_start_real = time_start_real
  27. self.time_finish_real = time_finish_real
  28. self.order_place_type = order_place_type
  29. self.order_place_start = order_place_start
  30. self.order_place_start_gps = order_place_start_gps
  31. self.order_place_start_real = order_place_start_real
  32. self.order_place_start_real_gps = order_place_start_real_gps
  33. self.order_place_finish_predicted = order_place_finish_predicted
  34. self.order_place_finish_predicted_gps = order_place_finish_predicted_gps
  35. self.order_place_finish_real = order_place_finish_real
  36. self.order_place_finish_real_gps = order_place_finish_real_gps
  37. self.predicted_price = predicted_price
  38. self.real_price = real_price
  39. self.payment_transaction_id = payment_transaction_id
  40. self.rating_id = rating_id
  41. self.provider = provider
  42. self.provider_screen_name = provider_screen_name
  43. self.receiver = receiver
  44. self.receiver_screen_name = receiver_screen_name
  45. self.client_id = client_id
  46. self.resource_id = resource_id
  47. self.attempts = attempts
  48. self.asap = asap
  49. self.money_limit = money_limit
  50. self.tasks = tasks
  51. self.proceed_before_arrival = proceed_before_arrival
  52. self.confirmation = confirmation
  53. def __str__(self):
  54. return "{0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}, {13}, {14}, {15}, {16}, {17}, {18}, {19}, {20}, {21}, {22}, {23}, {24}, {25}, {26}, {27}, {28}, {29}, {30}, {31}, {32}, {33}, {34}, {35}, {36}, {37}, {38}".format(
  55. self.id, self.ticket, self.status, self.title, self.note, self.id_metaservice, self.is_global,
  56. self.is_visible, self.service, self.service_type, self.time_created, self.time_placed, self.time_start,
  57. self.time_start_predicted, self.time_finish_predicted, self.time_start_real, self.time_finish_real,
  58. self.order_place_type, self.order_place_start, self.order_place_start_gps, self.order_place_start_real,
  59. self.order_place_start_real_gps, self.order_place_finish_predicted, self.order_place_finish_predicted_gps,
  60. self.order_place_finish_real, self.order_place_finish_real_gps, self.predicted_price, self.real_price,
  61. self.payment_transaction_id, self.rating_id, self.provider, self.provider_screen_name, self.receiver,
  62. self.receiver_screen_name, self.client_id, self.resource_id, self.attempts, self.asap, self.money_limit,
  63. self.tasks, self.proceed_before_arrival, self.confirmation)
  64. # Тестовый класс User и Address (ВАЖНО!!!) поля классов должны называться также как и поля json объекта
  65. '''
  66. #Full json order example
  67. https://wiki.sharix-app.org/doku.php/open/tech/dev/sharix_open_-_primery_json
  68. {
  69. "ticket": 123,
  70. "status": 111,
  71. "priority": 1,
  72. "title": "123",
  73. "note": "123",
  74. "due_date": 2023-05-15T17:16:22.955601Z,
  75. "id_metaservice": 1,
  76. "is_global": false,
  77. "is_visible": false,
  78. "service": 1,
  79. "service_type": 1,
  80. "status_changed_date": "2023-05-15T17:16:22.955601Z",
  81. "time_placed": "2023-05-15T16:40:32.179777Z",
  82. "time_start": "2023-05-15T16:40:32.179777Z",
  83. "time_start_predicted": "2023-05-15T16:40:32.179777Z",
  84. "time_finish_predicted": "2023-05-15T16:40:32.179777Z",
  85. "time_start_real": "2023-05-15T16:40:32.179777Z",
  86. "time_finish_real": "2023-05-15T16:40:32.179777Z",
  87. "order_place_type": "address",
  88. "order_place_start": "р-н Беговой",
  89. "order_place_start_gps": "55.751941, 37.607513",
  90. "order_place_start_sector": 4,
  91. "order_place_start_real": "р-н Беговой",
  92. "order_place_start_real_gps": "55.751941, 37.607513",
  93. "order_place_finish_predicted": "р-н Мещанский",
  94. "order_place_finish_predicted_gps": "55.751941, 37.607513",
  95. "order_place_finish_sector": 4,
  96. "order_place_finish_real": "р-н Мещанский",
  97. "order_place_finish_real_gps": "55.751941, 37.607513",
  98. "predicted_price": 1000,
  99. "real_price": 1001,
  100. "payment_transaction_id": 1,
  101. "rating_id": 1,
  102. "provider": 1,
  103. "provider_screen_name": "Vasya Ispolnitelev",
  104. "receiver": 1,
  105. "receiver_screen_name": "Marfa Clientovna",
  106. "client_id": 1,
  107. "client_screen_name": "Fedor Client",
  108. "resource_id": 1,
  109. "attempts": null
  110. }
  111. '''
  112. # надо адаптировать класс к новому формату JSON
  113. # class Order(object):
  114. # def __init__(self, id,order_synced, ticket, status, title, note, due_date, id_metaservice, is_global, is_visible, service, service_type, status_changed_date,time_created, time_placed, time_start=None, time_start_predicted=None, time_finish_predicted=None, time_start_real=None, time_finish_real=None, order_place_type=None, order_place_start=None, order_place_start_gps=None, order_place_start_real=None, order_place_start_real_gps=None, order_place_finish_predicted=None, order_place_finish_predicted_gps=None, order_place_finish_real=None, order_place_finish_real_gps=None, predicted_price=None, real_price=None, payment_transaction_id=None, rating_id=None, provider=None, provider_screen_name=None, receiver=None, receiver_screen_name=None, client_id=None, resource_id=None, attempts=None, asap=None):
  115. # self.order_synced = order_synced
  116. # self.id = id
  117. # self.ticket = ticket
  118. # self.status = status
  119. # self.title = title
  120. # self.note = note
  121. # self.due_date = due_date
  122. # self.id_metaservice = id_metaservice
  123. # self.is_global = is_global
  124. # self.is_visible = is_visible
  125. # self.service = service
  126. # self.service_type = service_type
  127. # self.status_changed_date = status_changed_date
  128. # self.time_created = time_created
  129. # self.time_placed = time_placed
  130. # self.time_start = time_start
  131. # self.time_start_predicted = time_start_predicted
  132. # self.time_finish_predicted = time_finish_predicted
  133. # self.time_start_real = time_start_real
  134. # self.time_finish_real = time_finish_real
  135. # self.order_place_type =order_place_type
  136. # self.order_place_start = order_place_start
  137. # self.order_place_start_gps = order_place_start_gps
  138. # self.order_place_start_real = order_place_start_real
  139. # self.order_place_start_real_gps = order_place_start_real_gps
  140. # self.order_place_finish_predicted = order_place_finish_predicted
  141. # self.order_place_finish_predicted_gps = order_place_finish_predicted_gps
  142. # self.order_place_finish_real = order_place_finish_real
  143. # self.order_place_finish_real_gps = order_place_finish_real_gps
  144. # self.predicted_price = predicted_price
  145. # self.real_price = real_price
  146. # self.payment_transaction_id = payment_transaction_id
  147. # self.rating_id = rating_id
  148. # self.provider = provider
  149. # self.provider_screen_name = provider_screen_name
  150. # self.receiver = receiver
  151. # self.receiver_screen_name = receiver_screen_name
  152. # self.client_id = client_id
  153. # self.resource_id = resource_id
  154. # self.attempts = attempts
  155. # self.asap = asap
  156. # #доделать до конца по аналогии с закоммиченным json
  157. # def __str__(self):
  158. # return "{0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}, {13}, {14}, {15}, {16}, {17}, {18}, {19}, {20}, {21}, {22}, {23}, {24}, {25}, {26}, {27}, {28}, {29}, {30}, {31}, {32} , {33} ,{34}".format(self.order_synced, self.id, self.ticket, self.status, self.title, self.note, self.due_date, self.id_metaservice, self.is_global, self.is_visible, self.service, self.service_type, self.status_changed_date, self.time_created,self.time_placed, self.time_start, self.time_start_predicted, self.time_finish_predicted, self.time_start_real, self.time_finish_real, self.order_place_type, self.order_place_start, self.order_place_start_gps, self.order_place_start_real, self.order_place_start_real_gps, self.order_place_finish_predicted, self.order_place_finish_predicted_gps, self.order_place_finish_real, self.order_place_finish_real_gps, self.predicted_price, self.real_price, self.payment_transaction_id, self.rating_id, self.provider, self.provider_screen_name, self.receiver, self.receiver_screen_name, self.client_id, self.resource_id, self.attempts, self.asap)
  159. # \n добавляете в местах с пустой строкой в шаблоне