使用飞算JavaAI快速搭建酒店管理系统

使用飞算JavaAI快速搭建酒店管理系统

飞算JavaAI炫技赛主题(毕设):使用飞算JavaAI快速搭建酒店管理系统。

目录

需求分析与规划

酒店管理系统后端技术选型建议采用Spring Boot + MyBatis Plus + MySQL + Redis的经典组合:使用Spring Boot作为主框架提供快速开发和自动配置能力,集成Spring Security实现用户认证和权限控制;数据持久层采用MyBatis Plus简化CRUD操作和复杂查询;MySQL 8.0作为主数据库存储客房、订单、客户等核心业务数据;Redis用于缓存热点数据(如房间状态、用户会话)和实现分布式锁;同时整合Swagger生成API文档,使用Maven进行项目管理。

飞算JavaAI开发实录

接下来我会使用智能引导功能来一步一步的完成整个系统的搭建。

第一步:需求描述

采用Spring Boot + MyBatis Plus + MySQL + Redis技术架构,实现用户权限管理、客房状态监控、预订流程处理、入住退房管理和财务结算统计等核心功能模块,通过B/S架构设计支持多角色协同操作,具备实时数据缓存、接口文档自动生成、安全认证等特性,系统要求响应时间不超过3秒、支持100+并发用户访问
需求描述

第二步:理解需求

理解需求

第三步:设计接口

设计接口

第四步:表结构设计

user_info用户信息表,role_info角色信息表,permission_info权限信息表,user_role_relation用户角色关联表,role_permission_relation角色权限关联表,room_info客房信息表,booking_info预定信息表,checkin_info入住登记信息表,bill_info账单信息表

