Compare commits

...

2 Commits

Author SHA1 Message Date
清晨
1d3e0fba6f feat(mall): 优化商品查询条件
- 使用 FIND_IN_SET函数替代 like 操作符,提高查询精度
- 修复分类 ID 查询不准确的问题
2025-04-18 17:41:55 +08:00
清晨
444d1af15a feat(mall): 修改商品分类查询逻辑
- 将 TzProd、TzProdBo 和 TzProdVo 中的 categoryId 类型从 Long 改为 String
- 修改 TzProdServiceImpl 中的 pageByCategoryId 方法,使用 like 查询替代 in 查询
- 更新 TzProdServiceImpl 中的条件查询逻辑,使用 like 查询替代 eq 查询
- 移除 WxXcxUtils 中的冗余注释代码
2025-04-18 09:28:10 +08:00
5 changed files with 19 additions and 8 deletions

View File

@@ -29,9 +29,6 @@ public class WxXcxUtils {
String result = HttpRequest.post(url).body(json.toString()).execute().body(); String result = HttpRequest.post(url).body(json.toString()).execute().body();
JSONObject jsonObject = JSONObject.parseObject(result); JSONObject jsonObject = JSONObject.parseObject(result);
/*JSONObject phoneInfo = jsonObject.getJSONObject("phone_info");
System.out.println(phoneInfo+"==================================");
String phoneNumber = phoneInfo.get("phoneNumber").toString();*/
return jsonObject; return jsonObject;
} }

View File

@@ -124,7 +124,7 @@ public class TzProd extends TenantEntity {
/** /**
* 商品分类 * 商品分类
*/ */
private Long categoryId; private String categoryId;
/** /**
* 商品参数json * 商品参数json

View File

@@ -130,7 +130,7 @@ public class TzProdBo extends TenantEntity {
/** /**
* 商品分类 * 商品分类
*/ */
private Long categoryId; private String categoryId;
/** /**
* 商品参数json * 商品参数json

View File

@@ -145,7 +145,7 @@ public class TzProdVo implements Serializable {
* 商品分类 * 商品分类
*/ */
@ExcelProperty(value = "商品分类") @ExcelProperty(value = "商品分类")
private Long categoryId; private String categoryId;
/** /**
* 商品参数json * 商品参数json

View File

@@ -105,7 +105,18 @@ public class TzProdServiceImpl extends MPJBaseServiceImpl<TzProdMapper,TzProd> i
*/ */
@Override @Override
public IPage<TzProdVo> pageByCategoryId(PageQuery pageQuery, List<Long> categoryId) { public IPage<TzProdVo> pageByCategoryId(PageQuery pageQuery, List<Long> categoryId) {
LambdaQueryWrapper<TzProd> lqw = new LambdaQueryWrapper<TzProd>().eq(TzProd::getStatus,1).in(categoryId != null,TzProd::getCategoryId,categoryId); // 构造查询条件
LambdaQueryWrapper<TzProd> lqw = new LambdaQueryWrapper<TzProd>()
.eq(TzProd::getStatus, 1)
.and(wrapper -> {
for (Long id : categoryId) {
// 生成 FIND_IN_SET(id,category_id) 的SQL条件
wrapper.or().apply("FIND_IN_SET({0}, category_id)", id);
}
})
.orderByDesc(TzProd::getPutawayTime);
// 执行分页查询
return baseMapper.selectVoPage(pageQuery.build(), lqw); return baseMapper.selectVoPage(pageQuery.build(), lqw);
} }
@@ -171,7 +182,10 @@ public class TzProdServiceImpl extends MPJBaseServiceImpl<TzProdMapper,TzProd> i
lqw.like(StringUtils.isNotBlank(bo.getFactoryAddress()), TzProd::getFactoryAddress, bo.getFactoryAddress()); lqw.like(StringUtils.isNotBlank(bo.getFactoryAddress()), TzProd::getFactoryAddress, bo.getFactoryAddress());
lqw.eq(bo.getStatus() != null, TzProd::getStatus, bo.getStatus()); lqw.eq(bo.getStatus() != null, TzProd::getStatus, bo.getStatus());
lqw.eq(bo.getExamineFlag() != null, TzProd::getExamineFlag, bo.getExamineFlag()); lqw.eq(bo.getExamineFlag() != null, TzProd::getExamineFlag, bo.getExamineFlag());
lqw.eq(bo.getCategoryId() != null, TzProd::getCategoryId, bo.getCategoryId()); // lqw.like(bo.getCategoryId() != null, TzProd::getCategoryId, bo.getCategoryId());
if(bo.getCategoryId() != null){
lqw.or().apply("FIND_IN_SET({0}, t.category_id)", bo.getCategoryId());
}
lqw.between(params.get("beginTime") != null && params.get("endTime") != null, lqw.between(params.get("beginTime") != null && params.get("endTime") != null,
TzProd::getPutawayTime, params.get("beginTime"), params.get("endTime")); TzProd::getPutawayTime, params.get("beginTime"), params.get("endTime"));
return lqw; return lqw;