aa
This commit is contained in:
@@ -437,18 +437,6 @@ func GetSkuNames(ctx *jxcontext.Context, keyword string, isBySku, isQueryMidPric
|
|||||||
sql := `
|
sql := `
|
||||||
FROM sku_name t1
|
FROM sku_name t1
|
||||||
LEFT JOIN sku t2 ON t1.id = t2.name_id AND t2.deleted_at = ?
|
LEFT JOIN sku t2 ON t1.id = t2.name_id AND t2.deleted_at = ?
|
||||||
`
|
|
||||||
if params["isExd"] != nil {
|
|
||||||
var idExd = params["isExd"].(bool)
|
|
||||||
if idExd {
|
|
||||||
sql += " AND t2.exd_sku_id <> ''"
|
|
||||||
} else {
|
|
||||||
sql += " AND t2.exd_sku_id = ''"
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
sql += " AND t2.exd_sku_id = ''"
|
|
||||||
}
|
|
||||||
sql += `
|
|
||||||
LEFT JOIN sku_name_place_bind t3 ON t1.id = t3.name_id
|
LEFT JOIN sku_name_place_bind t3 ON t1.id = t3.name_id
|
||||||
`
|
`
|
||||||
sqlParams := []interface{}{
|
sqlParams := []interface{}{
|
||||||
@@ -510,6 +498,16 @@ func GetSkuNames(ctx *jxcontext.Context, keyword string, isBySku, isQueryMidPric
|
|||||||
}
|
}
|
||||||
sql += ")"
|
sql += ")"
|
||||||
}
|
}
|
||||||
|
if params["isExd"] != nil {
|
||||||
|
var idExd = params["isExd"].(bool)
|
||||||
|
if idExd {
|
||||||
|
sql += " AND t2.exd_sku_id <> ''"
|
||||||
|
} else {
|
||||||
|
sql += " AND t2.exd_sku_id = ''"
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
sql += " AND t2.exd_sku_id = ''"
|
||||||
|
}
|
||||||
if params["skuCategoryID"] != nil {
|
if params["skuCategoryID"] != nil {
|
||||||
cat := &model.SkuCategory{}
|
cat := &model.SkuCategory{}
|
||||||
cat.ID = params["skuCategoryID"].(int)
|
cat.ID = params["skuCategoryID"].(int)
|
||||||
@@ -591,49 +589,10 @@ func GetSkuNames(ctx *jxcontext.Context, keyword string, isBySku, isQueryMidPric
|
|||||||
sql += " AND t2.status >= ? AND t2.status <= ?"
|
sql += " AND t2.status >= ? AND t2.status <= ?"
|
||||||
sqlParams = append(sqlParams, fromStatus, toStatus)
|
sqlParams = append(sqlParams, fromStatus, toStatus)
|
||||||
}
|
}
|
||||||
sql += `
|
|
||||||
GROUP BY
|
|
||||||
t1.id,
|
|
||||||
t1.created_at,
|
|
||||||
t1.updated_at,
|
|
||||||
t1.last_operator,
|
|
||||||
t1.deleted_at,
|
|
||||||
t1.prefix,
|
|
||||||
t1.name,
|
|
||||||
t1.brand_id,
|
|
||||||
t1.category_id,
|
|
||||||
t1.jd_category_id,
|
|
||||||
t1.is_global,
|
|
||||||
t1.unit,
|
|
||||||
t1.price,
|
|
||||||
t1.img,
|
|
||||||
t1.img2,
|
|
||||||
t1.img3,
|
|
||||||
t1.img_watermark,
|
|
||||||
t1.img_mix,
|
|
||||||
t1.status,
|
|
||||||
t1.is_spu,
|
|
||||||
t1.desc_img,
|
|
||||||
t1.upc,
|
|
||||||
t1.ex_prefix,
|
|
||||||
t1.ex_prefix_begin,
|
|
||||||
t1.ex_prefix_end,
|
|
||||||
t1.yb_name_suffix,
|
|
||||||
t1.jds_stock_switch,
|
|
||||||
t1.preparation_time,
|
|
||||||
t1.best_seller
|
|
||||||
`
|
|
||||||
if isQueryMidPrice {
|
|
||||||
sql += `,
|
|
||||||
t4.mid_unit_price`
|
|
||||||
}
|
|
||||||
if isBySku {
|
|
||||||
sql += `,
|
|
||||||
t2.id`
|
|
||||||
}
|
|
||||||
sqlData := `
|
sqlData := `
|
||||||
SELECT
|
SELECT
|
||||||
SQL_CALC_FOUND_ROWS
|
SQL_CALC_FOUND_ROWS
|
||||||
|
DISTINCT
|
||||||
t1.id,
|
t1.id,
|
||||||
t1.created_at,
|
t1.created_at,
|
||||||
t1.updated_at,
|
t1.updated_at,
|
||||||
@@ -656,42 +615,22 @@ func GetSkuNames(ctx *jxcontext.Context, keyword string, isBySku, isQueryMidPric
|
|||||||
t1.is_spu,
|
t1.is_spu,
|
||||||
t1.desc_img,
|
t1.desc_img,
|
||||||
t1.upc,
|
t1.upc,
|
||||||
/*
|
|
||||||
t1.jd_id,
|
|
||||||
t1.jd_sync_status,
|
|
||||||
*/
|
|
||||||
t1.ex_prefix,
|
t1.ex_prefix,
|
||||||
t1.ex_prefix_begin,
|
t1.ex_prefix_begin,
|
||||||
t1.ex_prefix_end,
|
t1.ex_prefix_end,
|
||||||
t1.yb_name_suffix,
|
t1.yb_name_suffix,
|
||||||
t1.jds_stock_switch,
|
t1.jds_stock_switch,
|
||||||
t1.preparation_time,
|
t1.preparation_time,
|
||||||
t1.best_seller,
|
t1.best_seller
|
||||||
`
|
`
|
||||||
if isQueryMidPrice {
|
if isQueryMidPrice {
|
||||||
sqlData += " t4.mid_unit_price,"
|
sqlData += ",t4.mid_unit_price"
|
||||||
}
|
}
|
||||||
sqlData +=
|
sqlData += sql + `
|
||||||
`
|
ORDER BY t1.id DESC
|
||||||
CONCAT("[", GROUP_CONCAT(DISTINCT CONCAT('{"id":', t2.id, ',"comment":"', t2.comment, '","status":', t2.status,
|
|
||||||
',"createdAt":"', CONCAT(REPLACE(t2.created_at," ","T"),"+08:00"), '","updatedAt":"', CONCAT(REPLACE(t2.updated_at," ","T"),"+08:00"),
|
|
||||||
'","lastOperator":"', t2.last_operator, '","specQuality":', t2.spec_quality, ',"specUnit":"', t2.spec_unit,
|
|
||||||
'","exdSkuID":"', t2.exd_sku_id,
|
|
||||||
'","eclpID":"', t2.eclp_id,
|
|
||||||
'","weight":', t2.weight, ',"categoryID":', t2.category_id, ',"nameID":', t2.name_id,
|
|
||||||
', "seq":', t2.seq,
|
|
||||||
', "minOrderCount":', t2.min_order_count,
|
|
||||||
', "ladderBoxNum":', t2.ladder_box_num,
|
|
||||||
', "ladderBoxPrice":', t2.ladder_box_price,
|
|
||||||
"}")), "]") skus_str,
|
|
||||||
CONCAT("[", GROUP_CONCAT(DISTINCT t3.place_code), "]") places_str
|
|
||||||
` + sql + `
|
|
||||||
ORDER BY MIN(t2.seq), t1.id DESC
|
|
||||||
LIMIT ? OFFSET ?`
|
LIMIT ? OFFSET ?`
|
||||||
pageSize = jxutils.FormalizePageSize(pageSize)
|
pageSize = jxutils.FormalizePageSize(pageSize)
|
||||||
offset = jxutils.FormalizePageOffset(offset)
|
offset = jxutils.FormalizePageOffset(offset)
|
||||||
fmt.Println(sqlData)
|
|
||||||
fmt.Println(sqlParams)
|
|
||||||
sqlParams = append(sqlParams, pageSize, offset)
|
sqlParams = append(sqlParams, pageSize, offset)
|
||||||
skuNamesInfo = &SkuNamesInfo{}
|
skuNamesInfo = &SkuNamesInfo{}
|
||||||
dao.Begin(db) // todo 这里用事务的原因是,SQL_CALC_FOUND_ROWS会出错
|
dao.Begin(db) // todo 这里用事务的原因是,SQL_CALC_FOUND_ROWS会出错
|
||||||
@@ -701,30 +640,28 @@ func GetSkuNames(ctx *jxcontext.Context, keyword string, isBySku, isQueryMidPric
|
|||||||
panic(r)
|
panic(r)
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
// globals.SugarLogger.Debug(sqlData)
|
|
||||||
// globals.SugarLogger.Debug(utils.Format4Output(sqlParams, false))
|
|
||||||
if err = dao.GetRows(db, &skuNamesInfo.SkuNames, sqlData, sqlParams...); err == nil {
|
if err = dao.GetRows(db, &skuNamesInfo.SkuNames, sqlData, sqlParams...); err == nil {
|
||||||
skuNamesInfo.TotalCount = dao.GetLastTotalRowCount(db)
|
skuNamesInfo.TotalCount = dao.GetLastTotalRowCount(db)
|
||||||
dao.Commit(db)
|
dao.Commit(db)
|
||||||
|
|
||||||
var skuIDs []int
|
// var skuIDs []int
|
||||||
for _, skuName := range skuNamesInfo.SkuNames {
|
for _, skuName := range skuNamesInfo.SkuNames {
|
||||||
skuName.FullName = jxutils.ComposeSkuName(skuName.Prefix, skuName.Name, "", "", 0, "", 0, skuName.ExPrefix, skuName.ExPrefixBegin, skuName.ExPrefixEnd)
|
skuName.FullName = jxutils.ComposeSkuName(skuName.Prefix, skuName.Name, "", "", 0, "", 0, skuName.ExPrefix, skuName.ExPrefixBegin, skuName.ExPrefixEnd)
|
||||||
if skuName.SkusStr != "" {
|
// if skuName.SkusStr != "" {
|
||||||
if err = utils.UnmarshalUseNumber([]byte(skuName.SkusStr), &skuName.Skus); err != nil {
|
// if err = utils.UnmarshalUseNumber([]byte(skuName.SkusStr), &skuName.Skus); err != nil {
|
||||||
dao.Rollback(db)
|
// dao.Rollback(db)
|
||||||
return nil, err
|
// return nil, err
|
||||||
}
|
// }
|
||||||
for _, v := range skuName.Skus {
|
// for _, v := range skuName.Skus {
|
||||||
skuIDs = append(skuIDs, v.ID)
|
// skuIDs = append(skuIDs, v.ID)
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
if skuName.PlacesStr != "" {
|
// if skuName.PlacesStr != "" {
|
||||||
if err = utils.UnmarshalUseNumber([]byte(skuName.PlacesStr), &skuName.Places); err != nil {
|
// if err = utils.UnmarshalUseNumber([]byte(skuName.PlacesStr), &skuName.Places); err != nil {
|
||||||
dao.Rollback(db)
|
// dao.Rollback(db)
|
||||||
return nil, err
|
// return nil, err
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
skuVendorCats, _ := dao.GetSkuVendorCategoryMaps(db, []int{skuName.ID}, []int{model.VendorIDMTWM, model.VendorIDEBAI, model.VendorIDJDShop, model.VendorIDJD}, nil)
|
skuVendorCats, _ := dao.GetSkuVendorCategoryMaps(db, []int{skuName.ID}, []int{model.VendorIDMTWM, model.VendorIDEBAI, model.VendorIDJDShop, model.VendorIDJD}, nil)
|
||||||
if len(skuVendorCats) > 0 {
|
if len(skuVendorCats) > 0 {
|
||||||
for _, v := range skuVendorCats {
|
for _, v := range skuVendorCats {
|
||||||
@@ -742,15 +679,36 @@ func GetSkuNames(ctx *jxcontext.Context, keyword string, isBySku, isQueryMidPric
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
var skus []*model.Sku
|
||||||
if len(skuIDs) > 0 {
|
sql := `
|
||||||
thingMapMap, err2 := dao.GetThingMapMap(db, model.ThingTypeSku, nil, skuIDs)
|
SELECT * FROM sku WEHRE deleted_at = ? AND name_id = ?
|
||||||
if err = err2; err == nil {
|
`
|
||||||
for _, skuName := range skuNamesInfo.SkuNames {
|
sqlParams := []interface{}{utils.DefaultTimeValue, skuName.ID}
|
||||||
for _, v := range skuName.Skus {
|
if err = dao.GetRows(db, &skus, sql, sqlParams); err == nil {
|
||||||
v.MapList = thingMapMap[int64(v.ID)]
|
var skusVendors []*model.SkuWithVendor
|
||||||
|
for _, v := range skus {
|
||||||
|
skusVendor := &model.SkuWithVendor{
|
||||||
|
Sku: v,
|
||||||
}
|
}
|
||||||
|
skusVendors = append(skusVendors, skusVendor)
|
||||||
}
|
}
|
||||||
|
skuName.Skus = skusVendors
|
||||||
|
// thingMapMap, err2 := dao.GetThingMapMap(db, model.ThingTypeSku, nil, nil)
|
||||||
|
// if err = err2; err == nil {
|
||||||
|
// for _, skuName := range skuNamesInfo.SkuNames {
|
||||||
|
// for _, v := range skuName.Skus {
|
||||||
|
// v.MapList = thingMapMap[int64(v.ID)]
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
var places []*model.SkuNamePlaceBind
|
||||||
|
sql2 := `
|
||||||
|
SELECT * FROM sku_name_place_bind WHERE name_id = ?
|
||||||
|
`
|
||||||
|
sqlParams2 := []interface{}{skuName.ID}
|
||||||
|
if err = dao.GetRows(db, &places, sql2, sqlParams2); err == nil {
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user