表结构设计
CREATETABLE user_info ( user_id BIGINTPRIMARYKEYAUTO_INCREMENTCOMMENT'用户唯一标识', username VARCHAR(50)NOTNULLUNIQUECOMMENT'用户名', password VARCHAR(100)NOTNULLCOMMENT'用户密码(加密存储)', email VARCHAR(100)COMMENT'用户邮箱', phone VARCHAR(20)COMMENT'用户手机号',statusTINYINTDEFAULT1COMMENT'用户状态:1正常,0禁用', create_by VARCHAR(50)COMMENT'创建人', create_time DATETIMEDEFAULTCURRENT_TIMESTAMPCOMMENT'创建时间', update_by VARCHAR(50)COMMENT'修改人', update_time DATETIMEDEFAULTCURRENT_TIMESTAMPONUPDATECURRENT_TIMESTAMPCOMMENT'修改时间')COMMENT='用户信息表';CREATETABLE role_info ( role_id BIGINTPRIMARYKEYAUTO_INCREMENTCOMMENT'角色唯一标识', role_name VARCHAR(50)NOTNULLUNIQUECOMMENT'角色名称', role_desc TEXTCOMMENT'角色描述',statusTINYINTDEFAULT1COMMENT'角色状态:1启用,0禁用', create_by VARCHAR(50)COMMENT'创建人', create_time DATETIMEDEFAULTCURRENT_TIMESTAMPCOMMENT'创建时间', update_by VARCHAR(50)COMMENT'修改人', update_time DATETIMEDEFAULTCURRENT_TIMESTAMPONUPDATECURRENT_TIMESTAMPCOMMENT'修改时间')COMMENT='角色信息表';CREATETABLE permission_info ( permission_id BIGINTPRIMARYKEYAUTO_INCREMENTCOMMENT'权限唯一标识', permission_name VARCHAR(100)NOTNULLUNIQUECOMMENT'权限名称', permission_code VARCHAR(100)NOTNULLUNIQUECOMMENT'权限编码', permission_type TINYINTCOMMENT'权限类型:1菜单,2按钮,3接口', parent_id BIGINTDEFAULT0COMMENT'父级权限ID', url VARCHAR(200)COMMENT'权限对应的URL路径', method VARCHAR(10)COMMENT'请求方法:GET、POST等',statusTINYINTDEFAULT1COMMENT'权限状态:1启用,0禁用', create_by VARCHAR(50)COMMENT'创建人', create_time DATETIMEDEFAULTCURRENT_TIMESTAMPCOMMENT'创建时间', update_by VARCHAR(50)COMMENT'修改人', update_time DATETIMEDEFAULTCURRENT_TIMESTAMPONUPDATECURRENT_TIMESTAMPCOMMENT'修改时间')COMMENT='权限信息表';CREATETABLE user_role_relation ( relation_id BIGINTPRIMARYKEYAUTO_INCREMENTCOMMENT'关联关系唯一标识', user_id BIGINTNOTNULLCOMMENT'用户ID', role_id BIGINTNOTNULLCOMMENT'角色ID', create_by VARCHAR(50)COMMENT'创建人', create_time DATETIMEDEFAULTCURRENT_TIMESTAMPCOMMENT'创建时间')COMMENT='用户角色关联表';CREATETABLE role_permission_relation ( relation_id BIGINTPRIMARYKEYAUTO_INCREMENTCOMMENT'关联关系唯一标识', role_id BIGINTNOTNULLCOMMENT'角色ID', permission_id BIGINTNOTNULLCOMMENT'权限ID', create_by VARCHAR(50)COMMENT'创建人', create_time DATETIMEDEFAULTCURRENT_TIMESTAMPCOMMENT'创建时间')COMMENT='角色权限关联表';CREATETABLE room_info ( room_id BIGINTPRIMARYKEYAUTO_INCREMENTCOMMENT'房间唯一标识', room_number VARCHAR(20)NOTNULLUNIQUECOMMENT'房间编号', room_type VARCHAR(50)COMMENT'房间类型', bed_type VARCHAR(50)COMMENT'床型', price DECIMAL(10,2)COMMENT'房间价格',statusTINYINTDEFAULT0COMMENT'房间状态:0空闲,1已预订,2入住中,3维修中', description TEXTCOMMENT'房间描述', create_by VARCHAR(50)COMMENT'创建人', create_time DATETIMEDEFAULTCURRENT_TIMESTAMPCOMMENT'创建时间', update_by VARCHAR(50)COMMENT'修改人', update_time DATETIMEDEFAULTCURRENT_TIMESTAMPONUPDATECURRENT_TIMESTAMPCOMMENT'修改时间')COMMENT='客房信息表';CREATETABLE booking_info ( booking_id BIGINTPRIMARYKEYAUTO_INCREMENTCOMMENT'预订记录唯一标识', user_id BIGINTNOTNULLCOMMENT'下单用户ID', room_id BIGINTNOTNULLCOMMENT'房间ID', check_in_date DATECOMMENT'入住日期', check_out_date DATECOMMENT'退房日期', guest_count INTDEFAULT1COMMENT'入住人数', total_amount DECIMAL(10,2)COMMENT'总金额', booking_status TINYINTDEFAULT0COMMENT'预订状态:0待确认,1已确认,2已取消', remark TEXTCOMMENT'备注说明', create_by VARCHAR(50)COMMENT'创建人', create_time DATETIMEDEFAULTCURRENT_TIMESTAMPCOMMENT'创建时间', update_by VARCHAR(50)COMMENT'修改人', update_time DATETIMEDEFAULTCURRENT_TIMESTAMPONUPDATECURRENT_TIMESTAMPCOMMENT'修改时间')COMMENT='预订信息表';CREATETABLE checkin_info ( checkin_id BIGINTPRIMARYKEYAUTO_INCREMENTCOMMENT'入住记录唯一标识', booking_id BIGINTNOTNULLCOMMENT'对应预订ID', user_id BIGINTNOTNULLCOMMENT'入住用户ID', room_id BIGINTNOTNULLCOMMENT'房间ID', check_in_time DATETIMECOMMENT'实际入住时间', check_out_time DATETIMECOMMENT'预计退房时间', actual_checkout_time DATETIMECOMMENT'实际退房时间', total_days INTCOMMENT'入住天数', final_amount DECIMAL(10,2)COMMENT'最终结算金额',statusTINYINTDEFAULT1COMMENT'入住状态:1进行中,2已完成,3异常', create_by VARCHAR(50)COMMENT'创建人', create_time DATETIMEDEFAULTCURRENT_TIMESTAMPCOMMENT'创建时间', update_by VARCHAR(50)COMMENT'修改人', update_time DATETIMEDEFAULTCURRENT_TIMESTAMPONUPDATECURRENT_TIMESTAMPCOMMENT'修改时间')COMMENT='入住登记信息表';CREATETABLE bill_info ( bill_id BIGINTPRIMARYKEYAUTO_INCREMENTCOMMENT'账单唯一标识', user_id BIGINTNOTNULLCOMMENT'用户ID', order_id BIGINTNOTNULLCOMMENT'订单ID(如booking_id或checkin_id)', amount DECIMAL(10,2)COMMENT'账单金额', bill_type TINYINTCOMMENT'账单类型:1预订费用,2住宿费用,3其他费用', payment_status TINYINTDEFAULT0COMMENT'支付状态:0未支付,1已支付', remark TEXTCOMMENT'账单备注', create_by VARCHAR(50)COMMENT'创建人', create_time DATETIMEDEFAULTCURRENT_TIMESTAMPCOMMENT'创建时间', update_by VARCHAR(50)COMMENT'修改人', update_time DATETIMEDEFAULTCURRENT_TIMESTAMPONUPDATECURRENT_TIMESTAMPCOMMENT'修改时间')COMMENT='账单信息表';

