Part03 中州养老项目实训 ☀️

YangeIT大约 17 分钟tlias智能学习辅助系统MysqlApifoxServletHTTPGETPOST

Part03 中州养老项目实训 ☀️

今日目标

1. 项目介绍

1.1 整体业务流程 🍐

整体业务流程

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

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

1708670665257
1708670665257

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

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

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

数据访问流程: 👇

总结

课堂作业

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

1.2 实训说明和任务 🍐

实训说明和任务

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

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

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

实训任务

1 边讲边练

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

2 自己完成

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

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

项目环境搭建

步骤

  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. 日志中有哪些信息?🎤

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

开发流程:

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

3.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的作用是什么?他做了哪些工作?

3.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. 参考接口文档和上述步骤,完成新增分页查询🎤