苍穹外卖-day12

YangeIT大约 8 分钟苍穹外卖工作台POI

苍穹外卖-day12

课程内容

  • 导入

  • 导出Excel表格功能

经验储备

  1. 你曾经绘制图表,如柱状图、饼图、折线图
  2. 你曾经使用过group by 和 聚合函数写过sql

功能实现:工作台、POI、导出运营数据Excel报表

效果图:

1. 导入平台代码

导入平台代码

工作台是系统运营的数据看板,并提供快捷操作入口,可以有效提高商家的工作效率。 👍

名词解释:

  • 营业额: 已完成订单的总金额
  • 有效订单: 已完成订单的数量
  • 订单完成率 :有效订单数 / 总订单数 * 100%
  • 平均客单价 :营业额 / 有效订单数
  • 新增用户: 新增用户的数量

数据看板是非常常见的系统运营工具,有专门的公司做这块业务,如: open in new window

代码实现 👇

直接导入课程资料中的工作台模块功能代码即可:

注意:

  1. 建议从Controller————>Mapper的顺序进行导入,先导入WorkSpace开头的代码,再导入其他代码
  2. 不要覆盖原有自己的代码(Dish和Setmeal相关代码 ),因此需要挑选导入

课堂作业

🎻 1.按照上面的步鄹和建议,完成导入和测试 👈

如果前置代码没有完成,别慌!!可以使用已经准备好的代码,练习当前知识

  1. 创建一个非中文的文件夹,右击git bash here执行下述命令,将代码clone到本地
 git clone --branch V1.12.0 https://gitee.com/huhu520/sky-take-out79.git
  1. 使用idea导入上述代码,并且检查并调整:Setting中Maven设置open in new windowComplieropen in new window中JDK版本,以及Project Structure中的JDK版本open in new window
  2. 点击Idea中右边聚合项目的clean指令,观察是否执行成功,如果成功,进行下一步
  3. 找到sky-server的resource下的application-dev.yml文件,修改数据库名字、数据库用户名、数据库密码、微信appid 微信secret、redis密码等信息
  4. 完成上面的步鄹后,启动SkyApplication.java类,运行项目(记得运行redis和微信小程序工具,以及Nginx哦)

如果完成上面的步鄹后,项目能正常运行,恭喜你部署checkout代码成功!🎉🎉,现在可以大展拳脚完成SpringTask案例了

2. POI入门案例 🍐 ✏️

POI入门案例

Apache POI 是一个处理Miscrosoft Office各种文件格式的开源项目。简单来说就是,我们可以使用 POI 在 Java 程序中对Miscrosoft Office各种文件进行读写操作。

一般情况下,POI 都是用于操作 Excel 文件。

代码实现 👇

  • 导入依赖
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>3.16</version>
</dependency>
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>3.16</version>
</dependency>

总结

  1. poi的作用是什么,有什么作用?

课堂作业

🎻 1. 按照上面的步鄹和建议,完成导入和导出

在测试类中,书写测试类 测试poi的导入和导出逻辑

3. 导出运营数据

前提:需要完成平台代码导入后,才能完成此功能!!

导出运营数据

  • 点击导出

  • 导出格式:

  • 业务规则:
    • 导出Excel形式的报表文件
    • 导出最近30天 的运营数据

代码实现 👇

根据接口定义,在ReportController中创建export方法:

    /**
     * 导出运营数据报表
     * @param response
     */
    @GetMapping("/export")
    @ApiOperation("导出运营数据报表")
    public void export(HttpServletResponse response){
        reportService.exportBusinessData(response);
    }

课后作业

🚩 1. 重点完成上述的课堂作业

  1. 晚自习第一节课的前30分钟,总结完毕之后,每个同学先必须梳理今日知识点 (记得写不知道的,以及感恩三件事);整理好的笔记可以发给组长,组长交给班长,意在培养大家总结的能力)

  2. 晚自习第一节课的后30分钟开始练习(记住:程序员是代码堆起来的):

  3. 剩余的时间:预习第二天的知识,预习的时候一定要注意:

  • 预习不是学习,不要死看第二天的视频(很容易出现看了白看,为了看视频而看视频)
  • 预习看第二天的笔记,把笔记中标注重要的知识,可以找到预习视频,先看一遍,如果不懂的 ,记住做好标注。

4. 其他

1. 参考阶段目标,回顾学过的技术

阶段目标

2. Myabtis-collection标签

学习笔记

3. Nginx负载均衡

学习笔记

4. EasyExcel入门案例

学习笔记