From d68e35343b035f6c8ad1390084fbb5bb4e2b4545 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Thu, 23 Apr 2020 16:05:24 +0800 Subject: [PATCH] =?UTF-8?q?=E6=81=A2=E5=A4=8D=E5=95=86=E5=93=81=E5=BA=93?= =?UTF-8?q?=E4=BA=AC=E4=B8=9Cid?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/sku.go | 51 +++++++++++++++++++++++++++---------- 1 file changed, 38 insertions(+), 13 deletions(-) diff --git a/business/jxstore/cms/sku.go b/business/jxstore/cms/sku.go index e296e7069..263ea5b6f 100644 --- a/business/jxstore/cms/sku.go +++ b/business/jxstore/cms/sku.go @@ -2198,20 +2198,45 @@ func writeToExcel(excelTitle []string, dataList interface{}, ctx *jxcontext.Cont } func RefreshJdDepot(ctx *jxcontext.Context) (err error) { - var thingMaps []model.ThingMap - sql := ` - SELECT * FROM thing_map WHERE sync_status = 1 AND thing_type = ? AND vendor_id = ? AND vendor_org_code = ? AND deleted_at = ? ORDER BY thing_id DESC - ` - sqlParams := []interface{}{model.ThingTypeSku, model.VendorIDJD, "320406", utils.DefaultTimeValue} - err = dao.GetRows(dao.GetDB(), &thingMaps, sql, sqlParams) - if err != nil { - return err + var ( + page = 1 + pageSize = 20 + searchResults []*jdapi.SearchDeleteWareResult + db = dao.GetDB() + ) + for ; page < 367; page++ { + searchDeleteWareResults, err := api.JdAPI.SearchDeleteWare("2020-04-22", "2020-04-23", page, pageSize) + if err == nil && len(searchDeleteWareResults) > 0 { + searchResults = append(searchResults, searchDeleteWareResults...) + } } - if len(thingMaps) > 0 { - for _, v := range thingMaps { - time.Sleep(time.Second) - SyncSkus(ctx, nil, []int{0}, []string{"320406"}, nil, []int{int(v.ThingID)}, true) - // _, err = api.JdAPI.RefreshJdDepot(int(utils.Str2Int64(v.VendorThingID))) + for _, v := range searchResults { + param := &jdapi.OpSkuParam{ + TraceID: ctx.GetTrackInfo(), + OutSkuID: utils.Int2Str(v.SkuID), + FixedStatus: jdapi.SkuFixedStatusDeleted, + } + _, err = api.JdAPI.UpdateSku2(param) + if err != nil { + globals.SugarLogger.Debugf("RefreshJdDepot UpdateSku2", err.Error()) + continue + } + time.Sleep(time.Second) + _, err = api.JdAPI.RefreshJdDepot(v.JdID) + if err != nil { + globals.SugarLogger.Debugf("RefreshJdDepot RefreshJdDepot", err.Error()) + continue + } + sql := ` + UPDATE thing_map SET vendor_thing_id = ?, sync_status = ? + WHERE thing_type = ? AND vendor_id = ? AND vendor_org_code = ? AND deleted_at = ? AND thing_id = ? + ` + sqlParams := []interface{}{v.JdID, model.SyncFlagModifiedMask, model.ThingTypeSku, model.VendorIDJD, "320406", utils.DefaultTimeValue, v.SkuID} + dao.ExecuteSQL(db, sql, sqlParams) + _, err = SyncSkus(ctx, nil, []int{0}, []string{"320406"}, nil, []int{int(v.SkuID)}, true) + if err != nil { + globals.SugarLogger.Debugf("RefreshJdDepot SyncSkus", err.Error()) + continue } } return err