Order.py 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248
  1. class Order(object):
  2. def __init__(
  3. self,
  4. id,
  5. ticket,
  6. status,
  7. title,
  8. note,
  9. id_metaservice,
  10. is_global,
  11. is_visible,
  12. service,
  13. service_category,
  14. time_created,
  15. time_placed,
  16. time_start=None,
  17. time_start_predicted=None,
  18. time_finish_predicted=None,
  19. time_start_real=None,
  20. time_finish_real=None,
  21. order_place_type=None,
  22. order_place_start=None,
  23. order_place_start_gps=None,
  24. order_place_start_real=None,
  25. order_place_start_real_gps=None,
  26. order_place_finish_predicted=None,
  27. order_place_finish_predicted_gps=None,
  28. order_place_finish_real=None,
  29. order_place_finish_real_gps=None,
  30. predicted_price=None,
  31. real_price=None,
  32. payment_transaction_id=None,
  33. rating_id=None,
  34. provider=None,
  35. provider_screen_name=None,
  36. receiver=None,
  37. receiver_screen_name=None,
  38. client=None,
  39. resource=None,
  40. attempts=None,
  41. asap=None,
  42. money_limit=None,
  43. tasks=None,
  44. proceed_before_arrival=False,
  45. confirmation=False
  46. ):
  47. self.id = id
  48. self.ticket = ticket
  49. self.status = status
  50. self.title = title
  51. self.note = note
  52. self.id_metaservice = id_metaservice
  53. self.is_global = is_global
  54. self.is_visible = is_visible
  55. self.service = service
  56. self.service_category = service_category
  57. self.time_created = time_created
  58. self.time_placed = time_placed
  59. self.time_start = time_start
  60. self.time_start_predicted = time_start_predicted
  61. self.time_finish_predicted = time_finish_predicted
  62. self.time_start_real = time_start_real
  63. self.time_finish_real = time_finish_real
  64. self.order_place_type = order_place_type
  65. self.order_place_start = order_place_start
  66. self.order_place_start_gps = order_place_start_gps
  67. self.order_place_start_real = order_place_start_real
  68. self.order_place_start_real_gps = order_place_start_real_gps
  69. self.order_place_finish_predicted = order_place_finish_predicted
  70. self.order_place_finish_predicted_gps = order_place_finish_predicted_gps
  71. self.order_place_finish_real = order_place_finish_real
  72. self.order_place_finish_real_gps = order_place_finish_real_gps
  73. self.predicted_price = predicted_price
  74. self.real_price = real_price
  75. self.payment_transaction_id = payment_transaction_id
  76. self.rating_id = rating_id
  77. self.provider = provider
  78. self.provider_screen_name = provider_screen_name
  79. self.receiver = receiver
  80. self.receiver_screen_name = receiver_screen_name
  81. self.client = client
  82. self.resource = resource
  83. self.attempts = attempts
  84. self.asap = asap
  85. self.money_limit = money_limit
  86. self.tasks = tasks
  87. self.proceed_before_arrival = proceed_before_arrival
  88. self.confirmation = confirmation
  89. def __str__(self):
  90. 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(
  91. self.id,
  92. self.ticket,
  93. self.status,
  94. self.title,
  95. self.note,
  96. self.id_metaservice,
  97. self.is_global,
  98. self.is_visible,
  99. self.service,
  100. self.service_category,
  101. self.time_created,
  102. self.time_placed,
  103. self.time_start,
  104. self.time_start_predicted,
  105. self.time_finish_predicted,
  106. self.time_start_real,
  107. self.time_finish_real,
  108. self.order_place_type,
  109. self.order_place_start,
  110. self.order_place_start_gps,
  111. self.order_place_start_real,
  112. self.order_place_start_real_gps,
  113. self.order_place_finish_predicted,
  114. self.order_place_finish_predicted_gps,
  115. self.order_place_finish_real,
  116. self.order_place_finish_real_gps,
  117. self.predicted_price,
  118. self.real_price,
  119. self.payment_transaction_id,
  120. self.rating_id,
  121. self.provider,
  122. self.provider_screen_name,
  123. self.receiver,
  124. self.receiver_screen_name,
  125. self.client,
  126. self.resource,
  127. self.attempts,
  128. self.asap,
  129. self.money_limit,
  130. self.tasks,
  131. self.proceed_before_arrival,
  132. self.confirmation
  133. )
  134. # Тестовый класс User и Address (ВАЖНО!!!) поля классов должны называться также как и поля json объекта
  135. '''
  136. #Full json order example
  137. https://wiki.sharix-app.org/doku.php/open/tech/dev/sharix_open_-_primery_json
  138. {
  139. "ticket": 123,
  140. "status": 111,
  141. "priority": 1,
  142. "title": "123",
  143. "note": "123",
  144. "due_date": 2023-05-15T17:16:22.955601Z,
  145. "id_metaservice": 1,
  146. "is_global": false,
  147. "is_visible": false,
  148. "service": 1,
  149. "service_category": 1,
  150. "status_changed_date": "2023-05-15T17:16:22.955601Z",
  151. "time_placed": "2023-05-15T16:40:32.179777Z",
  152. "time_start": "2023-05-15T16:40:32.179777Z",
  153. "time_start_predicted": "2023-05-15T16:40:32.179777Z",
  154. "time_finish_predicted": "2023-05-15T16:40:32.179777Z",
  155. "time_start_real": "2023-05-15T16:40:32.179777Z",
  156. "time_finish_real": "2023-05-15T16:40:32.179777Z",
  157. "order_place_type": "address",
  158. "order_place_start": "р-н Беговой",
  159. "order_place_start_gps": "55.751941, 37.607513",
  160. "order_place_start_sector": 4,
  161. "order_place_start_real": "р-н Беговой",
  162. "order_place_start_real_gps": "55.751941, 37.607513",
  163. "order_place_finish_predicted": "р-н Мещанский",
  164. "order_place_finish_predicted_gps": "55.751941, 37.607513",
  165. "order_place_finish_sector": 4,
  166. "order_place_finish_real": "р-н Мещанский",
  167. "order_place_finish_real_gps": "55.751941, 37.607513",
  168. "predicted_price": 1000,
  169. "real_price": 1001,
  170. "payment_transaction_id": 1,
  171. "rating_id": 1,
  172. "provider": 1,
  173. "provider_screen_name": "Vasya Ispolnitelev",
  174. "receiver": 1,
  175. "receiver_screen_name": "Marfa Clientovna",
  176. "client": 1,
  177. "client_screen_name": "Fedor Client",
  178. "resource": 1,
  179. "attempts": null
  180. }
  181. '''
  182. # надо адаптировать класс к новому формату JSON
  183. # class Order(object):
  184. # def __init__(self, id,order_synced, ticket, status, title, note, due_date, id_metaservice, is_global, is_visible, service, service_category, 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=None, resource=None, attempts=None, asap=None):
  185. # self.order_synced = order_synced
  186. # self.id = id
  187. # self.ticket = ticket
  188. # self.status = status
  189. # self.title = title
  190. # self.note = note
  191. # self.due_date = due_date
  192. # self.id_metaservice = id_metaservice
  193. # self.is_global = is_global
  194. # self.is_visible = is_visible
  195. # self.service = service
  196. # self.service_category = service_category
  197. # self.status_changed_date = status_changed_date
  198. # self.time_created = time_created
  199. # self.time_placed = time_placed
  200. # self.time_start = time_start
  201. # self.time_start_predicted = time_start_predicted
  202. # self.time_finish_predicted = time_finish_predicted
  203. # self.time_start_real = time_start_real
  204. # self.time_finish_real = time_finish_real
  205. # self.order_place_type =order_place_type
  206. # self.order_place_start = order_place_start
  207. # self.order_place_start_gps = order_place_start_gps
  208. # self.order_place_start_real = order_place_start_real
  209. # self.order_place_start_real_gps = order_place_start_real_gps
  210. # self.order_place_finish_predicted = order_place_finish_predicted
  211. # self.order_place_finish_predicted_gps = order_place_finish_predicted_gps
  212. # self.order_place_finish_real = order_place_finish_real
  213. # self.order_place_finish_real_gps = order_place_finish_real_gps
  214. # self.predicted_price = predicted_price
  215. # self.real_price = real_price
  216. # self.payment_transaction_id = payment_transaction_id
  217. # self.rating_id = rating_id
  218. # self.provider = provider
  219. # self.provider_screen_name = provider_screen_name
  220. # self.receiver = receiver
  221. # self.receiver_screen_name = receiver_screen_name
  222. # self.client = client
  223. # self.resource = resource
  224. # self.attempts = attempts
  225. # self.asap = asap
  226. # #доделать до конца по аналогии с закоммиченным json
  227. # def __str__(self):
  228. # 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_category, 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, self.resource, self.attempts, self.asap)
  229. # \n добавляете в местах с пустой строкой в шаблоне