第五步:处理逻辑(接口)

处理逻辑(接口)

第六步:生成源码

生成源码


生成成功

第七步:打开并运行项目

这是一个典型的基于 ​​Spring Boot​​ 框架的 Java Web 项目结构,采用分层架构(如Controller-Service-Repository)和Maven进行依赖管理。
打开项目后配置JDK和Maven环境。

配置JDK


将SQL导入到数据库中

导入SQL


导入SQL


成功导入依赖

成功导入依赖


项目成功运行

项目成功运行

优化与调试心得

我这里使用智能会话功能对JWT进行优化,然后考虑到后续多用户同时使用的情况下,所以又添加了Druid连接池。飞算JavaAI给出了详细的优化过程以及优化技巧,代码程序拿来即用。体验非常的不错。下面来看看飞算JavaAI如何进行优化的。

增强JWT: 使用强加密算法优化JWT,避免使用HS256,使用HS512,密钥长度至少达到512-bit

增强JWT


增强JWT


在 application.yml 中增加 Druid 数据库连接池配置。

增加Druid
server:port:9000servlet:context-path: /hms spring:datasource:# Druid 连接池配置type: com.alibaba.druid.pool.DruidDataSource url: jdbc:mysql://localhost:3306/hms_db?useSSL=false&serverTimezone=UTC&characterEncoding=utf8username:nullpassword:nulldriver-class-name: com.mysql.cj.jdbc.Driver # Druid 基本配置druid:initial-size:5min-idle:5max-active:20# 配置获取连接等待超时的时间max-wait:60000# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接time-between-eviction-runs-millis:60000# 配置一个连接在池中最小生存的时间min-evictable-idle-time-millis:300000# 验证连接有效性的查询语句validation-query: SELECT 1 # 是否缓存preparedStatement,也就是PSCachepool-prepared-statements:true# 要启用PSCache,必须配置大于0,当大于0时,poolPreparedStatements自动触发修改为truemax-pool-prepared-statement-per-connection-size:20# 配置监控统计拦截的filtersfilters: stat,wall,slf4j # 合并多个DruidDataSource的监控数据use-global-data-source-stat:true# 配置WebStatFilterweb-stat-filter:enabled:trueurl-pattern: /* exclusions:"*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*"# 配置StatViewServletstat-view-servlet:enabled:trueurl-pattern: /druid/* login-username: admin login-password: admin reset-enable:falsejpa:hibernate:ddl-auto: update show-sql:trueproperties:hibernate:dialect: org.hibernate.dialect.MySQLDialect format_sql:truejwt:secret: mySecretKeyForHMSApplicationWhichShouldBeVeryLongAndSecure expiration:86400

成果展示与总结

系统结构展示

飞算JavaAI生成了完整的系统架构,采用分层架构(如Controller-Service-Repository)和Maven进行依赖管理。控制层负责处理HTTP请求和参数验证,业务层负责核心业务逻辑处理,数据层负责数据访问和持久化操作。

项目结构
hms/ ├── sql/ ├── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── feisuanyz/ │ │ ├── common/ │ │ ├── config/ │ │ ├── controller/ │ │ ├── dto/ │ │ ├── entity/ │ │ ├── repository/ │ │ ├── service/ │ │ └── utils/ │ └── resources/ │ └── application.yml └── pom.xml 

API接口展示

下面来看看所有的API接口

用户管理接口

