handlers

package
v0.0.0-...-5a20165 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 16, 2024 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

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 New

func New(service service.Interface, queryTimeout time.Duration) *Handler

New конструктор обработчиков. Возвращает созданный обработчик *Handler.

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}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL