Просмотр исходного кода

fix(hd-商品展示): 补齐价格类型字段

- 活动商品读取时返回商品价格类型,默认兼容历史数据
- 首页关联商品查询及格式化结果保留价格类型
shizhongqi 1 день назад
Родитель
Сommit
65b7e5fa6d

+ 1 - 0
biz-hd/groupBuy/classes/GroupBuyGoodsClass.php

@@ -184,6 +184,7 @@ class GroupBuyGoodsClass extends BaseClass
                 'originPrice' => floatval($item['originPrice'] ?? 0),
                 'specName' => strval($item['specName'] ?? ''),
                 'realStock' => intval($item['realStock'] ?? $item['stock'] ?? 0),
+                'priceType' => 0,
             ];
             if ($refreshStock) {
                 $goods = GoodsClass::getById($row['goodsId'], true);

+ 4 - 1
biz-hd/homePageConfig/classes/HomePageModuleClass.php

@@ -293,6 +293,7 @@ class HomePageModuleClass
                     $row['name'] = strval($goods->name ?? $row['name']);
                     $row['cover'] = strval($goods->shortCover ?? ($goods->cover ?? $row['cover']));
                     $row['originPrice'] = floatval($goods->price ?? $row['originPrice']);
+                    $row['priceType'] = $goods->priceType;
                     if ($realStock < $row['stock'] && $row['status'] == 1) {
                         $row['status'] = 0;
                         $changed = true;
@@ -566,6 +567,7 @@ class HomePageModuleClass
                     //$row['name'] = strval($goods->name ?? $row['name']);
                     $row['cover'] = strval($goods->shortCover ?? ($goods->cover ?? $row['cover']));
                     $row['originPrice'] = floatval($goods->price ?? $row['originPrice']);
+                    $row['priceType'] = $goods->priceType;
                     if ($realStock < $row['stock'] && $row['status'] == 1) {
                         $row['status'] = 0;
                         $changed = true;
@@ -761,7 +763,7 @@ class HomePageModuleClass
         }
 
         // 注意:Base::getByIds 传入 $order 会走到未定义的 order() 方法而报错,这里统一取回后在 PHP 侧排序
-        $rows = GoodsClass::getByIds($goodsIds, null, null, 'id,name,price,stock,cover,sold,actualSold,status,delStatus,masterId,mainId,createTime');
+        $rows = GoodsClass::getByIds($goodsIds, null, null, 'id,name,price,priceType,stock,cover,sold,actualSold,status,delStatus,masterId,mainId,createTime');
         // 仅取当前门店、未删除、上架中的主规格商品
         $rows = array_values(array_filter($rows, function ($row) use ($mainId) {
             return intval($row['mainId'] ?? 0) === $mainId
@@ -820,6 +822,7 @@ class HomePageModuleClass
                 'id' => $id,
                 'name' => strval($row['name'] ?? ''),
                 'price' => floatval($row['price'] ?? 0),
+                'priceType' => intval($row['priceType'] ?? 0),
                 'stock' => intval($row['stock'] ?? 0),
                 'cover' => $cover,
                 'coverUrl' => $coverUrl,

+ 2 - 0
biz-hd/seckill/classes/SeckillGoodsClass.php

@@ -173,6 +173,7 @@ class SeckillGoodsClass extends BaseClass
                 'originPrice' => floatval($item['originPrice'] ?? 0),
                 'specName' => strval($item['specName'] ?? ''),
                 'realStock' => intval($item['realStock'] ?? $item['stock'] ?? 0),
+                'priceType' => 0,
             ];
             if ($refreshStock) {
                 $goods = GoodsClass::getById($row['goodsId'], true);
@@ -181,6 +182,7 @@ class SeckillGoodsClass extends BaseClass
                     $row['realStock'] = $realStock;
                     $row['cover'] = strval($goods->shortCover ?? ($goods->cover ?? $row['cover']));
                     $row['originPrice'] = floatval($goods->price ?? $row['originPrice']);
+                    $row['priceType'] = $goods->priceType;
                     if ($realStock < $row['stock'] && $row['status'] == 1) {
                         $row['status'] = 0;
                         self::updateById($row['id'], ['status' => 0]);