|
@@ -2,22 +2,23 @@ package controller
|
|
|
|
|
|
import (
|
|
|
"github.com/gin-gonic/gin"
|
|
|
+ "strconv"
|
|
|
"trading-go/model"
|
|
|
"trading-go/response"
|
|
|
)
|
|
|
|
|
|
-// GetAllGoods
|
|
|
-// @Tags 商品模块
|
|
|
-// @Summary 获取所有商品
|
|
|
-// @Produce application/json
|
|
|
-// @Success 200 {object} response.Response
|
|
|
-// @Router /goods [get]
|
|
|
-func GetAllGoods(c *gin.Context) {
|
|
|
- var goods []model.GoodsSurface
|
|
|
- goods = append(goods, model.GoodsSurface{})
|
|
|
- goods = append(goods, model.GoodsSurface{})
|
|
|
- response.Success(c.Writer, "success", goods)
|
|
|
-}
|
|
|
+//// GetAllGoods
|
|
|
+//// @Tags 商品模块
|
|
|
+//// @Summary 获取所有商品
|
|
|
+//// @Produce application/json
|
|
|
+//// @Success 200 {object} response.Response
|
|
|
+//// @Router /goods [get]
|
|
|
+//func GetAllGoods(c *gin.Context) {
|
|
|
+// var goods []model.GoodsSurface
|
|
|
+// goods = append(goods, model.GoodsSurface{})
|
|
|
+// goods = append(goods, model.GoodsSurface{})
|
|
|
+// response.Success(c.Writer, "success", goods)
|
|
|
+//}
|
|
|
|
|
|
// CreatGoods
|
|
|
// @Tags 商品模块
|
|
@@ -28,6 +29,27 @@ func GetAllGoods(c *gin.Context) {
|
|
|
// @Success 200 {object} response.Response
|
|
|
// @Router /goods/create [post]
|
|
|
func CreatGoods(c *gin.Context) {
|
|
|
+ var goodsJson model.GoodsJson
|
|
|
+ var category model.CategoryOfGoods
|
|
|
+ err := c.ShouldBindJSON(&goodsJson)
|
|
|
+ if err != nil {
|
|
|
+ msg := err.Error()
|
|
|
+ response.Fail(c.Writer, msg, 500)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if err != nil {
|
|
|
+ msg := err.Error()
|
|
|
+ response.Fail(c.Writer, msg, 500)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ goods := goodsJson.Change()
|
|
|
+ id, err := goods.Create()
|
|
|
+ err = category.Save(id, goodsJson.Categories)
|
|
|
+ if err != nil {
|
|
|
+ msg := err.Error()
|
|
|
+ response.Fail(c.Writer, msg, 500)
|
|
|
+ return
|
|
|
+ }
|
|
|
response.Success(c.Writer, "success", nil)
|
|
|
}
|
|
|
|
|
@@ -39,6 +61,20 @@ func CreatGoods(c *gin.Context) {
|
|
|
// @Success 200 {object} response.Response
|
|
|
// @Router /goods/delete/{id} [delete]
|
|
|
func DGoods(c *gin.Context) {
|
|
|
+ var goods model.Goods
|
|
|
+ ids := c.Param("id")
|
|
|
+ id, err := strconv.Atoi(ids)
|
|
|
+ if err != nil {
|
|
|
+ response.Fail(c.Writer, err.Error(), 500)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ goods.Id = uint(id)
|
|
|
+ err = goods.Delete()
|
|
|
+ if err != nil {
|
|
|
+ msg := err.Error()
|
|
|
+ response.Fail(c.Writer, msg, 500)
|
|
|
+ return
|
|
|
+ }
|
|
|
response.Success(c.Writer, "success", nil)
|
|
|
}
|
|
|
|
|
@@ -51,11 +87,31 @@ func DGoods(c *gin.Context) {
|
|
|
// @Success 200 {object} response.Response
|
|
|
// @Router /goods/{page}/{pageSize} [get]
|
|
|
func GetGoodsPage(c *gin.Context) {
|
|
|
- var goods []model.GoodsSurface
|
|
|
- var rsp response.PageResponse
|
|
|
- goods = append(goods, model.GoodsSurface{})
|
|
|
- goods = append(goods, model.GoodsSurface{})
|
|
|
- rsp.Data = goods
|
|
|
+ var goods model.GoodsSurface
|
|
|
+ p := c.Param("page")
|
|
|
+ pS := c.Param("pageSize")
|
|
|
+ page, err := strconv.Atoi(p)
|
|
|
+ pageSize, err := strconv.Atoi(pS)
|
|
|
+ if err != nil {
|
|
|
+ msg := err.Error()
|
|
|
+ response.Fail(c.Writer, msg, 500)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ rsp, err := goods.GetPaged(page, pageSize)
|
|
|
+ if err != nil {
|
|
|
+ msg := err.Error()
|
|
|
+ response.Fail(c.Writer, msg, 500)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ cnt, err := goods.GetCnt()
|
|
|
+ if err != nil {
|
|
|
+ msg := err.Error()
|
|
|
+ response.Fail(c.Writer, msg, 500)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if cnt > page*pageSize {
|
|
|
+ rsp.HNext = true
|
|
|
+ }
|
|
|
response.Success(c.Writer, "success", rsp)
|
|
|
}
|
|
|
|
|
@@ -73,7 +129,7 @@ func GetRecommend(c *gin.Context) {
|
|
|
var rsp response.PageResponse
|
|
|
goods = append(goods, model.GoodsSurface{})
|
|
|
goods = append(goods, model.GoodsSurface{})
|
|
|
- rsp.Data = goods
|
|
|
+ //rsp.Data = goods
|
|
|
response.Success(c.Writer, "success", rsp)
|
|
|
}
|
|
|
|
|
@@ -85,6 +141,19 @@ func GetRecommend(c *gin.Context) {
|
|
|
// @Success 200 {object} response.Response
|
|
|
// @Router /goods/revise [post]
|
|
|
func ReviseGoods(c *gin.Context) {
|
|
|
+ var goods model.Goods
|
|
|
+ err := c.ShouldBindJSON(&goods)
|
|
|
+ if err != nil {
|
|
|
+ msg := err.Error()
|
|
|
+ response.Fail(c.Writer, msg, 500)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ err = goods.Revise()
|
|
|
+ if err != nil {
|
|
|
+ msg := err.Error()
|
|
|
+ response.Fail(c.Writer, msg, 500)
|
|
|
+ return
|
|
|
+ }
|
|
|
response.Success(c.Writer, "success", nil)
|
|
|
}
|
|
|
|
|
@@ -96,6 +165,19 @@ func ReviseGoods(c *gin.Context) {
|
|
|
// @Success 200 {object} response.Response
|
|
|
// @Router /goods/detail/{id} [get]
|
|
|
func GetGoodDetail(c *gin.Context) {
|
|
|
+ var goods model.Goods
|
|
|
+ ids := c.Param("id")
|
|
|
+ id, err := strconv.Atoi(ids)
|
|
|
+ if err != nil {
|
|
|
+ response.Fail(c.Writer, err.Error(), 500)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ goods.Id = uint(id)
|
|
|
+ err = goods.GetDetail()
|
|
|
+ if err != nil {
|
|
|
+ response.Fail(c.Writer, err.Error(), 500)
|
|
|
+ return
|
|
|
+ }
|
|
|
response.Success(c.Writer, "success", model.Goods{})
|
|
|
}
|
|
|
|
|
@@ -107,8 +189,19 @@ func GetGoodDetail(c *gin.Context) {
|
|
|
// @Success 200 {object} response.Response
|
|
|
// @Router /goods/user/{id} [get]
|
|
|
func GetUserGoods(c *gin.Context) {
|
|
|
- var data []model.GoodsSurface
|
|
|
- data = append(data, model.GoodsSurface{})
|
|
|
+ var goods model.Goods
|
|
|
+ ids := c.Param("id")
|
|
|
+ id, err := strconv.Atoi(ids)
|
|
|
+ if err != nil {
|
|
|
+ response.Fail(c.Writer, err.Error(), 500)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ goods.OwnerId = uint(id)
|
|
|
+ data, err := goods.GetUserGoods()
|
|
|
+ if err != nil {
|
|
|
+ response.Fail(c.Writer, err.Error(), 500)
|
|
|
+ return
|
|
|
+ }
|
|
|
response.Success(c.Writer, "success", data)
|
|
|
}
|
|
|
|
|
@@ -126,6 +219,46 @@ func SearchGoods(c *gin.Context) {
|
|
|
var rsp response.PageResponse
|
|
|
goods = append(goods, model.GoodsSurface{})
|
|
|
goods = append(goods, model.GoodsSurface{})
|
|
|
- rsp.Data = goods
|
|
|
+ //rsp.Data = goods
|
|
|
+ response.Success(c.Writer, "success", rsp)
|
|
|
+}
|
|
|
+
|
|
|
+// GetGoodsCategory
|
|
|
+// @Tags 商品模块
|
|
|
+// @Summary 按分类查找商品并分页显示
|
|
|
+// @Produce application/json
|
|
|
+// @Param page path int true "页数"
|
|
|
+// @Param pageSize path int true "一页的大小"
|
|
|
+// @Param category query uint true "商品分类id"
|
|
|
+// @Success 200 {object} response.Response
|
|
|
+// @Router /goods/category/{page}/{pageSize} [get]
|
|
|
+func GetGoodsCategory(c *gin.Context) {
|
|
|
+ var goods model.GoodsSurface
|
|
|
+ p := c.Param("page")
|
|
|
+ pS := c.Param("pageSize")
|
|
|
+ ca := c.Query("category")
|
|
|
+ category, err := strconv.Atoi(ca)
|
|
|
+ page, err := strconv.Atoi(p)
|
|
|
+ pageSize, err := strconv.Atoi(pS)
|
|
|
+ if err != nil {
|
|
|
+ msg := err.Error()
|
|
|
+ response.Fail(c.Writer, msg, 500)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ rsp, err := goods.GetCategoryPaged(page, pageSize, uint(category))
|
|
|
+ if err != nil {
|
|
|
+ msg := err.Error()
|
|
|
+ response.Fail(c.Writer, msg, 500)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ cnt, err := goods.GetCategoryCnt(uint(category))
|
|
|
+ if err != nil {
|
|
|
+ msg := err.Error()
|
|
|
+ response.Fail(c.Writer, msg, 500)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if cnt > page*pageSize {
|
|
|
+ rsp.HNext = true
|
|
|
+ }
|
|
|
response.Success(c.Writer, "success", rsp)
|
|
|
}
|