当前位置:网站首页>商品管理系统——SPU检索功能
商品管理系统——SPU检索功能
2020-11-09 07:35:00 【osc_c67q27vg】
一 API分析
1 请求
GET /product/spuinfo/list
2 请求参数
{
page: 1, //当前页码
limit: 10, //每页记录数
sidx: 'id', //排序字段
order: 'asc/desc', //排序方式
key: '华为', //检索关键字
catelogId: 6, //三级分类id
brandId: 1, //品牌id
status: 0, //商品状态
}
3 响应
{
"msg": "success",
"code": 0,
"page": {
"totalCount": 0,
"pageSize": 10,
"totalPage": 0,
"currPage": 1,
"list": [{
"brandId": 0, //品牌id
"brandName": "品牌名字",
"catalogId": 0, //分类id
"catalogName": "分类名字",
"createTime": "2019-11-13T16:07:32.877Z", //创建时间
"id": 0, //商品id
"publishStatus": 0, //发布状态
"spuDescription": "string", //商品描述
"spuName": "string", //商品名字
"updateTime": "2019-11-13T16:07:32.877Z", //更新时间
"weight": 0 //重量
}]
}
}
二 控制器
/**
* 功能描述:按条件查询SPU信息
*
* @param params 过滤条件
* @return R 返回给前端的数据
* @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);
}
三 服务层
/**
* 功能描述:按条件进行分页查询
*
* @param params 过滤条件
* @return PageUtils 分页信息
* @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");
// 关键字查询
if (!StringUtils.isEmpty(key)) {
wrapper.and((w) -> {
w.eq("id", key).or().like("spu_name", key);
});
}
// 拼接 status
String status = (String) params.get("status");
if (!StringUtils.isEmpty(status)) {
wrapper.eq("publish_status", status);
}
// 拼接 brandId
String brandId = (String) params.get("brandId");
if (!StringUtils.isEmpty(brandId) && !"0".equalsIgnoreCase(brandId)) {
wrapper.eq("brand_id", brandId);
}
// 拼接 catelogId
String catelogId = (String) params.get("catelogId");
if (!StringUtils.isEmpty(catelogId) && !"0".equalsIgnoreCase(catelogId)) {
wrapper.eq("catalog_id", catelogId);
}
// 分页条件和其他复合条件拼接后的查询
IPage<SpuInfoEntity> page = this.page(new Query<SpuInfoEntity>().getPage(params), wrapper);
return new PageUtils(page);
}
四 测试
版权声明
本文为[osc_c67q27vg]所创,转载请带上原文链接,感谢
https://my.oschina.net/u/4301161/blog/4708491
边栏推荐
- Android emulator error: x86 emulation currently requires hardware acceleration的解决方案
- Fiddler can't grab requests from browsers like Google_ Solution
- 卧槽,这年轻人不讲武德,应届生凭“小抄”干掉5年老鸟,成功拿到字节20Koffer
- 写时复制集合 —— CopyOnWriteArrayList
- STC转STM32第一次开发
- When we talk about data quality, what are we talking about?
- VIM 入门手册, (VS Code)
- API部分的知识点复习
- Installation record of SAP s / 4hana 2020
- This program cannot be started because msvcp120.dll is missing from your computer. Try to install the program to fix the problem
猜你喜欢
Exception capture and handling in C + +
How to analyze Android anr problems
老大问我:“建表为啥还设置个自增 id ?用流水号当主键不正好么?”
老大问我:“建表为啥还设置个自增 id ?用流水号当主键不正好么?”
B. protocal has 7000eth assets in one week!
App crashed inexplicably. At first, it thought it was the case of the name in the header. Finally, it was found that it was the fault of the container!
2. Introduction to computer hardware
RabbitMQ快速入门详解
Execution of SQL statement
File queue in Bifrost (1)
随机推荐
SAP S/4HANA 2020安装实录
Review of API knowledge
写时复制集合 —— CopyOnWriteArrayList
C++之异常捕获和处理
Factory pattern pattern pattern (simple factory, factory method, abstract factory pattern)
Android 解决setRequestedOrientation之后手机屏幕的旋转不触发onConfigurationChanged方法
GDI 及OPENGL的区别
STS安装
小议缓冲区溢出
梁老师小课堂|谈谈模板方法模式
Leetcode-15: sum of three numbers
SaaS: another manifestation of platform commercialization capability
Why don't we use graphql? - Wundergraph
This program cannot be started because msvcp120.dll is missing from your computer. Try to install the program to fix the problem
Leetcode-11: container with the most water
23 pictures, take you to the recommended system
The difference between GDI and OpenGL
基于链表的有界阻塞队列 —— LinkedBlockingQueue
第五章编程
c++11-17 模板核心知识(二)—— 类模板