- 在创建快递门店时,处理PayeeName为空的情况
This commit is contained in:
@@ -989,7 +989,6 @@ func AddStoreCourierMap(ctx *jxcontext.Context, db *dao.DaoDB, storeID, vendorID
|
||||
func addStoreCourierMap(ctx *jxcontext.Context, db *dao.DaoDB, storeID, vendorID int, storeCourierMap *model.StoreCourierMap, isNeedUpdateRemote bool) (outStoreCourierMap *model.StoreCourierMap, err error) {
|
||||
globals.SugarLogger.Debugf("addStoreCourierMap %s, storeID:%d, isNeedUpdateRemote:%t", model.VendorChineseNames[vendorID], storeCourierMap, isNeedUpdateRemote)
|
||||
|
||||
userName := ctx.GetUserName()
|
||||
if handler := partner.GetDeliveryPlatformFromVendorID(vendorID); handler != nil {
|
||||
if db == nil {
|
||||
db = dao.GetDB()
|
||||
@@ -999,31 +998,21 @@ func addStoreCourierMap(ctx *jxcontext.Context, db *dao.DaoDB, storeID, vendorID
|
||||
if err = err2; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if storeDetail.VendorStoreID != "" && storeDetail.VendorStoreID != storeCourierMap.VendorStoreID {
|
||||
if storeDetail.VendorStoreID != "" {
|
||||
return nil, fmt.Errorf("门店已经绑定了%s, ID:%s, 如需重新绑定, 请先解绑", model.VendorChineseNames[vendorID], storeDetail.VendorStoreID)
|
||||
}
|
||||
dao.WrapAddIDCULDEntity(storeCourierMap, userName)
|
||||
storeCourierMap.StoreID = storeID
|
||||
storeCourierMap.VendorID = vendorID
|
||||
storeDetail.VendorStoreID = storeCourierMap.VendorStoreID
|
||||
if err = updateCourierStore(ctx, storeDetail); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
dao.Begin(db)
|
||||
defer func() {
|
||||
if r := recover(); r != nil || err != nil {
|
||||
dao.Rollback(db)
|
||||
if r != nil {
|
||||
panic(r)
|
||||
}
|
||||
}
|
||||
}()
|
||||
dao.WrapAddIDCULDEntity(storeCourierMap, ctx.GetUserName())
|
||||
storeCourierMap.StoreID = storeID
|
||||
storeCourierMap.VendorID = vendorID
|
||||
if err = dao.CreateEntity(db, storeCourierMap); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
outStoreCourierMap = storeCourierMap
|
||||
dao.Commit(db)
|
||||
} else {
|
||||
err = ErrCanNotFindVendor
|
||||
}
|
||||
@@ -1074,8 +1063,7 @@ func updateCourierStore(ctx *jxcontext.Context, storeDetail *dao.StoreDetail2) (
|
||||
|
||||
if handlerInfo := partner.GetDeliveryPlatformFromVendorID(storeDetail.VendorID); handlerInfo != nil && handlerInfo.Use4CreateWaybill {
|
||||
if updateHandler, ok := handlerInfo.Handler.(partner.IDeliveryUpdateStoreHandler); ok {
|
||||
storeDetail.CourierStoreName = composeCourierStoreName(storeDetail)
|
||||
err = updateHandler.UpdateStore(ctx, storeDetail)
|
||||
err = updateHandler.UpdateStore(ctx, formalizeStore4Courier(storeDetail))
|
||||
}
|
||||
}
|
||||
return err
|
||||
@@ -1110,11 +1098,13 @@ func updateOrCreateCourierStore(ctx *jxcontext.Context, storeDetail *dao.StoreDe
|
||||
if storeDetail.CityName == "" {
|
||||
return false, fmt.Errorf("门店的城市码有问题,请检查")
|
||||
}
|
||||
storeDetail.CourierStoreName = composeCourierStoreName(storeDetail)
|
||||
storeDetail = formalizeStore4Courier(storeDetail)
|
||||
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)
|
||||
isCreated = true
|
||||
if err == nil {
|
||||
isCreated = true
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if updateHandler, _ := handlerInfo.Handler.(partner.IDeliveryUpdateStoreHandler); updateHandler != nil {
|
||||
@@ -1183,7 +1173,7 @@ func UpdateOrCreateCourierStores(ctx *jxcontext.Context, storeID int, isForceUpd
|
||||
}
|
||||
}
|
||||
}
|
||||
return resultList, err
|
||||
return resultList, errList.GetErrListAsOne()
|
||||
}, storeIDs)
|
||||
tasksch.HandleTask(task, nil, len(storeIDs) > 1).Run()
|
||||
if !isAsync {
|
||||
@@ -1197,8 +1187,14 @@ func UpdateOrCreateCourierStores(ctx *jxcontext.Context, storeID int, isForceUpd
|
||||
return hint, err
|
||||
}
|
||||
|
||||
func composeCourierStoreName(storeDetail *dao.StoreDetail2) (storeName string) {
|
||||
return storeDetail.Name + "-" + storeDetail.VendorStoreID
|
||||
func formalizeStore4Courier(storeDetail *dao.StoreDetail2) (newStoreDetail *dao.StoreDetail2) {
|
||||
tmp := *storeDetail
|
||||
newStoreDetail = &tmp
|
||||
newStoreDetail.Name = storeDetail.Name + "-" + storeDetail.VendorStoreID
|
||||
if newStoreDetail.PayeeName == "" {
|
||||
newStoreDetail.PayeeName = "店主"
|
||||
}
|
||||
return newStoreDetail
|
||||
}
|
||||
|
||||
func ExportShopsHealthInfo(ctx *jxcontext.Context, vendorIDs, storeIDs []int, isAsync, isContinueWhenError bool) (hint string, err error) {
|
||||
|
||||
Reference in New Issue
Block a user