Нужно установить данные package
go get -u github.com/gorilla/mux
go get -u github.com/go-sql-driver/mysql
В строке func main() { db, err = sql.Open("mysql", "root:1111@tcp(127.0.0.1:3306)/operations")
Установить значения для вашей бд
db, err = sql.Open("mysql", ":@tcp(127.0.0.1:3306)/")
create table users ( id int primary key unique not null, balance float not null );
create table reservations ( order_id int primary key unique not null, user_id int not null, service_id int not null, amount float not null );
create table services ( id int primary key unique not null, description varchar(30) );
INSERT INTO services VALUES (1, 'Service1'); INSERT INTO services VALUES (2, 'Service2'); INSERT INTO services VALUES (3, 'Service3'); INSERT INTO services VALUES (4, 'Service4');
create table reports ( order_id int primary key unique not null, user_id int not null, service_id int not null, amount float not null, date date not null );
| Method | Url | Body | Description |
|---|---|---|---|
| Get | /balances | id | Получить баланс пользователя |
| Post | /balances | id, balance | Пополнить баланс пользователя |
| Post | /reservations | order_id, user_id, service_id, amount | Зарезервировать деньги у пользователя |
| Delete | /reservations | order_id, user_id, service_id, amount | Списать деньги с резерва и добавить в отчет |
Получить баланс пользователя:
Пополнить баланс:
Зарезервировать данные:
В табличке reservations появились данные:
Списать из резерва деньги и добавить данные в отчет:
Проверяем, что таблица с резервацией стала пустой и данные добавились в отчет:





