海上捞火锅

海上捞火锅


根据条件查询分类数据

[TOC]

简要描述
  • 根据条件查询分类数据
前端页面和服务端的交互过程
  • 页面(front/index.html)发送ajax请求,获取分类数据(菜品分类和套餐分类)
触发事件
  • 初始化数据
接口调用
Promise.all([categoryListApi(),cartListApi({})]).then(res=>{
    //获取分类数据
    if(res[0].code === 1){
        this.categoryList = res[0].data
        if(Array.isArray(res[0].data) && res[0].data.length > 0){
            this.categoryId = res[0].data[0].id
            if(res[0].data[0].type === 1){
                this.getDishList()
            }else{
                this.getSetmealData()
            }
        }
    }else{
        this.$notify({ type:'warning', message:res[0].msg});
    }
})
请求URL
  • [context-path]/category/list
请求方式
  • GET
接口API
function categoryListApi() {
    return $axios({
      'url': '/category/list',
      'method': 'get',
    })
  }
返回示例
code: 1
data: [{id: "1397844263642378242", type: 1, name: "锅底", sort: 1, createTime: "2021-05-27 09:16:58",…},…]
map: {}
msg: null
返回参数说明
参数名 类型 说明
code int 编码:1成功,0和其它数字为失败
data object 数据
map Map 动态数据
msg String 错误信息
备注

data有两种返回值

public static <T> R<T> success(T object) {
    R<T> r = new R<T>();
    r.data = object;
    r.code = 1;
    return r;
}

public static <T> R<T> error(String msg) {
    R r = new R();
    r.msg = msg;
    r.code = 0;
    return r;
}
后端接口请求参数
  • 映射Category对象类型参数
后端代码
@GetMapping("/list")
public R<List<Category>> list(Category category){
    LambdaQueryWrapper<Category> queryWrapper = new LambdaQueryWrapper<>();
    queryWrapper.eq(category.getType()!=null,Category::getType,category.getType());
    queryWrapper.orderByAsc(Category::getSort).orderByDesc(Category::getUpdateTime);
    List<Category> list = categoryService.list(queryWrapper);
    return R.success(list);
}

页面列表

ITEM_HTML