diff --git a/app/admin/view/default/goods/spec_extends.html b/app/admin/view/default/goods/spec_extends.html index f8887b655..f28fff6d1 100644 --- a/app/admin/view/default/goods/spec_extends.html +++ b/app/admin/view/default/goods/spec_extends.html @@ -134,7 +134,7 @@ {{/foreach}}
- +
{{else /}} {{include file="public/not_data" /}} diff --git a/app/layout/service/BaseLayout.php b/app/layout/service/BaseLayout.php index 20496b2eb..050cedfae 100644 --- a/app/layout/service/BaseLayout.php +++ b/app/layout/service/BaseLayout.php @@ -591,7 +591,12 @@ class BaseLayout case 'goods' : if(!empty($value) && !empty($value['id'])) { - $url = GoodsService::GoodsUrlCreate($value['id']); + // 商品处理 + $res = GoodsService::GoodsDataHandle([['goods_id'=>$value['id']]], ['data_key_field'=>'goods_id']); + if(!empty($res['data']) && !empty($res['data'][0]) && !empty($res['data'][0]['goods_url'])) + { + $url = $res['data'][0]['goods_url']; + } } break; diff --git a/app/service/BuyService.php b/app/service/BuyService.php index 6b023ef99..62eda0821 100755 --- a/app/service/BuyService.php +++ b/app/service/BuyService.php @@ -266,6 +266,9 @@ class BuyService { if(!empty($data)) { + // 商品处理 + $res = GoodsService::GoodsDataHandle($data, ['data_key_field'=>'goods_id']); + $data = $res['data']; foreach($data as &$v) { // 规格 @@ -297,16 +300,7 @@ class BuyService $v['extends'] = ''; } - // 无封面图片 - if(empty($v['images'])) - { - $v['images'] = ResourcesService::AttachmentPathHandle(GoodsService::GoodsImagesCoverHandle($v['goods_id'])); - } - // 基础信息 - $v['goods_url'] = GoodsService::GoodsUrlCreate($v['goods_id']); - $v['images_old'] = $v['images']; - $v['images'] = ResourcesService::AttachmentPathViewHandle($v['images']); $v['total_price'] = PriceNumberFormat($v['stock']* $v['price']); $v['buy_max_number'] = ($v['buy_max_number'] <= 0) ? $v['inventory']: $v['buy_max_number']; diff --git a/app/service/GoodsService.php b/app/service/GoodsService.php index 59d929dd7..8123069a9 100755 --- a/app/service/GoodsService.php +++ b/app/service/GoodsService.php @@ -3065,8 +3065,16 @@ class GoodsService */ public static function GoodsSearchList($params = []) { + // 分页 + $page = max(1, isset($params['page']) ? intval($params['page']) : 1); + $page_size = empty($params['page_size']) ? 20 : min(intval($params['page_size']), 100); + $page_start = intval(($page-1)*$page_size); + // 返回格式 $result = [ + 'page' => $page, + 'page_start' => $page_start, + 'page_size' => $page_size, 'page_total' => 0, 'total' => 0, 'data' => [], @@ -3079,11 +3087,8 @@ class GoodsService // 排序 $order_by = empty($params['order_by']) ? 'access_count desc, sales_count desc, id desc' : $params['order_by']; - // 分页计算 + // 指定字段 $field = empty($params['field']) ? '*' : $params['field']; - $page = max(1, isset($params['page']) ? intval($params['page']) : 1); - $m = empty($params['m']) ? 0 : intval($params['m']); - $n = empty($params['n']) ? 20 : intval($params['n']); // 商品搜索列表读取前钩子 $hook_name = 'plugins_service_goods_search_list_begin'; @@ -3095,9 +3100,7 @@ class GoodsService 'where_keywords' => &$where_keywords, 'field' => &$field, 'order_by' => &$order_by, - 'page' => &$page, - 'm' => &$m, - 'n' => &$n, + 'page' => &$result['page'], ]); // 获取商品总数 @@ -3111,11 +3114,11 @@ class GoodsService // 查询数据 $goods = GoodsService::GoodsDataHandle(Db::name('Goods')->field($field)->where($where_base)->where(function($query) use($where_keywords) { $query->whereOr($where_keywords); - })->order($order_by)->limit($m, $n)->select()->toArray()); + })->order($order_by)->limit($result['page_start'], $result['page_size'])->select()->toArray()); // 返回数据 $result['data'] = $goods['data']; - $result['page_total'] = ceil($result['total']/$n); + $result['page_total'] = ceil($result['total']/$result['page_size']); } return DataReturn('处理成功', 0, $result); } diff --git a/app/service/OrderService.php b/app/service/OrderService.php index fd8ec7007..297036273 100755 --- a/app/service/OrderService.php +++ b/app/service/OrderService.php @@ -1540,23 +1540,19 @@ class OrderService */ public static function OrderItemList($order_id, $order_model, $status, $pay_status, $is_orderaftersale = 0) { - $items = Db::name('OrderDetail')->where(['order_id'=>$order_id])->select()->toArray(); - if(!empty($items)) + $data = Db::name('OrderDetail')->where(['order_id'=>$order_id])->select()->toArray(); + if(!empty($data)) { // 虚拟商品取货码 - $fictitious_value_list = Db::name('OrderFictitiousValue')->where(['order_detail_id'=>array_column($items, 'id')])->column('value', 'order_detail_id'); + $fictitious_value_list = Db::name('OrderFictitiousValue')->where(['order_detail_id'=>array_column($data, 'id')])->column('value', 'order_detail_id'); - foreach($items as &$vs) + // 商品处理 + $res = GoodsService::GoodsDataHandle($data, ['data_key_field'=>'goods_id']); + $data = $res['data']; + + foreach($data as &$vs) { - // 商品是否无封面图片 - if(empty($vs['images'])) - { - $vs['images'] = ResourcesService::AttachmentPathHandle(GoodsService::GoodsImagesCoverHandle($vs['goods_id'])); - } - - // 商品信息 - $vs['images'] = ResourcesService::AttachmentPathViewHandle($vs['images']); - $vs['goods_url'] = GoodsService::GoodsUrlCreate($vs['goods_id']); + // 总价 $vs['total_price'] = PriceNumberFormat($vs['buy_number']*$vs['price']); // 规格 @@ -1590,7 +1586,7 @@ class OrderService } } } - return $items; + return $data; } /** diff --git a/app/service/SearchService.php b/app/service/SearchService.php index 0d42eaa49..b90d558c3 100755 --- a/app/service/SearchService.php +++ b/app/service/SearchService.php @@ -160,7 +160,7 @@ class SearchService $where_keywords = []; if(!empty($params['wd'])) { - $keywords_fields = 'g.title|g.simple_desc'; + $keywords_fields = 'g.title|g.simple_desc|g.model'; if(MyC('home_search_is_keywords_seo_fields') == 1) { $keywords_fields .= '|g.seo_title|g.seo_keywords|g.seo_desc'; diff --git a/public/static/upload/images/slide/2022/05/27/1653645476953808.jpg b/public/static/upload/images/slide/2022/05/27/1653645476953808.jpg new file mode 100644 index 000000000..49c819e78 Binary files /dev/null and b/public/static/upload/images/slide/2022/05/27/1653645476953808.jpg differ diff --git a/public/static/upload/images/slide/2022/05/27/1653646660511503.jpg b/public/static/upload/images/slide/2022/05/27/1653646660511503.jpg new file mode 100644 index 000000000..fbba921f5 Binary files /dev/null and b/public/static/upload/images/slide/2022/05/27/1653646660511503.jpg differ