From c4213fc6aceabfc950f91e3249571cbb1c3f7acf Mon Sep 17 00:00:00 2001 From: gongfuxiang Date: Wed, 1 Mar 2023 10:48:46 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=86=E8=8A=82=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/admin/form/Useraddress.php | 9 +++-- app/admin/view/default/goods/module/info.html | 8 ++-- .../default/goodsbrowse/module/goods.html | 8 ++-- .../view/default/goodscart/module/goods.html | 8 ++-- .../default/goodscomments/module/goods.html | 8 ++-- .../view/default/goodsfavor/module/goods.html | 8 ++-- app/install/view/index/index.html | 2 +- app/install/view/public/footer.html | 7 +++- app/install/view/public/header_nav.html | 7 +++- app/service/BuyService.php | 26 +++---------- app/service/SearchService.php | 2 +- app/service/WarehouseGoodsService.php | 38 ++++++++++++------- 12 files changed, 73 insertions(+), 58 deletions(-) diff --git a/app/admin/form/Useraddress.php b/app/admin/form/Useraddress.php index 3c14b4527..9e769a69f 100644 --- a/app/admin/form/Useraddress.php +++ b/app/admin/form/Useraddress.php @@ -41,10 +41,11 @@ class UserAddress return [ // 基础配置 'base' => [ - 'key_field' => 'id', - 'is_search' => 1, - 'is_delete' => 1, - 'is_middle' => 0, + 'key_field' => 'id', + 'is_search' => 1, + 'is_delete' => 1, + 'is_middle' => 0, + 'is_data_export_excel' => 1, ], // 表单配置 'form' => [ diff --git a/app/admin/view/default/goods/module/info.html b/app/admin/view/default/goods/module/info.html index 9a2ed2a8d..70873102e 100644 --- a/app/admin/view/default/goods/module/info.html +++ b/app/admin/view/default/goods/module/info.html @@ -1,9 +1,11 @@ {{if !empty($module_data)}}
- - - + {{if !empty($module_data['images'])}} + + + + {{/if}} {{$module_data.title}} {{if !empty($module_data['simple_desc'])}}

{{$module_data.simple_desc}}

diff --git a/app/admin/view/default/goodsbrowse/module/goods.html b/app/admin/view/default/goodsbrowse/module/goods.html index 1410a4ec2..773c73739 100644 --- a/app/admin/view/default/goodsbrowse/module/goods.html +++ b/app/admin/view/default/goodsbrowse/module/goods.html @@ -1,9 +1,11 @@ {{if !empty($module_data)}}
- - - + {{if !empty($module_data['images'])}} + + + + {{/if}} {{$module_data.title}} {{if !empty($module_data['simple_desc'])}}

{{$module_data.simple_desc}}

diff --git a/app/admin/view/default/goodscart/module/goods.html b/app/admin/view/default/goodscart/module/goods.html index 119185eea..ba65c46b3 100644 --- a/app/admin/view/default/goodscart/module/goods.html +++ b/app/admin/view/default/goodscart/module/goods.html @@ -1,9 +1,11 @@ {{if !empty($module_data)}}
- - - + {{if !empty($module_data['images'])}} + + + + {{/if}} {{$module_data.title}} {{if !empty($module_data['simple_desc'])}}

{{$module_data.simple_desc}}

diff --git a/app/admin/view/default/goodscomments/module/goods.html b/app/admin/view/default/goodscomments/module/goods.html index c5de92dc2..fa37ca364 100644 --- a/app/admin/view/default/goodscomments/module/goods.html +++ b/app/admin/view/default/goodscomments/module/goods.html @@ -2,9 +2,11 @@ {{if !empty($module_data)}} {{if !empty($module_data['goods'])}}
- - {{$module_data.goods.title}} - + {{if !empty($module_data['goods']['images'])}} + + {{$module_data.goods.title}} + + {{/if}} {{$module_data.goods.title}}

{{$currency_symbol}}{{$module_data.goods.price}}

diff --git a/app/admin/view/default/goodsfavor/module/goods.html b/app/admin/view/default/goodsfavor/module/goods.html index 1410a4ec2..773c73739 100644 --- a/app/admin/view/default/goodsfavor/module/goods.html +++ b/app/admin/view/default/goodsfavor/module/goods.html @@ -1,9 +1,11 @@ {{if !empty($module_data)}}
- - - + {{if !empty($module_data['images'])}} + + + + {{/if}} {{$module_data.title}} {{if !empty($module_data['simple_desc'])}}

{{$module_data.simple_desc}}

diff --git a/app/install/view/index/index.html b/app/install/view/index/index.html index ad37ba006..615de06aa 100755 --- a/app/install/view/index/index.html +++ b/app/install/view/index/index.html @@ -14,7 +14,7 @@
  • 1. 被授权人有权利使用、复制、修改、合并、出版发行、散布、再授权及贩售软体及软体的副本。
  • 2. 被授权人可根据程式的需要修改授权条款为适当的内容。
  • 3. 在软件和软件的所有副本中都必须包含版权声明和许可声明。
  • -
  • 协议地址:https://ask.shopxo.net/article/15
  • +
  • 协议地址:https://license.shopxo.net/
  • 英文原文:https://opensource.org/licenses/mit-license.php
  • diff --git a/app/install/view/public/footer.html b/app/install/view/public/footer.html index 846d2a93f..a36e5996a 100755 --- a/app/install/view/public/footer.html +++ b/app/install/view/public/footer.html @@ -13,5 +13,8 @@ - - \ No newline at end of file + + + + + \ No newline at end of file diff --git a/app/install/view/public/header_nav.html b/app/install/view/public/header_nav.html index c64257008..0f5b2c020 100755 --- a/app/install/view/public/header_nav.html +++ b/app/install/view/public/header_nav.html @@ -18,4 +18,9 @@
  • 安装完成
  • -
    \ No newline at end of file +
    + \ No newline at end of file diff --git a/app/service/BuyService.php b/app/service/BuyService.php index 7b0ca77eb..ce4468271 100755 --- a/app/service/BuyService.php +++ b/app/service/BuyService.php @@ -556,31 +556,17 @@ class BuyService } // 先判断规格的起购数、则再判断商品的起购数 - if(isset($v['spec_buy_min_number']) && $v['spec_buy_min_number'] > 0) + $min = (isset($v['spec_buy_min_number']) && $v['spec_buy_min_number'] > 0) ? $v['spec_buy_min_number'] : (isset($v['buy_min_number']) ? $v['buy_min_number'] : 0); + if($min > 0 && $v['stock'] < $min) { - if($v['stock'] < $v['spec_buy_min_number']) - { - return DataReturn(MyLang('common_service.buy.goods_buy_min_error_tips').'['.$v['title'].']['.$v['stock'].'<'.$v['spec_buy_min_number'].']', -1); - } - } else { - if(isset($v['buy_min_number']) && $v['buy_min_number'] > 1 && $v['stock'] < $v['buy_min_number']) - { - return DataReturn(MyLang('common_service.buy.goods_buy_min_error_tips').'['.$v['title'].']['.$v['stock'].'<'.$v['buy_min_number'].']', -1); - } + return DataReturn(MyLang('common_service.buy.goods_buy_min_error_tips').'['.$v['title'].']['.$v['stock'].'<'.$min.']', -1); } // 先判断规格的限购数、则再判断商品的限购数 - if(isset($v['spec_buy_max_number']) && $v['spec_buy_max_number'] > 0) + $max = (isset($v['spec_buy_max_number']) && $v['spec_buy_max_number'] > 0) ? $v['spec_buy_max_number'] : (isset($v['buy_max_number']) ? $v['buy_max_number'] : 0); + if($max > 0 && $v['stock'] > $max) { - if($v['stock'] > $v['spec_buy_max_number']) - { - return DataReturn(MyLang('common_service.buy.goods_buy_max_error_tips').'['.$v['title'].']['.$v['stock'].'>'.$v['spec_buy_max_number'].']', -1); - } - } else { - if(isset($v['buy_max_number']) && $v['buy_max_number'] > 0 && $v['stock'] > $v['buy_max_number']) - { - return DataReturn(MyLang('common_service.buy.goods_buy_max_error_tips').'['.$v['title'].']['.$v['stock'].'>'.$v['buy_max_number'].']', -1); - } + return DataReturn(MyLang('common_service.buy.goods_buy_max_error_tips').'['.$v['title'].']['.$v['stock'].'>'.$max.']', -1); } // 是否支持购物车操作 diff --git a/app/service/SearchService.php b/app/service/SearchService.php index f24e488ef..590f53fa2 100755 --- a/app/service/SearchService.php +++ b/app/service/SearchService.php @@ -783,7 +783,7 @@ class SearchService if(!empty($bid)) { $data_params = [ - 'field' => 'id,name,describe,logo,website_url', + 'field' => 'id,name,describe,logo,website_url,seo_title,seo_keywords,seo_desc', 'where' => [ ['id', '=', $bid] ], diff --git a/app/service/WarehouseGoodsService.php b/app/service/WarehouseGoodsService.php index 7b7e44266..ec6dfccea 100644 --- a/app/service/WarehouseGoodsService.php +++ b/app/service/WarehouseGoodsService.php @@ -788,31 +788,34 @@ class WarehouseGoodsService * @version 1.0.0 * @date 2020-07-16 * @desc description - * @param [int] $goods_id [商品id] + * @param [int] $goods_id [商品id] + * @param [array] $params [输入参数] */ - public static function GoodsSpecInventorySync($goods_id) + public static function GoodsSpecInventorySync($goods_id, $params = []) { // 获取商品实际规格 - $res = GoodsService::GoodsSpecificationsActual($goods_id); - if(empty($res['value'])) + $spec = GoodsService::GoodsSpecificationsActual($goods_id); + if(empty($spec['value'])) { // 没有规格则读取默认规格数据 - $res['value'][] = [ - 'base_id' => Db::name('GoodsSpecBase')->where(['goods_id'=>$goods_id])->value('id'), - 'value' => 'default', + $spec['value'] = [ + [ + 'base_id' => Db::name('GoodsSpecBase')->where(['goods_id'=>$goods_id])->value('id'), + 'value' => 'default', + ] ]; } // 商品规格库存 $inventory_total = 0; - foreach($res['value'] as $v) + foreach($spec['value'] as &$v) { - $inventory = self::WarehouseGoodsSpecInventory($goods_id, str_replace(GoodsService::$goods_spec_to_string_separator, '', $v['value'])); - if(Db::name('GoodsSpecBase')->where(['id'=>$v['base_id'], 'goods_id'=>$goods_id])->update(['inventory'=>$inventory]) === false) + $v['inventory'] = self::WarehouseGoodsSpecInventory($goods_id, str_replace(GoodsService::$goods_spec_to_string_separator, '', $v['value'])); + if(Db::name('GoodsSpecBase')->where(['id'=>$v['base_id'], 'goods_id'=>$goods_id])->update(['inventory'=>$v['inventory']]) === false) { return DataReturn(MyLang('common_service.warehousegoods.goods_spec_sync_inventory_fail_tips'), -20); } - $inventory_total += $inventory; + $inventory_total += $v['inventory']; } // 商品库存 @@ -828,9 +831,12 @@ class WarehouseGoodsService // 商品仓库库存修改钩子 $hook_name = 'plugins_service_warehouse_goods_inventory_sync'; $ret = EventReturnHandle(MyEventTrigger($hook_name, [ - 'hook_name' => $hook_name, - 'is_backend' => true, - 'goods_id' => $goods_id + 'hook_name' => $hook_name, + 'is_backend' => true, + 'goods_id' => $goods_id, + 'inventory_total' => $inventory_total, + 'spec' => $spec, + 'params' => $params, ])); if(isset($ret['code']) && $ret['code'] != 0) { @@ -938,9 +944,11 @@ class WarehouseGoodsService $ret = EventReturnHandle(MyEventTrigger($hook_name, [ 'hook_name' => $hook_name, 'is_backend' => true, + 'warehouse_id' => $warehouse_id, 'order_id' => $order_id, 'goods_id' => $goods_id, 'spec' => $spec, + 'md5_key' => $md5_key, 'buy_number' => $buy_number, ])); if(isset($ret['code']) && $ret['code'] != 0) @@ -1011,9 +1019,11 @@ class WarehouseGoodsService $ret = EventReturnHandle(MyEventTrigger($hook_name, [ 'hook_name' => $hook_name, 'is_backend' => true, + 'warehouse_id' => $warehouse_id, 'order_id' => $order_id, 'goods_id' => $goods_id, 'spec' => $spec, + 'md5_key' => $md5_key, 'buy_number' => $buy_number, ])); if(isset($ret['code']) && $ret['code'] != 0)