# 用户认证 POST /api/auth/login # 用户登录 POST /api/auth/logout # 用户登出 POST /api/auth/refresh # 刷新Token # 用户管理 GET /api/users # 获取用户列表 POST /api/users # 创建用户 GET /api/users/{id} # 获取用户详情 PUT /api/users/{id} # 更新用户信息 DELETE /api/users/{id} # 删除用户 

角色权限接口

# 角色管理 GET /api/roles # 获取角色列表 POST /api/roles # 创建角色 PUT /api/roles/{id} # 更新角色 DELETE /api/roles/{id} # 删除角色 # 权限管理 GET /api/permissions # 获取权限列表 POST /api/roles/{roleId}/permissions # 分配权限 

客房管理接口

# 房间管理 GET /api/rooms # 获取房间列表 POST /api/rooms # 添加房间 GET /api/rooms/{id} # 获取房间详情 PUT /api/rooms/{id} # 更新房间信息 DELETE /api/rooms/{id} # 删除房间 # 房间状态 GET /api/rooms/available # 查询可用房间 PUT /api/rooms/{id}/status # 更新房间状态 

预订管理接口

# 预订管理 GET /api/bookings # 获取预订列表 POST /api/bookings # 创建预订 GET /api/bookings/{id} # 获取预订详情 PUT /api/bookings/{id} # 更新预订 DELETE /api/bookings/{id} # 取消预订 # 预订状态 PUT /api/bookings/{id}/confirm # 确认预订 PUT /api/bookings/{id}/cancel # 取消预订 

入住退房接口

# 入住管理 POST /api/checkins # 办理入住 GET /api/checkins # 获取入住记录 GET /api/checkins/{id} # 获取入住详情 PUT /api/checkins/{id}/checkout # 办理退房 

财务统计接口

# 账单管理 GET /api/bills # 获取账单列表 POST /api/bills # 创建账单 GET /api/bills/{id} # 获取账单详情 PUT /api/bills/{id}/pay # 支付账单 # 统计报表 GET /api/statistics/revenue # 收入统计 GET /api/statistics/occupancy # 入住率统计 GET /api/statistics/rooms # 房间统计 

总结

总体体验下来,一个字好,两个字很好,三个字非常好。
之前我写酒店管理系统,要么是从0到1写,要么是找别人开源的。从0到1写那个过程非常繁琐,依赖的版本和JDK以及Maven的版本要匹配,要不然不兼容报错,还要考虑用户权限问题,登录Token的问题以及表与表之间复杂的关联关系,整体下来要好几个星期。找开源项目又和学校的要求不一样,这改改那改改浪费不少时间。

使用了飞算JavaAI后,它能根据我们的需求描述来生成项目,这也就是说,我想生成啥生成啥。能帮我进行逻辑设计,还能帮我设计表结构。生成后的项目,调一下配置,导下数据库就能使用。后续如果想优化啥,使用智能会话直接就优化了,这种模式机制非常完美。

不足之处的话,我觉得应该需要优化一下智能会话,让它能够根据我的具体描述分析整个项目来写代码。

飞算JavaAI的这种需求驱动、智能生成、持续优化的开发模式,无疑是软件开发领域的一次重要革新,为开发者提供了一种全新的、高效的开发体验。

Read more

下班后上门装OpenClaw,一天赚1500元:普通人如何抓住AI时代的红利

下班后上门装OpenClaw,一天赚1500元:普通人如何抓住AI时代的红利

最近,"上门安装OpenClaw"成了闲鱼、小红书上的热门关键词。 单价从100元到1500元不等。很多人下班后做做,一天就能赚上千元。 这本质上是一个信息差机会。勇敢的人已经先赚钱了。 信息差永远存在 OpenClaw的安装,技术上说并不复杂。安装步骤也就几行命令: 但对很多普通人来说,这几行命令就是整不明白。 他们有需求,有预算,甚至愿意支付溢价,但他们需要有人帮他们。 这就是信息差。 技术对一部分人来说是日常,但对大部分人来说就是无法跨域。这中间,就是机会。 为什么这个需求是真实的? 很多人不理解:不就是安装个软件吗,为什么愿意花上千元? 因为他们买的是"可用性",不是"软件本身"。 想象一下: * 你是自由职业者,每天要浪费时间收集素材,制作内容。如果能有一个AI助手24小时帮你处理这些事情。 * 你是投资者,需要获取市场的信息动态,如果有AI助手可以实时的抓取互联网信息,定时分析后推送给你,是不是可以辅助你做决策。 * 你是传统行业的小老板,听说了AI的风潮,

