diff --git a/application/plugins/usernotloginhidegoodsprice/Hook.php b/application/plugins/usernotloginhidegoodsprice/Hook.php index 092a559aaf9b0b2f806cd44ee4df3ea494c0de21..bf079637273e50a12dcc62cc07a03e3fb72c611e 100644 --- a/application/plugins/usernotloginhidegoodsprice/Hook.php +++ b/application/plugins/usernotloginhidegoodsprice/Hook.php @@ -85,32 +85,54 @@ class Hook extends Controller // 销售价 $price_placeholder = isset($ret['data']['price_placeholder']) ? $ret['data']['price_placeholder'] : ''; - // 商品原价 - if(isset($params['goods']['original_price'])) + switch($params['hook_name']) { - $params['goods']['original_price'] = $original_price_placeholder; - } - if(isset($params['goods']['min_original_price'])) - { - $params['goods']['min_original_price'] = $original_price_placeholder; - } - if(isset($params['goods']['max_original_price'])) - { - $params['goods']['max_original_price'] = $original_price_placeholder; - } + // 商品数据处理前 + case 'plugins_service_goods_handle_end' : + // 商品原价 + if(isset($params['goods']['original_price'])) + { + $params['goods']['original_price'] = $original_price_placeholder; + } + if(isset($params['goods']['min_original_price'])) + { + $params['goods']['min_original_price'] = $original_price_placeholder; + } + if(isset($params['goods']['max_original_price'])) + { + $params['goods']['max_original_price'] = $original_price_placeholder; + } - // 销售价 - if(isset($params['goods']['price'])) - { - $params['goods']['price'] = $price_placeholder; - } - if(isset($params['goods']['min_price'])) - { - $params['goods']['min_price'] = $price_placeholder; - } - if(isset($params['goods']['max_price'])) - { - $params['goods']['max_price'] = $price_placeholder; + // 销售价 + if(isset($params['goods']['price'])) + { + $params['goods']['price'] = $price_placeholder; + } + if(isset($params['goods']['min_price'])) + { + $params['goods']['min_price'] = $price_placeholder; + } + if(isset($params['goods']['max_price'])) + { + $params['goods']['max_price'] = $price_placeholder; + } + break; + + // 商品规格基础数据 + case 'plugins_service_goods_spec_base' : + if(isset($params['spec_base']['original_price'])) + { + $params['spec_base']['original_price'] = $original_price_placeholder; + } + if(isset($params['spec_base']['price'])) + { + $params['spec_base']['price'] = $price_placeholder; + } + break; + + // 默认 + default : + return DataReturn('无需处理', 0); } return DataReturn('处理成功', 0); diff --git a/application/plugins/usernotloginhidegoodsprice/config.json b/application/plugins/usernotloginhidegoodsprice/config.json index 32a8a9cc2bd33e57a50e0241773381dd81d1343c..6ea5de00214e495643852f5ecb8e026c96986666 100644 --- a/application/plugins/usernotloginhidegoodsprice/config.json +++ b/application/plugins/usernotloginhidegoodsprice/config.json @@ -21,7 +21,10 @@ "is_home":false }, "hook":{ - "plugins_service_goods_handle_begin":[ + "plugins_service_goods_handle_end":[ + "app\\plugins\\usernotloginhidegoodsprice\\Hook" + ], + "plugins_service_goods_spec_base":[ "app\\plugins\\usernotloginhidegoodsprice\\Hook" ] } diff --git a/application/service/GoodsService.php b/application/service/GoodsService.php index 84f835c605f8f3e564c4fd94271dc73c19bdfcb8..6639761a06b3edba9932240dfffa16cf8e04fe30 100755 --- a/application/service/GoodsService.php +++ b/application/service/GoodsService.php @@ -1802,22 +1802,37 @@ class GoodsService if(!empty($base_id)) { $base = Db::name('GoodsSpecBase')->find($base_id); - $base['weight'] = PriceBeautify($base['weight']); - if(!empty($base)) - { - return DataReturn('操作成功', 0, $base); - } } } } } else { $base = Db::name('GoodsSpecBase')->where($where)->find(); + } + + // 是否有规格 + if(!empty($base)) + { + // 单位 .00 处理 $base['weight'] = PriceBeautify($base['weight']); - if(!empty($base)) + + // 商品处理前钩子 + $hook_name = 'plugins_service_goods_spec_base'; + $ret = Hook::listen($hook_name, [ + 'hook_name' => $hook_name, + 'is_backend' => true, + 'params' => &$params, + 'spec_base' => &$base, + 'goods_id' => $goods_id + ]); + if(isset($ret['code']) && $ret['code'] != 0) { - return DataReturn('操作成功', 0, $base); + return $ret; } + + // 返回成功 + return DataReturn('操作成功', 0, $base); } + return DataReturn('没有相关规格', -100); } diff --git a/application/tags.php b/application/tags.php index 634345bd28f524c4262e220f02bba36bba26ede9..37531d749629ddc9da85b37784cbbb2bf5b266d0 100755 --- a/application/tags.php +++ b/application/tags.php @@ -60,7 +60,11 @@ return array ( 0 => 'app\\plugins\\commonrightnavigation\\Hook', 1 => 'app\\plugins\\commononlineservice\\Hook', ), - 'plugins_service_goods_handle_begin' => + 'plugins_service_goods_handle_end' => + array ( + 0 => 'app\\plugins\\usernotloginhidegoodsprice\\Hook', + ), + 'plugins_service_goods_spec_base' => array ( 0 => 'app\\plugins\\usernotloginhidegoodsprice\\Hook', ),