zzyl-day01

4 阅读3分钟

今天的核心任务是从零开始熟悉项目架构、搭建开发环境,并完成“服务管理”下“护理项目”的后端接口开发。

1. 学习目标

  • 熟悉中州养老项目的核心业务流程、系统架构和技术架构。
  • 掌握项目管理基础和开发流程。
  • 完成前后端基础环境的搭建与本地运行。
  • 核心实战:完成“护理项目”功能的接口开发及Swagger在线接口调试。

2. 项目与架构认知

  • 系统定位:中州养老项目分为两端:管理后台(供养老院员工使用,处理入住、退住、服务记录等)和家属端(供老人家属使用的小程序,用于查看老人信息、缴费、下订单等)。
  • 开发流程:通常遵循“需求分析 -> 评估工期 -> 表结构设计 -> 接口设计 -> 功能实现 -> 前后端联调 -> 测试验收”的完整流程。

3. 基础环境搭建与运行

在开发具体业务前,你需要先把项目在本地跑起来:

  • 虚拟机环境:项目提供了配置好 MySQL、Redis、xxl-job、nginx 的 CentOS 7 虚拟机镜像。虚拟机的静态IP为 192.168.200.146,账号 root,密码 itcast
  • 后端环境:需准备 JDK 11、Maven 3.6.x、MySQL 8 和 Git。拉取 zzyl-code 代码后,引导类位于 zzyl-web 模块下的 ZzylApplication。后端代码结构包含通用的 common、framework 模块,以及业务相关的 service、web 模块。
  • 前端环境:强制要求 Node.js 版本为 v16.20.0。开发工具推荐 VS Code,主要技术栈为 Vue 3 + TypeScript + TDesign。通过 npm installnpm run dev 启动前端。

4. 核心实战:护理项目功能开发

护理项目(如助餐、助浴、复健运动等)是服务管理的基础数据,今天的核心就是完成该模块的增删改查开发。

4.1 需求分析与表结构设计

  • 关系梳理:护理等级与护理计划是一对多关系,护理项目与护理计划是多对多关系。如果护理项目已与护理计划绑定,则该项目的删除、编辑、禁用按钮不可点击。
  • 数据库表 (nursing_project) :核心字段包括 id (主键)、name (名称)、price (价格)、unit (单位)、image (图片)、nursing_requirement (护理要求)、status (状态:0禁用,1启用)。
  • 实体类:创建 NursingProject 实体类,统一继承已提供的基类 BaseEntity(包含创建人、创建时间等通用字段)。

4.2 接口设计与开发

你需要设计并实现以下 6 个 RESTful 接口:

  1. 分页条件查询 (GET /nursing_project):

    • 支持按名称模糊查询和状态精确查询,返回 PageResponse 封装的分页列表。
    • 代码实现时,使用 PageHelper.startPage 处理分页逻辑。查询 SQL 需关联 sys_user 表以返回创建人姓名。
  2. 新增护理项目 (POST /nursing_project):

    • 使用 NursingProjectDto 接收请求体参数。
    • 使用 BeanUtils.copyProperties 将 DTO 转换为实体类后保存入库。
  3. 根据ID查询 (GET /nursing_project/{id}):通过路径参数传递 ID,用于编辑页面的数据回显。

  4. 修改护理项目 (PUT /nursing_project):接收 DTO 对象更新数据库。

  5. 启用/禁用 (PUT /nursing_project/{id}/status/{status}):根据路径参数更新特定项目状态。

  6. 删除 (DELETE /nursing_project/{id}):物理删除指定 ID 的护理项目。

4.3 在线接口调试 (Knife4j)

  • 为了方便前后端分离协同开发,项目中集成了 Knife4j (基于 Swagger 的增强方案) 来自动生成接口文档。
  • 使用规范:你需要在 Controller 类上使用 @Api(tags = "护理项目管理"),在方法上使用 @ApiOperation,在 DTO 和 Entity 类上使用 @ApiModel@ApiModelProperty 添加中文描述。
  • 调试地址:启动后端服务后,访问 http://localhost:9995/doc.html 即可在线测试你刚才编写的 6 个接口。

5. 课后建议

在完成上述内容后,建议结合资料中的功能清单和原型图,尝试独立进行“护理计划”或“护理等级”模块的 E-R 图分析和表结构设计,作为巩固练习。