Spring Boot电商项目59:订单模块八:【后台:订单列表】接口;

 说明:

(1)本篇博客的主要内容是开发【后台:订单列表】接口;

(2)本篇博客没什么难点;只需要注意:【前台:订单列表】接口是查询当前登录用户的订单数据;【后台:订单列表】接口是查询所有用户的订单数据;

目录

一:【后台:订单列表】接口说明;

1.【后台:订单列表】接口,接口文档;

2.【后台:订单列表】接口,在接口上的表现;

二:正式开发;

1.创建OrderAdminController,并在其中创建处理【后台:订单列表】接口的方法:listForAdmin()方法;

2.在OrderServiceImpl中,创建一查询所有用户的订单数据的方法:listForAdmin()方法;并在OrderService中反向生成方法的声明;

(1)在OrderServiceImpl中,创建一查询所有用户的订单数据的方法:listForAdmin()方法;

3.在OrderMapper中,定义查询所有用户订单数据的方法:selectAllOrderForAdmin()方法;并在OrderMapper.xml中,编写实现SQL;

(1)在OrderMapper中,定义查询所有用户订单数据的方法:selectAllOrderForAdmin()方法;

(2)在OrderMapper.xml中,编写实现SQL;

三:测试,启动项目;


一:【后台:订单列表】接口说明;

1.【后台:订单列表】接口,接口文档;

然后,【后台:订单列表】接口和【前台:订单列表】接口,获取的数据格式是一样的;只是,【前台:订单列表】接口获取的只是当前登录用户的订单数据;【后台:订单列表】接口获取的是所有用户的订单数据;

关于,这个接口返回的数据格式的内容,如有需要可以参考【Spring Boot电商项目55:订单模块四:【前台:订单列表】接口;】;

2.【后台:订单列表】接口,在接口上的表现;


二:正式开发;

1.创建OrderAdminController,并在其中创建处理【后台:订单列表】接口的方法:listForAdmin()方法;

OrderAdminController:

package com.imooc.mall.controller;

import com.github.pagehelper.PageInfo;
import com.imooc.mall.common.ApiRestResponse;
import com.imooc.mall.service.OrderService;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

/**
 * 描述:后台订单Controller
 */
@RestController
public class OrderAdminController {
    @Autowired
    OrderService orderService;

    @ApiOperation("后台管理员的,订单列表")
    @GetMapping("/admin/order/list")
    public ApiRestResponse listForAdmin(@RequestParam("pageNum") Integer pageNum, @RequestParam("pageSize") Integer pageSize) {
        PageInfo pageInfo = orderService.listForAdmin(pageNum, pageSize);
        return ApiRestResponse.success(pageInfo);
    }
}

说明:

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

(2)然后,我们在service层,编写了一个针对后台管理员的、查询所有订单数据的方法:listForAdmin()方法;这将在下一部分介绍;

2.在OrderServiceImpl中,创建一查询所有用户的订单数据的方法:listForAdmin()方法;并在OrderService中反向生成方法的声明;

(1)在OrderServiceImpl中,创建一查询所有用户的订单数据的方法:listForAdmin()方法;

    /**
     * 后台的,针对管理员的,获取订单列表方法;即,获取所有用户的订单的;
     * @param pageNum
     * @param pageSize
     * @return
     */
    @Override
    public PageInfo listForAdmin(Integer pageNum, Integer pageSize) {
        //然后,调用Dao层的方法,去查order表,根据userId查询List<order>;
        List<Order> orderList = orderMapper.selectAllOrderForAdmin();
        //由于接口要求,返回的数据格式,需要是OrderVO;;;所以,编写工具方法:把List<Order>拼装成List<OrderVO>;
        List<OrderVO> orderVOList = orderListToOrderVOList(orderList);
        //然后,设置分页的:当前页和每页条目数
        PageHelper.startPage(pageNum, pageSize);
        //然后,以Mybatis层返回的查询结果List,得到PageInfo对象
        PageInfo pageInfo = new PageInfo<>(orderList);
        //然后,把分页中具体的数据,更改为List<OrderVO>
        pageInfo.setList(orderVOList);
        return pageInfo;
    }

说明:

(1)我们在OrderMapper中,定义了一个查询所有用户订单数据的方法:selectAllOrderForAdmin()方法;这将在下一部分介绍;

(2)这儿,我们把【查询order表,得到的List<Order>】,转换为了【接口要求的,List<OrderVO>】;有关orderListTOOrderVOList()方法,如有需要可以参考【Spring Boot电商项目55:订单模块四:【前台:订单列表】接口;】;

(3)最后,把查询到的结果,包装成PageInfo,返回即可;

3.在OrderMapper中,定义查询所有用户订单数据的方法:selectAllOrderForAdmin()方法;并在OrderMapper.xml中,编写实现SQL;

(1)在OrderMapper中,定义查询所有用户订单数据的方法:selectAllOrderForAdmin()方法;

    /**
     * 查询所有的订单
     * @return
     */
    List<Order> selectAllOrderForAdmin();

(2)在OrderMapper.xml中,编写实现SQL;

  <select id="selectAllOrderForAdmin" resultMap="BaseResultMap">
    select
    <include refid="Base_Column_List"/>
    from imooc_mall_order
    order by create_time desc;
  </select>

说明:

(1)这个方法很容易理解,就是查询所有用户的订单数据;


三:测试,启动项目;

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值