package controllers import ( "git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/jx-callback/business/jxstore/cms" "git.rosy.net.cn/jx-callback/business/model" "github.com/astaxie/beego" ) type SkuController struct { beego.Controller } // @Title 得到厂商商品类别 // @Description 得到厂商商品类别(区别于商家SKU类别) // @Param token header string true "认证token" // @Param vendorID query int true "厂商ID" // @Param parentID query int false "父ID,-1表示所有,缺省为-1" // @Success 200 {object} controllers.CallResult // @Failure 200 {object} controllers.CallResult // @router /GetVendorCategories [get] func (c *SkuController) GetVendorCategories() { c.callGetVendorCategories(func(params *tSkuGetVendorCategoriesParams) (retVal interface{}, errCode string, err error) { if c.GetString("parentID") == "" { params.ParentID = -1 } retVal, err = cms.GetVendorCategories(params.VendorID, params.ParentID) return retVal, "", err }) } // @Title 得到商品相关的一些基础信息 // @Description 得到商品相关的一些基础信息,包括unit列表,specUnit列表 // @Param token header string true "认证token" // @Success 200 {object} controllers.CallResult // @Failure 200 {object} controllers.CallResult // @router /GetSkuMetaInfo [get] func (c *SkuController) GetSkuMetaInfo() { c.callGetSkuMetaInfo(func(params *tSkuGetSkuMetaInfoParams) (retVal interface{}, errCode string, err error) { retVal, err = cms.GetSkuMetaInfo() return retVal, "", err }) } // @Title 得到商品类别 // @Description 得到商品类别(区别于厂商家SKU类别) // @Param token header string true "认证token" // @Param parentID query int false "父ID,-1表示所有,缺省为-1" // @Success 200 {object} controllers.CallResult // @Failure 200 {object} controllers.CallResult // @router /GetCategories [get] func (c *SkuController) GetCategories() { c.callGetCategories(func(params *tSkuGetCategoriesParams) (retVal interface{}, errCode string, err error) { if c.GetString("parentID") == "" { params.ParentID = -1 } retVal, err = cms.GetCategories(params.ParentID) return retVal, "", err }) } // @Title 新增商品类别 // @Description 新增商品类别(区别于厂商家SKU类别) // @Param token header string true "认证token" // @Param payload formData string true "json数据,skuCategory对象()" // @Success 200 {object} controllers.CallResult // @Failure 200 {object} controllers.CallResult // @router /AddCategory [post] func (c *SkuController) AddCategory() { c.callAddCategory(func(params *tSkuAddCategoryParams) (retVal interface{}, errCode string, err error) { cat := &model.SkuCategory{} if err = utils.UnmarshalUseNumber([]byte(params.Payload), cat); err == nil { retVal, err = cms.AddCategory(cat, GetUserNameFromToken(params.Token)) } return retVal, "", err }) } // @Title 修改商品类别 // @Description 修改商品类别(区别于厂商家SKU类别) // @Param token header string true "认证token" // @Param categoryID formData int true "类别ID,payload中的相应字段会被忽略" // @Param payload formData string true "json数据,skuCategory对象()" // @Success 200 {object} controllers.CallResult // @Failure 200 {object} controllers.CallResult // @router /UpdateCategory [put] func (c *SkuController) UpdateCategory() { c.callUpdateCategory(func(params *tSkuUpdateCategoryParams) (retVal interface{}, errCode string, err error) { payload := make(map[string]interface{}) if err = utils.UnmarshalUseNumber([]byte(params.Payload), &payload); err == nil { retVal, err = cms.UpdateCategory(params.CategoryID, payload, GetUserNameFromToken(params.Token)) } return retVal, "", err }) } // @Title 商品类别重排序 // @Description 商品类别重排序(区别于厂商家SKU类别) // @Param token header string true "认证token" // @Param categoryID formData int true "父ID" // @Param ids formData string true "同一父类别下的所有子类别ID列表([1,2,3,4])" // @Success 200 {object} controllers.CallResult // @Failure 200 {object} controllers.CallResult // @router /ReorderCategories [put] func (c *SkuController) ReorderCategories() { c.callReorderCategories(func(params *tSkuReorderCategoriesParams) (retVal interface{}, errCode string, err error) { var idList []int if err = utils.UnmarshalUseNumber([]byte(params.Ids), &idList); err == nil { err = cms.ReorderCategories(params.CategoryID, idList, GetUserNameFromToken(params.Token)) } return retVal, "", err }) }