1.SPU检索(复杂条件查询)
来到spuinfocontroller找到list,来重新写一个分页查询方法
来到实现类写方法体(brandId和catelogId记得要排除掉0再拼装查询条件)下图未排除
2.SKU检索(价格区间功能)
来到skuinfocontroller类里
写方法体
@Override
public PageUtils queryPageByCondition(Map<String, Object> params) {
QueryWrapper<SkuInfoEntity> wrapper = new QueryWrapper<>();
String key = (String) params.get("key");
if (StringUtils.hasLength(key)){//如果有key 拼装查skuId 和模糊查询skuName
wrapper.and(w->{
w.eq("sku_id",key).or().like("sku_name",key);
});
}
String catelogId = (String) params.get("catelogId");
if (StringUtils.hasLength(catelogId)&& !"0".equalsIgnoreCase(catelogId)){//如果传了catelogId,拼装条件查询
wrapper.eq("catalog_id",catelogId);
}
String brandId = (String) params.get("brandId");
if (StringUtils.hasLength(brandId)&&!"0".equalsIgnoreCase(brandId)){//如果传了brandId,拼装条件查询
wrapper.eq("brand_id",brandId);
}
String min = (String) params.get("min");
if (StringUtils.hasLength(min)){//拼装最小值min,价格price要大于等于 min
wrapper.ge("price",min);
}
String max = (String) params.get("max");
if (StringUtils.hasLength(max) ){//拼装最大值 max
try {//放try是怕前端传来别的类型的值
BigDecimal bigDecimal = new BigDecimal(max);//把max转成BigDecimal类型,来排除当max==0时,我们不拼装小于max这个条件
if (bigDecimal.compareTo(new BigDecimal("0"))==1){
wrapper.le("price",max);
}
}catch (Exception e){
}
}
IPage<SkuInfoEntity> page = this.page(
new Query<SkuInfoEntity>().getPage(params),wrapper
);
return new PageUtils(page);
}
Tips:修改时间戳
来到配置文件
spring/Jackson/date-format: 格式
时区不对的话加time-zone
标签:String,max,wrapper,brandId,商品,catelogId,params,谷粒,商城 From: https://blog.csdn.net/weixin_62485485/article/details/140206832