aa
This commit is contained in:
@@ -276,12 +276,13 @@ func GetStoresSkusForStore(ctx *jxcontext.Context, storeID int, isFocus, isAct b
|
|||||||
var (
|
var (
|
||||||
sqlParams []interface{}
|
sqlParams []interface{}
|
||||||
db = dao.GetDB()
|
db = dao.GetDB()
|
||||||
//SkuNames []*dao.StoreSkuNameExt
|
SkuNames []*dao.StoreSkuNameExt
|
||||||
)
|
)
|
||||||
sql := `
|
sql := `
|
||||||
SELECT SQL_CALC_FOUND_ROWS DISTINCT a.*, e.id store_id, c.unit_price ,b.id sku_id, b.spec_quality sku_spec_quality,
|
SELECT SQL_CALC_FOUND_ROWS DISTINCT a.*, e.id store_id, c.unit_price
|
||||||
b.spec_unit sku_spec_unit, b.status sku_status, c.stock, c.price bind_price,
|
-- ,b.id sku_id, b.spec_quality sku_spec_quality,
|
||||||
c.status store_sku_status
|
-- b.spec_unit sku_spec_unit, b.status sku_status, c.stock, c.price bind_price,
|
||||||
|
-- c.status store_sku_status
|
||||||
FROM sku_name a
|
FROM sku_name a
|
||||||
JOIN sku b ON b.name_id = a.id AND b.deleted_at = ?
|
JOIN sku b ON b.name_id = a.id AND b.deleted_at = ?
|
||||||
JOIN store e ON e.deleted_at = ?
|
JOIN store e ON e.deleted_at = ?
|
||||||
@@ -368,71 +369,79 @@ func GetStoresSkusForStore(ctx *jxcontext.Context, storeID int, isFocus, isAct b
|
|||||||
sql += `
|
sql += `
|
||||||
LIMIT ? OFFSET ?
|
LIMIT ? OFFSET ?
|
||||||
`
|
`
|
||||||
var tmpList []*tGetStoresSkusInfo
|
//var tmpList []*tGetStoresSkusInfo
|
||||||
pageSize = jxutils.FormalizePageSize(pageSize)
|
pageSize = jxutils.FormalizePageSize(pageSize)
|
||||||
offset = jxutils.FormalizePageOffset(offset)
|
offset = jxutils.FormalizePageOffset(offset)
|
||||||
sqlParams = append(sqlParams, pageSize, offset)
|
sqlParams = append(sqlParams, pageSize, offset)
|
||||||
txDB, _ := dao.Begin(db)
|
txDB, _ := dao.Begin(db)
|
||||||
defer dao.Commit(db, txDB)
|
defer dao.Commit(db, txDB)
|
||||||
if err = dao.GetRowsTx(txDB, &tmpList, sql, sqlParams...); err == nil {
|
if err = dao.GetRowsTx(txDB, &SkuNames, sql, sqlParams...); err == nil {
|
||||||
skuNamesInfo = &dao.StoreSkuNamesInfo{
|
skuNamesInfo = &dao.StoreSkuNamesInfo{
|
||||||
TotalCount: dao.GetLastTotalRowCount2(db, txDB),
|
TotalCount: dao.GetLastTotalRowCount2(db, txDB),
|
||||||
}
|
}
|
||||||
// skuNamesInfo.TotalCount = dao.GetLastTotalRowCount2(db, txDB)
|
// skuNamesInfo.TotalCount = dao.GetLastTotalRowCount2(db, txDB)
|
||||||
|
task := tasksch.NewParallelTask("uuu", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx,
|
||||||
|
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
||||||
|
v := batchItemList[0].(*dao.StoreSkuNameExt)
|
||||||
|
var skus []*dao.StoreSkuExt
|
||||||
|
sql2 := `
|
||||||
|
SELECT a.id sku_id, a.spec_quality sku_spec_quality, a.spec_unit sku_spec_unit, a.status sku_status,
|
||||||
|
b.stock, b.price bind_price, b.unit_price,
|
||||||
|
b.status store_sku_status
|
||||||
|
FROM sku a
|
||||||
|
JOIN sku_name c ON a.name_id = c.id AND c.deleted_at = ? AND c.status = ?
|
||||||
|
`
|
||||||
|
sqlParams2 := []interface{}{
|
||||||
|
utils.DefaultTimeValue, model.SkuStatusNormal,
|
||||||
|
}
|
||||||
|
if !isFocus {
|
||||||
|
sql2 += `
|
||||||
|
LEFT
|
||||||
|
`
|
||||||
|
}
|
||||||
|
sql2 += ` JOIN store_sku_bind b ON a.id = b.sku_id AND b.deleted_at = ? AND b.store_id = ?
|
||||||
|
WHERE a.deleted_at = ? AND a.name_id = ? AND a.status = ?
|
||||||
|
`
|
||||||
|
sqlParams2 = append(sqlParams2, utils.DefaultTimeValue, storeID,
|
||||||
|
utils.DefaultTimeValue, v.ID, model.SkuStatusNormal,
|
||||||
|
)
|
||||||
|
if status != -1 {
|
||||||
|
sql2 += " AND b.status = ?"
|
||||||
|
sqlParams2 = append(sqlParams2, status)
|
||||||
|
}
|
||||||
|
if err = dao.GetRows(db, &skus, sql2, sqlParams2); err == nil {
|
||||||
|
v.Skus = skus
|
||||||
|
}
|
||||||
|
return retVal, err
|
||||||
|
}, SkuNames)
|
||||||
|
tasksch.HandleTask(task, nil, false).Run()
|
||||||
|
task.GetResult(0)
|
||||||
|
//for _, v := range SkuNames {
|
||||||
|
//
|
||||||
|
//}
|
||||||
|
skuNamesInfo.SkuNames = SkuNames
|
||||||
|
//storeNameMap := make(map[int64]*dao.StoreSkuNameExt)
|
||||||
//for _, v := range tmpList {
|
//for _, v := range tmpList {
|
||||||
//var skus []*dao.StoreSkuExt
|
// var storeName *dao.StoreSkuNameExt
|
||||||
//sql2 := `
|
// index := jxutils.Combine2Int(v.StoreID, v.ID)
|
||||||
// SELECT a.id sku_id, a.spec_quality sku_spec_quality, a.spec_unit sku_spec_unit, a.status sku_status,
|
// if storeNameMap[index] == nil {
|
||||||
// b.stock, b.price bind_price, b.unit_price,
|
// storeName = &dao.StoreSkuNameExt{
|
||||||
// b.status store_sku_status
|
// StoreID: v.StoreID,
|
||||||
// FROM sku a
|
// StoreName: v.StoreName,
|
||||||
// JOIN sku_name c ON a.name_id = c.id AND c.deleted_at = ? AND c.status = ?
|
// SkuName: v.SkuName,
|
||||||
//`
|
// UnitPrice: v.UnitPrice,
|
||||||
//sqlParams2 := []interface{}{
|
// PayPercentage: v.PayPercentage,
|
||||||
// utils.DefaultTimeValue, model.SkuStatusNormal,
|
// RealMidUnitPrice: v.RealMidUnitPrice,
|
||||||
|
// YbSkuName: v.YbSkuName,
|
||||||
|
// AuditUnitPrice: v.AuditUnitPrice,
|
||||||
|
// }
|
||||||
|
// storeNameMap[index] = storeName
|
||||||
|
// skuNamesInfo.SkuNames = append(skuNamesInfo.SkuNames, storeName)
|
||||||
|
// } else {
|
||||||
|
// storeName = storeNameMap[index]
|
||||||
|
// }
|
||||||
|
// storeName.Skus = append(storeName.Skus, &v.StoreSkuExt)
|
||||||
//}
|
//}
|
||||||
//if !isFocus {
|
|
||||||
// sql2 += `
|
|
||||||
// LEFT
|
|
||||||
// `
|
|
||||||
//}
|
|
||||||
//sql2 += ` JOIN store_sku_bind b ON a.id = b.sku_id AND b.deleted_at = ? AND b.store_id = ?
|
|
||||||
// WHERE a.deleted_at = ? AND a.name_id = ? AND a.status = ?
|
|
||||||
//`
|
|
||||||
//sqlParams2 = append(sqlParams2, utils.DefaultTimeValue, storeID,
|
|
||||||
// utils.DefaultTimeValue, v.ID, model.SkuStatusNormal,
|
|
||||||
//)
|
|
||||||
//if status != -1 {
|
|
||||||
// sql2 += " AND b.status = ?"
|
|
||||||
// sqlParams2 = append(sqlParams2, status)
|
|
||||||
//}
|
|
||||||
//if err = dao.GetRows(db, &skus, sql2, sqlParams2); err == nil {
|
|
||||||
// v.Skus = skus
|
|
||||||
//}
|
|
||||||
//}
|
|
||||||
storeNameMap := make(map[int64]*dao.StoreSkuNameExt)
|
|
||||||
for _, v := range tmpList {
|
|
||||||
var storeName *dao.StoreSkuNameExt
|
|
||||||
index := jxutils.Combine2Int(v.StoreID, v.ID)
|
|
||||||
if storeNameMap[index] == nil {
|
|
||||||
storeName = &dao.StoreSkuNameExt{
|
|
||||||
StoreID: v.StoreID,
|
|
||||||
StoreName: v.StoreName,
|
|
||||||
SkuName: v.SkuName,
|
|
||||||
UnitPrice: v.UnitPrice,
|
|
||||||
PayPercentage: v.PayPercentage,
|
|
||||||
RealMidUnitPrice: v.RealMidUnitPrice,
|
|
||||||
YbSkuName: v.YbSkuName,
|
|
||||||
AuditUnitPrice: v.AuditUnitPrice,
|
|
||||||
}
|
|
||||||
storeNameMap[index] = storeName
|
|
||||||
skuNamesInfo.SkuNames = append(skuNamesInfo.SkuNames, storeName)
|
|
||||||
} else {
|
|
||||||
storeName = storeNameMap[index]
|
|
||||||
}
|
|
||||||
storeName.Skus = append(storeName.Skus, &v.StoreSkuExt)
|
|
||||||
}
|
|
||||||
//skuNamesInfo.SkuNames = SkuNames
|
|
||||||
if err == nil {
|
if err == nil {
|
||||||
if isFocus {
|
if isFocus {
|
||||||
if err == nil {
|
if err == nil {
|
||||||
|
|||||||
Reference in New Issue
Block a user