菜市物料同步到果园

This commit is contained in:
苏尹岚
2020-04-26 09:56:52 +08:00
parent 4fad73d834
commit 9663ce7a73

View File

@@ -4297,6 +4297,9 @@ func SyncMatterC4ToGy(ctx *jxcontext.Context, isContinueWhenError, isAsync bool)
deleteMatters []*model.Sku deleteMatters []*model.Sku
updateMatters []*model.Sku updateMatters []*model.Sku
) )
if !globals.IsMainProductEnv() {
return "", fmt.Errorf("此接口只允许在果园上调用!")
}
task := tasksch.NewParallelTask("同步物料商品从菜市到果园", tasksch.NewParallelConfig().SetParallelCount(1).SetIsContinueWhenError(isContinueWhenError), ctx, task := tasksch.NewParallelTask("同步物料商品从菜市到果园", tasksch.NewParallelConfig().SetParallelCount(1).SetIsContinueWhenError(isContinueWhenError), ctx,
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
step := batchItemList[0].(int) step := batchItemList[0].(int)
@@ -4333,90 +4336,93 @@ func SyncMatterC4ToGy(ctx *jxcontext.Context, isContinueWhenError, isAsync bool)
fmt.Println("addMatters", utils.Format4Output(addMatters, false)) fmt.Println("addMatters", utils.Format4Output(addMatters, false))
fmt.Println("updateMatters", utils.Format4Output(updateMatters, false)) fmt.Println("updateMatters", utils.Format4Output(updateMatters, false))
case 1: case 1:
// if len(deleteMatters) > 0 { if len(deleteMatters) > 0 {
// for _, v := range deleteMatters { for _, v := range deleteMatters {
// _, err = DeleteSkuName(ctx, v.NameID, ctx.GetUserName()) _, err = DeleteSkuName(ctx, v.NameID, ctx.GetUserName())
// } }
// } }
// if len(addMatters) > 0 { if len(addMatters) > 0 {
// for _, v := range addMatters { for _, v := range addMatters {
// var ( var (
// skuName *model.SkuName skuName *model.SkuName
// storeSkus []*model.StoreSkuBind storeSkus []*model.StoreSkuBind
// ) )
// skuNames, _ := dao.GetSkuNames(db, []int{v.NameID}, nil, "", false) skuNames, _ := dao.GetSkuNames(db, []int{v.NameID}, nil, "", false)
// if len(skuNames) > 0 { if len(skuNames) > 0 {
// skuName = skuNames[0] skuName = skuNames[0]
// } }
// skuNameExt := &model.SkuNameExt{ skuNameExt := &model.SkuNameExt{
// SkuName: model.SkuName{}, SkuName: model.SkuName{},
// Skus: []*model.SkuWithVendor{ Skus: []*model.SkuWithVendor{
// &model.SkuWithVendor{ &model.SkuWithVendor{
// Sku: &model.Sku{}, Sku: &model.Sku{},
// }, },
// }, },
// } }
// skuNameExt.Unit = skuName.Unit skuNameExt.Unit = skuName.Unit
// skuNameExt.Name = skuName.Name skuNameExt.Name = skuName.Name
// skuNameExt.Upc = skuName.Upc skuNameExt.Upc = skuName.Upc
// skuNameExt.SkuName.Status = model.SkuStatusNormal skuNameExt.SkuName.Status = model.SkuStatusNormal
// skuNameExt.Skus[0].SpecQuality = v.SpecQuality skuNameExt.Img = skuName.Img
// skuNameExt.Skus[0].SpecUnit = v.SpecUnit skuNameExt.Img2 = skuName.Img2
// skuNameExt.Img = skuName.Img skuNameExt.DescImg = skuName.DescImg
// skuNameExt.Img2 = skuName.Img2 skuNameExt.Price = skuName.Price
// skuNameExt.DescImg = skuName.DescImg skuNameExt.ID = v.NameID
// skuNameExt.ID = v.NameID skuNameExt.CategoryID = 3024 //默认全放物料分类下
// skuNameExt.CategoryID = skuName.CategoryID skuNameExt.Skus[0].ID = v.ID
// skuNameExt.Skus[0].ID = v.ID skuNameExt.Skus[0].SpecQuality = v.SpecQuality
// _, err = AddSkuName(ctx, skuNameExt, ctx.GetUserName()) skuNameExt.Skus[0].SpecUnit = v.SpecUnit
// if err != nil { skuNameExt.Skus[0].EclpID = v.EclpID
// return retVal, err _, err = AddSkuName(ctx, skuNameExt, ctx.GetUserName())
// } if err != nil {
// sql := "SELECT * FROM jxd_dev_0.store_sku_bind WHERE store_id = ? AND sku_id = ? " return retVal, err
// sqlParams := []interface{}{model.MatterStoreID, v.ID} }
// err = dao.GetRows(db, &storeSkus, sql, sqlParams) sql := "SELECT * FROM jxd_dev_0.store_sku_bind WHERE store_id = ? AND sku_id = ? "
// if err != nil { sqlParams := []interface{}{model.MatterStoreID, v.ID}
// return retVal, err err = dao.GetRows(db, &storeSkus, sql, sqlParams)
// } if err != nil {
// if len(storeSkus) > 0 { return retVal, err
// var skuBindInfos []*StoreSkuBindInfo }
// skuBindInfo := &StoreSkuBindInfo{ if len(storeSkus) > 0 {
// NameID: skuName.ID, var skuBindInfos []*StoreSkuBindInfo
// IsFocus: 1, skuBindInfo := &StoreSkuBindInfo{
// IsSale: 1, NameID: skuName.ID,
// } IsFocus: 1,
// skuBindInfos = append(skuBindInfos, skuBindInfo) IsSale: 1,
// updateStoresSkusWithoutSync(ctx, db, []int{model.MatterStoreID}, skuBindInfos, false) UnitPrice: skuName.Price,
// } }
// } skuBindInfos = append(skuBindInfos, skuBindInfo)
// } updateStoresSkusWithoutSync(ctx, db, []int{model.MatterStoreID}, skuBindInfos, false)
// if len(updateMatters) > 0 { }
// for _, v := range updateMatters { }
// var skuName *model.SkuName }
// skuNames, _ := dao.GetSkuNames(db, []int{v.NameID}, nil, "", false) if len(updateMatters) > 0 {
// if len(skuNames) > 0 { for _, v := range updateMatters {
// skuName = skuNames[0] var skuName *model.SkuName
// } skuNames, _ := dao.GetSkuNames(db, []int{v.NameID}, nil, "", false)
// dao.Begin(db) if len(skuNames) > 0 {
// defer func() { skuName = skuNames[0]
// if r := recover(); r != nil { }
// dao.Rollback(db) dao.Begin(db)
// panic(r) defer func() {
// } if r := recover(); r != nil {
// }() dao.Rollback(db)
// dao.WrapAddIDCULEntity(v, ctx.GetUserName()) panic(r)
// if _, err = dao.UpdateEntity(db, v, "SpecQuality", "SpecUnit", "EclpID"); err != nil { }
// dao.Rollback(db) }()
// return retVal, err dao.WrapAddIDCULEntity(v, ctx.GetUserName())
// } if _, err = dao.UpdateEntity(db, v, "SpecQuality", "SpecUnit", "EclpID"); err != nil {
// dao.WrapAddIDCULEntity(skuName, ctx.GetUserName()) dao.Rollback(db)
// if _, err = dao.UpdateEntity(db, skuName, "Name", "Img", "Img2", "DescImg", "Unit", "CategoryID"); err != nil { return retVal, err
// 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.Commit(db) dao.Rollback(db)
// } return retVal, err
// } }
dao.Commit(db)
}
}
} }
return retVal, err return retVal, err
}, []int{0, 1}) }, []int{0, 1})