1158 lines
56 KiB
Go
1158 lines
56 KiB
Go
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/jxstore/common"
|
||
"git.rosy.net.cn/jx-callback/business/jxstore/misc"
|
||
"git.rosy.net.cn/jx-callback/business/jxutils"
|
||
"git.rosy.net.cn/jx-callback/business/jxutils/netprinter"
|
||
"git.rosy.net.cn/jx-callback/business/model"
|
||
"git.rosy.net.cn/jx-callback/globals/api"
|
||
"github.com/astaxie/beego/server/web"
|
||
)
|
||
|
||
type StoreController struct {
|
||
web.Controller
|
||
}
|
||
|
||
// @Title 得到京西门店信息
|
||
// @Description 得到京西门店信息,如下条件之间是与的关系
|
||
// @Param token header string false "认证token"
|
||
// @Param keyword query string false "查询关键字(可以为空,为空表示不限制)"
|
||
// @Param storeID query int false "门店ID"
|
||
// @Param startStoreID query int false "起始门店ID"
|
||
// @Param coordinateType query int false "返回坐标类型,0:火星坐标,1:百度,缺省0"
|
||
// @Param storeIDs query string 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 statuss query string false "门店状态列表[-1,0,1],(-1:禁用;0:休息,关店;1:正常开店),缺省不限制"
|
||
// @Param vendorStoreCond query string false "查询关联门店的条件(如果此字段没有设置,vendorStoreConds无效),and:与,or:或,指的是vendorStoreConds里的条件间的关系,这组条件与其它条件都是与的关系"
|
||
// @Param vendorStoreConds query string false "为厂商条件对象{vendorID: cond},注意vendorID是字符串形式,cond,-1:没有关联,0:不限定,1:有关联,缺省为0,其它值表示vendorOrgCode"
|
||
// @Param courierStoreCond query string false "查询关联门店的条件(如果此字段没有设置,courierStoreConds无效),and:与,or:或,指的是courierStoreConds里的条件间的关系,这组条件与其它条件都是与的关系"
|
||
// @Param courierStoreConds query string false "为厂商条件对象{vendorID: cond},注意vendorID是字符串形式,cond,-1:没有关联,0:不限定,1:有关联,缺省为0"
|
||
// @Param mapLongitude query string false "地图中心经度"
|
||
// @Param mapLatitude query string false "地图中心纬度"
|
||
// @Param mapRadius query int false "地图半径(单位为米)"
|
||
// @Param orderTimeFrom query string false "订单创建起始时间"
|
||
// @Param orderTimeTo query string false "订单创建结束时间"
|
||
// @Param orderCountFrom query int false "订单量起始"
|
||
// @Param orderCountTo query int false "订单量结束"
|
||
// @Param marketManPhone query string false "市场负责人电话"
|
||
// @Param briefLevel query int false "返回信息精简模式"
|
||
// @Param storeLevels query string false "门店等级"
|
||
// @Param brandID query int false "品牌ID"
|
||
// @Param marketManPhones query string false "市场负责人电话们"
|
||
// @Param earningType query int false "结算方式(1为报价,2为扣点)"
|
||
// @Param isBussinessStatus query bool false "查不查门店上下线状态"
|
||
// @Param offset query int false "门店列表起始序号(以0开始,缺省为0)"
|
||
// @Param pageSize query int false "门店列表页大小(缺省为50,-1表示全部)"
|
||
// @Success 200 {object} controllers.CallResult
|
||
// @Failure 200 {object} controllers.CallResult
|
||
// @router /GetStores [get,post]
|
||
func (c *StoreController) GetStores() {
|
||
c.callGetStores(func(params *tStoreGetStoresParams) (retVal interface{}, errCode string, err error) {
|
||
timeList, err := jxutils.BatchStr2Time(params.OrderTimeFrom, params.OrderTimeTo)
|
||
if err == nil {
|
||
retVal, err = cms.GetStores(params.Ctx, params.Keyword, params.MapData, params.Offset, params.PageSize, timeList[0], timeList[1], params.OrderCountFrom, params.OrderCountTo)
|
||
}
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 远程查询厂商门店信息
|
||
// @Description 远程查询厂商门店信息,这个是实时调用API远程查询
|
||
// @Param token header string true "认证token"
|
||
// @Param vendorStoreID query string true "门店ID"
|
||
// @Param vendorID query int true "门店所属的厂商ID"
|
||
// @Param vendorOrgCode query string false "厂商内组织代码"
|
||
// @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.Ctx, params.VendorID, params.VendorOrgCode, params.VendorStoreID)
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 修改门店信息
|
||
// @Description 修改门店信息
|
||
// @Param token header string true "认证token"
|
||
// @Param storeID formData int true "京西门店编号,payload中的京西门店编号会被忽略"
|
||
// @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) {
|
||
payload := make(map[string]interface{})
|
||
if err = utils.UnmarshalUseNumber([]byte(params.Payload), &payload); err == nil {
|
||
retVal, err = cms.UpdateStore(params.Ctx, params.StoreID, payload, params.Ctx.GetUserName())
|
||
}
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 删除京西门店
|
||
// @Description 删除京西门店
|
||
// @Param token header string true "认证token"
|
||
// @Param storeID query int true "门店ID"
|
||
// @Success 200 {object} controllers.CallResult
|
||
// @Failure 200 {object} controllers.CallResult
|
||
// @router /DeleteStore [delete]
|
||
func (c *StoreController) DeleteStore() {
|
||
c.callDeleteStore(func(params *tStoreDeleteStoreParams) (retVal interface{}, errCode string, err error) {
|
||
retVal, err = cms.DeleteStore(params.Ctx, params.StoreID)
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 启用所有临时休息门店
|
||
// @Description 启用所有临时休息门店
|
||
// @Param token header string true "认证token"
|
||
// @Param isAsync formData bool true "是否异步操作"
|
||
// @Param isContinueWhenError formData bool false "单个同步失败是否继续,缺省false"
|
||
// @Success 200 {object} controllers.CallResult
|
||
// @Failure 200 {object} controllers.CallResult
|
||
// @router /EnableHaveRestStores [put]
|
||
func (c *StoreController) EnableHaveRestStores() {
|
||
c.callEnableHaveRestStores(func(params *tStoreEnableHaveRestStoresParams) (retVal interface{}, errCode string, err error) {
|
||
retVal, err = cms.EnableHaveRestStores(params.Ctx, params.IsAsync, params.IsContinueWhenError)
|
||
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 /CreateStore [post]
|
||
func (c *StoreController) CreateStore() {
|
||
c.callCreateStore(func(params *tStoreCreateStoreParams) (retVal interface{}, errCode string, err error) {
|
||
store := &cms.StoreExt{}
|
||
if err = utils.UnmarshalUseNumber([]byte(params.Payload), store); err == nil {
|
||
retVal, err = cms.CreateStore(params.Ctx, store, params.Ctx.GetUserName())
|
||
}
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 商户创建京西门店
|
||
// @Description 商户创建京西门店
|
||
// @Param token header string true "认证token"
|
||
// @Param mobile formData string true "电话"
|
||
// @Success 200 {object} controllers.CallResult
|
||
// @Failure 200 {object} controllers.CallResult
|
||
// @router /CreateStoreByUser [post]
|
||
func (c *StoreController) CreateStoreByUser() {
|
||
c.callCreateStoreByUser(func(params *tStoreCreateStoreByUserParams) (retVal interface{}, errCode string, err error) {
|
||
retVal, err = cms.CreateStoreByUser(params.Ctx, params.Mobile)
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 得到门店映射信息
|
||
// @Description 得到门店映射信息
|
||
// @Param token header string false "认证token"
|
||
// @Param storeID query int true "门店ID"
|
||
// @Param vendorID query int false "厂商ID(缺省为全部)"
|
||
// @Success 200 {object} controllers.CallResult
|
||
// @Failure 200 {object} controllers.CallResult
|
||
// @router /GetStoreVendorMaps [get]
|
||
func (c *StoreController) GetStoreVendorMaps() {
|
||
c.callGetStoreVendorMaps(func(params *tStoreGetStoreVendorMapsParams) (retVal interface{}, errCode string, err error) {
|
||
if c.GetString("vendorID") == "" {
|
||
params.VendorID = -1
|
||
}
|
||
retVal, err = cms.GetStoreVendorMaps(params.Ctx, nil, params.StoreID, params.VendorID)
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 修改门店映射信息
|
||
// @Description 修改门店映射信息
|
||
// @Param token header string true "认证token"
|
||
// @Param storeID query int true "门店ID"
|
||
// @Param vendorID query int true "厂商ID"
|
||
// @Param payload formData string true "json数据,storeMap对象"
|
||
// @Success 200 {object} controllers.CallResult
|
||
// @Failure 200 {object} controllers.CallResult
|
||
// @router /UpdateStoreVendorMap [put]
|
||
func (c *StoreController) UpdateStoreVendorMap() {
|
||
c.callUpdateStoreVendorMap(func(params *tStoreUpdateStoreVendorMapParams) (retVal interface{}, errCode string, err error) {
|
||
payload := make(map[string]interface{})
|
||
if err = utils.UnmarshalUseNumber([]byte(params.Payload), &payload); err == nil {
|
||
retVal, err = cms.UpdateStoreVendorMap(params.Ctx, nil, params.StoreID, params.VendorID, payload, params.Ctx.GetUserName())
|
||
}
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 新增门店映射信息
|
||
// @Description 新增门店映射信息
|
||
// @Param token header string true "认证token"
|
||
// @Param storeID formData int true "门店ID,payload中的相应字段会被忽略"
|
||
// @Param vendorID formData int true "厂商ID,payload中的相应字段会被忽略"
|
||
// @Param vendorOrgCode formData string false "厂商内组织代码"
|
||
// @Param payload formData string true "json数据,storeMap对象({'vendorStoreID':'11732425','autoPickup':1,'deliveryCompetition':1, 'pricePercentage':100})"
|
||
// @Success 200 {object} controllers.CallResult
|
||
// @Failure 200 {object} controllers.CallResult
|
||
// @router /AddStoreVendorMap [post]
|
||
func (c *StoreController) AddStoreVendorMap() {
|
||
c.callAddStoreVendorMap(func(params *tStoreAddStoreVendorMapParams) (retVal interface{}, errCode string, err error) {
|
||
storeMap := &model.StoreMap{}
|
||
if err = utils.UnmarshalUseNumber([]byte(params.Payload), storeMap); err == nil {
|
||
retVal, err = cms.AddStoreVendorMap(params.Ctx, nil, params.VendorID, params.VendorOrgCode, params.StoreID, storeMap)
|
||
}
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 删除门店映射信息
|
||
// @Description 删除门店映射信息
|
||
// @Param token header string true "认证token"
|
||
// @Param storeID query int true "门店ID"
|
||
// @Param vendorID query int true "厂商ID"
|
||
// @Success 200 {object} controllers.CallResult
|
||
// @Failure 200 {object} controllers.CallResult
|
||
// @router /DeleteStoreVendorMap [delete]
|
||
func (c *StoreController) DeleteStoreVendorMap() {
|
||
c.callDeleteStoreVendorMap(func(params *tStoreDeleteStoreVendorMapParams) (retVal interface{}, errCode string, err error) {
|
||
retVal, err = cms.DeleteStoreVendorMap(params.Ctx, nil, params.StoreID, params.VendorID, params.Ctx.GetUserName())
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 得到门店差评总数
|
||
// @Description 得到门店差评总数,此函数为兼容老系统,之后会被替换
|
||
// @Param token header string true "认证token"
|
||
// @Param jxStoreId query int true "门店ID"
|
||
// @Success 200 {object} controllers.CallResult
|
||
// @Failure 200 {object} controllers.CallResult
|
||
// @router /TmpGetJxBadCommentsNo [get]
|
||
func (c *StoreController) TmpGetJxBadCommentsNo() {
|
||
c.callTmpGetJxBadCommentsNo(func(params *tStoreTmpGetJxBadCommentsNoParams) (retVal interface{}, errCode string, err error) {
|
||
retVal, err = cms.TmpGetJxBadCommentsNo(params.Ctx, params.JxStoreId)
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 得到门店评价列表
|
||
// @Description 得到门店评价列表
|
||
// @Param token header string true "认证token"
|
||
// @Param jxStoreId query int true "门店ID"
|
||
// @Param type query int true "评论类型,0:差评,1:所有"
|
||
// @Param page query int true "起始页,从1开始"
|
||
// @Param size query int true "页大小(-1表示无限大)"
|
||
// @Param fromTime query string false "创建起始时间"
|
||
// @Param toTime query string false "创建结束时间"
|
||
// @Success 200 {object} controllers.CallResult
|
||
// @Failure 200 {object} controllers.CallResult
|
||
// @router /TmpGetJxBadCommentsByStoreId [get]
|
||
func (c *StoreController) TmpGetJxBadCommentsByStoreId() {
|
||
c.callTmpGetJxBadCommentsByStoreId(func(params *tStoreTmpGetJxBadCommentsByStoreIdParams) (retVal interface{}, errCode string, err error) {
|
||
timeList, err2 := jxutils.BatchStr2Time(params.FromTime, params.ToTime)
|
||
if err = err2; err == nil {
|
||
pageSize := jxutils.FormalizePageSize(params.Size)
|
||
offset := (params.Page - 1) * pageSize
|
||
retVal, err = cms.TmpGetJxBadCommentsByStoreId(params.Ctx, "", []int{params.JxStoreId}, offset, pageSize, params.Type, timeList[0], timeList[1])
|
||
}
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 得到门店评价列表(多店)
|
||
// @Description 得到门店评价列表(多店)
|
||
// @Param token header string true "认证token"
|
||
// @Param type query int true "评论类型,0:差评,1:所有,2:已解决"
|
||
// @Param keyword query string false "关键字"
|
||
// @Param storeIDs query string false "门店I列表"
|
||
// @Param fromTime query string false "创建起始时间"
|
||
// @Param toTime query string false "创建结束时间"
|
||
// @Param offset query int false "起始页,从1开始"
|
||
// @Param pageSize query int false "页大小(-1表示无限大)"
|
||
// @Success 200 {object} controllers.CallResult
|
||
// @Failure 200 {object} controllers.CallResult
|
||
// @router /TmpGetJxBadComments [get]
|
||
func (c *StoreController) TmpGetJxBadComments() {
|
||
c.callTmpGetJxBadComments(func(params *tStoreTmpGetJxBadCommentsParams) (retVal interface{}, errCode string, err error) {
|
||
var storeIDs []int
|
||
if err = jxutils.Strings2Objs(params.StoreIDs, &storeIDs); err == nil {
|
||
timeList, err2 := jxutils.BatchStr2Time(params.FromTime, params.ToTime)
|
||
if err = err2; err == nil {
|
||
retVal, err = cms.TmpGetJxBadCommentsByStoreId(params.Ctx, params.Keyword, storeIDs, params.Offset, params.PageSize, params.Type, timeList[0], timeList[1])
|
||
}
|
||
}
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 得到门店快递映射信息
|
||
// @Description 得到门店快递映射信息
|
||
// @Param token header string true "认证token"
|
||
// @Param storeID query int true "门店ID"
|
||
// @Param vendorID query int false "厂商ID(缺省为全部)"
|
||
// @Success 200 {object} controllers.CallResult
|
||
// @Failure 200 {object} controllers.CallResult
|
||
// @router /GetStoreCourierMaps [get]
|
||
func (c *StoreController) GetStoreCourierMaps() {
|
||
c.callGetStoreCourierMaps(func(params *tStoreGetStoreCourierMapsParams) (retVal interface{}, errCode string, err error) {
|
||
if c.GetString("vendorID") == "" {
|
||
params.VendorID = -1
|
||
}
|
||
retVal, err = cms.GetStoreCourierMaps(params.Ctx, nil, params.StoreID, params.VendorID)
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 修改门店快递映射信息
|
||
// @Description 修改门店快递映射信息
|
||
// @Param token header string true "认证token"
|
||
// @Param storeID formData int true "门店ID,payload中的相应字段会被忽略"
|
||
// @Param vendorID formData int true "快递厂商ID,payload中的相应字段会被忽略"
|
||
// @Param payload formData string true "json数据,StoreCourierMap对象(当前只有status, vendorStoreId两项)"
|
||
// @Success 200 {object} controllers.CallResult
|
||
// @Failure 200 {object} controllers.CallResult
|
||
// @router /UpdateStoreCourierMap [put]
|
||
func (c *StoreController) UpdateStoreCourierMap() {
|
||
c.callUpdateStoreCourierMap(func(params *tStoreUpdateStoreCourierMapParams) (retVal interface{}, errCode string, err error) {
|
||
storeCourierMap := make(map[string]interface{})
|
||
if err = utils.UnmarshalUseNumber([]byte(params.Payload), &storeCourierMap); err == nil {
|
||
retVal, err = cms.UpdateStoreCourierMap(params.Ctx, nil, params.StoreID, params.VendorID, storeCourierMap, params.Ctx.GetUserName())
|
||
}
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 新增门店快递映射信息
|
||
// @Description 新增门店快递映射信息
|
||
// @Param token header string true "认证token"
|
||
// @Param storeID formData int true "门店ID,payload中的相应字段会被忽略"
|
||
// @Param vendorID formData int true "快递厂商ID,payload中的相应字段会被忽略"
|
||
// @Param payload formData string true "json数据,StoreCourierMap对象(当前只有status, vendorStoreId两项)"
|
||
// @Success 200 {object} controllers.CallResult
|
||
// @Failure 200 {object} controllers.CallResult
|
||
// @router /AddStoreCourierMap [post]
|
||
func (c *StoreController) AddStoreCourierMap() {
|
||
c.callAddStoreCourierMap(func(params *tStoreAddStoreCourierMapParams) (retVal interface{}, errCode string, err error) {
|
||
storeCourierMap := &model.StoreCourierMap{}
|
||
if err = utils.UnmarshalUseNumber([]byte(params.Payload), storeCourierMap); err == nil {
|
||
retVal, err = cms.AddStoreCourierMap(params.Ctx, nil, params.StoreID, params.VendorID, storeCourierMap)
|
||
}
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 删除门店快递映射信息
|
||
// @Description 删除门店快递映射信息
|
||
// @Param token header string true "认证token"
|
||
// @Param storeID query int true "门店ID"
|
||
// @Param vendorID query int true "快递厂商ID"
|
||
// @Success 200 {object} controllers.CallResult
|
||
// @Failure 200 {object} controllers.CallResult
|
||
// @router /DeleteStoreCourierMap [delete]
|
||
func (c *StoreController) DeleteStoreCourierMap() {
|
||
c.callDeleteStoreCourierMap(func(params *tStoreDeleteStoreCourierMapParams) (retVal interface{}, errCode string, err error) {
|
||
retVal, err = cms.DeleteStoreCourierMap(params.Ctx, nil, params.StoreID, params.VendorID, params.Ctx.GetUserName())
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 自动创建或更新快递门店
|
||
// @Description 自动创建或更新快递门店
|
||
// @Param token header string true "认证token"
|
||
// @Param storeID formData int false "门店ID"
|
||
// @Param isForceUpdate formData bool false "是否强制更新"
|
||
// @Param isAsync formData bool false "是否异步操作"
|
||
// @Param isContinueWhenError formData bool false "单个同步失败是否继续,缺省false"
|
||
// @Success 200 {object} controllers.CallResult
|
||
// @Failure 200 {object} controllers.CallResult
|
||
// @router /UpdateOrCreateCourierStores [put]
|
||
func (c *StoreController) UpdateOrCreateCourierStores() {
|
||
c.callUpdateOrCreateCourierStores(func(params *tStoreUpdateOrCreateCourierStoresParams) (retVal interface{}, errCode string, err error) {
|
||
retVal, err = cms.UpdateOrCreateCourierStores(params.Ctx, params.StoreID, params.IsForceUpdate, params.IsAsync, params.IsContinueWhenError)
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 导出门店健康度信息
|
||
// @Description 导出门店健康度信息
|
||
// @Param token header string true "认证token"
|
||
// @Param vendorIDs query string false "平台ID列表"
|
||
// @Param storeIDs query string false "门店ID列表"
|
||
// @Param isAsync query bool false "是否异步操作"
|
||
// @Param isContinueWhenError query bool false "单个同步失败是否继续,缺省false"
|
||
// @Success 200 {object} controllers.CallResult
|
||
// @Failure 200 {object} controllers.CallResult
|
||
// @router /ExportShopsHealthInfo [get]
|
||
func (c *StoreController) ExportShopsHealthInfo() {
|
||
c.callExportShopsHealthInfo(func(params *tStoreExportShopsHealthInfoParams) (retVal interface{}, errCode string, err error) {
|
||
var vendorIDList, storeIDList []int
|
||
if err = jxutils.Strings2Objs(params.VendorIDs, &vendorIDList, params.StoreIDs, &storeIDList); err == nil {
|
||
retVal, err = cms.ExportShopsHealthInfo(params.Ctx, vendorIDList, storeIDList, params.IsAsync, params.IsContinueWhenError)
|
||
}
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 得到工商执照企业信息
|
||
// @Description 得到工商执照企业信息
|
||
// @Param token header string true "认证token"
|
||
// @Param licenceCode query string true "营业执照号"
|
||
// @Success 200 {object} controllers.CallResult
|
||
// @Failure 200 {object} controllers.CallResult
|
||
// @router /GetCorporationInfo [get]
|
||
func (c *StoreController) GetCorporationInfo() {
|
||
c.callGetCorporationInfo(func(params *tStoreGetCorporationInfoParams) (retVal interface{}, errCode string, err error) {
|
||
retVal, err = cms.GetCorporationInfo(params.Ctx, params.LicenceCode)
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 门店绑定打印
|
||
// @Description 门店绑定打印
|
||
// @Param token header string true "认证token"
|
||
// @Param storeID formData int true "京西门店ID"
|
||
// @Param data formData string true "原始数据"
|
||
// @Success 200 {object} controllers.CallResult
|
||
// @Failure 200 {object} controllers.CallResult
|
||
// @router /BindPrinter [post]
|
||
func (c *StoreController) BindPrinter() {
|
||
c.callBindPrinter(func(params *tStoreBindPrinterParams) (retVal interface{}, errCode string, err error) {
|
||
retVal, err = netprinter.BindPrinter(params.Ctx, params.StoreID, params.Data)
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 同步门店资质信息至平台(当前只支持京东)
|
||
// @Description 同步门店资质信息至平台(当前只支持京东)
|
||
// @Param token header string true "认证token"
|
||
// @Param storeIDs formData string true "京西门店ID列表,必须非空值"
|
||
// @Param vendorID formData int true "平台ID"
|
||
// @Param isAsync formData bool true "是否异步操作"
|
||
// @Param isContinueWhenError formData bool false "单个同步失败是否继续,缺省false"
|
||
// @Success 200 {object} controllers.CallResult
|
||
// @Failure 200 {object} controllers.CallResult
|
||
// @router /SyncStoresQualify [post]
|
||
func (c *StoreController) SyncStoresQualify() {
|
||
c.callSyncStoresQualify(func(params *tStoreSyncStoresQualifyParams) (retVal interface{}, errCode string, err error) {
|
||
var storeIDs []int
|
||
err = jxutils.Strings2Objs(params.StoreIDs, &storeIDs)
|
||
if err == nil {
|
||
retVal, err = cms.SyncStoresQualify(params.Ctx, storeIDs, params.VendorID, params.IsAsync, params.IsContinueWhenError)
|
||
}
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 门店评分
|
||
// @Description 门店评分
|
||
// @Param token header string true "认证token"
|
||
// @Param storeIDs formData string false "京西门店ID列表"
|
||
// @Success 200 {object} controllers.CallResult
|
||
// @Failure 200 {object} controllers.CallResult
|
||
// @router /ScoreStore [post]
|
||
func (c *StoreController) ScoreStore() {
|
||
c.callScoreStore(func(params *tStoreScoreStoreParams) (retVal interface{}, errCode string, err error) {
|
||
var storeIDList []int
|
||
if err = jxutils.Strings2Objs(params.StoreIDs, &storeIDList); err == nil {
|
||
misc.ScoreStore(params.Ctx, storeIDList)
|
||
}
|
||
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 得到门店近期周平均分数数据
|
||
// @Description 得到门店近期周平均分数数据
|
||
// @Param token header string true "认证token"
|
||
// @Param storeID query int true "京西门店ID"
|
||
// @Param weekIndex query int true "周索引(起始索引为0, -1为所有周数据)"
|
||
// @Success 200 {object} controllers.CallResult
|
||
// @Failure 200 {object} controllers.CallResult
|
||
// @router /GetWeeklyStoreScore [get]
|
||
func (c *StoreController) GetWeeklyStoreScore() {
|
||
c.callGetWeeklyStoreScore(func(params *tStoreGetWeeklyStoreScoreParams) (retVal interface{}, errCode string, err error) {
|
||
retVal, err = misc.GetWeeklyStoreScore(params.StoreID, params.WeekIndex)
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 得到门店总分排名
|
||
// @Description 得到门店总分排名
|
||
// @Param token header string true "认证token"
|
||
// @Param storeIDs formData string false "京西门店ID列表"
|
||
// @Param cityCode formData int false "城市编码"
|
||
// @Param keyword formData string false "关键字"
|
||
// @Param beginTime formData string true "开始日期"
|
||
// @Param endTime formData string true "结束日期"
|
||
// @Param isDesc formData bool true "是否降序"
|
||
// @Param checkScoreLow formData int false "在某个分数范围-低"
|
||
// @Param checkScoreHigh formData int false "在某个分数范围-高"
|
||
// @Param offset formData int false "列表起始序号(以0开始,缺省为0)"
|
||
// @Param pageSize formData int false "列表页大小(缺省为50,-1表示全部)"
|
||
// @Success 200 {object} controllers.CallResult
|
||
// @Failure 200 {object} controllers.CallResult
|
||
// @router /GetStoreTotalScoreList [post]
|
||
func (c *StoreController) GetStoreTotalScoreList() {
|
||
c.callGetStoreTotalScoreList(func(params *tStoreGetStoreTotalScoreListParams) (retVal interface{}, errCode string, err error) {
|
||
timeList, err := jxutils.BatchStr2Time(params.BeginTime, params.EndTime)
|
||
if err == nil {
|
||
var storeIDList []int
|
||
if err = jxutils.Strings2Objs(params.StoreIDs, &storeIDList); err == nil {
|
||
retVal, err = misc.GetStoreTotalScoreList(params.Ctx, storeIDList, params.CityCode, params.Keyword, timeList[0], timeList[1], params.IsDesc, params.CheckScoreLow, params.CheckScoreHigh, params.Offset, params.PageSize)
|
||
}
|
||
}
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 得到门店触犯红线/黄线数据
|
||
// @Description 得到门店触犯红线/黄线数据
|
||
// @Param token header string true "认证token"
|
||
// @Param storeIDs formData string false "京西门店ID列表"
|
||
// @Param cityCode formData int false "城市编码"
|
||
// @Param keyword formData string false "关键字"
|
||
// @Param dateTime formData string true "统计日期"
|
||
// @Param offset formData int false "列表起始序号(以0开始,缺省为0)"
|
||
// @Param pageSize formData int false "列表页大小(缺省为50,-1表示全部)"
|
||
// @Success 200 {object} controllers.CallResult
|
||
// @Failure 200 {object} controllers.CallResult
|
||
// @router /GetStoreAlertList [post]
|
||
func (c *StoreController) GetStoreAlertList() {
|
||
c.callGetStoreAlertList(func(params *tStoreGetStoreAlertListParams) (retVal interface{}, errCode string, err error) {
|
||
timeList, err := jxutils.BatchStr2Time(params.DateTime)
|
||
if err == nil {
|
||
var storeIDList []int
|
||
if err = jxutils.Strings2Objs(params.StoreIDs, &storeIDList); err == nil {
|
||
retVal, err = misc.GetStoreAlertList(storeIDList, params.CityCode, params.Keyword, timeList[0], params.Offset, params.PageSize)
|
||
}
|
||
}
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 同步快递平台门店信息并报警
|
||
// @Description 同步快递平台门店信息并报警
|
||
// @Param token header string true "认证token"
|
||
// @Param storeIDs formData string false "京西门店ID列表,必须非空值"
|
||
// @Param isAsync formData bool false "是否异步操作"
|
||
// @Param isContinueWhenError formData bool false "单个同步失败是否继续,缺省false"
|
||
// @Success 200 {object} controllers.CallResult
|
||
// @Failure 200 {object} controllers.CallResult
|
||
// @router /SyncStoresCourierInfo [post]
|
||
func (c *StoreController) SyncStoresCourierInfo() {
|
||
c.callSyncStoresCourierInfo(func(params *tStoreSyncStoresCourierInfoParams) (retVal interface{}, errCode string, err error) {
|
||
var storeIDs []int
|
||
if err = jxutils.Strings2Objs(params.StoreIDs, &storeIDs); err == nil {
|
||
retVal, err = cms.SyncStoresCourierInfo(params.Ctx, storeIDs, params.IsAsync, params.IsContinueWhenError)
|
||
}
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 根据位置得到推荐门店列表
|
||
// @Description 根据位置得到推荐门店列表
|
||
// @Param token header string false "认证token"
|
||
// @Param lng query float64 true "经度"
|
||
// @Param lat query float64 true "纬度"
|
||
// @Param needWalkDistance query bool false "是否需要返回步行距离(且以步行距离排序)"
|
||
// @Param brandID query int false "品牌ID"
|
||
// @Success 200 {object} controllers.CallResult
|
||
// @Failure 200 {object} controllers.CallResult
|
||
// @router /GetStoreListByLocation [get]
|
||
func (c *StoreController) GetStoreListByLocation() {
|
||
c.callGetStoreListByLocation(func(params *tStoreGetStoreListByLocationParams) (retVal interface{}, errCode string, err error) {
|
||
retVal, err = common.GetStoreListByLocation(params.Ctx, params.Lng, params.Lat, 20000, params.NeedWalkDistance, false, params.BrandID)
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 老格恢复拓店进度
|
||
// @Description 老格恢复拓店进度
|
||
// @Param token header string true "认证token"
|
||
// @Param vendorOrgCode formData string false "厂商内组织代码"
|
||
// @Success 200 {object} controllers.CallResult
|
||
// @Failure 200 {object} controllers.CallResult
|
||
// @router /JdStoreInfoCoordinateRecover [post]
|
||
func (c *StoreController) JdStoreInfoCoordinateRecover() {
|
||
c.callJdStoreInfoCoordinateRecover(func(params *tStoreJdStoreInfoCoordinateRecoverParams) (retVal interface{}, errCode string, err error) {
|
||
r := c.Ctx.Request
|
||
files := r.MultipartForm.File["userfiles"]
|
||
err = cms.JdStoreInfoCoordinateRecover(params.Ctx, params.VendorOrgCode, files)
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 导出平台门店信息
|
||
// @Description 导出平台门店信息
|
||
// @Param token header string true "认证token"
|
||
// @Param vendorIDs formData string true "平台ID列表"
|
||
// @Param isAsync formData bool false "是否异步操作"
|
||
// @Param isContinueWhenError formData bool false "单个同步失败是否继续,缺省false"
|
||
// @Success 200 {object} controllers.CallResult
|
||
// @Failure 200 {object} controllers.CallResult
|
||
// @router /GetVendorStoreInfo [post]
|
||
func (c *StoreController) GetVendorStoreInfo() {
|
||
var vendorIDList []int
|
||
c.callGetVendorStoreInfo(func(params *tStoreGetVendorStoreInfoParams) (retVal interface{}, errCode string, err error) {
|
||
if err = jxutils.Strings2Objs(params.VendorIDs, &vendorIDList); err == nil {
|
||
retVal, err = cms.GetVendorStoreInfo(params.Ctx, vendorIDList, params.IsAsync, params.IsContinueWhenError)
|
||
}
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 查询门店价格评分
|
||
// @Description 查询门店价格评分
|
||
// @Param token header string true "认证token"
|
||
// @Param storeIDs formData string false "门店列表"
|
||
// @Param vendorIDs formData string false "厂商列表"
|
||
// @Param snapDate formData string true "时间,默认前一天(格式2006-01-02"
|
||
// @Param fromScore formData int false "分数范围开始 默认0"
|
||
// @Param toScore formData int false "分数范围结束 默认100"
|
||
// @Param sort formData int false "分数排序,-1降序,-升序 ,直降排序,-2降序,2升序,秒杀排序,-3降序,3升序"
|
||
// @Param offset formData int false "门店列表起始序号(以0开始,缺省为0)"
|
||
// @Param pageSize formData int false "门店列表页大小(缺省为50,-1表示全部)"
|
||
// @Success 200 {object} controllers.CallResult
|
||
// @Failure 200 {object} controllers.CallResult
|
||
// @router /GetStorePriceScore [post]
|
||
func (c *StoreController) GetStorePriceScore() {
|
||
var storeIDList, vendorIDList []int
|
||
c.callGetStorePriceScore(func(params *tStoreGetStorePriceScoreParams) (retVal interface{}, errCode string, err error) {
|
||
if jxutils.Strings2Objs(params.StoreIDs, &storeIDList, params.VendorIDs, &vendorIDList); err == nil {
|
||
retVal, err = cms.GetStorePriceScore(params.Ctx, storeIDList, vendorIDList, params.FromScore, params.ToScore, params.Sort, params.SnapDate, params.Offset, params.PageSize)
|
||
}
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 生成门店价格分数表
|
||
// @Description 生成门店价格分数表
|
||
// @Param token header string true "认证token"
|
||
// @Success 200 {object} controllers.CallResult
|
||
// @Failure 200 {object} controllers.CallResult
|
||
// @router /CreateStorePriceScore [post]
|
||
func (c *StoreController) CreateStorePriceScore() {
|
||
c.callCreateStorePriceScore(func(params *tStoreCreateStorePriceScoreParams) (retVal interface{}, errCode string, err error) {
|
||
err = cms.CreateStorePriceScore(params.Ctx)
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 刷新store_map的京东等级
|
||
// @Description 刷新store_map的京东等级
|
||
// @Param token header string true "认证token"
|
||
// @Success 200 {object} controllers.CallResult
|
||
// @Failure 200 {object} controllers.CallResult
|
||
// @router /RefreshJdLevel [post]
|
||
func (c *StoreController) RefreshJdLevel() {
|
||
c.callRefreshJdLevel(func(params *tStoreRefreshJdLevelParams) (retVal interface{}, errCode string, err error) {
|
||
err = cms.RefreshJdLevel(params.Ctx)
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 同步指定京东门店
|
||
// @Description 同步京东门店
|
||
// @Param token header string true "认证token"
|
||
// @Success 200 {object} controllers.CallResult
|
||
// @Failure 200 {object} controllers.CallResult
|
||
// @router /SyncJdStore [post]
|
||
func (c *StoreController) SyncJdStore() {
|
||
c.callSyncJdStore(func(params *tStoreSyncJdStoreParams) (retVal interface{}, errCode string, err error) {
|
||
err = cms.UpdateJdStoreNameAll(params.Ctx)
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 清空打印机打印队列
|
||
// @Description 清空打印机打印队列
|
||
// @Param token header string true "认证token"
|
||
// @Param storeIDs formData string true "门店列表"
|
||
// @Success 200 {object} controllers.CallResult
|
||
// @Failure 200 {object} controllers.CallResult
|
||
// @router /DeletePrinterSeq [post]
|
||
func (c *StoreController) DeletePrinterSeq() {
|
||
var storeIDList []int
|
||
c.callDeletePrinterSeq(func(params *tStoreDeletePrinterSeqParams) (retVal interface{}, errCode string, err error) {
|
||
if jxutils.Strings2Objs(params.StoreIDs, &storeIDList); err == nil {
|
||
err = cms.DeletePrinterSeq(params.Ctx, storeIDList)
|
||
}
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 得到门店类别
|
||
// @Description 得到门店类别
|
||
// @Param token header string true "认证token"
|
||
// @Param parentID query int false "父ID"
|
||
// @Param level query int false "分类等级"
|
||
// @Param storeID query int true "门店ID"
|
||
// @Success 200 {object} controllers.CallResult
|
||
// @Failure 200 {object} controllers.CallResult
|
||
// @router /GetStoreCategoryMap [get]
|
||
func (c *StoreController) GetStoreCategoryMap() {
|
||
c.callGetStoreCategoryMap(func(params *tStoreGetStoreCategoryMapParams) (retVal interface{}, errCode string, err error) {
|
||
retVal, err = cms.GetStoreCategoryMap(params.Ctx, params.ParentID, params.Level, params.StoreID)
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 新增门店类别
|
||
// @Description 新增门店类别
|
||
// @Param token header string true "认证token"
|
||
// @Param storeID formData int true "门店ID"
|
||
// @Param categroyID formData int false "京西分类id"
|
||
// @Param level formData int true "分类级别"
|
||
// @Param parentID formData int true "分类父ID"
|
||
// @Param storeCategroyName formData string true "类别name"
|
||
// @Param storeCategroySeq formData int true "类别序号"
|
||
// @Success 200 {object} controllers.CallResult
|
||
// @Failure 200 {object} controllers.CallResult
|
||
// @router /AddStoreCategoryMap [post]
|
||
func (c *StoreController) AddStoreCategoryMap() {
|
||
c.callAddStoreCategoryMap(func(params *tStoreAddStoreCategoryMapParams) (retVal interface{}, errCode string, err error) {
|
||
storeCategoryMap := &model.StoreCategoryMap{
|
||
StoreID: params.StoreID,
|
||
CategoryID: params.CategroyID,
|
||
StoreCategoryName: params.StoreCategroyName,
|
||
StoreCategorySeq: params.StoreCategroySeq,
|
||
Level: params.Level,
|
||
ParentID: params.ParentID,
|
||
}
|
||
retVal, err = cms.AddStoreCategoryMap(params.Ctx, storeCategoryMap)
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 修改门店类别
|
||
// @Description 修改门店类别
|
||
// @Param token header string true "认证token"
|
||
// @Param ID formData int true "记录ID"
|
||
// @Param categoryID formData int false "京西分类id"
|
||
// @Param storeCategroyName formData string false "类别name"
|
||
// @Param level formData int true "分类级别"
|
||
// @Param parentID formData int true "分类父ID"
|
||
// @Param isDelete formData bool false "是否是删除操作,默认false"
|
||
// @Success 200 {object} controllers.CallResult
|
||
// @Failure 200 {object} controllers.CallResult
|
||
// @router /UpdateStoreCategoryMap [put]
|
||
func (c *StoreController) UpdateStoreCategoryMap() {
|
||
c.callUpdateStoreCategoryMap(func(params *tStoreUpdateStoreCategoryMapParams) (retVal interface{}, errCode string, err error) {
|
||
storeCategoryMap := &model.StoreCategoryMap{
|
||
CategoryID: params.CategoryID,
|
||
StoreCategoryName: params.StoreCategroyName,
|
||
Level: params.Level,
|
||
ParentID: params.ParentID,
|
||
}
|
||
retVal, err = cms.UpdateStoreCategoryMap(params.Ctx, params.ID, storeCategoryMap, params.IsDelete)
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 门店类别重排序
|
||
// @Description 门店类别重排序
|
||
// @Param token header string true "认证token"
|
||
// @Param categoryID formData int true "父ID"
|
||
// @Param storeID formData int true "门店ID"
|
||
// @Param categoryIDs formData string true "同一父类别下的所有子类别ID列表([1,2,3,4])"
|
||
// @Success 200 {object} controllers.CallResult
|
||
// @Failure 200 {object} controllers.CallResult
|
||
// @router /ReorderStoreCategories [put]
|
||
func (c *SkuController) ReorderStoreCategories() {
|
||
c.callReorderStoreCategories(func(params *tSkuReorderStoreCategoriesParams) (retVal interface{}, errCode string, err error) {
|
||
var idList []int
|
||
if err = utils.UnmarshalUseNumber([]byte(params.CategoryIDs), &idList); err == nil {
|
||
err = cms.ReorderStoreCategories(params.Ctx, params.CategoryID, params.StoreID, idList)
|
||
}
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 复制门店类别
|
||
// @Description 复制门店类别
|
||
// @Param token header string true "认证token"
|
||
// @Param fromStoreID formData int true "源门店ID"
|
||
// @Param toStoreIDs formData string true "目标门店的IDs"
|
||
// @Param categoryIDs formData string false "原门店的分类IDs,不传代表整个复制"
|
||
// @Param isAsync formData bool false "是否异步操作"
|
||
// @Param isContinueWhenError formData bool false "单个同步失败是否继续,缺省false"
|
||
// @Success 200 {object} controllers.CallResult
|
||
// @Failure 200 {object} controllers.CallResult
|
||
// @router /CopyStoreCategories [put]
|
||
func (c *SkuController) CopyStoreCategories() {
|
||
var toStoreIDs, categoryIDs []int
|
||
c.callCopyStoreCategories(func(params *tSkuCopyStoreCategoriesParams) (retVal interface{}, errCode string, err error) {
|
||
if jxutils.Strings2Objs(params.ToStoreIDs, &toStoreIDs, params.CategoryIDs, &categoryIDs); err == nil {
|
||
retVal, err = cms.CopyStoreCategories(params.Ctx, params.FromStoreID, toStoreIDs, categoryIDs, params.IsAsync, params.IsContinueWhenError)
|
||
}
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 修改门店专属调价包
|
||
// @Description 修改门店专属调价包
|
||
// @Param token header string true "认证token"
|
||
// @Param storeID formData int true "门店ID"
|
||
// @Param vendorID formData int true "平台ID"
|
||
// @Param pricePack formData string true "门店调价包"
|
||
// @Param value formData string false "调价包json串"
|
||
// @Success 200 {object} controllers.CallResult
|
||
// @Failure 200 {object} controllers.CallResult
|
||
// @router /UpdateStorePricePack [put]
|
||
func (c *StoreController) UpdateStorePricePack() {
|
||
c.callUpdateStorePricePack(func(params *tStoreUpdateStorePricePackParams) (retVal interface{}, errCode string, err error) {
|
||
err = cms.UpdateStorePricePack(params.Ctx, params.StoreID, params.VendorID, params.PricePack, params.Value)
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 根据门店获取距离最近的货源店铺
|
||
// @Description 修根据门店获取距离最近的货源店铺
|
||
// @Param token header string true "认证token"
|
||
// @Param storeID query int true "门店ID"
|
||
// @Success 200 {object} controllers.CallResult
|
||
// @Failure 200 {object} controllers.CallResult
|
||
// @router /GetNearSupplyGoodsStoreByStoreID [get]
|
||
func (c *StoreController) GetNearSupplyGoodsStoreByStoreID() {
|
||
c.callGetNearSupplyGoodsStoreByStoreID(func(params *tStoreGetNearSupplyGoodsStoreByStoreIDParams) (retVal interface{}, errCode string, err error) {
|
||
retVal, err = common.GetNearSupplyGoodsStoreByStoreID(params.Ctx, params.StoreID)
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 获取京东门店手动划的配送范围面积
|
||
// @Description 获取京东门店手动划的配送范围面积
|
||
// @Param token header string true "认证token"
|
||
// @Param storeIDs query string true "门店IDs"
|
||
// @Success 200 {object} controllers.CallResult
|
||
// @Failure 200 {object} controllers.CallResult
|
||
// @router /GetJdDeliveryArea [get]
|
||
func (c *StoreController) GetJdDeliveryArea() {
|
||
var storeIDs []int
|
||
c.callGetJdDeliveryArea(func(params *tStoreGetJdDeliveryAreaParams) (retVal interface{}, errCode string, err error) {
|
||
if jxutils.Strings2Objs(params.StoreIDs, &storeIDs); err == nil {
|
||
err = cms.GetJdDeliveryArea(params.Ctx, storeIDs)
|
||
}
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 修改门店对应Cid(个推推送uniapp消息用)
|
||
// @Description 修改门店对应Cid(个推推送uniapp消息用)
|
||
// @Param token header string true "认证token"
|
||
// @Param storeID formData int true "门店ID"
|
||
// @Param clientID formData string true "cID"
|
||
// @Success 200 {object} controllers.CallResult
|
||
// @Failure 200 {object} controllers.CallResult
|
||
// @router /UpdateStorePushClient [post]
|
||
func (c *StoreController) UpdateStorePushClient() {
|
||
c.callUpdateStorePushClient(func(params *tStoreUpdateStorePushClientParams) (retVal interface{}, errCode string, err error) {
|
||
err = cms.UpdateStorePushClient(params.Ctx, params.StoreID, params.ClientID)
|
||
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 /CreateStoreAudit [post]
|
||
func (c *StoreController) CreateStoreAudit() {
|
||
c.callCreateStoreAudit(func(params *tStoreCreateStoreAuditParams) (retVal interface{}, errCode string, err error) {
|
||
store := &model.StoreAudit{}
|
||
if err = utils.UnmarshalUseNumber([]byte(params.Payload), store); err == nil {
|
||
err = cms.CreateStoreAudit(params.Ctx, store)
|
||
}
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 获取用户申请门店审核
|
||
// @Description 获取用户申请门店审核
|
||
// @Param token header string true "认证token"
|
||
// @Param applyTimeStart query string false "申请开始时间"
|
||
// @Param applyTimeEnd query string false "申请结束时间"
|
||
// @Param auditTimeStart query string false "审核开始时间"
|
||
// @Param auditTimeEnd query string false "审核结束时间"
|
||
// @Param name query string false "审核人"
|
||
// @Param statuss query string false "审核状态"
|
||
// @Param keyword query string false "关键字"
|
||
// @Param offset query int false "门店列表起始序号(以0开始,缺省为0)"
|
||
// @Param pageSize query int false "门店列表页大小(缺省为50,-1表示全部)"
|
||
// @Success 200 {object} controllers.CallResult
|
||
// @Failure 200 {object} controllers.CallResult
|
||
// @router /GetStoreAudit [get]
|
||
func (c *StoreController) GetStoreAudit() {
|
||
c.callGetStoreAudit(func(params *tStoreGetStoreAuditParams) (retVal interface{}, errCode string, err error) {
|
||
var (
|
||
statuss []int
|
||
)
|
||
if err = jxutils.Strings2Objs(params.Statuss, &statuss); err != nil {
|
||
return retVal, "", err
|
||
}
|
||
retVal, err = cms.GetStoreAudit(params.Ctx, statuss, params.Keyword, params.ApplyTimeStart, params.ApplyTimeEnd, params.AuditTimeStart, params.AuditTimeEnd, params.PageSize, params.Offset)
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 门店审核
|
||
// @Description 门店审核
|
||
// @Param token header string true "认证token"
|
||
// @Param payload formData string true "json数据,storeaudit对象"
|
||
// @Param status formData int false "审核标志,1通过,-1 不通过"
|
||
// @Success 200 {object} controllers.CallResult
|
||
// @Failure 200 {object} controllers.CallResult
|
||
// @router /StoreAudit [post]
|
||
func (c *StoreController) StoreAudit() {
|
||
c.callStoreAudit(func(params *tStoreStoreAuditParams) (retVal interface{}, errCode string, err error) {
|
||
var stores []*model.StoreAudit
|
||
if err = utils.UnmarshalUseNumber([]byte(params.Payload), &stores); err == nil {
|
||
retVal, err = cms.StoreAudit(params.Ctx, stores, params.Status)
|
||
}
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 比较美团配送门店信息
|
||
// @Description 比较美团配送门店信息
|
||
// @Param token header string true "认证token"
|
||
// @Param storeIDs formData string true "门店ids"
|
||
// @Success 200 {object} controllers.CallResult
|
||
// @Failure 200 {object} controllers.CallResult
|
||
// @router /GetDiffJxStoreAndMTWMStoreInfo [post]
|
||
func (c *StoreController) GetDiffJxStoreAndMTWMStoreInfo() {
|
||
c.callGetDiffJxStoreAndMTWMStoreInfo(func(params *tStoreGetDiffJxStoreAndMTWMStoreInfoParams) (retVal interface{}, errCode string, err error) {
|
||
var storeIDs []int
|
||
if err = utils.UnmarshalUseNumber([]byte(params.StoreIDs), &storeIDs); err == nil {
|
||
err = cms.GetDiffJxStoreAndMTWMStoreInfo(params.Ctx, storeIDs)
|
||
}
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 查询京东到家app上门店信息
|
||
// @Description 查询京东到家app上门店信息
|
||
// @Param token header string true "认证token"
|
||
// @Param vendorStoreID query string true "门店id"
|
||
// @Success 200 {object} controllers.CallResult
|
||
// @Failure 200 {object} controllers.CallResult
|
||
// @router /GetJddjStoreInfo [get]
|
||
func (c *StoreController) GetJddjStoreInfo() {
|
||
c.callGetJddjStoreInfo(func(params *tStoreGetJddjStoreInfoParams) (retVal interface{}, errCode string, err error) {
|
||
api.JdAPI.SetCookieWithStr(`
|
||
shshshfpa=13b38d4a-8ba0-df12-0012-82d9a37fb835-1573795914; shshshfpb=abYp8Dq5JobRtp2pkZa7MbA%3D%3D; cart_uuid=1bd562b37ef02371; track=46099cdb-39fb-abe6-579e-ea9536a8cf9c; deviceid_pdj_jd=H5_DEV_92DD6F05-B71A-43D7-9790-529335C43AAC; mba_muid=1605755815875269445822; TrackerID=E6aNCj4mNlBVkq6eyFfWLvkbWl9DhdG-pRGVaQPbvt2ewCa2n0QM-p0mViOLv_Uem9pAWgbNZEeaJuaz4gARAW9rTj8PJK-3hmcbl9N9h1qg-DMYXvdwc3Iau-AMlWin29CojqE8YnUPMtlJUf2gnA; pt_token=y2wjxzef; pwdt_id=jd_5e10f2d70fb4c; h5_coords_obj=""; o2o_m_h5_sid=5cb8b4db-feaa-4b25-aa96-df96cf9dba6d; PDJ_H5_JDPIN=jd_5e10f2d70fb4c; PDJ_H5_MOBILE=181****0913; PDJ_H5_PIN=JD_222ea79f49b3211; navigation=[%22shop_jxcs2020%22]; shshshfp=34eda22ad0af63b76392daccd2d03f2e; cid=NWtRMjE2NndZMzc4N2hWNzMyOHFBNDcwMXdTMjEwMm9BMjE4M3JPNjkwNHJQODk2; 3AB9D23F7A4B3C9B=AK36FFYF5J6WMPRH7YTXMEX4CATHR6NAA3IQEESU2I33FEJRQ3DRLU4SZJYD2XGFLCFW43DHYP5HQKOMR4EFQSLKLA; __jdu=1591327001141529223150; __jdv=27966078|direct|-|none|-|1606900892557; pt_key=app_openAAJfzzr6ADCQcdEYCKb4BH4DNh-9sVcgVB7nYveTS-J-x3tuin7otTCG7qTRTasxQdi-pr8mkFU; pt_pin=jd_5e10f2d70fb4c; sid=7fc3a18bc45c5766395cd2a8ad1c6daw; is_sz_old_version=false; language=zh_CN; TrackID=1a_Q7xLAd79K-ifyBFeTkWcSF5DEgCm9ISEjFoCF1VhbmI0XLzk-3Np5Wa0O0f0W2UZCX327iWisSzKkCasW_kqc4MqKSXDbOxk3w4AByhjM; pinId=qA40zQJfoxUJ0BznFrVelbV9-x-f3wj7; pin=jd_5e10f2d70fb4c; unick=jd_181600jgy; ceshi3.com=201; _tp=tPAwCz7dZ2wG9FcrXkvXEPcH%2FgU%2BK8r%2FxTPrJfx1wo8%3D; _pst=jd_5e10f2d70fb4c; b-sec=2GBADPFJ55VHNAQ2DUPKR7Y2CEX6NF5ABOAAZCYCWLTBU4NIRBCM7FKZVF35XOCEUIAEOLVWWE3OPD6NRWBX675VTE; thor=E6F66DF4AD3A159C1AE9872C7BB0CF4D5E2B8B9C52714A91A28E40CDCDB5FE53C00D4CD2A91B92947D52C5EE00FBE8D652EBD6251926555789988488332962E56D7343A6B07A071F9FF37C24CE28506474AD1E996F78691C9194C9B3171F9255349E4A94AE37D23F6A1BBE49880177B7E3D701F06FAEC88026BA9E09D25E789B59226B670D64ECA829E356891A1FB2E2D0036899FE49F651BBE4F7BCCE857385; __jda=191429163.1591327001141529223150.1591327001.1607907141.1607938587.81; __jdc=191429163; __jdb=191429163.4.1591327001141529223150|81.1607938587; _base_=YKH2KDFHMOZBLCUV7NSRBWQUJPBI7JIMU5R3EFJ5UDHJ5LCU7R2NILKK5UJ6GLA2RGYT464UKXAI5KK7PNC5B5UHJ2HVQ4ENFP57OC2NCIWTST4KDNCWZES6EV2TD5XDTCNE6YVKRXISVWNQHZDBO6QEKYXMXGPYGVEOCQCSG4SOQWCP5WPWO6EFS7HEHMRWVKBRVHB33TFD4AUHV3TOJD7MGBX53BNNP2E6MSSOORYGL5H2GYFRURR5ACFJ54GH7PTHFL22YL3C6ODFYFTWGV5UAWCX5C6J372TDCL6LDNEERERTGC3XZYHUWG3GYQCRBMGP7O2Q2MPVVQAQIWW3S2YBGSPJZVO3XPNMOJI6RFTJD5NXZUZMBDK4FVEVR2D
|
||
`)
|
||
retVal, err = api.JdAPI.GetJdStoreInfo(params.VendorStoreID)
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 查询品牌
|
||
// @Description 查询品牌
|
||
// @Param token header string false "认证token"
|
||
// @Param brandID query int false "品牌ID"
|
||
// @Param name query string false "品牌名"
|
||
// @Success 200 {object} controllers.CallResult
|
||
// @Failure 200 {object} controllers.CallResult
|
||
// @router /GetBrands [get]
|
||
func (c *StoreController) GetBrands() {
|
||
c.callGetBrands(func(params *tStoreGetBrandsParams) (retVal interface{}, errCode string, err error) {
|
||
retVal, err = cms.GetBrands(params.Ctx, params.Name, params.BrandID)
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 新增品牌
|
||
// @Description 新增品牌
|
||
// @Param token header string true "认证token"
|
||
// @Param payload formData string true "brand payload"
|
||
// @Success 200 {object} controllers.CallResult
|
||
// @Failure 200 {object} controllers.CallResult
|
||
// @router /AddBrand [post]
|
||
func (c *StoreController) AddBrand() {
|
||
c.callAddBrand(func(params *tStoreAddBrandParams) (retVal interface{}, errCode string, err error) {
|
||
var brand = &model.Brand{}
|
||
if err = utils.UnmarshalUseNumber([]byte(params.Payload), brand); err == nil {
|
||
err = cms.AddBrand(params.Ctx, brand)
|
||
}
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 修改品牌
|
||
// @Description 修改品牌
|
||
// @Param token header string true "认证token"
|
||
// @Param payload formData string true "brand payload"
|
||
// @Param isDel formData bool false "是否是删除"
|
||
// @Success 200 {object} controllers.CallResult
|
||
// @Failure 200 {object} controllers.CallResult
|
||
// @router /UpdateBrand [post]
|
||
func (c *StoreController) UpdateBrand() {
|
||
c.callUpdateBrand(func(params *tStoreUpdateBrandParams) (retVal interface{}, errCode string, err error) {
|
||
payload := make(map[string]interface{})
|
||
if err = utils.UnmarshalUseNumber([]byte(params.Payload), &payload); err == nil {
|
||
err = cms.UpdateBrand(params.Ctx, payload, params.IsDel)
|
||
}
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 修改门店分类为京西分类
|
||
// @Description 修改门店分类为京西分类
|
||
// @Param token header string true "认证token"
|
||
// @Param storeID formData int true "门店ID"
|
||
// @Success 200 {object} controllers.CallResult
|
||
// @Failure 200 {object} controllers.CallResult
|
||
// @router /InsertStoreCategories [post]
|
||
func (c *StoreController) InsertStoreCategories() {
|
||
c.callInsertStoreCategories(func(params *tStoreInsertStoreCategoriesParams) (retVal interface{}, errCode string, err error) {
|
||
err = cms.InsertStoreCategories(params.Ctx, nil, params.StoreID)
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 创建平台门店
|
||
// @Description 创建平台门店
|
||
// @Param token header string true "认证token"
|
||
// @Param storeID formData int true "门店ID"
|
||
// @Param vendorID formData int true "平台ID"
|
||
// @Param payload formData string true "json数据,store对象"
|
||
// @Success 200 {object} controllers.CallResult
|
||
// @Failure 200 {object} controllers.CallResult
|
||
// @router /CreateVendorStore [post]
|
||
func (c *StoreController) CreateVendorStore() {
|
||
c.callCreateVendorStore(func(params *tStoreCreateVendorStoreParams) (retVal interface{}, errCode string, err error) {
|
||
payload := make(map[string]interface{})
|
||
if err = utils.UnmarshalUseNumber([]byte(params.Payload), &payload); err == nil {
|
||
err = cms.CreateVendorStore(params.Ctx, params.StoreID, params.VendorID, payload)
|
||
}
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 查询品牌店铺
|
||
// @Description 查询品牌店铺
|
||
// @Param token header string false "认证token"
|
||
// @Param name query string false "品牌名"
|
||
// @Success 200 {object} controllers.CallResult
|
||
// @Failure 200 {object} controllers.CallResult
|
||
// @router /GetBrandStore [get]
|
||
func (c *StoreController) GetBrandStore() {
|
||
c.callGetBrandStore(func(params *tStoreGetBrandStoreParams) (retVal interface{}, errCode string, err error) {
|
||
retVal, err = cms.GetBrandStore(params.Ctx, params.Name)
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 商家确认参与活动
|
||
// @Description 商家确认参与活动
|
||
// @Param token header string false "认证token"
|
||
// @Param status formData int true "确认或取消,确认1,取消-1"
|
||
// @Param msgStatusID formData int true "消息状态ID"
|
||
// @Success 200 {object} controllers.CallResult
|
||
// @Failure 200 {object} controllers.CallResult
|
||
// @router /StoreConfirmAct [post]
|
||
func (c *StoreController) StoreConfirmAct() {
|
||
c.callStoreConfirmAct(func(params *tStoreStoreConfirmActParams) (retVal interface{}, errCode string, err error) {
|
||
err = cms.StoreConfirmAct(params.Ctx, params.Status, params.MsgStatusID)
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 查询门店账户余额
|
||
// @Description 查询门店账户余额
|
||
// @Param token header string true "认证token"
|
||
// @Param storeID formData int true "门店ID"
|
||
// @Success 200 {object} controllers.CallResult
|
||
// @Failure 200 {object} controllers.CallResult
|
||
// @router /GetStoreAcctBalance [get]
|
||
func (c *StoreController) GetStoreAcctBalance() {
|
||
c.callGetStoreAcctBalance(func(params *tStoreGetStoreAcctBalanceParams) (retVal interface{}, errCode string, err error) {
|
||
retVal, err = cms.GetStoreAcctBalance(params.Ctx, params.StoreID)
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 直接修改平台门店上下线
|
||
// @Description 直接修改平台门店上下线
|
||
// @Param token header string true "认证token"
|
||
// @Param storeID formData int true "门店ID"
|
||
// @Param vendorID formData int true "平台ID"
|
||
// @Param status formData int true "状态,-1 下线,1上线"
|
||
// @Success 200 {object} controllers.CallResult
|
||
// @Failure 200 {object} controllers.CallResult
|
||
// @router /UpdateVendorStoreBussinessStatus [post]
|
||
func (c *StoreController) UpdateVendorStoreBussinessStatus() {
|
||
c.callUpdateVendorStoreBussinessStatus(func(params *tStoreUpdateVendorStoreBussinessStatusParams) (retVal interface{}, errCode string, err error) {
|
||
err = cms.UpdateVendorStoreBussinessStatus(params.Ctx, params.StoreID, params.VendorID, params.Status)
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 商户申请授权绑定
|
||
// @Description 商户申请授权绑定
|
||
// @Param token header string true "认证token"
|
||
// @Param storeID formData int true "门店ID,payload中的相应字段会被忽略"
|
||
// @Param vendorID formData int true "厂商ID,payload中的相应字段会被忽略"
|
||
// @Param vendorOrgCode formData string false "厂商内组织代码"
|
||
// @Param vendorStoreID formData string false "平台门店ID"
|
||
// @Param vendorStoreName formData string false "平台门店名"
|
||
// @Param vendorAccount formData string true "平台账号"
|
||
// @Param vendorPasswaord formData string false "平台账号密码"
|
||
// @Success 200 {object} controllers.CallResult
|
||
// @Failure 200 {object} controllers.CallResult
|
||
// @router /AddStoreMapAudit [post]
|
||
func (c *StoreController) AddStoreMapAudit() {
|
||
c.callAddStoreMapAudit(func(params *tStoreAddStoreMapAuditParams) (retVal interface{}, errCode string, err error) {
|
||
err = cms.AddStoreMapAudit(params.Ctx, params.StoreID, params.VendorID, params.VendorOrgCode, params.VendorStoreID, params.VendorStoreName, params.VendorAccount, params.VendorPasswaord)
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 审核商户申请授权
|
||
// @Description 审核商户申请授权
|
||
// @Param token header string true "认证token"
|
||
// @Param ID formData int true "申请记录的ID"
|
||
// @Param vendorOrgCode formData string false "厂商内组织代码"
|
||
// @Param vendorStoreID formData string false "平台门店ID"
|
||
// @Param auditStatus formData int false "审核标志,1为通过,-1为不通过"
|
||
// @Param comment formData string false "不通过原因"
|
||
// @Success 200 {object} controllers.CallResult
|
||
// @Failure 200 {object} controllers.CallResult
|
||
// @router /AuditStoreMap [post]
|
||
func (c *StoreController) AuditStoreMap() {
|
||
c.callAuditStoreMap(func(params *tStoreAuditStoreMapParams) (retVal interface{}, errCode string, err error) {
|
||
err = cms.AuditStoreMap(params.Ctx, params.ID, params.VendorOrgCode, params.VendorStoreID, params.AuditStatus, params.Comment)
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 查询商户申请授权
|
||
// @Description 查询商户申请授权
|
||
// @Param token header string true "认证token"
|
||
// @Param storeIDs query string false "门店IDs"
|
||
// @Param vendorIDs query string false "平台IDs"
|
||
// @Param auditStatuss query string false "审核状态s"
|
||
// @Param fromTime query string false "审核时间"
|
||
// @Param toTime query string false "审核时间"
|
||
// @Param offset query int false "门店列表起始序号(以0开始,缺省为0)"
|
||
// @Param pageSize query int false "门店列表页大小(缺省为50,-1表示全部)"
|
||
// @Success 200 {object} controllers.CallResult
|
||
// @Failure 200 {object} controllers.CallResult
|
||
// @router /GetStoreMapAudit [get]
|
||
func (c *StoreController) GetStoreMapAudit() {
|
||
c.callGetStoreMapAudit(func(params *tStoreGetStoreMapAuditParams) (retVal interface{}, errCode string, err error) {
|
||
return retVal, "", err
|
||
})
|
||
}
|