16、【 商品管理模块开发】——后台商品列表动态分页功能开发

简介: 下面来讲解一下后台获取商品列表的接口开发:1、在ProductManageController类中新增下列代码: //获取商品列表接口 @RequestMapping("get_list.

下面来讲解一下后台获取商品列表的接口开发:
1、在ProductManageController类中新增下列代码:

 //获取商品列表接口
    @RequestMapping("get_list.do")
    @ResponseBody
    public ServerResponse getList(HttpSession session, @RequestParam(value = "pageNum",defaultValue = "1") Integer pageNum, @RequestParam(value = "pageSize",defaultValue = "10") Integer pageSize){
        User user=(User) session.getAttribute(Const.CURRENT_USER);
        if(user==null){
            return ServerResponse.createByErrorCodeMessage(ResponseCode.NEED_LOGIN.getCode(),"未登录,请先登录");
        }
        if(iUserService.checkAdminRole(user).isSuccess()){
            //增加商品的逻辑方法
            return  iProductService.getProductList(pageNum,pageSize);

        }else {
            return ServerResponse.createByErrorMessage("当前登录者不是管理员,无权限操作");
        }
    }

*Service:

  //查询商品列表
    ServerResponse<PageInfo> getProductList(int pageNum, int pageSize);

在vo包下新建ProductListVo类:

img_cdf878ecc1a2b54271df0d03c736fc6d.png

ProductListVo:

package com.mmall.vo;

import java.math.BigDecimal;

public class ProductListVo {
    private Integer id;

    private Integer categoryId;

    private String name;

    private String subtitle;

    private String mainImage;

    private BigDecimal price;

    private Integer status;

    private String imageHost;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getCategoryId() {
        return categoryId;
    }

    public void setCategoryId(Integer categoryId) {
        this.categoryId = categoryId;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getSubtitle() {
        return subtitle;
    }

    public void setSubtitle(String subtitle) {
        this.subtitle = subtitle;
    }

    public String getMainImage() {
        return mainImage;
    }

    public void setMainImage(String mainImage) {
        this.mainImage = mainImage;
    }

    public BigDecimal getPrice() {
        return price;
    }

    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getImageHost() {
        return imageHost;
    }

    public void setImageHost(String imageHost) {
        this.imageHost = imageHost;
    }
}

*ServiceImpl:

//查询商品List
    public ServerResponse<PageInfo> getProductList(int pageNum,int pageSize){
        //startPage--start
        //填充自己的sql逻辑
        //PageHelper--收尾
        PageHelper.startPage(pageNum,pageSize);
        List<Product> productList=productMapper.selectList();

        List<ProductListVo> productListVoList= Lists.newArrayList();


        for (Product productItem: productList){
            ProductListVo productListVo=assembleProductListVo(productItem);
            productListVoList.add(productListVo);
        }

        PageInfo pageResult=new PageInfo(productList);
        pageResult.setList(productListVoList);
        return ServerResponse.createBySuccess(pageResult);
    }

//封装返回给前端的商品列表信息Vo类
    private ProductListVo assembleProductListVo(Product product){
        ProductListVo productListVo=new ProductListVo();

        productListVo.setId(product.getId());
        productListVo.setSubtitle(product.getSubtitle());
        productListVo.setPrice(product.getPrice());
        productListVo.setMainImage(product.getMainImage());
        productListVo.setCategoryId(product.getCategoryId());
        productListVo.setName(product.getName());
        productListVo.setStatus(product.getStatus());
        productListVo.setImageHost(PropertiesUtil.getProperty("ftp.server.http.prefix","http://image.imooc.com/"));

        return productListVo;
    }

其中在下面这行代码中的selectList()使用的是我们自己封装的方法:

 List<Product> productList=productMapper.selectList();

ProductMapper:

    //查询商品列表
    List<Product> selectList();

ProductMapper.xml:

  <!--查询商品列表-->
  <select id="selectList" resultMap="BaseResultMap">
    select
    <include refid="Base_Column_List"/>
    from mmall_product
    order by  id asc
  </select>

2、接口测试:

后台获取商品列表接口测试:


img_e444e2c7d6626ce03fdcd04cdf91cc33.png
image.png

img_e9ba9a1f21f9c2ed2f1f47e29bdbf698.png
image.png
相关文章
|
SQL 小程序 前端开发
【易售小程序项目】商品详情展示+评论、评论展示、评论点赞+商品收藏【后端基于若依管理系统开发】
【易售小程序项目】商品详情展示+评论、评论展示、评论点赞+商品收藏【后端基于若依管理系统开发】
120 0
|
SQL 小程序 JavaScript
【易售小程序项目】小程序首页(展示商品、商品搜索、商品分类搜索)【后端基于若依管理系统开发】
【易售小程序项目】小程序首页(展示商品、商品搜索、商品分类搜索)【后端基于若依管理系统开发】
63 0
|
小程序
【易售小程序项目】悬浮按钮+出售闲置商品+商品分类选择【后端基于若依管理系统开发】
【易售小程序项目】悬浮按钮+出售闲置商品+商品分类选择【后端基于若依管理系统开发】
58 0
|
5月前
|
XML JSON API
开发者必备:淘宝商品列表接口集成全攻略
淘宝开放平台提供的商品列表数据接口让开发者编程获取商品列表数据。接口支持按关键词、类目等查询条件获取商品详情,包括标题、价格等信息。具备灵活性高、数据丰富及操作便捷等特点。使用流程包括注册账号、构建并发送HTTP请求及处理响应数据。可用于电商数据分析、商品推荐等场景。开发者需遵守规定确保数据安全合法。[体验API](c0b.cc/R4rbK2)
|
开发者
【 uniapp - 黑马优购 | 购物车页面(1)】如何创建购物车编译模式、 商品列表区域实现
【 uniapp - 黑马优购 | 购物车页面(1)】如何创建购物车编译模式、 商品列表区域实现
275 0
|
7月前
|
JavaScript
基础购物车功能
基础购物车功能
|
7月前
|
小程序 IDE API
社区每周丨小程序基础库更新至 2.8.21及小程序商品新增商品营销功能(9.11-9.15)
社区每周丨小程序基础库更新至 2.8.21及小程序商品新增商品营销功能(9.11-9.15)
187 11
|
小程序 前端开发
【易售小程序项目】修改“我的”界面前端实现;查看、重新编辑、下架自己发布的商品【后端基于若依管理系统开发】
【易售小程序项目】修改“我的”界面前端实现;查看、重新编辑、下架自己发布的商品【后端基于若依管理系统开发】
97 0
|
存储 小程序 前端开发
【易售小程序项目】私聊功能uniapp界面实现 (买家、卖家 沟通商品信息)【后端基于若依管理系统开发】
【易售小程序项目】私聊功能uniapp界面实现 (买家、卖家 沟通商品信息)【后端基于若依管理系统开发】
181 0
|
开发框架 前端开发 JavaScript
java程序设计与j2ee中间件技术/软件开发技术(III)-大作业-采用MVC模式实现商品信息的查询显示(可以模糊查询)、增加和删除功能,商品表自拟,实现简单菜单操作和分页显示(一)
java程序设计与j2ee中间件技术/软件开发技术(III)-大作业-采用MVC模式实现商品信息的查询显示(可以模糊查询)、增加和删除功能,商品表自拟,实现简单菜单操作和分页显示
362 6
java程序设计与j2ee中间件技术/软件开发技术(III)-大作业-采用MVC模式实现商品信息的查询显示(可以模糊查询)、增加和删除功能,商品表自拟,实现简单菜单操作和分页显示(一)