up:: SpringBoot电商项目商品模块批量上下架商品接口

说明:

(1) 本篇博客的内容:后台的【商品列表】接口;

(2) 本篇博客想到的一个问题:(PS:还没研究这个问题)

● 对于这个问题,是自己理解错了;在开发【52:第五章:开发admin管理服务:5:开发【查询admin账号列表,接口】;】的时候,才发现:只要我们利用【PageHelper.startPage(page,pageSize)】开启了分页,并通过page和pageSize设置了当前页和每页条数;那么,后面其查数据库的时候,就只会查该页的数据;


一:后台的【商品列表】接口说明;

1.后台的【商品列表】接口文档;

接口返回示例:

2.后台的【商品列表】接口,在界面上的表现;


二:正式开发;

1.在ProductAdminController中,创建后台的分页查询商品列表的方法:list()方法;

 
 
         @ApiOperation("后台的商品列表")
         @GetMapping("/admin/product/list")
         @ResponseBody
         public ApiRestResponse list(@RequestParam("pageNum") Integer pageNum, @RequestParam("pageSize") Integer pageSize) {
             PageInfo pageInfo = productService.listForAdmin(pageNum, pageSize);
             return ApiRestResponse.success(pageInfo);
         }

说明:

(1) 请求方式,url,要符合接口文档的要求;

(2) 方法说明;

(3) service层的分页查询方法,在下一部分介绍;

2.在ProduceServiceImpl中编写分页查询商品列表的方法:listForAdmin()方法;并在ProductService接口中,反向生成对应的方法声明;

(1)在ProduceServiceImpl中编写分页查询商品列表的方法:listForAdmin()方法;

 
         /**
          * 后台的,获取商品的列表
          * @param pageSize
          * @return
          */
         @Override
         public PageInfo listForAdmin(Integer pageNum, Integer pageSize) {
             //设置分页的:当前页,每一页的记录数;
             PageHelper.startPage(pageNum, pageSize);
             //调用Dao层的方法,去查询
             List<Product> productList = productMapper.selectListForAdmin();
             //得到PageInfo对象
             PageInfo pageInfo = new PageInfo(productList);
             return pageInfo;
         }

说明:

(1) 这儿用到了PageHelper的分页查询方法;在【SpringBoot电商项目商品分类模块后台的分类列表平铺接口】和【附加PageHelper分页插件的Page和PageInfo的区别】做了详细的介绍;;这儿就不重复啰嗦了;

(2) 这儿用到的Dao层的查询所有商品数据的方法:selectListForAdmin()方法,在下一部分介绍;

(3) PS:临时感觉到了一个问题?:待解决:


(2)ProductService接口中,反向生成对应的方法声明;

3.在ProductMapper接口中,定义后台的,查询商品列表的方法:selectListForAdmin()方法;并在ProductMapper.xml中,编写对应的SQL;

(1)在ProductMapper接口中,定义后台的,查询商品列表的方法:selectListForAdmin()方法;


(2)在ProductMapper.xml中,编写对应的SQL;

  <select id="selectListForAdmin" resultMap="BaseResultMap">
    select
    <include refid="Base_Column_List"/>
    from imooc_mall_product
    order by update_time desc
  </select>

说明:

(1) 内容说明;


三:测试;

启动项目;