【AI大模型学习日志6:深度拆解字节跳动豆包系列——国民级全模态AI的普惠化突围之路】

在上一篇AI大模型学习日志中,我们完整拆解了xAI旗下的Grok系列,它凭借X平台实时数据原生接入、反过度对齐的极客风格,在海外巨头垄断的市场中撕开了差异化突围的口子,也让我们看到了大模型赛道“长板极致化”的破局逻辑。而当我们把视线拉回国内大模型赛道,真正把“普惠化”做到极致、彻底改写国内C端AI格局的产品,必然是字节跳动旗下的豆包系列。 在豆包诞生之前,国内大模型赛道始终陷入“对标GPT堆参数、拼跑分、做企业服务”的同质化内卷,普通用户想要用上AI,要么面对高昂的付费门槛,要么要忍受有限的免费额度、复杂的操作流程,AI技术始终停留在极客圈层与企业场景,无法真正走进大众的日常生活。而豆包从诞生之日起,就跳出了这条内卷路径,以“让顶尖AI能力零门槛走进10亿中国人的日常”为核心使命,用两年多时间成长为国内月活破2亿的国民级AI产品,成为国内C端通用大模型的绝对标杆。 本文所有核心信息均以字节跳动官方技术白皮书、产品发布会、官方技术论文与开源文档为唯一基准,严格遵循系列日志的统一框架,从官方定义与核心基本面、完整发展历程、解决的行业核心痛点与落地场景、核心优势与现存不足四大维度,完整拆

Ollama for macOS 完全指南:零配置本地运行 Llama、DeepSeek 等大模型,私享安全高效的 AI 能力

Ollama for macOS 完全指南:零配置本地运行 Llama、DeepSeek 等大模型,私享安全高效的 AI 能力

Ollama for macOS 完全指南:零配置本地运行 Llama、DeepSeek 等大模型,私享安全高效的 AI 能力 * 🎯 核心摘要 * 💻 安装 Ollama * 🚀 快速开始:运行你的第一个模型 * 1. 运行一个流行模型 * 2. 常用模型管理命令 * 🧠 模型选择建议 * 🎨 进阶使用:超越命令行 * 1. 使用图形化界面(Open WebUI) * 2. 通过代码调用(API) * ⚙️ 实用技巧与故障排除 🎯 核心摘要 这份指南将帮你快速在 macOS 上搭建起本地的 AI 助手。 《macOS上零配置运行本地AI模型指南》介绍了使用 Ollama 在Mac电脑上快速部署Llama3、DeepSeek等大语言模型的方法。文章详细讲解了两种安装方式(官方脚本和Homebrew)、模型管理命令,并针对不同Mac硬件配置提供了模型选择建议。此外,还介绍了图形界面(Open WebUI)

OpenClaw爆火背后的安全警示:AI平民化浪潮与工信部紧急预警

OpenClaw爆火背后的安全警示:AI平民化浪潮与工信部紧急预警

Part.01 新闻导语 据工业和信息化部网络安全威胁和漏洞信息共享平台(NVDB)2026年3月8日发布的官方预警,近期爆红的开源AI智能体框架OpenClaw(俗称“龙虾”)在默认或不当配置情况下存在较高安全风险,极易引发网络攻击、信息泄露等安全问题。而就在预警发布前一周,英伟达CEO黄仁勋在摩根士丹利会议上盛赞OpenClaw是“有史以来最重要的软件”,其三周下载量超越Linux三十年积累,成为史上下载量最大的开源软件。这起事件标志着AI技术从“云端大脑”走向“本地手脚”的平民化革命,也揭示了伴随能力爆发而来的安全隐忧。 Part.02 核心数据:现象级增长与风险实锤 OpenClaw增长里程碑 指标数据对比参照GitHub星标数27.3万+(截至2026年3月9日)超越React、Linux内核三周累计下载量4110万+次Linux三十年普及水平社区技能数(ClawHub)1.1万+个覆盖办公、开发、生活等全场景全球部署实例284万+个月增长近百万国内公网暴露实例7.52万例(工信部监测)其中63%存在可利用漏洞 安全风险关键数据 * 高危漏洞CVE-2