97 lines
2.9 KiB
Go
97 lines
2.9 KiB
Go
package controller
|
|
|
|
import (
|
|
"yitao/ecode"
|
|
"yitao/middleware"
|
|
"yitao/validate"
|
|
|
|
"github.com/kataras/iris/v12/mvc"
|
|
)
|
|
|
|
type ItemController struct {
|
|
BaseController
|
|
}
|
|
|
|
func (c *ItemController) BeforeActivation(b mvc.BeforeActivation) {
|
|
b.Handle("GET", "/{id:uint}", "Get")
|
|
//b.Handle("GET", "/list/{:type}", "GetList")
|
|
|
|
// 管理员接口
|
|
{
|
|
b.Handle("POST", "/oper/create", "Create", middleware.JwtMiddleware.Serve)
|
|
b.Handle("DELETE", "/oper/delete", "Delete", middleware.JwtMiddleware.Serve)
|
|
//b.Handle("POST", "/admin/update", "Update", middleware.JwtMiddleware.Serve, middleware.AdminMiddleware)
|
|
//b.Handle("POST", "/admin/delete", "Delete", middleware.JwtMiddleware.Serve, middleware.AdminMiddleware)
|
|
}
|
|
|
|
}
|
|
|
|
// @Summary get item api
|
|
// @Description 获取相关ID的商品信息
|
|
// @Tags item api
|
|
// @Accept json
|
|
// @Produce json
|
|
// @Param id path uint true "商品ID"
|
|
// @Success 200 {object} map[string]interface{} "{"jwt": "jwt.jwt.jwt"}"
|
|
// @Failure 400 {object} map[string]interface{} "{"msg": "错误信息","code":0}"
|
|
// @Router /api/item/get/{id} [post]
|
|
func (c *ItemController) Get(id uint) mvc.Result {
|
|
return nil
|
|
}
|
|
|
|
// @Summary 创建商品
|
|
// @Description 创建商品接口
|
|
// @Tags item api
|
|
// @Accept json
|
|
// @Produce json
|
|
// @Param createItemParam body validate.CreateItemParam true "商品信息"
|
|
// @Success 200 {object} model.ItemModel "{"id": 1}"
|
|
// @Failure 400 {object} map[string]interface{} "{"msg": "错误信息","code":0}"
|
|
// @Router /api/item/oper/create [post]
|
|
func (c *ItemController) Create() mvc.Result {
|
|
e := ecode.OK()
|
|
create_item_param := new(validate.CreateItemParam)
|
|
e = validate.ReadJSON(c.Ctx, create_item_param)
|
|
if e.Error() {
|
|
return e.Response()
|
|
}
|
|
|
|
// 验证图片文件是否存在
|
|
_, e = c.Service.File.GetFileId(create_item_param.Img)
|
|
if e.Error() {
|
|
return e.Response()
|
|
}
|
|
|
|
uid := GetUidFromCtx(c.Ctx)
|
|
item, e := c.Service.Item.CreateItem(uid, create_item_param.Itemname, create_item_param.Desc, create_item_param.Types, create_item_param.Img, create_item_param.Price)
|
|
if e.Error() {
|
|
return e.Response()
|
|
}
|
|
|
|
return mvc.Response{
|
|
Object: item,
|
|
}
|
|
}
|
|
|
|
// @Summary 删除商品
|
|
// @Description 删除商品接口
|
|
// @Tags item api
|
|
// @Accept json
|
|
// @Produce json
|
|
// @Param deleteItemParam body validate.DeleteItemParam true "商品信息"
|
|
// @Success 200 {object} map[string]interface{} "{"msg": "商品操作成功"}"
|
|
// @Failure 400 {object} map[string]interface{} "{"msg": "错误信息","code":0}"
|
|
// @Router /api/item/oper/delete [delete]
|
|
func (c *ItemController) Delete() mvc.Result {
|
|
e := ecode.OK()
|
|
deleteItemParam := new(validate.DeleteItemParam)
|
|
e = validate.ReadJSON(c.Ctx, deleteItemParam)
|
|
if e.Error() {
|
|
return e.Response()
|
|
}
|
|
|
|
uid := GetUidFromCtx(c.Ctx)
|
|
c.Service.Item.DeleteItem(uid, 1)
|
|
return e.Response()
|
|
}
|