This commit is contained in:
suyl
2021-05-22 11:16:32 +08:00
parent f3bdc35c35
commit 6540dfde8a

View File

@@ -279,7 +279,8 @@ func GetStoresSkusForStore(ctx *jxcontext.Context, storeID int, isFocus, isAct b
SkuNames []*dao.StoreSkuNameExt SkuNames []*dao.StoreSkuNameExt
) )
sql := ` sql := `
SELECT SQL_CALC_FOUND_ROWS DISTINCT a.*, e.id store_id, c.unit_price SELECT SQL_CALC_FOUND_ROWS DISTINCT a.*, e.id store_id, c.unit_price ,b.id sku_id, b.spec_quality sku_spec_quality,
b.spec_unit sku_spec_unit, b.status 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 = ?
@@ -366,48 +367,62 @@ func GetStoresSkusForStore(ctx *jxcontext.Context, storeID int, isFocus, isAct b
sql += ` sql += `
LIMIT ? OFFSET ? LIMIT ? OFFSET ?
` `
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, &SkuNames, sql, sqlParams...); err == nil { if err = dao.GetRowsTx(txDB, &tmpList, 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)
for _, v := range SkuNames { for _, v := range tmpList {
var skus []*dao.StoreSkuExt //var skus []*dao.StoreSkuExt
sql2 := ` //sql2 := `
SELECT a.id sku_id, a.spec_quality sku_spec_quality, a.spec_unit sku_spec_unit, a.status sku_status, // 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.stock, b.price bind_price, b.unit_price,
b.status store_sku_status // b.status store_sku_status
FROM sku a // FROM sku a
JOIN sku_name c ON a.name_id = c.id AND c.deleted_at = ? AND c.status = ? // JOIN sku_name c ON a.name_id = c.id AND c.deleted_at = ? AND c.status = ?
` //`
sqlParams2 := []interface{}{ //sqlParams2 := []interface{}{
utils.DefaultTimeValue, model.SkuStatusNormal, // utils.DefaultTimeValue, model.SkuStatusNormal,
} //}
if !isFocus { //if !isFocus {
sql2 += ` // sql2 += `
LEFT // LEFT
` // `
} //}
sql2 += ` JOIN store_sku_bind b ON a.id = b.sku_id AND b.deleted_at = ? AND b.store_id = ? //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 = ? // WHERE a.deleted_at = ? AND a.name_id = ? AND a.status = ?
` //`
sqlParams2 = append(sqlParams2, utils.DefaultTimeValue, storeID, //sqlParams2 = append(sqlParams2, utils.DefaultTimeValue, storeID,
utils.DefaultTimeValue, v.ID, model.SkuStatusNormal, // utils.DefaultTimeValue, v.ID, model.SkuStatusNormal,
) //)
if status != -1 { //if status != -1 {
sql2 += " AND b.status = ?" // sql2 += " AND b.status = ?"
sqlParams2 = append(sqlParams2, status) // sqlParams2 = append(sqlParams2, status)
} //}
if err = dao.GetRows(db, &skus, sql2, sqlParams2); err == nil { //if err = dao.GetRows(db, &skus, sql2, sqlParams2); err == nil {
v.Skus = skus // v.Skus = skus
//}
var storeName *dao.StoreSkuNameExt
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,
} }
skuNamesInfo.SkuNames = append(skuNamesInfo.SkuNames, storeName)
storeName.Skus = append(storeName.Skus, &v.StoreSkuExt)
} }
skuNamesInfo.SkuNames = SkuNames //skuNamesInfo.SkuNames = SkuNames
if err == nil { if err == nil {
if isFocus { if isFocus {
if err == nil { if err == nil {