- store courier map
This commit is contained in:
@@ -6,6 +6,7 @@ import (
|
||||
"strings"
|
||||
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
"git.rosy.net.cn/jx-callback/business/jxcallback/scheduler/basesch"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils"
|
||||
"git.rosy.net.cn/jx-callback/business/model"
|
||||
"git.rosy.net.cn/jx-callback/business/model/dao"
|
||||
@@ -368,3 +369,73 @@ func TmpGetJxBadCommentsByStoreId(storeID, page, size, commentType int) (retVal
|
||||
}
|
||||
return retVal, err
|
||||
}
|
||||
|
||||
func GetStoreCourierMaps(db *dao.DaoDB, storeID int, vendorID int) (storeCourierMaps []*model.StoreCourierMap, err error) {
|
||||
cond := map[string]interface{}{
|
||||
model.FieldStoreID: storeID,
|
||||
}
|
||||
if vendorID != -1 {
|
||||
cond[model.FieldVendorID] = vendorID
|
||||
}
|
||||
return storeCourierMaps, dao.GetEntitiesByKV(db, &storeCourierMaps, cond, false)
|
||||
}
|
||||
|
||||
func AddStoreCourierMap(db *dao.DaoDB, storeID, vendorID int, storeCourierMap *model.StoreCourierMap, userName string) (outStoreCourierMap *model.StoreCourierMap, err error) {
|
||||
if handler := basesch.FixedBaseScheduler.GetDeliveryPlatformFromVendorID(vendorID); handler != nil {
|
||||
dao.WrapAddIDCULDEntity(storeCourierMap, userName)
|
||||
storeCourierMap.StoreID = storeID
|
||||
storeCourierMap.VendorID = vendorID
|
||||
if db == nil {
|
||||
db = dao.GetDB()
|
||||
}
|
||||
dao.Begin(db)
|
||||
defer func() {
|
||||
if r := recover(); r != nil {
|
||||
dao.Rollback(db)
|
||||
panic(r)
|
||||
}
|
||||
}()
|
||||
if err = dao.CreateEntity(db, storeCourierMap); err == nil {
|
||||
dao.Commit(db)
|
||||
outStoreCourierMap = storeCourierMap
|
||||
err = CurVendorSync.SyncStore(db, storeCourierMap.VendorID, storeID, true, userName)
|
||||
}
|
||||
if err != nil {
|
||||
dao.Rollback(db)
|
||||
}
|
||||
} else {
|
||||
err = ErrCanNotFindVendor
|
||||
}
|
||||
return outStoreCourierMap, err
|
||||
}
|
||||
|
||||
func DeleteStoreCourierMap(db *dao.DaoDB, storeID, vendorID int, userName string) (num int64, err error) {
|
||||
if db == nil {
|
||||
db = dao.GetDB()
|
||||
}
|
||||
storeCourierMap := &model.StoreCourierMap{}
|
||||
if num, err = dao.DeleteEntityLogically(db, storeCourierMap, map[string]interface{}{
|
||||
model.FieldStatus: model.StoreStatusDisabled,
|
||||
}, userName, map[string]interface{}{
|
||||
model.FieldStoreID: storeID,
|
||||
model.FieldVendorID: vendorID,
|
||||
}); err == nil && num > 0 {
|
||||
err = CurVendorSync.SyncStore(db, vendorID, storeID, true, userName)
|
||||
}
|
||||
return num, err
|
||||
}
|
||||
|
||||
func UpdateStoreCourierMap(db *dao.DaoDB, storeID, vendorID int, payload map[string]interface{}, userName string) (num int64, err error) {
|
||||
if db == nil {
|
||||
db = dao.GetDB()
|
||||
}
|
||||
dummyStoreCourierMap := &model.StoreCourierMap{}
|
||||
valid := dao.NormalMakeMapByStructObject(payload, dummyStoreCourierMap, userName)
|
||||
if len(valid) > 0 {
|
||||
num, err = dao.UpdateEntityLogically(db, dummyStoreCourierMap, valid, userName, map[string]interface{}{
|
||||
model.FieldStoreID: storeID,
|
||||
model.FieldVendorID: vendorID,
|
||||
})
|
||||
}
|
||||
return num, err
|
||||
}
|
||||
|
||||
@@ -98,11 +98,17 @@ func (v *VendorSync) GetStoreHandler(vendorID int) partner.IPurchasePlatformHand
|
||||
}
|
||||
|
||||
func (v *VendorSync) GetMultiStoreHandler(vendorID int) partner.IMultipleStoresHandler {
|
||||
return v.PurchaseHandlers[vendorID].(partner.IMultipleStoresHandler)
|
||||
if v.PurchaseHandlers[vendorID] != nil {
|
||||
return v.PurchaseHandlers[vendorID].(partner.IMultipleStoresHandler)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (v *VendorSync) GetSingleStoreHandler(vendorID int) partner.ISingleStoreHandler {
|
||||
return v.PurchaseHandlers[vendorID].(partner.ISingleStoreHandler)
|
||||
if v.PurchaseHandlers[vendorID] != nil {
|
||||
return v.PurchaseHandlers[vendorID].(partner.ISingleStoreHandler)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (v *VendorSync) SyncCategory(db *dao.DaoDB, categoryID int, isForce bool, userName string) (err error) {
|
||||
|
||||
@@ -184,10 +184,10 @@ func (*StoreMap) TableUnique() [][]string {
|
||||
type StoreCourierMap struct {
|
||||
ModelIDCULD
|
||||
|
||||
StoreID int `orm:"column(store_id)"`
|
||||
VendorID int `orm:"column(vendor_id)"`
|
||||
VendorStoreID string `orm:"column(vendor_store_id);size(48)"`
|
||||
Status int
|
||||
StoreID int `orm:"column(store_id)" json:"storeID"`
|
||||
VendorID int `orm:"column(vendor_id)" json:"vendorID"`
|
||||
VendorStoreID string `orm:"column(vendor_store_id);size(48)" json:"vendorStoreID"`
|
||||
Status int `json:"status"`
|
||||
}
|
||||
|
||||
func (*StoreCourierMap) TableUnique() [][]string {
|
||||
|
||||
@@ -200,3 +200,74 @@ func (c *StoreController) TmpGetJxBadCommentsByStoreId() {
|
||||
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(nil, params.StoreID, params.VendorID)
|
||||
return retVal, "", err
|
||||
})
|
||||
}
|
||||
|
||||
// @Title 修改门店快递映射信息
|
||||
// @Description 修改门店快递映射信息
|
||||
// @Param token header string true "认证token"
|
||||
// @Param storeID query int true "门店ID,payload中的相应字段会被忽略"
|
||||
// @Param vendorID query 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(nil, params.StoreID, params.VendorID, storeCourierMap, GetUserNameFromToken(params.Token))
|
||||
}
|
||||
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(nil, params.StoreID, params.VendorID, storeCourierMap, GetUserNameFromToken(params.Token))
|
||||
}
|
||||
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(nil, params.StoreID, params.VendorID, GetUserNameFromToken(params.Token))
|
||||
return retVal, "", err
|
||||
})
|
||||
}
|
||||
|
||||
@@ -359,6 +359,14 @@ func init() {
|
||||
MethodParams: param.Make(),
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"],
|
||||
beego.ControllerComments{
|
||||
Method: "AddStoreCourierMap",
|
||||
Router: `/AddStoreCourierMap`,
|
||||
AllowHTTPMethods: []string{"post"},
|
||||
MethodParams: param.Make(),
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"],
|
||||
beego.ControllerComments{
|
||||
Method: "AddStoreVendorMap",
|
||||
@@ -375,6 +383,14 @@ func init() {
|
||||
MethodParams: param.Make(),
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"],
|
||||
beego.ControllerComments{
|
||||
Method: "DeleteStoreCourierMap",
|
||||
Router: `/DeleteStoreCourierMap`,
|
||||
AllowHTTPMethods: []string{"delete"},
|
||||
MethodParams: param.Make(),
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"],
|
||||
beego.ControllerComments{
|
||||
Method: "DeleteStoreVendorMap",
|
||||
@@ -383,6 +399,14 @@ func init() {
|
||||
MethodParams: param.Make(),
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"],
|
||||
beego.ControllerComments{
|
||||
Method: "GetStoreCourierMaps",
|
||||
Router: `/GetStoreCourierMaps`,
|
||||
AllowHTTPMethods: []string{"get"},
|
||||
MethodParams: param.Make(),
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"],
|
||||
beego.ControllerComments{
|
||||
Method: "GetStoreVendorMaps",
|
||||
@@ -431,6 +455,14 @@ func init() {
|
||||
MethodParams: param.Make(),
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"],
|
||||
beego.ControllerComments{
|
||||
Method: "UpdateStoreCourierMap",
|
||||
Router: `/UpdateStoreCourierMap`,
|
||||
AllowHTTPMethods: []string{"put"},
|
||||
MethodParams: param.Make(),
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"],
|
||||
beego.ControllerComments{
|
||||
Method: "UpdateStoreVendorMap",
|
||||
|
||||
Reference in New Issue
Block a user