全部
常见问题
产品动态
精选推荐

门店平台商品分类显示异常

管理 管理 编辑 删除

问题说明:门店平台商品分类筛选后列表头部数据显示异常

19327202411041627329677.png

4d41b20241104162742394.png

修改文件:app\dao\product\product\StoreProductDao

修改方法:getCount()

public function getCount(array $where)
    {
        if (!empty($where['cate_id']) && is_array($where['cate_id']) || isset($where['store_cate_id']) && !empty($where['store_cate_id']) && is_array($where['store_cate_id'])) {
            if(isset($where['cate_id']) && empty($where['cate_id'])) unset($where['cate_id']);
            if(isset($where['store_cate_id']) && empty($where['store_cate_id'])) unset($where['store_cate_id']);
            if (isset($where['cate_id']) && is_array($where['cate_id']) && isset($where['store_cate_id']) && is_array($where['store_cate_id'])) {
                $cate_id = array_merge($where['cate_id'], $where['store_cate_id']);
            } elseif (isset($where['cate_id']) && !isset($where['store_cate_id'])) {
                $cate_id = $where['cate_id'] ?? [];
            } else {
                $cate_id = $where['store_cate_id'] ?? [];
            }
            return $this->getModel()->alias('a')
                ->join('store_product_relation r', 'r.product_id = a.id')
                ->when(isset($where['unit_name']) && $where['unit_name'] !== '', function ($query) use ($where) {
                    $query->where('a.unit_name', $where['unit_name']);
                })->when(isset($where['ids']) && $where['ids'], function ($query) use ($where) {
                    if (!isset($where['type'])) $query->where('a.id', 'in', $where['ids']);
                })->when(isset($where['not_ids']) && $where['not_ids'], function ($query) use ($where) {
                    $query->whereNotIn('a.id', $where['not_ids']);
                })->when(isset($where['pid']) && $where['pid'] !== '', function ($query) use ($where) {
                    $query->where('a.pid', $where['pid']);
                })->when(isset($where['relation_id']) && $where['relation_id'] !== '', function ($query) use ($where) {
                    $query->where('a.relation_id', $where['relation_id']);
                })->when(isset($where['status']) && '' !== $where['status'], function ($query) use ($where) {
                    $value = $where['status'];
                    switch ((int)$value) {
                        case -2://强制下架
                            $query->where(['a.is_verify' => -2]);
                            break;
                        case -1://审核未通过
                            $query->where(['a.is_verify' => -1]);
                            break;
                        case 0://待审核
                            $query->where(['a.is_verify' => 0, 'a.is_del' => 0]);
                            break;
                        case 1:
                            $query->where(['a.is_show' => 1, 'a.is_del' => 0]);
                            break;
                        case 2:
                            $query->where(['a.is_show' => 0, 'a.is_del' => 0]);
                            break;
                        case 3:
                            $query->where(['a.is_del' => 0]);
                            break;
                        case 4:
                            $query->where(['a.is_show' => 1, 'a.is_del' => 0, 'a.is_verify' => 1])->where(function ($query) {
                                $query->whereOr('a.stock', 0)->whereOr('a.is_sold', 1);
                            });
                            break;
                        case 5:
//							if (isset($data['store_stock']) && $data['store_stock']) {
//								$store_stock = $data['store_stock'];
//								$query->where(['a.is_show' => 1, 'a.is_del' => 0, 'a.is_verify' => 1, 'a.is_police' => 1])->where('a.stock', '<=', $store_stock)->where('a.stock', '>', 0);
//							} else {
                            $query->where(['a.is_show' => 1, 'a.is_del' => 0, 'a.is_verify' => 1, 'a.is_police' => 1])->where('a.stock', '>=', 0);
//							}
                            break;
                        case 6:
                            $query->where(['a.is_del' => 1]);
                            break;
                        case 7://回收站 & 下架商品
                            $query->where(function ($q) {
                                $q->where(['a.is_del' => 1])->whereOr('a.is_show', 0);
                            });
                            break;
                    };
                })->when(isset($where['pids']) && $where['pids'], function ($query) use ($where) {
                    if ((isset($where['priceOrder']) && $where['priceOrder'] != '') || (isset($where['salesOrder']) && $where['salesOrder'] != '')) {
                        $query->whereIn('a.pid', $where['pids']);
                    } else {
                        $query->whereIn('a.pid', $where['pids'])->orderField('pid', $where['pids'], 'asc');
                    }
                })->when(isset($where['not_pids']) && $where['not_pids'], function ($query) use ($where, $cate_id) {
                    $query->whereNotIn('a.pid', $where['not_pids']);
                })->where('r.type', 1)
                ->where('r.relation_id', 'IN', $cate_id)
                ->group('a.id')
                ->count('a.id');
            var_dump();
        } else {
            return $this->search($where)
                ->when(isset($where['unit_name']) && $where['unit_name'] !== '', function ($query) use ($where) {
                    $query->where('unit_name', $where['unit_name']);
                })->when(isset($where['ids']) && $where['ids'], function ($query) use ($where) {
                    if (!isset($where['type'])) $query->where('id', 'in', $where['ids']);
                })->when(isset($where['not_ids']) && $where['not_ids'], function ($query) use ($where) {
                    $query->whereNotIn('id', $where['not_ids']);
                })->when(isset($where['pids']) && $where['pids'], function ($query) use ($where) {
                    if ((isset($where['priceOrder']) && $where['priceOrder'] != '') || (isset($where['salesOrder']) && $where['salesOrder'] != '')) {
                        $query->whereIn('pid', $where['pids']);
                    } else {
                        $query->whereIn('pid', $where['pids'])->orderField('pid', $where['pids'], 'asc');
                    }
                })->when(isset($where['not_pids']) && $where['not_pids'], function ($query) use ($where) {
                    $query->whereNotIn('pid', $where['not_pids']);
                })->count();
        }
    }



