|
|
@@ -10,6 +10,7 @@ use bizHd\groupBuy\classes\GroupBuyMemberClass;
|
|
|
use bizHd\order\services\OrderService;
|
|
|
use bizHd\shop\classes\ShopClass;
|
|
|
use bizMall\hd\classes\HdClass;
|
|
|
+use bizMall\pictext\classes\PicTextGoodsClass;
|
|
|
use common\components\business;
|
|
|
use common\components\dict;
|
|
|
use common\components\orderSn;
|
|
|
@@ -31,8 +32,9 @@ class GroupBuyController extends BaseController
|
|
|
];
|
|
|
|
|
|
/**
|
|
|
- * 团购商品落地页:活动商品信息 + 当前最快成团开放团
|
|
|
+ * 团购商品落地页:活动商品信息 + 商品详情图文 + 当前最快成团开放团
|
|
|
* GET goodsId
|
|
|
+ * 返回字段与商品详情页对齐:picTextGoods(标题/content JSON)供前端 rich-media-viewer 渲染
|
|
|
*/
|
|
|
public function actionGoodsLanding()
|
|
|
{
|
|
|
@@ -55,7 +57,9 @@ class GroupBuyController extends BaseController
|
|
|
$formatted = business::formatUploadImg($cover);
|
|
|
$coverUrl = $formatted['url'] ?? $cover;
|
|
|
}
|
|
|
+ // 轮播图兜底:保留商品图集;详情正文以 picTextGoods 为准(与 GoodsController::actionDetail 一致)
|
|
|
$detailImages = [];
|
|
|
+ $picTextGoods = [];
|
|
|
if (!empty($goods)) {
|
|
|
$pics = $goods->detail ?? ($goods->pic ?? '');
|
|
|
if (is_string($pics) && $pics !== '') {
|
|
|
@@ -73,6 +77,15 @@ class GroupBuyController extends BaseController
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ // 规格商品详情图文挂在主商品上,与商品详情接口取值规则一致
|
|
|
+ $picTextGoodsId = empty($goods->masterId) ? $goodsId : intval($goods->masterId);
|
|
|
+ $picTextRow = PicTextGoodsClass::getByCondition([
|
|
|
+ 'mainId' => $mainId,
|
|
|
+ 'goodsId' => $picTextGoodsId,
|
|
|
+ ], true);
|
|
|
+ if (!empty($picTextRow)) {
|
|
|
+ $picTextGoods = $picTextRow;
|
|
|
+ }
|
|
|
}
|
|
|
$openGroup = GroupBuyClass::getHottestOpenGroup(
|
|
|
$mainId,
|
|
|
@@ -101,6 +114,7 @@ class GroupBuyController extends BaseController
|
|
|
'desc' => strval($row['desc']),
|
|
|
'showCountdown' => intval($row['showCountdown']),
|
|
|
'detailImages' => $detailImages,
|
|
|
+ 'picTextGoods' => $picTextGoods,
|
|
|
'openGroup' => $openGroup,
|
|
|
]);
|
|
|
}
|