This commit is contained in:
suyl
2021-07-30 11:07:19 +08:00
parent f060920812
commit eacb7e0ccb

View File

@@ -3241,51 +3241,54 @@ func GetSkuNamesNew(ctx *jxcontext.Context, keyword string, skuIDs, skuNameIDs [
if err = dao.GetRowsTx(txDB, &skuNamesInfo.SkuNames, sql, sqlParams...); err == nil {
skuNamesInfo.TotalCount = dao.GetLastTotalRowCount2(db, txDB)
dao.Commit(db, txDB)
for _, skuName := range skuNamesInfo.SkuNames {
skuName.FullName = jxutils.ComposeSkuName(skuName.Prefix, skuName.Name, "", "", 0, "", 0, skuName.ExPrefix, skuName.ExPrefixBegin, skuName.ExPrefixEnd)
var (
skus []*model.Sku
sqlParams = []interface{}{utils.DefaultTimeValue}
sql string
)
if !isBySku {
sql = `
task := tasksch.NewParallelTask("GetSkuNamesNew", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx,
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
skuName := batchItemList[0].(*model.SkuNameExt)
skuName.FullName = jxutils.ComposeSkuName(skuName.Prefix, skuName.Name, "", "", 0, "", 0, skuName.ExPrefix, skuName.ExPrefixBegin, skuName.ExPrefixEnd)
var (
skus []*model.Sku
sqlParams = []interface{}{utils.DefaultTimeValue}
sql string
)
if !isBySku {
sql = `
SELECT * FROM sku WHERE deleted_at = ? AND name_id = ?
`
sqlParams = append(sqlParams, skuName.ID)
} else {
sql = `
sqlParams = append(sqlParams, skuName.ID)
} else {
sql = `
SELECT * FROM sku WHERE deleted_at = ? AND id = ?
`
sqlParams = append(sqlParams, skuName.SkuID)
}
if err = dao.GetRows(db, &skus, sql, sqlParams); err == nil {
var skusVendors []*model.SkuWithVendor
for _, v := range skus {
skusVendor := &model.SkuWithVendor{
Sku: v,
}
skusVendors = append(skusVendors, skusVendor)
sqlParams = append(sqlParams, skuName.SkuID)
}
skuName.Skus = skusVendors
}
var (
places []*model.SkuNamePlaceBind
placeCodes []int
)
sql2 := `
if err = dao.GetRows(db, &skus, sql, sqlParams); err == nil {
var skusVendors []*model.SkuWithVendor
for _, v := range skus {
skusVendor := &model.SkuWithVendor{
Sku: v,
}
skusVendors = append(skusVendors, skusVendor)
}
skuName.Skus = skusVendors
}
var (
places []*model.SkuNamePlaceBind
placeCodes []int
)
sql2 := `
SELECT * FROM sku_name_place_bind WHERE name_id = ?
`
sqlParams2 := []interface{}{skuName.ID}
if err = dao.GetRows(db, &places, sql2, sqlParams2); err == nil {
for _, v := range places {
placeCodes = append(placeCodes, v.PlaceCode)
sqlParams2 := []interface{}{skuName.ID}
if err = dao.GetRows(db, &places, sql2, sqlParams2); err == nil {
for _, v := range places {
placeCodes = append(placeCodes, v.PlaceCode)
}
skuName.Places = placeCodes
}
skuName.Places = placeCodes
}
}
} else {
dao.Rollback(db, txDB)
return retVal, err
}, skuNamesInfo.SkuNames)
tasksch.HandleTask(task, nil, true).Run()
task.GetResult(0)
}
return skuNamesInfo, err
}