// Package docs GENERATED BY SWAG; DO NOT EDIT
// This file was generated by swaggo/swag
package docs

import "github.com/swaggo/swag"

const docTemplate = `{
    "schemes": {{ marshal .Schemes }},
    "swagger": "2.0",
    "info": {
        "description": "{{escape .Description}}",
        "title": "{{.Title}}",
        "contact": {
            "name": "CloudWeGo",
            "url": "https://github.com/cloudwego",
            "email": "conduct@cloudwego.io"
        },
        "license": {
            "name": "Apache 2.0",
            "url": "http://www.apache.org/licenses/LICENSE-2.0.html"
        },
        "version": "{{.Version}}"
    },
    "host": "{{.Host}}",
    "basePath": "{{.BasePath}}",
    "paths": {
        "/item2b/add": {
            "post": {
                "security": [
                    {
                        "TokenAuth": []
                    }
                ],
                "description": "add product",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "product module"
                ],
                "summary": "add product",
                "parameters": [
                    {
                        "description": "request param of adding product",
                        "name": "addProductRequest",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/model.AddProductRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/model.Response"
                        }
                    }
                }
            }
        },
        "/item2b/del": {
            "post": {
                "security": [
                    {
                        "TokenAuth": []
                    }
                ],
                "description": "delete product",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "product module"
                ],
                "summary": "delete product",
                "parameters": [
                    {
                        "description": "request param of operating product",
                        "name": "delProductRequest",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/model.OperateProductReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/model.Response"
                        }
                    }
                }
            }
        },
        "/item2b/edit": {
            "post": {
                "security": [
                    {
                        "TokenAuth": []
                    }
                ],
                "description": "edit product",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "product module"
                ],
                "summary": "edit product",
                "parameters": [
                    {
                        "description": "request param of editing product",
                        "name": "editProductRequest",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/model.EditProductRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/model.Response"
                        }
                    }
                }
            }
        },
        "/item2b/get": {
            "get": {
                "security": [
                    {
                        "TokenAuth": []
                    }
                ],
                "description": "get product by product_id",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "product module"
                ],
                "summary": "get product by product_id",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "product_id",
                        "name": "product_id",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/model.Response"
                        }
                    }
                }
            }
        },
        "/item2b/list": {
            "post": {
                "security": [
                    {
                        "TokenAuth": []
                    }
                ],
                "description": "get product list",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "product module"
                ],
                "summary": "get product list",
                "parameters": [
                    {
                        "description": "request param of listing products",
                        "name": "listProductReq",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/model.ListProductReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/model.Response"
                        }
                    }
                }
            }
        },
        "/item2b/offline": {
            "post": {
                "security": [
                    {
                        "TokenAuth": []
                    }
                ],
                "description": "offline product",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "product module"
                ],
                "summary": "offline product",
                "parameters": [
                    {
                        "description": "request param of operating product",
                        "name": "offlineProductRequest",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/model.OperateProductReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/model.Response"
                        }
                    }
                }
            }
        },
        "/item2b/online": {
            "post": {
                "security": [
                    {
                        "TokenAuth": []
                    }
                ],
                "description": "online product",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "product module"
                ],
                "summary": "online product",
                "parameters": [
                    {
                        "description": "request param of operating product",
                        "name": "onlineProductRequest",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/model.OperateProductReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/model.Response"
                        }
                    }
                }
            }
        },
        "/item2c/mget": {
            "get": {
                "security": [
                    {
                        "TokenAuth": []
                    }
                ],
                "description": "batch get products by product_id (2C interface)",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "product module(2C)"
                ],
                "summary": "batch get products by product_id (2C interface)",
                "parameters": [
                    {
                        "type": "string",
                        "description": "product-ids separated by commas",
                        "name": "product_ids",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/model.Response"
                        }
                    }
                }
            }
        },
        "/item2c/search": {
            "post": {
                "security": [
                    {
                        "TokenAuth": []
                    }
                ],
                "description": "search products (2C interface)",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "product module(2C)"
                ],
                "summary": "search products (2C interface)",
                "parameters": [
                    {
                        "description": "request param of searching products",
                        "name": "searchProductReq",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/model.SearchProductReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/model.Response"
                        }
                    }
                }
            }
        },
        "/order/cancel": {
            "post": {
                "security": [
                    {
                        "TokenAuth": []
                    }
                ],
                "description": "consumer cancels order",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "order module"
                ],
                "summary": "consumer cancels order",
                "parameters": [
                    {
                        "description": "request param to cancel one order",
                        "name": "cancelOrderReq",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/model.CancelOrderReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/model.Response"
                        }
                    }
                }
            }
        },
        "/order/create": {
            "post": {
                "security": [
                    {
                        "TokenAuth": []
                    }
                ],
                "description": "consumer creates order",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "order module"
                ],
                "summary": "consumer creates order",
                "parameters": [
                    {
                        "description": "request param to create one order",
                        "name": "createOrderReq",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/model.CreateOrderReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/model.Response"
                        }
                    }
                }
            }
        },
        "/order/get": {
            "get": {
                "security": [
                    {
                        "TokenAuth": []
                    }
                ],
                "description": "get order by order_id",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "order module"
                ],
                "summary": "get order by order_id",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "order id",
                        "name": "order_id",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/model.Response"
                        }
                    }
                }
            }
        },
        "/order/list": {
            "post": {
                "security": [
                    {
                        "TokenAuth": []
                    }
                ],
                "description": "get order list of a consumer",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "order module"
                ],
                "summary": "get order list of a consumer",
                "parameters": [
                    {
                        "description": "request param to get order list",
                        "name": "listOrderReq",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/model.ListOrderReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/model.Response"
                        }
                    }
                }
            }
        },
        "/shop/login": {
            "post": {
                "description": "shop login",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "shop module"
                ],
                "summary": "shop login",
                "parameters": [
                    {
                        "description": "login param",
                        "name": "userParam",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/model.UserParam"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/model.LoginResponse"
                        }
                    }
                }
            }
        },
        "/user/login": {
            "post": {
                "description": "user login",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "user module"
                ],
                "summary": "user login",
                "parameters": [
                    {
                        "description": "login param",
                        "name": "userParam",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/model.UserParam"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/model.LoginResponse"
                        }
                    }
                }
            }
        },
        "/user/register": {
            "post": {
                "description": "user register",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "user module"
                ],
                "summary": "user register",
                "parameters": [
                    {
                        "description": "register param",
                        "name": "userParam",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/model.UserParam"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/model.Response"
                        }
                    }
                }
            }
        }
    },
    "definitions": {
        "model.AddProductRequest": {
            "type": "object",
            "properties": {
                "description": {
                    "type": "string"
                },
                "isbn": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "pic": {
                    "type": "string"
                },
                "price": {
                    "type": "integer"
                },
                "spu_name": {
                    "type": "string"
                },
                "spu_price": {
                    "type": "integer"
                },
                "stock": {
                    "type": "integer"
                }
            }
        },
        "model.CancelOrderReq": {
            "type": "object",
            "properties": {
                "order_id": {
                    "type": "string"
                }
            }
        },
        "model.CreateOrderReq": {
            "type": "object",
            "properties": {
                "address": {
                    "type": "string"
                },
                "product_id": {
                    "type": "string"
                },
                "stock_num": {
                    "type": "integer"
                }
            }
        },
        "model.EditProductRequest": {
            "type": "object",
            "properties": {
                "description": {
                    "type": "string"
                },
                "isbn": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "pic": {
                    "type": "string"
                },
                "price": {
                    "type": "integer"
                },
                "product_id": {
                    "type": "string"
                },
                "spu_name": {
                    "type": "string"
                },
                "spu_price": {
                    "type": "integer"
                },
                "stock": {
                    "type": "integer"
                }
            }
        },
        "model.ListOrderReq": {
            "type": "object",
            "properties": {
                "status": {
                    "type": "integer"
                }
            }
        },
        "model.ListProductReq": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string"
                },
                "spu_name": {
                    "type": "string"
                },
                "status": {
                    "type": "integer"
                }
            }
        },
        "model.LoginResponse": {
            "type": "object",
            "properties": {
                "code": {
                    "type": "integer"
                },
                "expire": {
                    "type": "string"
                },
                "token": {
                    "type": "string"
                }
            }
        },
        "model.OperateProductReq": {
            "type": "object",
            "properties": {
                "product_id": {
                    "type": "string"
                }
            }
        },
        "model.Response": {
            "type": "object",
            "properties": {
                "code": {
                    "type": "integer"
                },
                "data": {},
                "message": {
                    "type": "string"
                }
            }
        },
        "model.SearchProductReq": {
            "type": "object",
            "properties": {
                "description": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "spu_name": {
                    "type": "string"
                }
            }
        },
        "model.UserParam": {
            "type": "object",
            "properties": {
                "password": {
                    "type": "string"
                },
                "username": {
                    "type": "string"
                }
            }
        }
    },
    "securityDefinitions": {
        "TokenAuth": {
            "type": "apiKey",
            "name": "Authorization",
            "in": "header"
        }
    }
}`

// SwaggerInfo holds exported Swagger Info so clients can modify it
var SwaggerInfo = &swag.Spec{
	Version:          "1.0",
	Host:             "localhost:8080",
	BasePath:         "/",
	Schemes:          []string{"http"},
	Title:            "Book-Shop",
	Description:      "This is a book-shop demo using Hertz and KiteX.",
	InfoInstanceName: "swagger",
	SwaggerTemplate:  docTemplate,
}

func init() {
	swag.Register(SwaggerInfo.InstanceName(), SwaggerInfo)
}
