Documentation ¶
Index ¶
- type Handler
- func (h *Handler) AddToStock(w http.ResponseWriter, r *http.Request)
- func (h *Handler) AmountInStock(w http.ResponseWriter, r *http.Request)
- func (h *Handler) CancelReservation(w http.ResponseWriter, r *http.Request)
- func (h *Handler) FinishOrder(w http.ResponseWriter, r *http.Request)
- func (h *Handler) MakeLocalSale(w http.ResponseWriter, r *http.Request)
- func (h *Handler) MakeReservation(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SoldAmount(w http.ResponseWriter, r *http.Request)
- func (h *Handler) StockRecord(w http.ResponseWriter, r *http.Request)
- func (h *Handler) UpdateAmountInStock(w http.ResponseWriter, r *http.Request)
- func (h *Handler) UpdatePriceInStock(w http.ResponseWriter, r *http.Request)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Handler ¶
type Handler struct {
// contains filtered or unexported fields
}
func (*Handler) AddToStock ¶
func (h *Handler) AddToStock(w http.ResponseWriter, r *http.Request)
AddToStock добавляет новую запись о доступном товаре. В теле запроса передается новое количество, артикул, цена и название товара в формате JSON. Пример передаваемых данных:
{"article":"3", "amount":6759, "price": 16000, "name": "plum-bus"}
func (*Handler) AmountInStock ¶
func (h *Handler) AmountInStock(w http.ResponseWriter, r *http.Request)
AmountInStock возвращает в формате JSON доступное для продажи количество товара с переданным параметром запроса (article) артикулом. Пример возвращаемого значения: { "amount": 13 }
func (*Handler) CancelReservation ¶
func (h *Handler) CancelReservation(w http.ResponseWriter, r *http.Request)
CancelReservation отменяет заказ с переданным в пути запроса номером заказа. Продукты из заказа возвращаются в продажу по актуальной на данный момент цене. В случае успешной отмены возвращается http.StatusOK и производится запись в лог. Данные в запросе передаются в теле в виде JSON. Например:
{"order_number": 9}
func (*Handler) FinishOrder ¶
func (h *Handler) FinishOrder(w http.ResponseWriter, r *http.Request)
FinishOrder отмечает заказ выполненным (отданным локальному покупателю или отправленным интернет-покупателю) и заносит зарезервированные продукты в историю проданных товаров. Данные в запросе передаются в теле в виде JSON. Например:
{"order_number": 9}
func (*Handler) MakeLocalSale ¶
func (h *Handler) MakeLocalSale(w http.ResponseWriter, r *http.Request)
MakeLocalSale товар из доступного для продажи переносится в историю продаж. В случае удачного выполнения операции возвращается http.StatusOK и производится запись в лог. В теле запроса передается массив резервируемых продуктов в формате JSON. Пример передаваемых данных:
[ { "article" : "9", "price" : 1330, "amount":6 }, { "article":"1", "price":3530, "amount":5 } ]
func (*Handler) MakeReservation ¶
func (h *Handler) MakeReservation(w http.ResponseWriter, r *http.Request)
MakeReservation резервирует группу товаров под переданным номером заказа. В теле запроса передается номер заказа, статус резервирования (описание в internal/domain/aggregates/reservation/number_date_state_products.go) и массив резервируемых продуктов в формате JSON. В случае удачного резервирования возвращается http.StatusCreated и производится запись в лог. Пример передаваемых данных:
{ "order_number":13, "state":1, "products":[ { "article" : "9", "price" : 1330, "amount":6 }, { "article":"1", "price":3530, "amount":5 } ] }
func (*Handler) SoldAmount ¶
func (h *Handler) SoldAmount(w http.ResponseWriter, r *http.Request)
SoldAmount возвращает общее количество проданного товара. В параметре запроса (article) передается артикул. Параметрами запроса опционально передаются даты from и to для указания временного диапазона. Если передать только параметр from, то в качестве параметра to будет текущая дата (определяется временем на сервере, где запущено приложение, а не БД). Если передан только параметр to, то возвращается ответ http.StatusBadRequest Пример возвращаемого значения: { "amount": 13 }
func (*Handler) StockRecord ¶
func (h *Handler) StockRecord(w http.ResponseWriter, r *http.Request)
StockRecord получение всех полей записи с переданным в параметре запроса (article) артикулом и возврат в формате JSON. Пример возвращаемых данных:
{ "article": "CA-F91W", "name": "CASIO F-91W-1YEG", "price": 3490, "amount": 60 }
func (*Handler) UpdateAmountInStock ¶
func (h *Handler) UpdateAmountInStock(w http.ResponseWriter, r *http.Request)
UpdateAmountInStock обновляет количество единиц товара. В теле запроса передается новое количество и артикул товара в формате JSON. Пример передаваемых данных:
{"article":"3", "amount":6759}
func (*Handler) UpdatePriceInStock ¶
func (h *Handler) UpdatePriceInStock(w http.ResponseWriter, r *http.Request)
UpdatePriceInStock обновляет цену для товара. В теле запроса передается новая цена и артикул товара в формате JSON Пример передаваемых данных:
{"article":"3", "price":6759}