|
@@ -3,6 +3,7 @@
|
|
namespace app\index\controller;
|
|
namespace app\index\controller;
|
|
|
|
|
|
use app\index\model\Article as ArticleModel;
|
|
use app\index\model\Article as ArticleModel;
|
|
|
|
+use app\index\model\Comment as CommentModel;
|
|
use app\index\model\Goods as GoodsModel;
|
|
use app\index\model\Goods as GoodsModel;
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -31,21 +32,34 @@ class Index extends Controller
|
|
|
|
|
|
//获取评价数量
|
|
//获取评价数量
|
|
$goodsIds = array_unique(array_merge($newGoodsId, $bestGoodsId, $superDealsGoodsId));
|
|
$goodsIds = array_unique(array_merge($newGoodsId, $bestGoodsId, $superDealsGoodsId));
|
|
- $commentModel = new \app\api\model\Comment();
|
|
|
|
|
|
+ $commentModel = new CommentModel();
|
|
$rows = $commentModel->rowsTotalBatch($goodsIds)->toArray();
|
|
$rows = $commentModel->rowsTotalBatch($goodsIds)->toArray();
|
|
$rowsByGoodsId = array_column($rows, 'cnt', 'goods_id');
|
|
$rowsByGoodsId = array_column($rows, 'cnt', 'goods_id');
|
|
|
|
+
|
|
|
|
+ //获取评论分数
|
|
|
|
+ $commentScores = $commentModel->getTotalAll($goodsIds)->toArray();
|
|
|
|
+ $scoresByGoodsId = array_column($commentScores, 'score_total', 'goods_id');
|
|
|
|
+
|
|
|
|
+ //dd($rowsByGoodsId);
|
|
|
|
+
|
|
//可考虑缓存
|
|
//可考虑缓存
|
|
|
|
|
|
foreach ($newArrival as &$item) {
|
|
foreach ($newArrival as &$item) {
|
|
$item['comment_cnt'] = $rowsByGoodsId[$item['goods_id']] ?? 0;
|
|
$item['comment_cnt'] = $rowsByGoodsId[$item['goods_id']] ?? 0;
|
|
|
|
+ $temp = bcmul($item['comment_cnt'], 10, 0);
|
|
|
|
+ $item['avg_score'] = bcdiv($scoresByGoodsId[$item['goods_id']] ?? '0', $temp, 0);
|
|
}
|
|
}
|
|
|
|
|
|
foreach ($bestseller as &$item) {
|
|
foreach ($bestseller as &$item) {
|
|
$item['comment_cnt'] = $rowsByGoodsId[$item['goods_id']] ?? 0;
|
|
$item['comment_cnt'] = $rowsByGoodsId[$item['goods_id']] ?? 0;
|
|
|
|
+ $temp = bcmul($item['comment_cnt'], 10, 0);
|
|
|
|
+ $item['avg_score'] = bcdiv($scoresByGoodsId[$item['goods_id']], $temp, 0);
|
|
}
|
|
}
|
|
|
|
|
|
foreach ($superDeals as &$item) {
|
|
foreach ($superDeals as &$item) {
|
|
$item['comment_cnt'] = $rowsByGoodsId[$item['goods_id']] ?? 0;
|
|
$item['comment_cnt'] = $rowsByGoodsId[$item['goods_id']] ?? 0;
|
|
|
|
+ $temp = bcmul($item['comment_cnt'], 10, 0);
|
|
|
|
+ $item['avg_score'] = bcdiv($scoresByGoodsId[$item['goods_id']], $temp, 0);
|
|
}
|
|
}
|
|
|
|
|
|
$model = new ArticleModel;
|
|
$model = new ArticleModel;
|
|
@@ -78,7 +92,11 @@ class Index extends Controller
|
|
$goodsModel = new GoodsModel();
|
|
$goodsModel = new GoodsModel();
|
|
$goods = $goodsModel->getDetails($goodsId)->toArray();
|
|
$goods = $goodsModel->getDetails($goodsId)->toArray();
|
|
$goods['content'] = html_entity_decode($goods['content']);
|
|
$goods['content'] = html_entity_decode($goods['content']);
|
|
- return view('productDetails', ['goods' => $goods]);
|
|
|
|
|
|
+
|
|
|
|
+ $model = new CommentModel;
|
|
|
|
+ $total = $model->rowsTotal($goodsId);
|
|
|
|
+
|
|
|
|
+ return view('productDetails', ['goods' => $goods, 'comment_total' => $total]);
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|