下订单规格图片优化
parent
3830dc103e
commit
7cac1f6a3e
|
|
@ -91,6 +91,17 @@ class BuyService
|
|||
return $goods_base;
|
||||
}
|
||||
|
||||
// 获取商品规格图片
|
||||
if(!empty($spec))
|
||||
{
|
||||
$images = self::BuyGoodsSpecImages($goods_id, $spec);
|
||||
if(!empty($images))
|
||||
{
|
||||
$goods['images'] = $images;
|
||||
$goods['images_old'] = ResourcesService::AttachmentPathViewHandle($images);
|
||||
}
|
||||
}
|
||||
|
||||
// 添加购物车
|
||||
$data = [
|
||||
'user_id' => $params['user']['id'],
|
||||
|
|
@ -181,7 +192,7 @@ class BuyService
|
|||
$where = (!empty($params['where']) && is_array($params['where'])) ? $params['where'] : [];
|
||||
$where['c.user_id'] = $params['user']['id'];
|
||||
|
||||
$field = 'c.*, g.title, g.images, g.inventory_unit, g.is_shelves, g.is_delete_time, g.buy_min_number, g.buy_max_number, g.model';
|
||||
$field = 'c.*, g.inventory_unit, g.is_shelves, g.is_delete_time, g.buy_min_number, g.buy_max_number, g.model';
|
||||
$data = Db::name('Cart')->alias('c')->join(['__GOODS__'=>'g'], 'g.id=c.goods_id')->where($where)->field($field)->select();
|
||||
|
||||
|
||||
|
|
@ -412,10 +423,22 @@ class BuyService
|
|||
$ret['data'][0]['spec_weight'] = $goods_base['data']['spec_base']['weight'];
|
||||
$ret['data'][0]['spec_coding'] = $goods_base['data']['spec_base']['coding'];
|
||||
$ret['data'][0]['spec_barcode'] = $goods_base['data']['spec_base']['barcode'];
|
||||
$ret['data'][0]['extends'] = $goods_base['data']['spec_base']['extends'];
|
||||
} else {
|
||||
return $goods_base;
|
||||
}
|
||||
|
||||
// 获取商品规格图片
|
||||
if(!empty($ret['data'][0]['spec']))
|
||||
{
|
||||
$images = self::BuyGoodsSpecImages($ret['data'][0]['goods_id'], $ret['data'][0]['spec']);
|
||||
if(!empty($images))
|
||||
{
|
||||
$ret['data'][0]['images'] = $images;
|
||||
$ret['data'][0]['images_old'] = ResourcesService::AttachmentPathViewHandle($images);
|
||||
}
|
||||
}
|
||||
|
||||
// 数量/小计
|
||||
$ret['data'][0]['stock'] = $params['stock'];
|
||||
$ret['data'][0]['total_price'] = $params['stock']* ((float) $ret['data'][0]['price']);
|
||||
|
|
@ -462,6 +485,52 @@ class BuyService
|
|||
return self::CartList($params);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取规格图片
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2019-08-02
|
||||
* @desc description
|
||||
* @param [int] $goods_id [商品id]
|
||||
* @param [string] $spec [图片地址或空字符串]
|
||||
*/
|
||||
public static function BuyGoodsSpecImages($goods_id, $spec)
|
||||
{
|
||||
if(!empty($spec))
|
||||
{
|
||||
$data = Db::name('GoodsSpecType')->where(['goods_id'=>$goods_id])->field('name,value')->select();
|
||||
if(!empty($data))
|
||||
{
|
||||
$spec_images = [];
|
||||
foreach($data as $v)
|
||||
{
|
||||
if(!empty($v['value']))
|
||||
{
|
||||
foreach(json_decode($v['value'], true) as $vs)
|
||||
{
|
||||
if(!empty($vs['images']))
|
||||
{
|
||||
$spec_images[$v['name']][$vs['name']] = $vs['images'];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if(!empty($spec_images))
|
||||
{
|
||||
foreach($spec as $v)
|
||||
{
|
||||
if(array_key_exists($v['type'], $spec_images) && array_key_exists($v['value'], $spec_images[$v['type']]))
|
||||
{
|
||||
return $spec_images[$v['type']][$v['value']];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return '';
|
||||
}
|
||||
|
||||
/**
|
||||
* 下订单购物车删除
|
||||
* @author Devil
|
||||
|
|
|
|||
Loading…
Reference in New Issue