Merge remote-tracking branch 'origin/jdshop' into jdshop

This commit is contained in:
807875765@qq.com
2022-03-15 11:48:11 +08:00
10 changed files with 107 additions and 60 deletions

View File

@@ -1083,6 +1083,7 @@ func UpdateStore(ctx *jxcontext.Context, storeID int, payload map[string]interfa
TryAddStoreBossRole4StoreByMobile(ctx, store.ID, []string{utils.Interface2String(valid["tel1"]), utils.Interface2String(valid["tel2"])})
}
if syncStatus&model.SyncFlagStoreAddress != 0 || valid["tel1"] != nil || valid["payeeName"] != nil {
// 修改门店信息(第三方平台同步)
updateCourierStores(ctx, storeID)
}
}
@@ -1249,6 +1250,7 @@ func CreateStore(ctx *jxcontext.Context, storeExt *StoreExt, userName string) (i
if globals.IsAddEvent {
err = AddEventDetail(db, ctx, model.OperateAdd, store.ID, model.ThingTypeStore, store.ID, "", "")
}
// 同步门店信息
UpdateOrCreateCourierStores(ctx, store.ID, false, false, false)
TryAddStoreBossRole4StoreByMobile(ctx, storeExt.ID, []string{storeExt.Tel1, storeExt.Tel2})
// InsertStoreCategories(ctx, db, store.ID)
@@ -1940,17 +1942,26 @@ func updateCourierStore(ctx *jxcontext.Context, storeDetail *dao.StoreDetail2) (
return err
}
// 更新门店信息
//VendorIDDada = 101 // 达达配送
//VendorIDMTPS = 102 // 美团配送
//VendorIDFengNiao = 103 // 蜂鸟配送
func updateCourierStores(ctx *jxcontext.Context, storeID int) (err error) {
globals.SugarLogger.Debugf("updateCourierStores storeID:%d", storeID)
db := dao.GetDB()
errList := errlist.New()
for k, v := range partner.DeliveryPlatformHandlers {
fmt.Println("k===================", k)
if v.Use4CreateWaybill {
if _, ok := v.Handler.(partner.IDeliveryUpdateStoreHandler); ok {
storeDetail, err2 := dao.GetStoreDetail2(db, storeID, "", k)
fmt.Println("storeDetail.VendorID===================", storeDetail.VendorID)
fmt.Println("storeDetail.AuditStatus===================", storeDetail.AuditStatus)
fmt.Println("storeDetail.VendorStoreID===================", storeDetail.VendorStoreID)
if err = err2; err2 == nil {
if storeDetail.VendorStoreID != "" && storeDetail.AuditStatus == model.StoreAuditStatusOnline {
// 同步更新门店信息
err = updateCourierStore(ctx, storeDetail)
if err == nil {
//美团配送修改门店信息后要待审核
@@ -1970,6 +1981,7 @@ func updateCourierStores(ctx *jxcontext.Context, storeID int) (err error) {
return errList.GetErrListAsOne()
}
// ====================================第三方店铺创建=============================
func updateOrCreateCourierStore(ctx *jxcontext.Context, storeDetail *dao.StoreDetail2) (isCreated bool, err error) {
globals.SugarLogger.Debugf("updateOrCreateCourierStore %s, storeID:%d, vendorStoreID:%s", model.VendorChineseNames[storeDetail.VendorID], storeDetail.ID, storeDetail.VendorStoreID)
@@ -1985,6 +1997,7 @@ func updateOrCreateCourierStore(ctx *jxcontext.Context, storeDetail *dao.StoreDe
remoteStoreDetail, err2 := handlerInfo.Handler.GetStore(ctx, 0, storeDetail.VendorStoreID)
if err = err2; err != nil {
if handlerInfo.Handler.IsErrStoreNotExist(err) {
// 本地门店同步第三方平台
storeDetail.VendorStoreID, storeDetail.AuditStatus, err = handlerInfo.Handler.CreateStore(ctx, storeDetail)
if err == nil {
isCreated = true
@@ -2029,6 +2042,7 @@ func UpdateOrCreateCourierStores(ctx *jxcontext.Context, storeID int, isForceUpd
}
}
// 定时任务更新或者创建时修改东西
task := tasksch.NewParallelTask("UpdateOrCreateCourierStores", tasksch.NewParallelConfig().SetIsContinueWhenError(isContinueWhenError), ctx,
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
var resultList []interface{}