Part03 中州养老项目实训 ☀️

YangeIT大约 20 分钟汉口学院MysqlApifoxServletHTTPGETPOST

Part03 中州养老项目实训 ☀️

今日目标

  • 项目介绍 🍐
    • 开发流程介绍
    • 开发角色介绍
    • 开发环境介绍
  • 导入初始化工程12项目导入
    • 安装微信小程序
    • 部署数据库
    • 导入后端项目
    • 运行测试
    • 项目介绍
  • 接口开发
    • 房型列表接口
    • 护理服务项目分页查询

1. 软件开发整体介绍 🍐

软件开发整体介绍

作为一名软件开发工程师,我们需要了解在软件开发过程中的开发流程, 以及软件开发过程中涉及到的岗位角色,角色的分工、职责, 并了解软件开发中涉及到的三种软件环境。那么这一小节,我们将从 三个方面,来整体上介绍一下软件开发。

软件开发流程 🍐

image
image
岗位/角色职责/分工
项目经理对整个项目负责,任务分配、把控进度
产品经理进行需求调研,输出需求调研文档、产品原型等
UI 设计师根据产品原型输出界面效果图
架构师项目整体架构设计、技术选型等
开发工程师功能代码实现
测试工程师编写测试用例,输出测试报告
运维工程师软件环境搭建、项目上线

角色分工是在一个项目组中比较标准的角色分工, 但是在实际的项目中, 有一些项目组由于人员配置紧张, 可能并没有专门的架构师或测试人员, 这个时候可能需要有项目经理或者程序员兼任

总结

课堂作业

  1. 请回答软件的开发流程是什么?🎤
  2. 请回答软件开发过程中,有哪些角色,以及实际工作中这些角色都需要招聘吗?
  3. 测试环境和生产环境有什么区别?

2. 项目介绍

2.1 整体业务流程 🍐

整体业务流程

中国老龄化程度加深,我国老龄事业和养老服务体系的发展得到了国家的高度重视,在国家政策的支持下,我国智慧养老产业主体持续增多,产业链不断整合,发展前景较好。我国正在形成一个多元化“互联网+养老”的智慧老年护理服务系统,智慧养老是我国的必然趋势

中州养老系统为养老院量身定制开发专业的养老管理软件产品;涵盖来访管理、入退管理、在住管理、服务管理、财务管理等功能模块,涉及从来访参观到退住办理的完整流程。

1708670665257
1708670665257

项目原型地址:https://rp-java.itheima.net/zhyl/open in new window

中州养老项目分为两端,一个是管理后台,另外一个是家属端

  • 管理后台:养老院员工使用,入住、退住,给老人服务记录等等
  • 家属端:养老院的老人家属使用,查看老人信息,缴费,下订单等等

数据访问流程: 👇

总结

课堂作业

  1. 微信小程序有什么优势!!🎤
  2. 如果要你设计一个养老院管理系统,你能想到什么功能?
  3. 点击阅读在线原型文档open in new window,了解中州养老的业务

2.2 实训说明和任务 🍐

实训说明和任务

业务流程图
业务流程图
  1. 整个中州养老的前后端代码要全部实现,需要三个月以上的时间
  2. 由于本次实训时间所限,没有办法将整个中州养老的所有代码实现,所以咱们会从项目中挑选部分功能进行实现,把我们本次实训所学习的技术应用起来。
  3. 本次实训选取中州养老项目家属端 的部分功能进行实现
  4. 其中前端微信小程序部分已经实现好 了,我们只需要把提供好的代码运行起来,配合后端完成测试及效果展示即可。

将来要实现的家属端的功能包含如下:👇

  1. 预约模块: ✏️ 🎯
    • 预约列表分页查询
    • 新增预约
    • 取消预约
  2. 房型模块: 🎯
    • 查询所有房型
  3. 护理服务模块: 🎯
    • 护理服务列表分页查询
    • 护理服务详情查询

实训任务

1 边讲边练

参照接口文档,完成预约模块相关的三个接口

2 自己完成

参照接口文档,完成房型模块和护理服务模块的相关接口

3. 项目环境搭建 ✏️ ❤️

项目环境搭建

步骤

  1. 导入前端代码到微信小程序开发软件
  2. 创建Springboot项目
    1. 检查Maven是否是自己配置的版本
    2. 创建maven项目,引入依赖,创建启动类和application.yml配置文件
    3. 将对应的实体类、Controller类,Mapper接口复制到对应的文件夹
    4. 在resources下创建com/zzyl/mapper 三级文件夹,并且将xml文件粘贴到里面
    5. 在application.yml添加9995端口,以及数据库链接信息
  3. 导入数据库脚本
  4. 运行后端项目

之前导入的微信小程序

image
image

总结

课堂作业

  1. 参考上述步骤完成项目环境搭建,不会多看几遍🎤

4. 根据接口文档,开发接口

开发流程:

  1. 查看接口文档,明确入参和出参
  2. 编写Controller代码
  3. 编写Mapper接口和Mapper映射配置文件
  4. 微信小程序测试

4.1 预约列表分页查询 🎯

预约列表分页查询

  1. 阅读接口文档和效果图

接口文档:image

点击查看在线接口文档 👈

最终效果图:

image
image

代码操作

开发流程:

  1. 准备资料
  2. 编写Controller代码
  3. 编写Mapper接口和Mapper映射配置文件
  4. 微信小程序测试
1. 定义实体类PageResult,封装分页查询结果

/**
 * 分页结果包装
 *
 * @author itheima
 */
@Data
public class PageResult<T> {
    private Long total ;//总条数
    private Integer pageSize ;//每页条数
    private Long pages ;//总页码
    private Integer page ;//页码当前页码
    private List<T> records;//当前页数据

    public PageResult() {
    }

    public PageResult(Long total, Integer pageSize, Long pages, Integer page, List<T> records) {
        this.total = total;
        this.pageSize = pageSize;
        this.pages = pages;
        this.page = page;
        this.records = records;
    }

}

总结

课堂作业

  1. 参考接口文档和上述步骤,完成分页查询🎤
  2. 思考分页插件PageHelper的作用是什么?他做了哪些工作?

4.2 新增预约 🎯

新增预约

  1. 阅读接口文档和效果图

接口文档:image

点击查看在线接口文档 👈

最终效果图:

image
image

代码操作

开发流程:

  1. 编写Controller代码
  2. 编写Mapper接口和Mapper映射配置文件
  3. 微信小程序测试
1 在ReservationController中添加方法
//新增预约
@PostMapping("/customer/reservation")
public Result addReservation(@RequestBody HashMap<String,Object> params){
    //补全数据
    //1.补全状态
    params.put("status",0);
    //2.补全创建时间
    params.put("createTime", LocalDateTime.now());
    //3.补全更新时间
    params.put("updateTime",LocalDateTime.now());

    //调用mapper完成添加
    reservationMapper.insert(params);
    return Result.success();
}

注意: 可以通过@Autowired注解,从IOC容器中获取指定类型的对象并赋值给成员变量

总结

课堂作业

  1. 参考接口文档和上述步骤,完成新增查询🎤