This commit is contained in:
suyl
2021-08-31 10:26:27 +08:00
parent 03e255519f
commit 2e2a636228
5 changed files with 94 additions and 9 deletions

View File

@@ -5119,3 +5119,48 @@ func UpdateBrandUser(ctx *jxcontext.Context, brandID int, userID string, isDel b
}
return err
}
func UpdateOrCreateCourierStoresByBrand(ctx *jxcontext.Context, brandID, vendorID int) (hint string, err error) {
var (
db = dao.GetDB()
)
stores, _ := dao.GetStoreList(db, nil, nil, nil, []int{brandID}, nil, "")
task := tasksch.NewParallelTask("UpdateOrCreateCourierStoresByBrand", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx,
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
var resultList []interface{}
store := batchItemList[0].(*model.Store)
errList := errlist.New()
v := partner.GetDeliveryPlatformFromVendorID(vendorID)
if v.Use4CreateWaybill {
if _, ok := v.Handler.(partner.IDeliveryUpdateStoreHandler); ok {
storeDetail, err2 := dao.GetStoreDetail2(db, store.ID, "", vendorID)
if err = err2; err2 == nil {
isNeedAdd := storeDetail.VendorStoreID == ""
if isNeedAdd {
storeDetail.VendorID = vendorID
storeDetail.VendorStoreID = utils.Int2Str(storeDetail.ID)
}
if _, err = updateOrCreateCourierStore(ctx, storeDetail); err == nil && isNeedAdd {
storeCourier := &model.StoreCourierMap{
VendorStoreID: storeDetail.VendorStoreID,
Status: model.StoreStatusOpened,
AuditStatus: storeDetail.AuditStatus,
VendorStoreName: storeDetail.Name,
}
if storeDetail.AuditStatus != model.StoreAuditStatusOnline {
storeCourier.Status = model.StoreStatusDisabled
}
if _, err = addStoreCourierMap(ctx, db, storeDetail.ID, storeDetail.VendorID, storeCourier, false); err == nil {
resultList = append(resultList, 1)
}
}
errList.AddErr(err)
}
}
}
return resultList, errList.GetErrListAsOne()
}, stores)
tasksch.HandleTask(task, nil, true).Run()
hint = task.ID
return hint, err
}