- store courier map
This commit is contained in:
@@ -6,6 +6,7 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"git.rosy.net.cn/baseapi/utils"
|
"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/jxutils"
|
||||||
"git.rosy.net.cn/jx-callback/business/model"
|
"git.rosy.net.cn/jx-callback/business/model"
|
||||||
"git.rosy.net.cn/jx-callback/business/model/dao"
|
"git.rosy.net.cn/jx-callback/business/model/dao"
|
||||||
@@ -368,3 +369,73 @@ func TmpGetJxBadCommentsByStoreId(storeID, page, size, commentType int) (retVal
|
|||||||
}
|
}
|
||||||
return retVal, err
|
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 {
|
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 {
|
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) {
|
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 {
|
type StoreCourierMap struct {
|
||||||
ModelIDCULD
|
ModelIDCULD
|
||||||
|
|
||||||
StoreID int `orm:"column(store_id)"`
|
StoreID int `orm:"column(store_id)" json:"storeID"`
|
||||||
VendorID int `orm:"column(vendor_id)"`
|
VendorID int `orm:"column(vendor_id)" json:"vendorID"`
|
||||||
VendorStoreID string `orm:"column(vendor_store_id);size(48)"`
|
VendorStoreID string `orm:"column(vendor_store_id);size(48)" json:"vendorStoreID"`
|
||||||
Status int
|
Status int `json:"status"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (*StoreCourierMap) TableUnique() [][]string {
|
func (*StoreCourierMap) TableUnique() [][]string {
|
||||||
|
|||||||
@@ -200,3 +200,74 @@ func (c *StoreController) TmpGetJxBadCommentsByStoreId() {
|
|||||||
return retVal, "", err
|
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(),
|
MethodParams: param.Make(),
|
||||||
Params: nil})
|
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.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"],
|
||||||
beego.ControllerComments{
|
beego.ControllerComments{
|
||||||
Method: "AddStoreVendorMap",
|
Method: "AddStoreVendorMap",
|
||||||
@@ -375,6 +383,14 @@ func init() {
|
|||||||
MethodParams: param.Make(),
|
MethodParams: param.Make(),
|
||||||
Params: nil})
|
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.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"],
|
||||||
beego.ControllerComments{
|
beego.ControllerComments{
|
||||||
Method: "DeleteStoreVendorMap",
|
Method: "DeleteStoreVendorMap",
|
||||||
@@ -383,6 +399,14 @@ func init() {
|
|||||||
MethodParams: param.Make(),
|
MethodParams: param.Make(),
|
||||||
Params: nil})
|
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.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"],
|
||||||
beego.ControllerComments{
|
beego.ControllerComments{
|
||||||
Method: "GetStoreVendorMaps",
|
Method: "GetStoreVendorMaps",
|
||||||
@@ -431,6 +455,14 @@ func init() {
|
|||||||
MethodParams: param.Make(),
|
MethodParams: param.Make(),
|
||||||
Params: nil})
|
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.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"],
|
||||||
beego.ControllerComments{
|
beego.ControllerComments{
|
||||||
Method: "UpdateStoreVendorMap",
|
Method: "UpdateStoreVendorMap",
|
||||||
|
|||||||
Reference in New Issue
Block a user