From ac291b287cd9cf3fd4fa1e2595e8a8308f87d6a7 Mon Sep 17 00:00:00 2001 From: gazebo Date: Thu, 24 Jan 2019 17:58:00 +0800 Subject: [PATCH] - refactor temp op --- business/jxstore/cms/sku.go | 13 +- business/jxstore/initdata/initdata.go | 252 ----------------- .../{initdata/temp_op.go => tempop/tempop.go} | 253 +++++++++++++++++- controllers/init_data.go | 36 --- controllers/temp_op.go | 46 +++- 5 files changed, 304 insertions(+), 296 deletions(-) rename business/jxstore/{initdata/temp_op.go => tempop/tempop.go} (58%) diff --git a/business/jxstore/cms/sku.go b/business/jxstore/cms/sku.go index 0420a8b4c..f682f955e 100644 --- a/business/jxstore/cms/sku.go +++ b/business/jxstore/cms/sku.go @@ -6,6 +6,7 @@ import ( "strings" "git.rosy.net.cn/baseapi/utils" + "git.rosy.net.cn/jx-callback/business/jxstore/initdata" "git.rosy.net.cn/jx-callback/business/jxutils" "git.rosy.net.cn/jx-callback/business/jxutils/jxcontext" "git.rosy.net.cn/jx-callback/business/model" @@ -470,18 +471,25 @@ func AddSkuName(ctx *jxcontext.Context, skuNameExt *model.SkuNameExt, userName s } outSkuNameExt = tmpInfo.SkuNames[0] _, err = CurVendorSync.SyncSku(ctx, db, outSkuNameExt.SkuName.ID, -1, false, false, userName) + initdata.UploadWeimobImg4SkuName(ctx, []int{skuNameExt.SkuName.ID}, true, true) return outSkuNameExt, err } func UpdateSkuName(ctx *jxcontext.Context, nameID int, payload map[string]interface{}, userName string) (num int64, err error) { skuName := &model.SkuName{} skuName.ID = nameID - valid := dao.NormalMakeMapByStructObject(payload, skuName, userName) + db := dao.GetDB() + if err = dao.GetEntity(db, skuName); err != nil { + return 0, err + } + valid := dao.StrictMakeMapByStructObject(payload, skuName, userName) valid = utils.RemoveGeneralMapKeys(valid, model.FieldSpecQuality, model.FieldSpecUnit) if len(valid) > 0 { - db := dao.GetDB() dao.Begin(db) defer dao.Rollback(db) + if valid["img"] != "" { + valid["imgWeimob"] = "" + } if num, err = dao.UpdateEntityLogicallyAndUpdateSyncStatus(db, skuName, valid, userName, nil, model.FieldJdSyncStatus); err == nil && num == 1 { if utils.Interface2Int64WithDefault(payload["isGlobal"], 0) == 0 && payload["places"] != nil { if places, ok := payload["places"].([]interface{}); ok { @@ -508,6 +516,7 @@ func UpdateSkuName(ctx *jxcontext.Context, nameID int, payload map[string]interf if err == nil { dao.Commit(db) _, err = CurVendorSync.SyncSku(ctx, db, nameID, -1, false, false, userName) + initdata.UploadWeimobImg4SkuName(ctx, []int{nameID}, true, true) } } } diff --git a/business/jxstore/initdata/initdata.go b/business/jxstore/initdata/initdata.go index d2b897ace..4ba476794 100644 --- a/business/jxstore/initdata/initdata.go +++ b/business/jxstore/initdata/initdata.go @@ -8,15 +8,12 @@ import ( "git.rosy.net.cn/baseapi/platformapi/autonavi" "git.rosy.net.cn/baseapi/utils" - "git.rosy.net.cn/jx-callback/business/jxstore/cms" - "git.rosy.net.cn/jx-callback/business/jxutils" "git.rosy.net.cn/jx-callback/business/jxutils/jxcontext" "git.rosy.net.cn/jx-callback/business/jxutils/tasksch" "git.rosy.net.cn/jx-callback/business/model" "git.rosy.net.cn/jx-callback/business/model/dao" "git.rosy.net.cn/jx-callback/business/partner" "git.rosy.net.cn/jx-callback/business/partner/purchase/mtwm" - "git.rosy.net.cn/jx-callback/globals" "git.rosy.net.cn/jx-callback/globals/api" ) @@ -196,255 +193,6 @@ func InitVendorCategory(ctx *jxcontext.Context, vendorID int) (num int64, err er return num, err } -func Convert2JDSPU(ctx *jxcontext.Context, count int, isAsync, isContinueWhenError bool) (hint string, err error) { - sql := ` - SELECT t1.* - FROM sku_name t1 - LEFT JOIN sku_name t2 ON t2.link_id = t1.id AND t2.deleted_at = ? - WHERE t1.deleted_at = ? AND t1.status <> ? AND t1.is_spu = 0/* AND t1.unit = '份'*/ - AND t2.id IS NULL - ORDER BY t1.id - ` - if count > 0 { - sql += " LIMIT " + utils.Int2Str(count) - } - sqlParams := []interface{}{ - utils.DefaultTimeValue, - utils.DefaultTimeValue, - model.SkuStatusDeleted, - } - - db := dao.GetDB() - var skuNameList []*model.SkuName - if err = dao.GetRows(db, &skuNameList, sql, sqlParams...); err != nil { - return "", err - } - for _, skuName := range skuNameList { - sql = ` - SELECT * - FROM sku - WHERE name_id = ? AND deleted_at = ? AND status = ?; - ` - sqlParams := []interface{}{ - skuName.ID, - utils.DefaultTimeValue, - model.SkuStatusNormal, - } - var skuList []*model.Sku - if err = dao.GetRows(db, &skuList, sql, sqlParams...); err != nil { - return "", err - } - - sql = ` - SELECT t1.* - FROM sku_name_place_bind t1 - WHERE t1.name_id = ? - ` - sqlParams = []interface{}{ - skuName.ID, - } - var skuNamePlaceBindList []*model.SkuNamePlaceBind - if err = dao.GetRows(db, &skuNamePlaceBindList, sql, sqlParams...); err != nil { - return "", err - } - - globals.SugarLogger.Debugf("Convert2JDSPU, skuName:%s, skuCount:%d", skuName.Name, len(skuList)) - dao.Begin(db) - skuNameNew2 := *skuName - skuNameNew := &skuNameNew2 - dao.WrapAddIDCULEntity(skuNameNew, ctx.GetUserName()) - skuNameNew.JdID = 0 - skuNameNew.LinkID = skuName.ID - skuNameNew.IsSpu = 1 - skuNameNew.JdSyncStatus = model.SyncFlagNewMask - // skuNameNew.Status = model.SkuStatusDontSale - if err = dao.CreateEntity(db, skuNameNew); err != nil { - dao.Rollback(db) - return "", err - } - if len(skuList) > 0 { - for _, sku := range skuList { - skuNew2 := *sku - skuNew := &skuNew2 - dao.WrapAddIDCULEntity(skuNew, ctx.GetUserName()) - skuNew.JdID = jxutils.GenFakeID() - skuNew.LinkID = sku.ID - skuNew.NameID = skuNameNew.ID - skuNew.JdSyncStatus = model.SyncFlagNewMask - if skuNameNew.Status == model.SkuStatusDontSale { - skuNew.Status = model.SkuStatusDontSale - } - globals.SugarLogger.Debugf("Convert2JDSPU, sku:%s", utils.Format4Output(skuNew, false)) - if err = dao.CreateEntity(db, skuNew); err != nil { - dao.Rollback(db) - return "", err - } - } - for _, placeBind := range skuNamePlaceBindList { - dao.WrapAddIDCULEntity(placeBind, ctx.GetUserName()) - placeBind.NameID = skuNameNew.ID - globals.SugarLogger.Debugf("Convert2JDSPU, placeBind:%s", utils.Format4Output(placeBind, false)) - if err = dao.CreateEntity(db, placeBind); err != nil { - dao.Rollback(db) - return "", err - } - } - } - dao.Commit(db) - } - sql = ` - SELECT DISTINCT t1.* - FROM sku_name t1 - JOIN sku t2 ON t1.id = t2.name_id AND t2.jd_sync_status <> 0 AND t2.deleted_at = ? - WHERE t1.link_id > 0; - ` - skuNameList = []*model.SkuName{} - if err = dao.GetRows(db, &skuNameList, sql, utils.DefaultTimeValue); err != nil { - return "", err - } - rootTask := tasksch.NewParallelTask("Convert2JDSPU", tasksch.NewParallelConfig().SetIsContinueWhenError(isContinueWhenError), ctx.GetUserName(), func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { - skuName := batchItemList[0].(*model.SkuName) - _, err = cms.CurVendorSync.SyncSku(ctx, db, skuName.ID, -1, false, isContinueWhenError, ctx.GetUserName()) - return nil, err - }, skuNameList) - tasksch.ManageTask(rootTask).Run() - - if !isAsync { - _, err = rootTask.GetResult(0) - } else { - hint = rootTask.ID - } - return hint, err -} - -func Change2JDSPU4Store(ctx *jxcontext.Context, storeIDs []int, step int, isAsync, isContinueWhenError bool) (hint string, err error) { - db := dao.GetDB() - if len(storeIDs) == 0 { - if err = dao.GetRows(db, &storeIDs, ` - SELECT t1.id - FROM store t1 - JOIN store_map t2 ON t2.store_id = t1.id AND t2.vendor_id = 0 AND t2.deleted_at = ? AND t2.status <> ? - WHERE t1.deleted_at = ? AND t1.status <> ? /* AND t1.city_code IN (110100, 120100, 440100, 440300, 510100)*/ - `, utils.DefaultTimeValue, model.StoreStatusDisabled, utils.DefaultTimeValue, model.StoreStatusDisabled); err != nil { - return "", err - } - } - var sql string - var sqlParams []interface{} - - dao.Begin(db) - defer dao.Rollback(db) - - if step == 1 { - sql = ` - DELETE t1 - FROM store_sku_bind t1 - JOIN sku t2 ON t2.id = t1.sku_id AND t2.link_id > 0 - WHERE 1 = 1 - ` - sqlParams = []interface{}{} - if len(storeIDs) > 0 { - sql += " AND store_id IN (" + dao.GenQuestionMarks(len(storeIDs)) + ")" - sqlParams = append(sqlParams, storeIDs) - } - if _, err = dao.ExecuteSQL(db, sql, sqlParams...); err != nil { - return "", err - } - - sql = ` - INSERT INTO store_sku_bind(created_at, updated_at, last_operator, deleted_at, store_id, sku_id, price, unit_price, status, ebai_id, mtwm_id, jd_sync_status, ebai_sync_status, mtwm_sync_status) - SELECT NOW(), NOW(), ?, ?, t1.store_id, t2.id, t1.price, t1.unit_price, t1.status , 0, 0, ?, ?, ? - FROM store_sku_bind t1 - JOIN sku t2 ON t2.link_id = t1.sku_id AND t2.deleted_at = ? - JOIN store t3 ON t3.id = t1.store_id - JOIN sku_name t4 ON t4.id = t2.name_id - LEFT JOIN sku_name_place_bind t5 ON t5.place_code = t3.city_code AND t5.name_id = t4.id - WHERE t1.deleted_at = ? AND (t4.is_global = 1 OR t5.id IS NOT NULL) AND t1.price > 0 - ` - sqlParams = []interface{}{ - ctx.GetUserName(), - utils.DefaultTimeValue, - // model.SkuStatusDontSale, - model.SyncFlagNewMask, - 0, //model.SyncFlagNewMask, - 0, //model.SyncFlagNewMask, - utils.DefaultTimeValue, - utils.DefaultTimeValue, - } - } else if step == 2 { - sql = ` - SELECT COUNT(*) ct - FROM store_sku_bind t1 - JOIN sku t2 ON t2.id = t1.sku_id AND t2.link_id > 0 - WHERE 1 = 1 - ` - sqlParams = []interface{}{} - if len(storeIDs) > 0 { - sql += " AND store_id IN (" + dao.GenQuestionMarks(len(storeIDs)) + ")" - sqlParams = append(sqlParams, storeIDs) - } - ct := 0 - if err = dao.GetRow(db, &ct, sql, sqlParams...); err != nil { - return "", err - } - if ct == 0 { - return "", fmt.Errorf("%s看起来还没有执行《将转化的SPU在门店上架》", utils.Format4Output(storeIDs, true)) - } - - sql = ` - UPDATE store_sku_bind t1 - JOIN sku t2 ON t2.link_id = t1.sku_id - SET t1.status = 0, - t1.jd_sync_status = ? - WHERE t1.deleted_at = ? - ` - sqlParams = []interface{}{ - model.SyncFlagSaleMask | model.SyncFlagModifiedMask, - utils.DefaultTimeValue, - } - } else { - return "", fmt.Errorf("非法的step") - } - if len(storeIDs) > 0 { - sql += " AND t1.store_id IN (" + dao.GenQuestionMarks(len(storeIDs)) + ")" - sqlParams = append(sqlParams, storeIDs) - } - globals.SugarLogger.Debug(sql) - globals.SugarLogger.Debug(utils.Format4Output(sqlParams, false)) - var num int64 - if num, err = dao.ExecuteSQL(db, sql, sqlParams...); err != nil { - return "", err - } - globals.SugarLogger.Debug(num) - dao.Commit(db) - - var skuIDs []int - if step == 1 { - sql = ` - SELECT id - FROM sku t1 - WHERE t1.link_id > 0 AND t1.deleted_at = ? - ` - sqlParams = []interface{}{ - utils.DefaultTimeValue, - } - } else if step == 2 { - sql = ` - SELECT t1.link_id - FROM sku t1 - WHERE t1.link_id > 0 AND t1.deleted_at = ? - ` - sqlParams = []interface{}{ - utils.DefaultTimeValue, - } - } - if err = dao.GetRows(db, &skuIDs, sql, sqlParams...); err != nil { - return "", err - } - hint, err = cms.CurVendorSync.SyncStoresSkus(ctx, db, []int{model.VendorIDJD}, storeIDs, skuIDs, isAsync, isContinueWhenError) - return hint, err -} - func UploadWeimobImg4SkuName(ctx *jxcontext.Context, nameIDs []int, isAsync, isContinueWhenError bool) (hint string, err error) { db := dao.GetDB() skuNameList, err := dao.GetSkuNames(db, nameIDs) diff --git a/business/jxstore/initdata/temp_op.go b/business/jxstore/tempop/tempop.go similarity index 58% rename from business/jxstore/initdata/temp_op.go rename to business/jxstore/tempop/tempop.go index 8656055d8..277a63e99 100644 --- a/business/jxstore/initdata/temp_op.go +++ b/business/jxstore/tempop/tempop.go @@ -1,6 +1,7 @@ -package initdata +package tempop import ( + "fmt" "math" "runtime" "time" @@ -8,6 +9,7 @@ import ( "git.rosy.net.cn/baseapi/platformapi/jdapi" "git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/jx-callback/business/jxstore/cms" + "git.rosy.net.cn/jx-callback/business/jxutils" "git.rosy.net.cn/jx-callback/business/jxutils/jxcontext" "git.rosy.net.cn/jx-callback/business/jxutils/tasksch" "git.rosy.net.cn/jx-callback/business/model" @@ -17,6 +19,255 @@ import ( "git.rosy.net.cn/jx-callback/globals/api" ) +func Convert2JDSPU(ctx *jxcontext.Context, count int, isAsync, isContinueWhenError bool) (hint string, err error) { + sql := ` + SELECT t1.* + FROM sku_name t1 + LEFT JOIN sku_name t2 ON t2.link_id = t1.id AND t2.deleted_at = ? + WHERE t1.deleted_at = ? AND t1.status <> ? AND t1.is_spu = 0/* AND t1.unit = '份'*/ + AND t2.id IS NULL + ORDER BY t1.id + ` + if count > 0 { + sql += " LIMIT " + utils.Int2Str(count) + } + sqlParams := []interface{}{ + utils.DefaultTimeValue, + utils.DefaultTimeValue, + model.SkuStatusDeleted, + } + + db := dao.GetDB() + var skuNameList []*model.SkuName + if err = dao.GetRows(db, &skuNameList, sql, sqlParams...); err != nil { + return "", err + } + for _, skuName := range skuNameList { + sql = ` + SELECT * + FROM sku + WHERE name_id = ? AND deleted_at = ? AND status = ?; + ` + sqlParams := []interface{}{ + skuName.ID, + utils.DefaultTimeValue, + model.SkuStatusNormal, + } + var skuList []*model.Sku + if err = dao.GetRows(db, &skuList, sql, sqlParams...); err != nil { + return "", err + } + + sql = ` + SELECT t1.* + FROM sku_name_place_bind t1 + WHERE t1.name_id = ? + ` + sqlParams = []interface{}{ + skuName.ID, + } + var skuNamePlaceBindList []*model.SkuNamePlaceBind + if err = dao.GetRows(db, &skuNamePlaceBindList, sql, sqlParams...); err != nil { + return "", err + } + + globals.SugarLogger.Debugf("Convert2JDSPU, skuName:%s, skuCount:%d", skuName.Name, len(skuList)) + dao.Begin(db) + skuNameNew2 := *skuName + skuNameNew := &skuNameNew2 + dao.WrapAddIDCULEntity(skuNameNew, ctx.GetUserName()) + skuNameNew.JdID = 0 + skuNameNew.LinkID = skuName.ID + skuNameNew.IsSpu = 1 + skuNameNew.JdSyncStatus = model.SyncFlagNewMask + // skuNameNew.Status = model.SkuStatusDontSale + if err = dao.CreateEntity(db, skuNameNew); err != nil { + dao.Rollback(db) + return "", err + } + if len(skuList) > 0 { + for _, sku := range skuList { + skuNew2 := *sku + skuNew := &skuNew2 + dao.WrapAddIDCULEntity(skuNew, ctx.GetUserName()) + skuNew.JdID = jxutils.GenFakeID() + skuNew.LinkID = sku.ID + skuNew.NameID = skuNameNew.ID + skuNew.JdSyncStatus = model.SyncFlagNewMask + if skuNameNew.Status == model.SkuStatusDontSale { + skuNew.Status = model.SkuStatusDontSale + } + globals.SugarLogger.Debugf("Convert2JDSPU, sku:%s", utils.Format4Output(skuNew, false)) + if err = dao.CreateEntity(db, skuNew); err != nil { + dao.Rollback(db) + return "", err + } + } + for _, placeBind := range skuNamePlaceBindList { + dao.WrapAddIDCULEntity(placeBind, ctx.GetUserName()) + placeBind.NameID = skuNameNew.ID + globals.SugarLogger.Debugf("Convert2JDSPU, placeBind:%s", utils.Format4Output(placeBind, false)) + if err = dao.CreateEntity(db, placeBind); err != nil { + dao.Rollback(db) + return "", err + } + } + } + dao.Commit(db) + } + sql = ` + SELECT DISTINCT t1.* + FROM sku_name t1 + JOIN sku t2 ON t1.id = t2.name_id AND t2.jd_sync_status <> 0 AND t2.deleted_at = ? + WHERE t1.link_id > 0; + ` + skuNameList = []*model.SkuName{} + if err = dao.GetRows(db, &skuNameList, sql, utils.DefaultTimeValue); err != nil { + return "", err + } + rootTask := tasksch.NewParallelTask("Convert2JDSPU", tasksch.NewParallelConfig().SetIsContinueWhenError(isContinueWhenError), ctx.GetUserName(), func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { + skuName := batchItemList[0].(*model.SkuName) + _, err = cms.CurVendorSync.SyncSku(ctx, db, skuName.ID, -1, false, isContinueWhenError, ctx.GetUserName()) + return nil, err + }, skuNameList) + tasksch.ManageTask(rootTask).Run() + + if !isAsync { + _, err = rootTask.GetResult(0) + } else { + hint = rootTask.ID + } + return hint, err +} + +func Change2JDSPU4Store(ctx *jxcontext.Context, storeIDs []int, step int, isAsync, isContinueWhenError bool) (hint string, err error) { + db := dao.GetDB() + if len(storeIDs) == 0 { + if err = dao.GetRows(db, &storeIDs, ` + SELECT t1.id + FROM store t1 + JOIN store_map t2 ON t2.store_id = t1.id AND t2.vendor_id = 0 AND t2.deleted_at = ? AND t2.status <> ? + WHERE t1.deleted_at = ? AND t1.status <> ? /* AND t1.city_code IN (110100, 120100, 440100, 440300, 510100)*/ + `, utils.DefaultTimeValue, model.StoreStatusDisabled, utils.DefaultTimeValue, model.StoreStatusDisabled); err != nil { + return "", err + } + } + var sql string + var sqlParams []interface{} + + dao.Begin(db) + defer dao.Rollback(db) + + if step == 1 { + sql = ` + DELETE t1 + FROM store_sku_bind t1 + JOIN sku t2 ON t2.id = t1.sku_id AND t2.link_id > 0 + WHERE 1 = 1 + ` + sqlParams = []interface{}{} + if len(storeIDs) > 0 { + sql += " AND store_id IN (" + dao.GenQuestionMarks(len(storeIDs)) + ")" + sqlParams = append(sqlParams, storeIDs) + } + if _, err = dao.ExecuteSQL(db, sql, sqlParams...); err != nil { + return "", err + } + + sql = ` + INSERT INTO store_sku_bind(created_at, updated_at, last_operator, deleted_at, store_id, sku_id, price, unit_price, status, ebai_id, mtwm_id, jd_sync_status, ebai_sync_status, mtwm_sync_status) + SELECT NOW(), NOW(), ?, ?, t1.store_id, t2.id, t1.price, t1.unit_price, t1.status , 0, 0, ?, ?, ? + FROM store_sku_bind t1 + JOIN sku t2 ON t2.link_id = t1.sku_id AND t2.deleted_at = ? + JOIN store t3 ON t3.id = t1.store_id + JOIN sku_name t4 ON t4.id = t2.name_id + LEFT JOIN sku_name_place_bind t5 ON t5.place_code = t3.city_code AND t5.name_id = t4.id + WHERE t1.deleted_at = ? AND (t4.is_global = 1 OR t5.id IS NOT NULL) AND t1.price > 0 + ` + sqlParams = []interface{}{ + ctx.GetUserName(), + utils.DefaultTimeValue, + // model.SkuStatusDontSale, + model.SyncFlagNewMask, + 0, //model.SyncFlagNewMask, + 0, //model.SyncFlagNewMask, + utils.DefaultTimeValue, + utils.DefaultTimeValue, + } + } else if step == 2 { + sql = ` + SELECT COUNT(*) ct + FROM store_sku_bind t1 + JOIN sku t2 ON t2.id = t1.sku_id AND t2.link_id > 0 + WHERE 1 = 1 + ` + sqlParams = []interface{}{} + if len(storeIDs) > 0 { + sql += " AND store_id IN (" + dao.GenQuestionMarks(len(storeIDs)) + ")" + sqlParams = append(sqlParams, storeIDs) + } + ct := 0 + if err = dao.GetRow(db, &ct, sql, sqlParams...); err != nil { + return "", err + } + if ct == 0 { + return "", fmt.Errorf("%s看起来还没有执行《将转化的SPU在门店上架》", utils.Format4Output(storeIDs, true)) + } + + sql = ` + UPDATE store_sku_bind t1 + JOIN sku t2 ON t2.link_id = t1.sku_id + SET t1.status = 0, + t1.jd_sync_status = ? + WHERE t1.deleted_at = ? + ` + sqlParams = []interface{}{ + model.SyncFlagSaleMask | model.SyncFlagModifiedMask, + utils.DefaultTimeValue, + } + } else { + return "", fmt.Errorf("非法的step") + } + if len(storeIDs) > 0 { + sql += " AND t1.store_id IN (" + dao.GenQuestionMarks(len(storeIDs)) + ")" + sqlParams = append(sqlParams, storeIDs) + } + globals.SugarLogger.Debug(sql) + globals.SugarLogger.Debug(utils.Format4Output(sqlParams, false)) + var num int64 + if num, err = dao.ExecuteSQL(db, sql, sqlParams...); err != nil { + return "", err + } + globals.SugarLogger.Debug(num) + dao.Commit(db) + + var skuIDs []int + if step == 1 { + sql = ` + SELECT id + FROM sku t1 + WHERE t1.link_id > 0 AND t1.deleted_at = ? + ` + sqlParams = []interface{}{ + utils.DefaultTimeValue, + } + } else if step == 2 { + sql = ` + SELECT t1.link_id + FROM sku t1 + WHERE t1.link_id > 0 AND t1.deleted_at = ? + ` + sqlParams = []interface{}{ + utils.DefaultTimeValue, + } + } + if err = dao.GetRows(db, &skuIDs, sql, sqlParams...); err != nil { + return "", err + } + hint, err = cms.CurVendorSync.SyncStoresSkus(ctx, db, []int{model.VendorIDJD}, storeIDs, skuIDs, isAsync, isContinueWhenError) + return hint, err +} + func TransferLegacyJdOrder(ctx *jxcontext.Context, isAsync, isContinueWhenError bool) (hint string, err error) { sqlBatchCount := 1000 rootTask := tasksch.NewSeqTask("TransferLegacyJdOrder", ctx.GetUserName(), func(rootTask *tasksch.SeqTask, step int, params ...interface{}) (result interface{}, err error) { diff --git a/controllers/init_data.go b/controllers/init_data.go index 2415be80a..cbafc3c11 100644 --- a/controllers/init_data.go +++ b/controllers/init_data.go @@ -53,42 +53,6 @@ func (c *InitDataController) InitVendorCategory() { }) } -// @Title 将为份的商品在京东转成SPU -// @Description 将为份的商品在京东转成SPU -// @Param token header string true "认证token" -// @Param count formData int false "转换的数量,缺省0表示全部" -// @Param isAsync formData bool false "是否异步操作" -// @Param isContinueWhenError formData bool false "单个同步失败是否继续,缺省false" -// @Success 200 {object} controllers.CallResult -// @Failure 200 {object} controllers.CallResult -// @router /Convert2JDSPU [post] -func (c *InitDataController) Convert2JDSPU() { - c.callConvert2JDSPU(func(params *tInitdataConvert2JDSPUParams) (retVal interface{}, errCode string, err error) { - retVal, err = initdata.Convert2JDSPU(params.Ctx, params.Count, params.IsAsync, params.IsContinueWhenError) - return retVal, "", err - }) -} - -// @Title 将京东商店为份的SPU转换 -// @Description 将京东商店为份的SPU转换 -// @Param token header string true "认证token" -// @Param step formData int true "门店列表" -// @Param storeIDs formData string false "门店列表" -// @Param isAsync formData bool false "是否异步操作" -// @Param isContinueWhenError formData bool false "单个同步失败是否继续,缺省false" -// @Success 200 {object} controllers.CallResult -// @Failure 200 {object} controllers.CallResult -// @router /Change2JDSPU4Store [post] -func (c *InitDataController) Change2JDSPU4Store() { - c.callChange2JDSPU4Store(func(params *tInitdataChange2JDSPU4StoreParams) (retVal interface{}, errCode string, err error) { - var storeIDs []int - if err = jxutils.Strings2Objs(params.StoreIDs, &storeIDs); err == nil { - retVal, err = initdata.Change2JDSPU4Store(params.Ctx, storeIDs, params.Step, params.IsAsync, params.IsContinueWhenError) - } - return retVal, "", err - }) -} - // @Title 将SkuName的图片上传到微盟 // @Description 将SkuName的图片上传到微盟 // @Param token header string true "认证token" diff --git a/controllers/temp_op.go b/controllers/temp_op.go index 54be584ff..836c5acec 100644 --- a/controllers/temp_op.go +++ b/controllers/temp_op.go @@ -1,10 +1,46 @@ package controllers import ( - "git.rosy.net.cn/jx-callback/business/jxstore/initdata" + "git.rosy.net.cn/jx-callback/business/jxstore/tempop" "git.rosy.net.cn/jx-callback/business/jxutils" ) +// @Title 将为份的商品在京东转成SPU +// @Description 将为份的商品在京东转成SPU +// @Param token header string true "认证token" +// @Param count formData int false "转换的数量,缺省0表示全部" +// @Param isAsync formData bool false "是否异步操作" +// @Param isContinueWhenError formData bool false "单个同步失败是否继续,缺省false" +// @Success 200 {object} controllers.CallResult +// @Failure 200 {object} controllers.CallResult +// @router /Convert2JDSPU [post] +func (c *InitDataController) Convert2JDSPU() { + c.callConvert2JDSPU(func(params *tInitdataConvert2JDSPUParams) (retVal interface{}, errCode string, err error) { + retVal, err = tempop.Convert2JDSPU(params.Ctx, params.Count, params.IsAsync, params.IsContinueWhenError) + return retVal, "", err + }) +} + +// @Title 将京东商店为份的SPU转换 +// @Description 将京东商店为份的SPU转换 +// @Param token header string true "认证token" +// @Param step formData int true "门店列表" +// @Param storeIDs formData string false "门店列表" +// @Param isAsync formData bool false "是否异步操作" +// @Param isContinueWhenError formData bool false "单个同步失败是否继续,缺省false" +// @Success 200 {object} controllers.CallResult +// @Failure 200 {object} controllers.CallResult +// @router /Change2JDSPU4Store [post] +func (c *InitDataController) Change2JDSPU4Store() { + c.callChange2JDSPU4Store(func(params *tInitdataChange2JDSPU4StoreParams) (retVal interface{}, errCode string, err error) { + var storeIDs []int + if err = jxutils.Strings2Objs(params.StoreIDs, &storeIDs); err == nil { + retVal, err = tempop.Change2JDSPU4Store(params.Ctx, storeIDs, params.Step, params.IsAsync, params.IsContinueWhenError) + } + return retVal, "", err + }) +} + // @Title 将遗留JD订单合并 // @Description 将遗留JD订单合并 // @Param token header string true "认证token" @@ -15,7 +51,7 @@ import ( // @router /TransferLegacyJdOrder [post] func (c *InitDataController) TransferLegacyJdOrder() { c.callTransferLegacyJdOrder(func(params *tInitdataTransferLegacyJdOrderParams) (retVal interface{}, errCode string, err error) { - retVal, err = initdata.TransferLegacyJdOrder(params.Ctx, params.IsAsync, params.IsContinueWhenError) + retVal, err = tempop.TransferLegacyJdOrder(params.Ctx, params.IsAsync, params.IsContinueWhenError) return retVal, "", err }) } @@ -30,7 +66,7 @@ func (c *InitDataController) TransferLegacyJdOrder() { // @router /TransferLegacyElmOrder [post] func (c *InitDataController) TransferLegacyElmOrder() { c.callTransferLegacyElmOrder(func(params *tInitdataTransferLegacyElmOrderParams) (retVal interface{}, errCode string, err error) { - retVal, err = initdata.TransferLegacyElmOrder(params.Ctx, params.IsAsync, params.IsContinueWhenError) + retVal, err = tempop.TransferLegacyElmOrder(params.Ctx, params.IsAsync, params.IsContinueWhenError) return retVal, "", err }) } @@ -51,7 +87,7 @@ func (c *InitDataController) PullJdOrder() { if err != nil { return retVal, "", err } - retVal, err = initdata.PullJdOrder(params.Ctx, timeList[0], timeList[1], params.IsAsync, params.IsContinueWhenError) + retVal, err = tempop.PullJdOrder(params.Ctx, timeList[0], timeList[1], params.IsAsync, params.IsContinueWhenError) return retVal, "", err }) } @@ -66,7 +102,7 @@ func (c *InitDataController) PullJdOrder() { // @router /DeleteWrongSpu [delete] func (c *InitDataController) DeleteWrongSpu() { c.callDeleteWrongSpu(func(params *tInitdataDeleteWrongSpuParams) (retVal interface{}, errCode string, err error) { - retVal, err = initdata.DeleteWrongSpu(params.Ctx, params.IsAsync, params.IsContinueWhenError) + retVal, err = tempop.DeleteWrongSpu(params.Ctx, params.IsAsync, params.IsContinueWhenError) return retVal, "", err }) }