Skip to content

leeyaal/avitotest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AVITO-TASK

Описание

Данное приложение позволяет взаимодействовать с уже имеющейся базой данных.

  • создавать новых юзеров и добавлять их в список
  • списывать средства со счета
  • начислять средства на счет
  • переводить средства со счета на счет
  • получать список юзеров
  • получать список всех производимых операций
  • получать баланс счета конкретного юзера (в каждой функции производится проверка наличия и возможность создания id и невозможность создания отрицательного баланса и существующего id)

Стек:

  • Go 1.16
  • Postgresql

Запуск

go run main.go checks.go handlers.go

Создание БД (производилось в psql)

Список юзеров (все юзеры уникальны. Если юзер имеет статус "new", значит операций по данному счету не производилось и баланс "0" фактически не имеет нулевого значения)

name type value
id integer not null
balance integer not null
status varchar(20) not null

Список операций ("idcreator" - создатель операции, не указывается если производится списание или начисление, "idreciever" - юзер, который получает средства или у кого они списываются)

name type value
idcreator integer not null
idreciever integer not null
operation varchar(20) not null
date varchar(20) not null
sum integer not null

Примеры запросов

NewUser (создание юзера)

Unsuccessful

Successful

Income (зачисление средств)

Unsuccessful

Successful

Outcome (списание средств)

Unsuccessful

Successful

Transit (перевод средств от юзера к юзеру)

Unsuccessful

Successful

Check (получение списка всех юзеров)

Successful

Infobalance (получение баланса конкретного юзера)

Successful

History (получение списка истории операций)

Successful

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages