当前位置:网站首页>Commodity management system -- the search function of SPU
Commodity management system -- the search function of SPU
2020-11-09 07:35:00 【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.]所创,转载请带上原文链接,感谢
边栏推荐
- Sublime text3 插件ColorPicker(调色板)不能使用快捷键的解决方法
- 重新开始学习离散数学
- OpenGL ES 框架详细解析(八) —— OpenGL ES 设计指南
- Talk about my understanding of FAAS with Alibaba cloud FC
- Leetcode-11: container with the most water
- GDI 及OPENGL的区别
- EasyNTS上云网关设备在雪亮工程项目中的实战应用
- 对象
- Share API on the web
- A bunch of code forgot to indent? Shortcut teach you carefree!
猜你喜欢
你有没有想过为什么交易和退款要拆开不同的表
After Android solves the setrequested orientation, the rotation of the mobile phone screen does not trigger the onconfigurationchanged method
LeetCode-11:盛水最多的容器
Five design patterns frequently used in development
The vowels in the inverted string of leetcode
OpenGL ES 框架详细解析(八) —— OpenGL ES 设计指南
《MFC dialog中加入OpenGL窗体》
梁老师小课堂|谈谈模板方法模式
When iperf is installed under centos7, the solution of make: * no targets specified and no makefile found. Stop
1.操作系统是干什么的?
随机推荐
android开发中提示:requires permission android.permission write_settings解决方法
链表
20201108 programming exercise exercise 3
代码保存
leetcode之反转字符串中的元音字母
A brief introduction of C code to open or close the firewall example
写时复制集合 —— CopyOnWriteArrayList
Depth first search and breadth first search
linx7.5 初始安装
When we talk about data quality, what are we talking about?
After Android solves the setrequested orientation, the rotation of the mobile phone screen does not trigger the onconfigurationchanged method
[Python从零到壹] 五.网络爬虫之BeautifulSoup基础语法万字详解
WordPress Import 上传的文件尺寸超过php.ini中定义的upload_max_filesize值--&gt;解决方法。
GDI 及OPENGL的区别
APP 莫名崩溃,开始以为是 Header 中 name 大小写的锅,最后发现原来是容器的错!
程序员都应该知道的URI,一文帮你全面了解
Leetcode-11: container with the most water
梁老师小课堂|谈谈模板方法模式
Windows环境下如何进行线程Dump分析
如何通过Sidecar自定义资源减少Istio代理资源消耗