当前位置:网站首页>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.]所创,转载请带上原文链接,感谢
边栏推荐
- FC 游戏机的工作原理是怎样的?
- The vowels in the inverted string of leetcode
- A solution to the problem that color picker (palette) cannot use shortcut keys in sublime Text3 plug-in
- Salesforce connect & external object
- 代码保存
- 平台商业化能力的另一种表现形式SAAS
- android开发中提示:requires permission android.permission write_settings解决方法
- After Android solves the setrequested orientation, the rotation of the mobile phone screen does not trigger the onconfigurationchanged method
- 图节点分类与消息传递 - 知乎
- Introduction to nmon
猜你喜欢

你有没有想过为什么交易和退款要拆开不同的表

Oschina plays disorderly on Monday

FC 游戏机的工作原理是怎样的?

Apache Iceberg 中三种操作表的方式

常见特征金字塔网络FPN及变体

Five design patterns frequently used in development

C / C + + Programming Notes: pointer! Understand pointer from memory, let you understand pointer completely

上线1周,B.Protocal已有7000ETH资产!

第五章编程

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!
随机推荐
1. What does the operating system do?
How to reduce the resource consumption of istio agent through sidecar custom resource
Common feature pyramid network FPN and its variants
Introduction to nmon
APP 莫名崩溃,开始以为是 Header 中 name 大小写的锅,最后发现原来是容器的错!
Bifrost 之 文件队列(一)
2020,Android开发者打破寒冬的利器是什么?
Copy on write collection -- copyonwritearraylist
Teacher Liang's small class
After Android solves the setrequested orientation, the rotation of the mobile phone screen does not trigger the onconfigurationchanged method
A bunch of code forgot to indent? Shortcut teach you carefree!
老大问我:“建表为啥还设置个自增 id ?用流水号当主键不正好么?”
老大问我:“建表为啥还设置个自增 id ?用流水号当主键不正好么?”
服务器性能监控神器nmon使用介绍
亚马逊的无服务器总线EventBridge支持事件溯源 - AWS
Installation record of SAP s / 4hana 2020
20201108 programming exercise exercise 3
STC转STM32第一次开发
23张图,带你入门推荐系统
写时复制集合 —— CopyOnWriteArrayList