diff --git a/application/plugins/usernotloginhidegoodsprice/Hook.php b/application/plugins/usernotloginhidegoodsprice/Hook.php index 092a559aa..bf0796372 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 32a8a9cc2..6ea5de002 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 84f835c60..6639761a0 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(); - $base['weight'] = PriceBeautify($base['weight']); - if(!empty($base)) - { - return DataReturn('操作成功', 0, $base); - } } + + // 是否有规格 + if(!empty($base)) + { + // 单位 .00 处理 + $base['weight'] = PriceBeautify($base['weight']); + + // 商品处理前钩子 + $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 $ret; + } + + // 返回成功 + return DataReturn('操作成功', 0, $base); + } + return DataReturn('没有相关规格', -100); } diff --git a/application/tags.php b/application/tags.php index 634345bd2..37531d749 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', ),