147 lines
6.3 KiB
Go
147 lines
6.3 KiB
Go
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 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.MapData, params.Offset, params.PageSize)
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 查询京西门店信息
|
||
// @Description 查询京西门店信息,根据关键字查询门店,如果关键字可以转换成数字,还会尝试数值相关的信息
|
||
// @Param token header string true "认证token"
|
||
// @Param keyword query string true "查询关键字"
|
||
// @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 /SearchStores [get]
|
||
func (c *StoreController) SearchStores() {
|
||
c.callSearchStores(func(params *tStoreSearchStoresParams) (retVal interface{}, errCode string, err error) {
|
||
if params.MapData["fromStatus"] == nil {
|
||
params.FromStatus = 1
|
||
}
|
||
if params.MapData["toStatus"] == nil {
|
||
params.ToStatus = params.FromStatus
|
||
}
|
||
retVal, err = cms.SearchStores(params.Keyword, params.FromStatus, params.ToStatus, 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
|
||
})
|
||
}
|