nkorobkov / lfmsh_bank

A full-sized web accounts management system to support the virtual economy.
htpps://nkorobkov.com/projects/bank
9 stars 5 forks source link

Response на запрос информации о юзере #9

Closed kartomin closed 7 years ago

kartomin commented 7 years ago

Сделай, пожалуйста, в таком формате:

{ "username":"%username%", "fullname":"%fullname%", "balance":"%balance%", "transactions":[%transactions json array%], } Естественно всё в одну строчку, чтобы не было проблем со \n.

Пока я хочу реализовать такой функционал, потом добавим пропуски лекций и всё такое.

nkorobkov commented 7 years ago

С юзером ассоциируется три типа "транзакций"

  1. Исходящие Transaction
  2. Входящие Money
  3. Входящие Attendance (по сути счетчики)

Для пионера основной интерес представляют второй и третий пункты. Что ты хочешь под ключом transactions ?

kartomin commented 7 years ago

Все транзакции по счёту в хронологическом порядке (желательно). Ещё было бы недурно, чтобы вся дата хранилась в полях с одинаковыми названиями (ну типа время - time, влияние на счёт - money)

nkorobkov commented 7 years ago

Еще раз. Транзакции бывают трех типов. У ранзных типов разные поля. Ты хочешь в одном списке объекты с разными полями ? Или только те, которые входящие деньги ? На счет влияют два типа -- исходящие транзакции (в случае пионеров личные переводы) и входящие транзакции от пед состава. Но эти два типа не похожи друг на друга и передавать их в одном списке странно.

nkorobkov commented 7 years ago

Сделал в следующем формате

{ "balance": 180.0, "username": "aotenditnaja", "first_name": "Строка в юникоде", "last_name": "Строка в юникоде", "balance_changes": [{ "type": "Строка в юникоде", "value": 180.0, "receiver": "Строка в юникоде", "creator": "Строка в юникоде", "counted": true, "description": "Строка в юникоде", "update_timestamp": "17.07.2017 20:40", "creation_timestamp": "17.07.2017 20:40" }, ...], "counters": [{ "type": "Строка в юникоде", "value": 50.0, "receiver": "Строка в юникоде", "counted": true, "description": "asdf", "update_timestamp": "17.07.2017 21:11", "creation_timestamp": "17.07.2017 21:11", "attendance_block": "Строка в юникоде или строка null", "date": "17.07" }, ...] }

Где в ключе balance_changes слиты исходящие и входящие денежные транзакции.