diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index ccd7faacb..28348a882 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -279,7 +279,8 @@ func GetStoresSkusForStore(ctx *jxcontext.Context, storeID int, isFocus, isAct b SkuNames []*dao.StoreSkuNameExt ) 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 JOIN sku b ON b.name_id = a.id AND b.deleted_at = ? JOIN store e ON e.deleted_at = ? @@ -366,48 +367,62 @@ func GetStoresSkusForStore(ctx *jxcontext.Context, storeID int, isFocus, isAct b sql += ` LIMIT ? OFFSET ? ` + var tmpList []*tGetStoresSkusInfo pageSize = jxutils.FormalizePageSize(pageSize) offset = jxutils.FormalizePageOffset(offset) sqlParams = append(sqlParams, pageSize, offset) txDB, _ := dao.Begin(db) 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{ TotalCount: dao.GetLastTotalRowCount2(db, txDB), } // skuNamesInfo.TotalCount = dao.GetLastTotalRowCount2(db, txDB) - for _, v := range SkuNames { - 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 + for _, v := range tmpList { + //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 + //} + 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 isFocus { if err == nil {