全部
常见问题
产品动态
精选推荐
功能建议

已处理 待处理 {{opt.name}}
已处理 待处理
分析中 已回复 待规划 {{opt.name}}
分析中 已回复 待规划
只查询有有效库存的商品。普通商品有编码时读取库存模块,无编码时沿用商品库存字段。sql语句错误

管理 管理 编辑 删除

package com.zbkj.service.service.impl;

public class ProductServiceImpl {

/**

    * 只查询有有效库存的商品。普通商品有编码时读取库存模块,无编码时沿用商品库存字段。

    */

   private void setEffectiveStockFilter(LambdaQueryWrapper<Product> lqw) {

       String normalProductStockSql = "((NOT EXISTS (SELECT 1 FROM eb_product_attr_value pav " +

               "WHERE pav.product_id = eb_product.id AND pav.type = 0 AND pav.marketing_type = 0 " +

               "AND pav.is_del = 0 AND pav.item_number IS NOT NULL AND TRIM(pav.item_number) <> '') " +

               "AND eb_product.stock > 0) " +

               "OR EXISTS (SELECT 1 FROM eb_product_attr_value pav " +

               "INNER JOIN eb_sku_stock ss ON ss.mer_id = eb_product.mer_id " +

               "AND ss.commodity_code COLLATE utf8mb4_general_ci " +

               "= TRIM(pav.item_number) COLLATE utf8mb4_general_ci AND ss.is_del = 0 " +

               "WHERE pav.product_id = eb_product.id AND pav.type = 0 AND pav.marketing_type = 0 " +

               "AND pav.is_del = 0 AND pav.item_number IS NOT NULL AND TRIM(pav.item_number) <> '' " +

               "AND ss.good_stock > 0) " +

               "OR (EXISTS (SELECT 1 FROM eb_product_attr_value pav " +

               "WHERE pav.product_id = eb_product.id AND pav.type = 0 AND pav.marketing_type = 0 " +

               "AND pav.is_del = 0 AND pav.item_number IS NOT NULL AND TRIM(pav.item_number) <> '') " +

               "AND EXISTS (SELECT 1 FROM eb_product_attr_value pav " +

               "WHERE pav.product_id = eb_product.id AND pav.type = 0 AND pav.marketing_type = 0 " +

               "AND pav.is_del = 0 AND (pav.item_number IS NULL OR TRIM(pav.item_number) = '') " +

               "AND pav.stock > 0)))";

       lqw.and(wrapper -> wrapper.nested(normal -> normal.eq(Product::getType, ProductConstants.PRODUCT_TYPE_NORMAL)

                       .apply(normalProductStockSql))

               .or(other -> other.ne(Product::getType, ProductConstants.PRODUCT_TYPE_NORMAL)

                       .gt(Product::getStock, 0)));

   }


语法错误。修复如下:


   /**

    * 只查询有有效库存的商品。普通商品有编码时读取库存模块,无编码时沿用商品库存字段。

    */private void setEffectiveStockFilter(LambdaQueryWrapper<Product> lqw) {

       String normalProductStockSql = "((NOT EXISTS (SELECT 1 FROM eb_product_attr_value pav " +

               "WHERE pav.product_id = eb_product.id AND pav.type = 0 AND pav.marketing_type = 0 " +

               "AND pav.is_del = 0 AND pav.item_number IS NOT NULL AND TRIM(pav.item_number) <> '') " +

               "AND eb_product.stock > 0) " +

               "OR EXISTS (SELECT 1 FROM eb_product_attr_value pav " +

               "INNER JOIN eb_sku_stock ss ON ss.commodity_code COLLATE utf8mb4_general_ci " +

               "= TRIM(pav.item_number) COLLATE utf8mb4_general_ci AND ss.is_del = 0 " +

               "WHERE pav.product_id = eb_product.id AND pav.type = 0 AND pav.marketing_type = 0 " +

               "AND pav.is_del = 0 AND pav.item_number IS NOT NULL AND TRIM(pav.item_number) <> '' " +

               "AND ss.good_stock > 0 " +

               "AND ss.mer_id = eb_product.mer_id) " +   // ← 关键:从 ON 移到 WHERE

               "OR (EXISTS (SELECT 1 FROM eb_product_attr_value pav " +

               "WHERE pav.product_id = eb_product.id AND pav.type = 0 AND pav.marketing_type = 0 " +

               "AND pav.is_del = 0 AND pav.item_number IS NOT NULL AND TRIM(pav.item_number) <> '') " +

               "AND EXISTS (SELECT 1 FROM eb_product_attr_value pav " +

               "WHERE pav.product_id = eb_product.id AND pav.type = 0 AND pav.marketing_type = 0 " +

               "AND pav.is_del = 0 AND (pav.item_number IS NULL OR TRIM(pav.item_number) = '') " +

               "AND pav.stock > 0)))";

       lqw.and(wrapper -> wrapper.nested(normal -> normal.eq(Product::getType, ProductConstants.PRODUCT_TYPE_NORMAL)

                       .apply(normalProductStockSql))

               .or(other -> other.ne(Product::getType, ProductConstants.PRODUCT_TYPE_NORMAL)

                       .gt(Product::getStock, 0)));

   }

}

0bd47202610261009345189.png

【产品名称】:多商户系统 (Java)

【产品版本】:V2.4

【部署方式】:phpstudy

【部署环境】:本地环境

【jdk版本】:jdk8

【Mysql版本】:8.0

【使用终端】:后台


{{voteData.voteSum}} 人已参与
支持
反对
请登录后查看

xx 最后编辑于2026-10-26 10:10:28

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

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

作者 管理员 企业

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

{{itemf.name}}

{{item.created_at}}  {{item.ip_address}}
打赏
已打赏¥{{item.reward_price}}
{{item.like_count}}
分享
{{item.showReply ? '取消回复' : '回复'}}
删除
{{replySubmitting ? '提交中...' : '回复'}}
{{replySubmitting ? '提交中...' : '回复'}}

{{itemc.user_info.nickname}}

{{itemc.user_name}}

回复 {{itemc.comment_user_info.nickname}}

附件

{{itemf.name}}

{{itemc.created_at}}
打赏
已打赏¥{{itemc.reward_price}}
{{itemc.like_count}}
{{itemc.showReply ? '取消回复' : '回复'}}
删除
{{replySubmitting ? '提交中...' : '回复'}}
{{replySubmitting ? '提交中...' : '回复'}}
收起 展开更多
查看更多
打赏
已打赏¥{{reward_price}}
81
{{like_count}}
{{collect_count}}
添加回复 ({{post_count}})

相关推荐

{{replySubmitting ? '提交中...' : '回复'}}
{{replySubmitting ? '提交中...' : '回复'}}
问题:
问题自动获取的帖子内容,不准确时需要手动修改. [获取答案]
答案:
提交
bug 需求 取 消 确 定
打赏金额
当前余额:¥{{rewardUserInfo.reward_price}}
{{item.price}}元
请输入 0.1-{{reward_max_price}} 范围内的数值
打赏成功
¥{{price}}
完成 确认打赏

微信登录/注册

{{ wechatLoginError }}
切换手机号登录

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

{{codeText}}
切换微信登录/注册
暂不绑定
CRMEB客服
CRMEB咨询热线 400-8888-794

扫码领取产品资料

功能清单
思维导图
安装教程
CRMEB开源商城下载 源码下载 CRMEB帮助文档 帮助文档
返回顶部 返回顶部
CRMEB客服