This commit is contained in:
苏尹岚
2021-03-02 10:55:36 +08:00
12 changed files with 123 additions and 44 deletions

View File

@@ -2969,8 +2969,13 @@ func LoadStoreVendorCategories(ctx *jxcontext.Context, vendorOrgCode string, ven
return err
}
dao.Commit(db)
catList, _ := dao.GetSkuCategoryWithVendor(db, []int{vendorID}, []string{vendorOrgCode}, -1, nil, false)
for _, v := range storeCats {
OnUpdateThing(ctx, db, vendorOrgCodes, int64(v.CategoryID), model.ThingTypeCategory)
if len(catList) > 0 {
OnUpdateThing(ctx, db, vendorOrgCodes, int64(v.CategoryID), model.ThingTypeCategory)
} else {
OnCreateThing(ctx, db, vendorOrgCodes, int64(v.CategoryID), model.ThingTypeCategory, model.SyncFlagNewMask, true)
}
}
return err
}

View File

@@ -18,8 +18,10 @@ import (
"git.rosy.net.cn/jx-callback/business/authz"
"git.rosy.net.cn/baseapi/platformapi/mtwmapi"
"git.rosy.net.cn/baseapi/platformapi/yinbaoapi"
"git.rosy.net.cn/jx-callback/globals/api/apimanager"
"git.rosy.net.cn/jx-callback/globals/refutil"
"github.com/360EntSecGroup-Skylar/excelize"
@@ -1190,15 +1192,24 @@ func AddStoreVendorMap(ctx *jxcontext.Context, db *dao.DaoDB, vendorID int, vend
return nil, fmt.Errorf("必须指定平台分账号信息")
}
if handler := CurVendorSync.GetStoreHandler(vendorID); handler != nil {
store, err2 := handler.ReadStore(ctx, vendorOrgCode, storeMap.VendorStoreID)
if err = err2; err == nil || storeMap.IsSync == 0 {
if store != nil {
storeMap.DeliveryType = store.DeliveryType
storeMap.Status = store.Status
if vendorOrgCode != globals.Mtwm2Code {
store, err2 := handler.ReadStore(ctx, vendorOrgCode, storeMap.VendorStoreID)
if err = err2; err == nil || storeMap.IsSync == 0 {
if store != nil {
storeMap.DeliveryType = store.DeliveryType
storeMap.Status = store.Status
}
err = nil
}
} else {
//美团商超获取token
mtapi := apimanager.CurAPIManager.GetAPI(model.VendorIDMTWM, outStoreMap.VendorOrgCode).(*mtwmapi.API)
if token, err := mtapi.GetAccessToken2(outStoreMap.VendorStoreID); err == nil && token != nil {
storeMap.MtwmToken = token.AccessToken
storeMap.MtwmToken = token.RefreshToken
}
err = nil
storeMap.SyncStatus = model.SyncFlagModifiedMask | model.SyncFlagStoreName | model.SyncFlagStoreAddress // 新增绑定门店是修改的概念
}
storeMap.SyncStatus = model.SyncFlagModifiedMask | model.SyncFlagStoreName | model.SyncFlagStoreAddress // 新增绑定门店是修改的概念
} else {
err = ErrCanNotFindVendor
}
@@ -1258,7 +1269,6 @@ func AddStoreVendorMap(ctx *jxcontext.Context, db *dao.DaoDB, vendorID int, vend
}
dao.Commit(db)
outStoreMap = storeMap
_, err = CurVendorSync.SyncStore(ctx, db, storeMap.VendorID, storeID, false, userName)
} else {
dao.Rollback(db)
}
@@ -1273,21 +1283,11 @@ func AddStoreVendorMap(ctx *jxcontext.Context, db *dao.DaoDB, vendorID int, vend
if _, err = SetStoreSkuSyncStatus2(db, []int{storeID}, []int{model.VendorIDJDShop}, findSkusBetweenJdsMainStore(db, storeID), model.SyncFlagSaleMask); err == nil {
// CurVendorSync.SyncStoresSkus(ctx, nil, 0, db, nil, []int{storeID}, nil, false, true, true)
}
} else if vendorID == model.VendorIDMTWM {
//如果是绑的美团超市要去更新token
if outStoreMap.VendorOrgCode == globals.Mtwm2Code {
// mtapi := apimanager.CurAPIManager.GetAPI(model.VendorIDMTWM, outStoreMap.VendorOrgCode).(*mtwmapi.API)
// if result, err := mtapi.GetOAuthCode(outStoreMap.VendorStoreID); result != nil && err == nil {
// if token, err := mtapi.GetAccessToken(result.(string)); err == nil && token != nil {
// outStoreMap.MtwmToken = token.(string)
// dao.UpdateEntity(db, outStoreMap, "MtwmToken")
// }
// }
}
}
if globals.IsAddEvent {
err = AddEventDetail(db, ctx, model.OperateAdd, vendorID, model.ThingTypeStore, storeID, "", `{"VendorID":`+utils.Int2Str(vendorID)+`}`)
}
_, err = CurVendorSync.SyncStore(ctx, db, storeMap.VendorID, storeID, false, userName)
_, err = CurVendorSync.FullSyncStoresSkus(ctx, db, []int{vendorID}, []int{storeID}, true, nil, true, true)
return outStoreMap, err
}
@@ -3999,14 +3999,23 @@ func GetBrandStore(ctx *jxcontext.Context, name string) (brands []*model.BrandSt
}
func RefreshMTWMToken(ctx *jxcontext.Context) (err error) {
// var (
// db = dao.GetDB()
// )
// if time.Now().Weekday() != time.Sunday {
// return
// }
// //token是1个月过期刷一次吧
// dao.GetStoresMapList(db, []int{model.VendorIDMTWM}, nil, nil, status, isSync, "", "", globals.Mtwm2Code)
var (
db = dao.GetDB()
)
if time.Now().YearDay()%20 != 0 {
return
}
//token是1个月过期20天刷一次吧
storeMaps, _ := dao.GetStoresMapList(db, []int{model.VendorIDMTWM}, nil, nil, model.StoreStatusAll, model.StoreIsSyncAll, "", "", globals.Mtwm2Code)
for _, v := range storeMaps {
if v.MtwmRefreshToken != "" {
if result, err := api.Mtwm2API.RefreshAccessToken(v.MtwmRefreshToken); err == nil {
v.MtwmToken = result.AccessToken
v.MtwmRefreshToken = result.RefreshToken
dao.UpdateEntity(db, v, "MtwmToken", "MtwmRefreshToken")
}
}
}
return err
}