请登录后查看

全 最后编辑于2024-11-04 16:29:28

快捷回复
回复
回复
回复({{post_count}}) {{!is_user ? '我的回复' :'全部回复'}}
排序 默认正序 回复倒序 点赞倒序

{{item.user_info.nickname ? item.user_info.nickname : item.user_name}} LV.{{ item.user_info.bbs_level }}

作者 管理员 企业

{{item.floor}}# 同步到gitee 已同步到gitee {{item.is_suggest == 1? '取消推荐': '推荐'}}
{{item.is_suggest == 1? '取消推荐': '推荐'}}
沙发 板凳 地板 {{item.floor}}#
{{item.user_info.title || '暂无简介'}}
附件

{{itemf.name}}

{{item.created_at}}  {{item.ip_address}}
{{item.like_count}}
{{item.showReply ? '取消回复' : '回复'}}
删除
回复
回复

{{itemc.user_info.nickname}}

{{itemc.user_name}}

回复 {{itemc.comment_user_info.nickname}}

附件

{{itemf.name}}

{{itemc.created_at}}
{{itemc.like_count}}
{{itemc.showReply ? '取消回复' : '回复'}}
删除
回复
回复
查看更多
443
{{like_count}}
{{collect_count}}
添加回复 ({{post_count}})

相关推荐

快速安全登录

使用微信扫码登录
{{item.label}} 加精
{{item.label}} {{item.label}} 板块推荐 常见问题 产品动态 精选推荐 首页头条 首页动态 首页推荐
取 消 确 定
回复
回复
问题:
问题自动获取的帖子内容,不准确时需要手动修改. [获取答案]
答案:
提交
bug 需求 取 消 确 定

微信登录/注册

切换手机号登录

{{ bind_phone ? '绑定手机' : '手机登录'}}

{{codeText}}
切换微信登录/注册
暂不绑定
CRMEB客服

CRMEB咨询热线 咨询热线

400-8888-794

微信扫码咨询

CRMEB开源商城下载 源码下载 CRMEB帮助文档 帮助文档
返回顶部 返回顶部
CRMEB客服