Files
jx-callback/controllers/cms_store.go

124 lines
5.3 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package controllers
import (
"errors"
"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 StoreController struct {
beego.Controller
}
// @Title 得到地点(省,城市,区)信息
// @Description parentCode与vendorID必传入一个vendorID的意思是得到所有与这个厂商相关的城市列表
// @Param token header string true "认证token"
// @Param parentCode query int false "上级地点code。地点级别省为1市为2区为3缺省为市"
// @Param vendorID query int false "得到所有与这个厂商相关的省与城市列表"
// @Param includeDisabled query bool false "是否包括禁用的城市"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /GetPlaces [get]
func (c *StoreController) GetPlaces() {
c.callGetPlaces(func(params *tStoreGetPlacesParams) (retVal interface{}, errCode string, err error) {
if c.GetString("vendorID") == "" {
params.VendorID = -1 // -1表示没有指定因为0表示京东到家
}
if params.VendorID == -1 && params.ParentCode == 0 {
return nil, "", errors.New("parentCode与vendorID至少要指定一个")
}
retVal, err = cms.GetPlaces(params.ParentCode, params.VendorID, params.IncludeDisabled)
return retVal, "", err
})
}
// @Title 修改地点信息
// @Description 只支持修改enabled, jd_code和mtps_price这三个属性
// @Param token header string true "认证token"
// @Param payload formData string true "json数据place对象数组"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /UpdatePlaces [put]
func (c *StoreController) UpdatePlaces() {
c.callUpdatePlaces(func(params *tStoreUpdatePlacesParams) (retVal interface{}, errCode string, err error) {
placeList := []*model.Place{}
utils.UnmarshalUseNumber([]byte(params.Payload), &placeList)
err = cms.UpdatePlaces(placeList, GetUserNameFromToken(params.Token))
return nil, "", err
})
}
// @Title 得到京西门店信息
// @Description 得到京西门店信息,如下条件之间是与的关系
// @Param token header string true "认证token"
// @Param keyword query string false "查询关键字(可以为空,为空表示不限制)"
// @Param id query int false "门店ID"
// @Param name query string false "门店名称(不要求完全一致)"
// @Param placeID query int false "所属地点ID"
// @Param placeLevel query int false "所属地点级别"
// @Param address query string false "门店地址"
// @Param tel query string false "电话"
// @Param fromStatus query int false "起始状态"
// @Param toStatus query int false "结束状态"
// @Param offset query int false "门店列表起始序号以0开始缺省为0"
// @Param pageSize query int false "门店列表页大小缺省为50"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /GetStores [get]
func (c *StoreController) GetStores() {
c.callGetStores(func(params *tStoreGetStoresParams) (retVal interface{}, errCode string, err error) {
retVal, err = cms.GetStores(params.Keyword, params.MapData, params.Offset, params.PageSize)
return retVal, "", err
})
}
// @Title 远程查询厂商门店信息
// @Description 远程查询厂商门店信息这个是实时调用API远程查询
// @Param token header string true "认证token"
// @Param vendorStoreID query string true "门店ID"
// @Param vendorID query int true "门店所属的厂商ID"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /GetVendorStore [get]
func (c *StoreController) GetVendorStore() {
c.callGetVendorStore(func(params *tStoreGetVendorStoreParams) (retVal interface{}, errCode string, err error) {
retVal, err = cms.GetVendorStore(params.VendorStoreID, params.VendorID)
return retVal, "", err
})
}
// @Title 修改门店信息
// @Description 修改门店信息
// @Param token header string true "认证token"
// @Param payload formData string true "json数据store对象"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /UpdateStore [put]
func (c *StoreController) UpdateStore() {
c.callUpdateStore(func(params *tStoreUpdateStoreParams) (retVal interface{}, errCode string, err error) {
store := make(map[string]interface{})
utils.UnmarshalUseNumber([]byte(params.Payload), &store)
err = cms.UpdateStore(store, GetUserNameFromToken(params.Token))
return nil, "", err
})
}
// @Title 创建京西门店
// @Description 创建京西门店
// @Param token header string true "认证token"
// @Param payload formData string true "json数据store对象"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /CreateStore [post]
func (c *StoreController) CreateStore() {
c.callCreateStore(func(params *tStoreCreateStoreParams) (retVal interface{}, errCode string, err error) {
store := &model.Store{}
utils.UnmarshalUseNumber([]byte(params.Payload), store)
retVal, err = cms.CreateStore(store, GetUserNameFromToken(params.Token))
return retVal, "", err
})
}