恢复商品库京东id

This commit is contained in:
苏尹岚
2020-04-23 16:05:24 +08:00
parent a5bc255326
commit d68e35343b

View File

@@ -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