fix(商品): 推荐与 DIY 商品列表列名对齐中台表并拼接图片域名

groom 指定/分类/标签、热销榜单、DIY 五处 field 仍写旧表列名(store_name/store_info/activity)必炸 1054,统一改 name/intro 别名并删 activity;推荐商品图片出口拼站点域名
This commit is contained in:
吴昊天 2026-10-14 18:04:39 +08:00
parent 3a93ef5d91
commit a3e930d63d
3 changed files with 12 additions and 8 deletions

View File

@ -338,7 +338,7 @@ class CenterProductDao extends BaseDao implements ProductQueryInterface
$where['is_show'] = 1;
$where['is_del'] = 0;
return $this->search($where)->with(['couponId', 'star'])
->field(['id', 'image', 'store_name', 'store_info', 'cate_id', 'price', 'original_price as ot_price', 'IFNULL(sales,0) + IFNULL(virtual_sales,0) as sales', 'unit_name', 'sort_order as sort', 'activity', 'stock'])
->field(['id', 'image', 'name as store_name', 'intro as store_info', 'cate_id', 'price', 'vip_price', 'original_price as ot_price', 'IFNULL(sales,0) + IFNULL(virtual_sales,0) as sales', 'unit_name', 'sort_order as sort', 'stock'])
->when($num, function ($query) use ($num) {
$query->limit($num);
})
@ -385,7 +385,7 @@ class CenterProductDao extends BaseDao implements ProductQueryInterface
$where['is_show'] = 1;
$where['is_del'] = 0;
// is_hot 字段已删除,热销榜单直接按销量排序
return $this->search($where)->field(['IFNULL(sales,0) + IFNULL(virtual_sales,0) as sales', 'store_name', 'image', 'id', 'price', 'original_price as ot_price', 'stock'])
return $this->search($where)->field(['IFNULL(sales,0) + IFNULL(virtual_sales,0) as sales', 'name as store_name', 'image', 'id', 'price', 'original_price as ot_price', 'stock'])
->when($page && $limit, function ($query) use ($page, $limit) {
$query->page($page, $limit);
})

View File

@ -88,17 +88,17 @@ class DiyProServices extends BaseService
switch ($typeConfig) {
case 1://指定商品
$where['ids'] = $item['goodsList']['ids'] ?? [];
$item['goodsList']['list'] = $productServices->getSearchList($where, 0, 0, ['id,store_name,cate_id,image,IFNULL(sales, 0) + IFNULL(virtual_sales, 0) as sales,price,stock,activity,original_price as ot_price,spec_type,recommend_image,unit_name,is_vip,vip_price']);
$item['goodsList']['list'] = $productServices->getSearchList($where, 0, 0, ['id,name as store_name,cate_id,image,IFNULL(sales, 0) + IFNULL(virtual_sales, 0) as sales,price,stock,original_price as ot_price,spec_type,recommend_image,unit_name,is_vip,vip_price']);
break;
case 3://指定分类
$cateIds = $item['classList']['classVal'] ?? [];
if ($cateIds) $where['cate_id'] = $cateIds;
$item['productList']['list'] = $productServices->getSearchList($where, 0, $num, ['id,store_name,cate_id,image,IFNULL(sales, 0) + IFNULL(virtual_sales, 0) as sales,price,stock,activity,original_price as ot_price,spec_type,recommend_image,unit_name,is_vip,vip_price']);
$item['productList']['list'] = $productServices->getSearchList($where, 0, $num, ['id,name as store_name,cate_id,image,IFNULL(sales, 0) + IFNULL(virtual_sales, 0) as sales,price,stock,original_price as ot_price,spec_type,recommend_image,unit_name,is_vip,vip_price']);
break;
case 4://商品标签
$storeLabelIds = $item['goodsLabel']['activeValue'] ?? [];
if ($storeLabelIds) $where['store_label_id'] = $storeLabelIds;
$item['productList']['list'] = $productServices->getSearchList($where, 0, $num, ['id,store_name,cate_id,image,IFNULL(sales, 0) + IFNULL(virtual_sales, 0) as sales,price,stock,activity,original_price as ot_price,spec_type,recommend_image,unit_name,is_vip,vip_price']);
$item['productList']['list'] = $productServices->getSearchList($where, 0, $num, ['id,name as store_name,cate_id,image,IFNULL(sales, 0) + IFNULL(virtual_sales, 0) as sales,price,stock,original_price as ot_price,spec_type,recommend_image,unit_name,is_vip,vip_price']);
break;
}
break;
@ -126,7 +126,7 @@ class DiyProServices extends BaseService
}
if ($selectValue == 1 && isset($tabValue['goodsList']['ids']) && count($tabValue['goodsList']['ids'])) {//手动选商品
$where['ids'] = $tabValue['goodsList']['ids'];
$tabValue['goodsList']['list'] = $productServices->getSearchList($where, 0, 0, ['id,store_name,cate_id,image,IFNULL(sales, 0) + IFNULL(virtual_sales, 0) as sales,price,stock,activity,original_price as ot_price,spec_type,recommend_image,unit_name,is_vip,vip_price']);
$tabValue['goodsList']['list'] = $productServices->getSearchList($where, 0, 0, ['id,name as store_name,cate_id,image,IFNULL(sales, 0) + IFNULL(virtual_sales, 0) as sales,price,stock,original_price as ot_price,spec_type,recommend_image,unit_name,is_vip,vip_price']);
} elseif ((isset($tabValue['selectConfig']['activeValue']) && $tabValue['selectConfig']['activeValue']) || (isset($tabValue['goodsLabel']['activeValue']) && $tabValue['goodsLabel']['activeValue'])) {//选分类 、标签
$where['cate_id'] = $tabValue['selectConfig']['activeValue'] ?? 0;
$storeLabelIds = $tabValue['goodsLabel']['activeValue'] ?? [];
@ -135,7 +135,7 @@ class DiyProServices extends BaseService
}
$where['is_show'] = 1;
$where['is_del'] = 0;
$tabValue['goodsList']['list'] = $productServices->getSearchList($where, 0, $num, ['id,store_name,cate_id,image,IFNULL(sales, 0) + IFNULL(virtual_sales, 0) as sales,price,stock,activity,original_price as ot_price,spec_type,recommend_image,unit_name,is_vip,vip_price']);
$tabValue['goodsList']['list'] = $productServices->getSearchList($where, 0, $num, ['id,name as store_name,cate_id,image,IFNULL(sales, 0) + IFNULL(virtual_sales, 0) as sales,price,stock,original_price as ot_price,spec_type,recommend_image,unit_name,is_vip,vip_price']);
}
}
$item['tabConfig']['list'] = $list;

View File

@ -3140,7 +3140,11 @@ class CenterProductServices extends BaseService
} elseif ($field === 'is_vip') {
$where['is_vip'] = 1;
}
return $this->dao->getRecommendProduct($where, is_string($field) ? $field : '', $num, 0, 0);
$list = $this->dao->getRecommendProduct($where, is_string($field) ? $field : '', $num, 0, 0);
foreach ($list as &$item) {
$item['image'] = set_file_url($item['image']);
}
return $list;
}
/**