中州养老项目实战
第二篇:若依框架+ AI辅助快速开发
代码生成器· AI辅助设计·在线接口文档·表单构建器
一、为什么选择若依框架?
若依(RuoYi)是目前国内最流行的 Java EE 后台管理系统脚手架,基于 SpringBoot 构建,具备以下特点:
特点 | 说明 |
开箱即用 | 内置用户管理、角色管理、权限管理、数据字典等基础功能 |
代码生成器 | 根据数据库表结构一键生成 CRUD 代码 |
前后端分离 | 基于 Vue 的现代化前端架构 |
权限体系完善 | RBAC 模型 + Spring Security + 数据权限 |
二、若依框架接入
2.1 项目初始化
若依框架提供了完整的项目骨架,我们直接基于它进行二次开发:
#克隆若依框架
git clone https://gitee.com/y_project/RuoYi-Vue.git
#改造为我们的项目zzyl
2.2 代码自动生成
若依的代码生成器是核心提效工具。只需三步:创建数据库表 → 在代码生成器中导入表 → 一键生成代码。
步骤一:创建数据库表
CREATE TABLE elder (
id bigint NOT NULL AUTO_INCREMENT COMMENT '老人ID',
name varchar(50) COMMENT '姓名',
age int COMMENT '年龄',
gender char(1) COMMENT '性别',
id_card varchar(18) COMMENT '身份证号',
phone varchar(20) COMMENT '联系电话',
checkin_status int COMMENT '入住状态',
create_time datetime COMMENT '创建时间',
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
步骤二和步骤三:导入表并生成代码
在代码生成器界面导入表后,一键生成以下文件:
├── Elder.java #实体类
├── ElderMapper.java # Mapper接口
├── ElderService.java # Service接口
├── ElderServiceImpl.java # Service实现
├── ElderController.java # Controller
├── elder/index.vue #前端列表页面
└── elderMapper.xml # MyBatis XML映射
2.3 代码模板改造
默认生成的代码可能不符合业务需求,我们可以改造 Freemarker 模板。例如,在生成的 Controller 中自动添加 Swagger 注解:
//改造后:添加Swagger注解
@RestController
@RequestMapping("/elder/elder")
@Api(tags = "老人管理相关接口")
public class ElderController extends BaseController {
@GetMapping("/list")
@ApiOperation("分页查询老人列表")
@PreAuthorize("@ss.hasPermi('elder:elder:list')")
public TableDataInfo list(Elder elder) {
startPage();
List<Elder> list = elderService.selectElderList(elder);
return getDataTable(list);
}
}
三、AI 辅助开发
在项目中,我们大量使用 AI 工具(通义灵码 / 通义千问 / 文心一言)来提升开发效率。
3.1 AI 辅助接口设计
使用 AI 分析需求文档,生成接口定义:
/**
*入住办理相关接口
*/
@RestController
@RequestMapping("/nursing/checkin")
@Api(tags = "入住办理相关接口")
public class CheckInController extends BaseController {
@PostMapping
@ApiOperation("办理入住")
public AjaxResult checkIn(@RequestBody CheckInDto checkInDto) {
return success(checkInService.checkIn(checkInDto));
}
@GetMapping("/{elderId}")
@ApiOperation("查询入住详情")
public AjaxResult getCheckInDetail(@PathVariable Long elderId) {
return success(checkInService.getDetail(elderId));
}
}
3.2 AI 辅助表结构设计
使用 AI 分析原型图,生成数据库表结构:
--入住记录表(AI生成)
CREATE TABLE check_in (
id bigint NOT NULL AUTO_INCREMENT,
elder_id bigint COMMENT '老人ID',
room_id bigint COMMENT '房间ID',
bed_id bigint COMMENT '床位ID',
checkin_time datetime COMMENT '入住时间',
checkin_status tinyint COMMENT '入住状态',
nursing_level varchar(20) COMMENT '护理等级',
remark varchar(500) COMMENT '备注',
PRIMARY KEY (id)
);
3.3 AI 辅助代码修复
当遇到代码问题时,可以使用 AI 来分析并修复:
//问题:前端表单提交后数据未正确保存
// AI分析:发现DTO字段类型不匹配
//修复前
public class CheckInDto {
private String checkinTime; //字符串类型
}
//修复后(AI建议)
public class CheckInDto {
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime checkinTime; // LocalDateTime类型
}
四、在线接口文档
4.1 Knife4j 集成
项目集成了 Knife4j(Swagger 增强版),自动生成在线接口文档:
@Configuration
@EnableSwagger2WebMvc
public class SwaggerConfig {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.zzyl"))
.paths(PathSelectors.any())
.build();
}
}
访问 http://localhost:8080/doc.html 即可查看在线接口文档,支持在线调试。
4.2 数据字典管理
若依框架内置了数据字典功能,可以在后台管理系统中灵活配置:
字典类型:elder_checkin_status
├── 0:待入住
├── 1:已入住
└── 2:已退住
五、表单构建器
若依框架提供了可视化表单构建器,拖拽式生成表单:
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-row>
<el-col :span="12">
<el-form-item label="老人姓名" prop="elderName">
<el-input v-model="form.elderName" placeholder="请输入老人姓名"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="身份证号" prop="idCard">
<el-input v-model="form.idCard" placeholder="请输入身份证号"/>
</el-form-item>
</el-col>
</el-row>
</el-form>
六、总结
本文介绍了若依框架在项目中的实际应用:
1. 代码生成器:一键生成 CRUD 代码,大幅提升开发效率
2. AI 辅助开发:从需求分析、接口设计到代码修复,AI 全程助力
3. 在线接口文档:Knife4j 让前后端协作更加高效
4. 表单构建器:可视化拖拽,快速完成前端页面
系列文章导航
第1篇:项目概览与环境搭建
▶第2篇:若依框架+ AI辅助快速开发(本文)
第3篇:入住办理与AI大模型集成
第4篇:后台认证授权与小程序登录
第5篇:IoT智能监测系统详解
第6篇:智能床位与报警管理系统
*本文为「中州养老项目实战」系列博客,项目已开源至Gitee,欢迎Star和Fork。
中州养老前端: 中州养老前端代码
中州养老后端: 中州养老后端代码