商品检索传入参数分析

商品查询页面如下

image

搜索框查询

image
首先我们可以根据搜索框的内容进行全文检索
查询方式: keywrod=xxx

分类查询

image
然后我们可以根据首页传入的三级分类的id进行商品查询
查询方式: catalog3Id=xxx

排序

image
因为排序方式可以根据多种方式进行查询 如综合排序 销量 价格 定义多个字段过于冗长 所以我们可以定义一个sort字段来进行不同的查询条件进行查询 排序条件有: saleCount(销量), hotScore(热销 也就是综合排序), skuPrice(价格)
查询方式: sort=查询条件_排序方式
如 销量查询 升序方式: sort=saleCount_asc

过滤

有货商品

image
显示商品是否有货
查询方式: hasStock=0/1
0表示有货 1表示无货

价格区间

image
根据价格区间进行查询 有多种查询方式 可以根据 0 - 500的价格区间进行查询 可以根据 500以上的价格区间查询 可以根据500以下的价格区间进行查询

商品属性

image

查询方式: skuPrice=上限_下限,
skuPrice=_下限,
skuPrice=上限,

品牌查询

image
品牌查询可以传入多个品牌
查询方式: brandId=品牌id&brandId=品牌id

商品属性

image
可以传入多个商品属性 每个商品属性也可以传入多个值 多个值直接用 : 分割开 可以传入多个
查询方式: attrs=几号属性_属性值1:属性值2&attrs=几号属性_属性值1:属性值2
例子: 比如搜索系统 系统为一号属性 搜android和苹果的商品 我们可以这样进行拼装
attrs=1_android:IOS

分页查询

如果商品过多 还要进行分页查询 将页码传入
查询方式pageNum=xxx
image

java封装entity

package com.lyra.mail.search.entity.vo;

import java.util.List;

public class SearchParam {
    private String keyword;
    private Long catalog3Id;
    private String sort;
    private Integer hasStock;
    private String skuPrice;
    private List<Long> brandId;
    private List<String> attrs;
    private Integer pageNum;

    public Integer getPageNum() {
        return pageNum;
    }

    public void setPageNum(Integer pageNum) {
        this.pageNum = pageNum;
    }

    public String getKeyword() {
        return keyword;
    }

    public void setKeyword(String keyword) {
        this.keyword = keyword;
    }

    public Long getCatalog3Id() {
        return catalog3Id;
    }

    public void setCatalog3Id(Long catalog3Id) {
        this.catalog3Id = catalog3Id;
    }

    public String getSort() {
        return sort;
    }

    public void setSort(String sort) {
        this.sort = sort;
    }

    public Integer getHasStock() {
        return hasStock;
    }

    public void setHasStock(Integer hasStock) {
        this.hasStock = hasStock;
    }

    public String getSkuPrice() {
        return skuPrice;
    }

    public void setSkuPrice(String skuPrice) {
        this.skuPrice = skuPrice;
    }

    public List<Long> getBrandId() {
        return brandId;
    }

    public void setBrandId(List<Long> brandId) {
        this.brandId = brandId;
    }

    public List<String> getAttrs() {
        return attrs;
    }

    public void setAttrs(List<String> attrs) {
        this.attrs = attrs;
    }
}
posted @   RainbowMagic  阅读(51)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示