From f02fd61da783bf47866a22c1fb7b8a300e86d9e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Sun, 26 Apr 2020 11:43:39 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8C=E6=AD=A5=E8=8F=9C=E5=B8=82=E7=89=A9?= =?UTF-8?q?=E6=96=99=E5=88=B0=E6=9E=9C=E5=9B=AD=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/store_sku.go | 74 ++++++++++++++++--------------- 1 file changed, 38 insertions(+), 36 deletions(-) diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index 72be3f999..fb4d2a9df 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -4292,7 +4292,7 @@ func SyncMatterC4ToGy(ctx *jxcontext.Context, isContinueWhenError, isAsync bool) db = dao.GetDB() skus []*model.Sku skusgy []*model.Sku - skuIDs []int + eclpIDs []string addMatters []*model.Sku deleteMatters []*model.Sku updateMatters []*model.Sku @@ -4304,8 +4304,8 @@ func SyncMatterC4ToGy(ctx *jxcontext.Context, isContinueWhenError, isAsync bool) func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { step := batchItemList[0].(int) var ( - skusMap = make(map[int]*model.Sku) - skusgyMap = make(map[int]*model.Sku) + skusMap = make(map[string]*model.Sku) + skusgyMap = make(map[string]*model.Sku) ) switch step { case 0: @@ -4313,28 +4313,28 @@ func SyncMatterC4ToGy(ctx *jxcontext.Context, isContinueWhenError, isAsync bool) sqlParams := []interface{}{utils.DefaultTimeValue} err = dao.GetRows(db, &skus, sql, sqlParams) for _, c4 := range skus { - skuIDs = append(skuIDs, c4.ID) - skusMap[c4.ID] = c4 + eclpIDs = append(eclpIDs, c4.EclpID) + skusMap[c4.EclpID] = c4 } - sql2 := "SELECT * FROM sku WHERE deleted_at = ? AND id IN (" + dao.GenQuestionMarks(len(skuIDs)) + ")" - sqlParams = append(sqlParams, skuIDs) + sql2 := "SELECT * FROM sku WHERE deleted_at = ? AND eclp_id IN (" + dao.GenQuestionMarks(len(eclpIDs)) + ")" + sqlParams = append(sqlParams, eclpIDs) err = dao.GetRows(db, &skusgy, sql2, sqlParams) for _, gy := range skusgy { - skusgyMap[gy.ID] = gy - if skusMap[gy.ID] == nil { - deleteMatters = append(deleteMatters, skusgyMap[gy.ID]) + skusgyMap[gy.EclpID] = gy + if skusMap[gy.EclpID] == nil { + deleteMatters = append(deleteMatters, skusgyMap[gy.EclpID]) } } for _, c4 := range skus { - if skusgyMap[c4.ID] == nil { - addMatters = append(addMatters, skusMap[c4.ID]) + if skusgyMap[c4.EclpID] == nil { + addMatters = append(addMatters, skusMap[c4.EclpID]) } else { - updateMatters = append(updateMatters, skusMap[c4.ID]) + updateMatters = append(updateMatters, skusMap[c4.EclpID]) } } - // fmt.Println("deleteMatters", utils.Format4Output(deleteMatters, false)) - // fmt.Println("addMatters", utils.Format4Output(addMatters, false)) - // fmt.Println("updateMatters", utils.Format4Output(updateMatters, false)) + fmt.Println("deleteMatters", utils.Format4Output(deleteMatters, false)) + fmt.Println("addMatters", utils.Format4Output(addMatters, false)) + fmt.Println("updateMatters", utils.Format4Output(updateMatters, false)) case 1: if len(deleteMatters) > 0 { for _, v := range deleteMatters { @@ -4377,20 +4377,11 @@ func SyncMatterC4ToGy(ctx *jxcontext.Context, isContinueWhenError, isAsync bool) skuNameExt.Price = skuName.Price skuNameExt.IsGlobal = model.YES skuNameExt.Status = model.SkuStatusNormal - skuNameExt.ID = v.NameID + // skuNameExt.ID = v.NameID skuNameExt.CategoryID = 3024 //默认全放物料分类下 skuNameExt.DeletedAt = utils.DefaultTimeValue skuNameExt.CreatedAt = time.Now() skuNameExt.LastOperator = ctx.GetUserName() - skuNameExt.Skus[0].ID = v.ID - skuNameExt.Skus[0].SpecQuality = v.SpecQuality - skuNameExt.Skus[0].SpecUnit = v.SpecUnit - skuNameExt.Skus[0].EclpID = v.EclpID - skuNameExt.Skus[0].Status = model.SkuStatusNormal - skuNameExt.Skus[0].NameID = v.NameID - skuNameExt.Skus[0].DeletedAt = utils.DefaultTimeValue - skuNameExt.Skus[0].CreatedAt = time.Now() - skuNameExt.Skus[0].LastOperator = ctx.GetUserName() dao.Begin(db) defer func() { if r := recover(); r != nil { @@ -4402,6 +4393,15 @@ func SyncMatterC4ToGy(ctx *jxcontext.Context, isContinueWhenError, isAsync bool) dao.Rollback(db) return retVal, err } + // skuNameExt.Skus[0].ID = v.ID + skuNameExt.Skus[0].SpecQuality = v.SpecQuality + skuNameExt.Skus[0].SpecUnit = v.SpecUnit + skuNameExt.Skus[0].EclpID = v.EclpID + skuNameExt.Skus[0].Status = model.SkuStatusNormal + skuNameExt.Skus[0].NameID = skuNameExt.ID + skuNameExt.Skus[0].DeletedAt = utils.DefaultTimeValue + skuNameExt.Skus[0].CreatedAt = time.Now() + skuNameExt.Skus[0].LastOperator = ctx.GetUserName() if err = dao.CreateEntity(db, skuNameExt.Skus[0].Sku); err != nil { dao.Rollback(db) return retVal, err @@ -4443,17 +4443,19 @@ func SyncMatterC4ToGy(ctx *jxcontext.Context, isContinueWhenError, isAsync bool) panic(r) } }() - fmt.Println("test111111111111111111111111", utils.Format4Output(v, false)) - fmt.Println("test22222222222222222222222222", utils.Format4Output(skuName, false)) - dao.WrapAddIDCULEntity(v, ctx.GetUserName()) - if _, err = dao.UpdateEntity(db, v, "SpecQuality", "SpecUnit", "EclpID"); err != nil { - dao.Rollback(db) - return retVal, err + if v != nil { + dao.WrapAddIDCULEntity(v, ctx.GetUserName()) + if _, err = dao.UpdateEntity(db, v, "SpecQuality", "SpecUnit", "EclpID"); err != nil { + dao.Rollback(db) + return retVal, err + } } - dao.WrapAddIDCULEntity(skuName, ctx.GetUserName()) - if _, err = dao.UpdateEntity(db, skuName, "Name", "Img", "Img2", "DescImg", "Unit", "CategoryID", "Price"); err != nil { - dao.Rollback(db) - return retVal, err + if skuName != nil { + dao.WrapAddIDCULEntity(skuName, ctx.GetUserName()) + if _, err = dao.UpdateEntity(db, skuName, "Name", "Img", "Img2", "DescImg", "Unit", "CategoryID", "Price"); err != nil { + dao.Rollback(db) + return retVal, err + } } sql := "SELECT * FROM jxd_dev_0.store_sku_bind WHERE store_id = ? AND sku_id = ? " sqlParams := []interface{}{model.MatterStoreID, v.ID}