This commit is contained in:
gazebo
2019-07-24 18:20:15 +08:00
parent ac7c086b7a
commit c07b10ab16
4 changed files with 19 additions and 4 deletions

View File

@@ -1099,14 +1099,20 @@ func updateOrCreateCourierStore(ctx *jxcontext.Context, storeDetail *dao.StoreDe
return false, fmt.Errorf("门店的城市码有问题,请检查")
}
storeDetail = formalizeStore4Courier(storeDetail)
needUpdate := false
if _, err = handlerInfo.Handler.GetStore(ctx, 0, storeDetail.VendorStoreID); err != nil {
if handlerInfo.Handler.IsErrStoreNotExist(err) {
storeDetail.VendorStoreID, storeDetail.AuditStatus, err = handlerInfo.Handler.CreateStore(ctx, storeDetail)
if err == nil {
isCreated = true
} else if handlerInfo.Handler.IsErrStoreExist(err) {
err = nil
}
}
} else {
needUpdate = true
}
if err == nil && needUpdate {
if updateHandler, _ := handlerInfo.Handler.(partner.IDeliveryUpdateStoreHandler); updateHandler != nil {
err = updateHandler.UpdateStore(ctx, storeDetail)
} else {
@@ -1148,13 +1154,13 @@ func UpdateOrCreateCourierStores(ctx *jxcontext.Context, storeID int, isForceUpd
if _, ok := v.Handler.(partner.IDeliveryUpdateStoreHandler); ok {
storeDetail, err2 := dao.GetStoreDetail2(db, storeID, "", vendorID)
if err = err2; err2 == nil {
if isForceUpdate || storeDetail.VendorStoreID == "" {
var isCreated bool
if storeDetail.VendorStoreID == "" {
isNeedAdd := storeDetail.VendorStoreID == ""
if isForceUpdate || isNeedAdd {
if isNeedAdd {
storeDetail.VendorID = vendorID
storeDetail.VendorStoreID = utils.Int2Str(storeDetail.ID)
}
if isCreated, err = updateOrCreateCourierStore(ctx, storeDetail); err == nil && isCreated {
if _, err = updateOrCreateCourierStore(ctx, storeDetail); err == nil && isNeedAdd {
storeCourier := &model.StoreCourierMap{
VendorStoreID: storeDetail.VendorStoreID,
Status: model.StoreStatusOpened,

View File

@@ -186,6 +186,10 @@ func (c *DeliveryHandler) IsErrStoreNotExist(err error) bool {
return dadaapi.IsErrShopNotExist(err)
}
func (c *DeliveryHandler) IsErrStoreExist(err error) bool {
return dadaapi.IsErrShopExist(err)
}
func (c *DeliveryHandler) GetWaybillFee(order *model.GoodsOrder) (deliveryFeeInfo *partner.WaybillFeeInfo, err error) {
db := dao.GetDB()
deliveryFeeInfo = &partner.WaybillFeeInfo{}

View File

@@ -86,6 +86,10 @@ func (c *DeliveryHandler) IsErrStoreNotExist(err error) bool {
return mtpsapi.IsErrShopNotExist(err)
}
func (c *DeliveryHandler) IsErrStoreExist(err error) bool {
return mtpsapi.IsErrShopExist(err)
}
func (c *DeliveryHandler) UpdateStore(ctx *jxcontext.Context, storeDetail *dao.StoreDetail2) (err error) {
if globals.EnableStoreWrite {
err = api.MtpsAPI.PagePoiUpdate(storeDetail.VendorStoreID, storeDetail.PayeeName, storeDetail.Tel1, "fakeemail@163.com")

View File

@@ -33,6 +33,7 @@ type IDeliveryPlatformHandler interface {
CreateStore(ctx *jxcontext.Context, storeDetail *dao.StoreDetail2) (vendorStoreID string, status int, err error)
GetStore(ctx *jxcontext.Context, storeID int, vendorStoreID string) (storeDetail *dao.StoreDetail2, err error)
IsErrStoreNotExist(err error) bool
IsErrStoreExist(err error) bool
CreateWaybill(order *model.GoodsOrder, policy CreateWaybillPolicy) (bill *model.Waybill, err error)
CancelWaybill(bill *model.Waybill, cancelReasonID int, cancelReason string) (err error)