当前位置:网站首页>Commodity management system -- the search function of SPU

Commodity management system -- the search function of SPU

2020-11-09 07:35:37 I'm sorry.

One  API analysis

1  request

GET /product/spuinfo/list

2  Request parameters

{
    page: 1, // The current page number 
    limit: 10, // Records per page 
    sidx: 'id', // Sort field 
    order: 'asc/desc', // sort order 
    key: ' Huawei ', // Search keywords 
    catelogId: 6, // Three levels of classification id
    brandId: 1, // brand id
    status: 0, // Goods state 
}

3  Respond to

{
    "msg": "success",
    "code": 0,
    "page": {
        "totalCount": 0,
        "pageSize": 10,
        "totalPage": 0,
        "currPage": 1,
        "list": [{
            "brandId": 0, // brand id
            "brandName": " Brand name ",
            "catalogId": 0, // classification id
            "catalogName": " Category name ",
            "createTime": "2019-11-13T16:07:32.877Z", // Creation time 
            "id": 0, // goods id
            "publishStatus": 0, // Release status 
            "spuDescription": "string", // Commodity Description 
            "spuName": "string", // Commodity name 
            "updateTime": "2019-11-13T16:07:32.877Z", // Update time 
            "weight": 0 // weight 
        }]
    }
}

Two   controller

    /**
     *  Function description : Query by criteria SPU Information 
     *
     * @param params  Filter conditions 
     * @return R  Data returned to the front end 
     * @author cakin
     * @date 2020/11/8
     */
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params) {
        PageUtils page = spuInfoService.queryPageByCondition(params);
        return R.ok().put("page", page);
    }

3、 ... and   Service layer

    /**
     *  Function description : Pagination query by condition 
     *
     * @param params  Filter conditions 
     * @return PageUtils  Paging information 
     * @author cakin
     * @date 2020/11/8
     */
    @Override
    public PageUtils queryPageByCondition(Map<String, Object> params) {
        QueryWrapper<SpuInfoEntity> wrapper = new QueryWrapper<>();
        String key = (String) params.get("key");
        //  Keyword query 
        if (!StringUtils.isEmpty(key)) {
            wrapper.and((w) -> {
                w.eq("id", key).or().like("spu_name", key);
            });
        }
        //  Splicing  status
        String status = (String) params.get("status");
        if (!StringUtils.isEmpty(status)) {
            wrapper.eq("publish_status", status);
        }
        //  Splicing  brandId
        String brandId = (String) params.get("brandId");
        if (!StringUtils.isEmpty(brandId) && !"0".equalsIgnoreCase(brandId)) {
            wrapper.eq("brand_id", brandId);
        }
        //  Splicing  catelogId
        String catelogId = (String) params.get("catelogId");
        if (!StringUtils.isEmpty(catelogId) && !"0".equalsIgnoreCase(catelogId)) {
            wrapper.eq("catalog_id", catelogId);
        }
        //  Pagination conditions and other composite conditions after splicing query 
        IPage<SpuInfoEntity> page = this.page(new Query<SpuInfoEntity>().getPage(params), wrapper);
        return new PageUtils(page);
    }

Four   test

版权声明
本文为[I'm sorry.]所创,转载请带上原文链接,感谢