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