package routes

import (
	"github.com/gin-gonic/gin"
	"search_server/controller"
	"search_server/middleware"
)

//初始化路由
func InitRouter() *gin.Engine {
	r := gin.New()

	r.Use(gin.Logger())
	r.Use(gin.Recovery())
	r.Use(middleware.Cors())

	//健康监测
	r.POST("Health", func(c *gin.Context) {
		c.String(200,"ok")
	})

	//所有新增的接口
	v2 := r.Group("/api/")
	{
		v2.POST("alike", controller.AlikeSearch)
		v2.GET("alike", controller.AlikeSearch)
		v2.GET("think", controller.ThinkSearch)
		v2.POST("think", controller.ThinkSearch)
	}
	//商品分类
	v3 := r.Group("/optimum/")
	{
		v3.POST("attr", controller.OptimumAttr)
		v3.GET("attr", controller.OptimumAttr)
		v3.POST("goods", controller.OptimumGoods)
		v3.GET("goods", controller.OptimumGoods)
	}

	//路由
	r.POST("search/ZiYing/zyh", controller.Zyh)
	r.GET("search/ZiYing/zyh", controller.Zyh)
	r.GET("search/ZiYing/index", controller.Index)
	r.POST("search/ZiYing/index", controller.Index)
	r.GET("search/ZiYing/aggs", controller.Aggs)
	r.POST("search/ZiYing/aggs", controller.Aggs)
	r.GET("search/ZiYing/aggSample", controller.AggSample)
	r.POST("search/ZiYing/aggSample", controller.AggSample)
	r.POST("search/mouser/a", controller.GetMouserData)
	r.GET("search/mouser/a", controller.GetMouserData)
	r.POST("search/digikey/a", controller.GetDigikeyData)
	r.GET("search/digikey/a", controller.GetDigikeyData)
	r.POST("search/tme/a", controller.GetTmeData)
	r.GET("search/tme/a", controller.GetTmeData)

	//bom相关
	r.POST("/search/bom/autospu", controller.AutoSpu)
	r.POST("/search/bom/recommend", controller.Recommend)

	//快手平台相关
	r.GET("/search/quote/test", controller.QuoteTest)
	r.GET("/search/quote", controller.QuoteIndex)
	r.POST("/search/quote", controller.QuoteIndex)
	r.GET("/search/quote/getDataPur", controller.GetDataPur)
	r.POST("/search/quote/getDataPur", controller.GetDataPur)

	//GetData控制器相关
	r.GET("/search/get_data", controller.GetDataIndex)
	r.POST("/search/get_data", controller.GetDataIndex)

	//Other控制器相关
	r.POST("/search/other/hasStock", controller.CheckHasStock)
	r.GET("/search/other/exactGoods", controller.ExactGoods)
	r.POST("/search/other/exactGoods", controller.ExactGoods)

	//SearchLog控制器相关
	r.GET("/search/search_log/sumIp", controller.SumIp)
	r.POST("/search/search_log/sumIp", controller.SumIp)
	r.POST("/search/search_log/scroll", controller.Scroll)
	r.GET("/search/search_log/index", controller.SearchLogIndex)
	r.POST("/search/search_log/index", controller.SearchLogIndex)
	r.GET("/search/search_log", controller.SearchLogIndex)
	r.POST("/search/search_log", controller.SearchLogIndex)

	return r
}