用飞算JavaAI轻松完成高校宿舍管理系统

用飞算JavaAI轻松完成高校宿舍管理系统

今天我们使用飞算来完成高校宿舍管理系统。

一、需求分析与规划

1.1 功能需求与核心模块

高校宿舍管理系统主要服务于宿舍管理员、学生和学校管理部门,实现宿舍资源的数字化管理。系统核心功能包括:用户管理(登录认证、角色权限分配)、宿舍管理(楼栋房间信息、床位分配状态)、学生住宿管理(入住登记、宿舍分配调换、退宿处理)、日常管理(考勤记录、访客登记、违纪管理、卫生检查)、维修管理(故障申报、工单派发、进度跟踪)以及统计报表(入住率、费用统计、数据分析)等功能模块。

系统采用分层架构设计,包含八个核心模块:用户认证授权模块负责JWT令牌管理和权限控制;用户管理模块处理用户CRUD和角色分配;宿舍管理模块管理楼栋房间和床位状态;学生住宿模块处理入住分配和调宿业务;日常管理模块记录考勤访客和违纪信息;维修管理模块处理维修申请和工单流转;统计报表模块提供数据分析和图表展示;系统管理模块负责配置管理和日志监控。

1.2 技术选型

后端采用Spring Boot 2.7.14作为核心框架,集成Spring Security实现安全认证,使用JWT进行无状态身份验证。数据持久化层选用Spring Data JPA简化数据访问,MySQL作为主数据库,Druid作为连接池提供监控功能。缓存方案采用Spring Boot Redis Starter,使用Lettuce客户端提高系统响应速度。

开发工具方面,使用Lombok简化实体类代码,MapStruct处理对象映射转换,Hutool提供常用工具方法支持。API文档采用Swagger3自动生成,Spring Boot Validation进行参数校验,Logback作为日志框架。项目结构按照Controller-Service-Repository三层架构组织,确保代码的可维护性和扩展性。整体技术栈成熟稳定,适合高校宿舍管理系统的业务需求和后期维护。

二、飞算JavaAI开发实录

2.1 安装飞算JavaAI插件

这个需要到IDEA的插件市场中搜索飞算JavaAI进行安装。安装完成后再IDEA的右侧侧边栏找到飞算图标,点击注册登录使用。完全免费哦。

安装飞算JavaAI
登录注册飞算

2.2 需求输入

高校宿舍管理系统是一个面向宿舍管理员、学生和学校管理部门的综合性数字化管理平台。系统需要实现用户身份认证和权限管理,支持不同角色用户的安全登录和操作授权。在宿舍管理方面,系统应当维护完整的楼栋房间信息数据库,实时跟踪床位分配状态,支持宿舍资源的统一调配。针对学生住宿管理,系统需要处理从入住申请、宿舍分配、调宿申请到退宿办理的完整业务流程,确保住宿安排的合理性和规范性。在日常管理功能上,系统应支持学生考勤记录、访客登记管理、违纪事件处理和宿舍卫生检查等常规管理业务。维修管理模块需要建立从故障申报、工单创建、任务派发到维修完成的闭环管理流程,提高维修效率和服务质量。此外,系统还需要提供丰富的数据统计和报表分析功能,包括入住率统计、费用管理、趋势分析等,为管理决策提供数据支撑。整个系统应采用分层架构设计,确保系统的安全性、稳定性和可扩展性,同时提供友好的用户界面和良好的用户体验。

我们这里选择创建项目功能,然后输入我们的需求,飞算支持最多输入5000字文本内容。随后输入完自己的需求后点击发送让飞算JavaAI去分析需求。

需求输入

2.3 需求分析

飞算JavaAI将我们的自然描述需求拆解成了13个关键点,包括我们描述的宿舍管理系统的各个核心功能模块:

用户身份认证和权限管理功能 - 包括角色划分、登录验证、会话管理和访问控制 宿舍楼栋房间信息维护功能 - 支持楼栋、房间及床位的基础数据录入、修改和查询 床位分配状态跟踪功能 - 实时更新床位占用情况并支持可视化展示 宿舍资源统一调配功能 - 支持跨楼层或跨宿舍的床位调整与重新分配 学生住宿申请全流程管理功能 - 包括入住申请提交、审核、宿舍分配及结果通知 调宿申请处理功能 - 支持学生发起调宿请求、审批流程及执行调换操作 退宿办理功能 - 支持学生退宿申请、手续办理及床位释放处理 学生考勤记录功能 - 支持每日宿舍出入登记、异常行为标记及考勤统计 访客登记管理功能 - 支持访客预约、登记、进出时间记录及访客信息存档 违纪事件处理功能 - 支持违纪举报、事件记录、调查过程及处罚决定跟进 宿舍卫生检查管理功能 - 支持定期/不定期检查任务创建、评分记录及整改通知 维修工单闭环管理功能 - 涵盖故障申报、工单生成、任务派发、维修进度追踪及完工确认 数据统计与报表分析功能 - 包括入住率统计、费用收支明细、趋势分析图表及管理决策支持报告 

这样的智能拆解让原本复杂的需求描述变得结构化、条理清晰,每个功能点都有明确的边界和具体的实现要求,为后续的系统开发提供了清晰的指导方向。

需求分析功能

2.4 设计接口

这是飞算根据刚刚拆解的需求点,进行设计的接口。我们可以看到飞算JavaAI已经进入了第二个阶段——设计接口,基于前面理解的需求生成了9个核心接口方案,每个接口都对应具体的业务功能模块:

1. 用户身份认证与权限管理 实现系统的登录验证、会话管理及基于角色的访问控制功能,支持不同用户角色(如宿舍管理员、学生、学校管理部门)的安全登录和操作授权。 2. 宿舍楼栋房间信息管理 维护完整的楼栋、房间及床位基础数据信息,支持新增、修改、查询等功能,为后续的住宿分配和资源调配提供准确的数据支撑。 3. 床位分配状态跟踪 实时跟踪并更新每个床位的占用状态,支持可视化展示当前宿舍资源分布情况,并可进行跨楼层或跨宿舍的床位调整与重新分配。 4. 学生住宿申请全流程管理 处理学生的入住申请、审核、宿舍分配以及结果通知等全过程事务,确保住宿安排合理且符合规范;同时支持调宿和退宿相关流程。 5. 学生考勤与访客登记管理 记录学生的每日出入信息,标记异常行为;支持访客预约、登记、进出时间记录及访客信息归档,提升宿舍安全管理水平。 6. 违纪事件处理 接收并处理学生违纪举报,记录事件详情、调查过程及处罚决定的执行情况,形成完整的事件档案以便追溯和分析。 7. 宿舍卫生检查管理 创建定期或不定期的宿舍卫生检查任务,记录评分结果并发出整改通知,推动良好生活习惯养成和环境维护。 8. 维修工单闭环管理 从故障申报开始到维修完成确认为止,构建完整的维修工作流,包括工单生成、任务派发、进度追踪和完工验收等环节。 9. 数据统计与报表分析 提供多种维度的数据统计功能,例如入住率、费用收支明细、趋势分析图表等,辅助管理者做出科学决策。 

这些接口设计充分体现了飞算JavaAI对业务需求的深度理解,每个接口都有明确的功能定位和详细的业务描述,为后续的表结构设计和代码生成奠定了坚实的基础。

设计接口

2.5 表结构设计

在完成接口设计后,飞算JavaAI进入了第三个阶段——表结构设计。基于前面分析的9个核心功能模块,系统自动生成了13张数据表,完整覆盖了宿舍管理系统的所有业务场景。

飞算JavaAI设计的数据库表结构具有以下特点:

  1. 核心业务表
    user_info - 用户信息表:管理系统中所有用户的基本信息和角色权限
    dorm_building - 宿舍楼栋信息表:维护楼栋的基础信息
    dorm_room - 宿舍房间信息表:管理房间详细信息和容量
    bed_info - 床位信息表:跟踪每个床位的占用状态
  2. 业务流程表
    student_application - 学生住宿申请记录表:处理入住、调宿、退宿等申请流程
    attendance_record - 学生考勤记录表:记录学生日常出入信息
    visitor_record - 访客登记信息表:管理访客预约和登记信息
  3. 管理监督表
    violation_event - 违纪事件处理表:记录和处理违纪事件全流程
    hygiene_check_task - 宿舍卫生检查任务表:管理定期和不定期卫生检查
    hygiene_score_record - 宿舍卫生评分记录表:记录检查结果和整改要求
  4. 运维支撑表
    maintenance_work_order - 维修工单管理表:管理从报修到完工的全流程
    statistical_report - 数据统计与报表分析表:存储各类统计分析结果
表关系
CREATETABLE user_info ( user_id BIGINTPRIMARYKEYAUTO_INCREMENTCOMMENT'用户唯一标识', username VARCHAR(50)NOTNULLUNIQUECOMMENT'用户名', password VARCHAR(100)NOTNULLCOMMENT'密码', real_name VARCHAR(50)COMMENT'真实姓名', role_type TINYINTDEFAULT0COMMENT'角色类型:0-学生,1-宿舍管理员,2-学校管理部门',statusTINYINTDEFAULT1COMMENT'账户状态:0-禁用,1-启用', create_by VARCHAR(50)COMMENT'创建人', create_time DATETIMEDEFAULTCURRENT_TIMESTAMPCOMMENT'创建时间', update_by VARCHAR(50)COMMENT'修改人', update_time DATETIMEDEFAULTCURRENT_TIMESTAMPONUPDATECURRENT_TIMESTAMPCOMMENT'修改时间')COMMENT='用户信息表';CREATETABLE dorm_building ( building_id BIGINTPRIMARYKEYAUTO_INCREMENTCOMMENT'楼栋唯一标识', building_name VARCHAR(100)NOTNULLCOMMENT'楼栋名称', floor_count INTNOTNULLCOMMENT'楼层数量', total_rooms INTNOTNULLCOMMENT'总房间数', address TEXTCOMMENT'详细地址', remark TEXTCOMMENT'备注说明', create_by VARCHAR(50)COMMENT'创建人', create_time DATETIMEDEFAULTCURRENT_TIMESTAMPCOMMENT'创建时间', update_by VARCHAR(50)COMMENT'修改人', update_time DATETIMEDEFAULTCURRENT_TIMESTAMPONUPDATECURRENT_TIMESTAMPCOMMENT'修改时间')COMMENT='宿舍楼栋信息表';CREATETABLE dorm_room ( room_id BIGINTPRIMARYKEYAUTO_INCREMENTCOMMENT'房间唯一标识', building_id BIGINTNOTNULLCOMMENT'所属楼栋ID', room_number VARCHAR(20)NOTNULLCOMMENT'房间编号', room_type VARCHAR(50)COMMENT'房间类型(如单人间、双人间等)', capacity INTNOTNULLCOMMENT'最大容纳人数', current_occupancy INTDEFAULT0COMMENT'当前入住人数', remark TEXTCOMMENT'备注说明', create_by VARCHAR(50)COMMENT'创建人', create_time DATETIMEDEFAULTCURRENT_TIMESTAMPCOMMENT'创建时间', update_by VARCHAR(50)COMMENT'修改人', update_time DATETIMEDEFAULTCURRENT_TIMESTAMPONUPDATECURRENT_TIMESTAMPCOMMENT'修改时间')COMMENT='宿舍房间信息表';CREATETABLE bed_info ( bed_id BIGINTPRIMARYKEYAUTO_INCREMENTCOMMENT'床位唯一标识', room_id BIGINTNOTNULLCOMMENT'所在房间ID', bed_number VARCHAR(20)NOTNULLCOMMENT'床位编号', is_occupied TINYINTDEFAULT0COMMENT'是否被占用:0-未占用,1-已占用', student_id BIGINTCOMMENT'占用该床位的学生ID', remark TEXTCOMMENT'备注说明', create_by VARCHAR(50)COMMENT'创建人', create_time DATETIMEDEFAULTCURRENT_TIMESTAMPCOMMENT'创建时间', update_by VARCHAR(50)COMMENT'修改人', update_time DATETIMEDEFAULTCURRENT_TIMESTAMPONUPDATECURRENT_TIMESTAMPCOMMENT'修改时间')COMMENT='床位信息表';CREATETABLE student_application ( application_id BIGINTPRIMARYKEYAUTO_INCREMENTCOMMENT'申请记录唯一标识', student_id BIGINTNOTNULLCOMMENT'申请人学号', apply_type TINYINTNOTNULLCOMMENT'申请类型:1-入住申请,2-调宿申请,3-退宿申请',statusTINYINTDEFAULT0COMMENT'申请状态:0-待审核,1-通过,2-拒绝', original_bed_id BIGINTCOMMENT'原床位ID(仅适用于调宿或退宿)', target_bed_id BIGINTCOMMENT'目标床位ID(仅适用于调宿)', reason TEXTCOMMENT'申请原因', approval_remark TEXTCOMMENT'审批意见', create_by VARCHAR(50)COMMENT'创建人', create_time DATETIMEDEFAULTCURRENT_TIMESTAMPCOMMENT'创建时间', update_by VARCHAR(50)COMMENT'修改人', update_time DATETIMEDEFAULTCURRENT_TIMESTAMPONUPDATECURRENT_TIMESTAMPCOMMENT'修改时间')COMMENT='学生住宿申请记录表';CREATETABLE attendance_record ( record_id BIGINTPRIMARYKEYAUTO_INCREMENTCOMMENT'考勤记录唯一标识', student_id BIGINTNOTNULLCOMMENT'学生ID', check_date DATENOTNULLCOMMENT'检查日期', check_in_time DATETIMECOMMENT'入校时间', check_out_time DATETIMECOMMENT'离校时间', abnormal_flag 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='学生考勤记录表';CREATETABLE visitor_record ( visitor_id BIGINTPRIMARYKEYAUTO_INCREMENTCOMMENT'访客记录唯一标识', visitor_name VARCHAR(100)NOTNULLCOMMENT'访客姓名', id_card VARCHAR(50)COMMENT'身份证号码', phone VARCHAR(20)COMMENT'联系电话', visit_purpose TEXTCOMMENT'来访目的', visit_start_time DATETIMENOTNULLCOMMENT'访问开始时间', visit_end_time DATETIMECOMMENT'访问结束时间', host_student_id BIGINTNOTNULLCOMMENT'接待学生ID', register_time DATETIMEDEFAULTCURRENT_TIMESTAMPCOMMENT'登记时间', remark TEXTCOMMENT'备注说明', create_by VARCHAR(50)COMMENT'创建人', create_time DATETIMEDEFAULTCURRENT_TIMESTAMPCOMMENT'创建时间', update_by VARCHAR(50)COMMENT'修改人', update_time DATETIMEDEFAULTCURRENT_TIMESTAMPONUPDATECURRENT_TIMESTAMPCOMMENT'修改时间')COMMENT='访客登记信息表';CREATETABLE violation_event ( event_id BIGINTPRIMARYKEYAUTO_INCREMENTCOMMENT'违纪事件唯一标识', reporter VARCHAR(100)COMMENT'举报人', reported_student_id BIGINTNOTNULLCOMMENT'被举报学生ID', event_desc TEXTNOTNULLCOMMENT'事件描述', event_time DATETIMENOTNULLCOMMENT'发生时间', handling_status TINYINTDEFAULT0COMMENT'处理状态:0-待处理,1-已完成', penalty_desc TEXTCOMMENT'处罚措施描述',handlerVARCHAR(100)COMMENT'处理人员', handle_time DATETIMECOMMENT'处理时间', remark TEXTCOMMENT'备注说明', create_by VARCHAR(50)COMMENT'创建人', create_time DATETIMEDEFAULTCURRENT_TIMESTAMPCOMMENT'创建时间', update_by VARCHAR(50)COMMENT'修改人', update_time DATETIMEDEFAULTCURRENT_TIMESTAMPONUPDATECURRENT_TIMESTAMPCOMMENT'修改时间')COMMENT='违纪事件处理表';CREATETABLE hygiene_check_task ( task_id BIGINTPRIMARYKEYAUTO_INCREMENTCOMMENT'卫生检查任务唯一标识', task_name VARCHAR(200)NOTNULLCOMMENT'任务名称', check_date DATENOTNULLCOMMENT'检查日期', checker VARCHAR(100)COMMENT'检查员', check_level ENUM('regular','irregular')DEFAULT'regular'COMMENT'检查类型:regular-定期,irregular-不定期', remark TEXTCOMMENT'备注说明', create_by VARCHAR(50)COMMENT'创建人', create_time DATETIMEDEFAULTCURRENT_TIMESTAMPCOMMENT'创建时间', update_by VARCHAR(50)COMMENT'修改人', update_time DATETIMEDEFAULTCURRENT_TIMESTAMPONUPDATECURRENT_TIMESTAMPCOMMENT'修改时间')COMMENT='宿舍卫生检查任务表';CREATETABLE hygiene_score_record ( score_id BIGINTPRIMARYKEYAUTO_INCREMENTCOMMENT'评分记录唯一标识', task_id BIGINTNOTNULLCOMMENT'对应的任务ID', room_id BIGINTNOTNULLCOMMENT'房间ID', score DECIMAL(3,1)NOTNULLCOMMENT'评分分数', comments TEXTCOMMENT'评语说明', rectification_required TINYINTDEFAULT0COMMENT'是否需要整改:0-无需整改,1-需整改', rectify_deadline DATECOMMENT'整改截止日期', remark TEXTCOMMENT'备注说明', create_by VARCHAR(50)COMMENT'创建人', create_time DATETIMEDEFAULTCURRENT_TIMESTAMPCOMMENT'创建时间', update_by VARCHAR(50)COMMENT'修改人', update_time DATETIMEDEFAULTCURRENT_TIMESTAMPONUPDATECURRENT_TIMESTAMPCOMMENT'修改时间')COMMENT='宿舍卫生评分记录表';CREATETABLE maintenance_work_order ( order_id BIGINTPRIMARYKEYAUTO_INCREMENTCOMMENT'工单唯一标识', title VARCHAR(200)NOTNULLCOMMENT'故障标题', description TEXTCOMMENT'问题描述', submitter VARCHAR(100)COMMENT'报修人', assignee VARCHAR(100)COMMENT'指派维修人员', priority ENUM('low','medium','high')DEFAULT'medium'COMMENT'优先级:low-低,medium-中,high-高',statusTINYINTDEFAULT0COMMENT'工单状态:0-新建,1-已派发,2-维修中,3-已完成,4-已关闭', repair_time DATETIMECOMMENT'实际维修完成时间', remark TEXTCOMMENT'备注说明', create_by VARCHAR(50)COMMENT'创建人', create_time DATETIMEDEFAULTCURRENT_TIMESTAMPCOMMENT'创建时间', update_by VARCHAR(50)COMMENT'修改人', update_time DATETIMEDEFAULTCURRENT_TIMESTAMPONUPDATECURRENT_TIMESTAMPCOMMENT'修改时间')COMMENT='维修工单管理表';CREATETABLE statistical_report ( report_id BIGINTPRIMARYKEYAUTO_INCREMENTCOMMENT'报表唯一标识', report_type VARCHAR(100)NOTNULLCOMMENT'报表类型:如入住率统计、费用收支明细等', period_start DATENOTNULLCOMMENT'统计周期起始日', period_end DATENOTNULLCOMMENT'统计周期结束日', data_content JSON COMMENT'统计数据内容(JSON格式存储)', generated_by VARCHAR(100)COMMENT'生成者', generate_time DATETIMEDEFAULTCURRENT_TIMESTAMPCOMMENT'生成时间', remark TEXTCOMMENT'备注说明', create_by VARCHAR(50)COMMENT'创建人', create_time DATETIMEDEFAULTCURRENT_TIMESTAMPCOMMENT'创建时间', update_by VARCHAR(50)COMMENT'修改人', update_time DATETIMEDEFAULTCURRENT_TIMESTAMPONUPDATECURRENT_TIMESTAMPCOMMENT'修改时间')COMMENT='数据统计与报表分析表';
表结构设计

2.6 处理逻辑(接口)

在完成表结构设计后,飞算JavaAI进入了第四个阶段——处理逻辑设计。基于前面定义的9个核心功能模块,系统自动生成了详细的接口处理逻辑,涵盖了宿舍管理系统的所有业务场景。

  1. 用户身份认证与权限管理
    包含3个核心接口:
    用户登录:完整的登录验证流程,包括用户存在性检查、账户状态验证、密码校验和会话管理
    获取用户权限信息:基于用户ID查询角色权限,支持多角色权限体系
    退出登录:安全的会话清理机制
  2. 宿舍楼栋房间信息管理
    涵盖楼栋、房间、床位三级管理:
    楼栋管理:新增、修改、删除、查询,包含数据完整性校验
    房间管理:关联楼栋的房间管理,支持容量和入住人数跟踪
    床位管理:精细化床位管理,支持占用状态实时更新
  3. 床位分配状态跟踪
    提供灵活的床位状态管理:
    查询床位占用状态:支持按楼栋、楼层、房间多维度查询
    更新床位占用状态:包含学生重复占用检查
    跨宿舍床位调整:支持床位间的学生信息转移
  4. 学生住宿申请全流程管理
    完整的申请审批流程:
    提交住宿申请:支持入住、调宿、退宿三种申请类型
    获取申请列表:支持多条件筛选查询
    审核申请:包含权限验证的审批机制
    查看分配详情:关联查询学生宿舍信息
  5. 学生考勤与访客登记管理
    双重管理机制:
    学生考勤管理:记录、查询、更新考勤信息,支持异常行为标记
    访客登记管理:完整的访客登记流程,包含接待学生验证
  6. 违纪事件处理
    规范化的违纪处理流程:
    新增违纪事件:完整的事件记录机制
    查询事件列表:支持分页查询
    更新处理状态:包含处罚措施和处理人员记录
  7. 宿舍卫生检查管理
    任务化的卫生检查体系:
    检查任务管理:支持定期和不定期检查任务
    评分记录管理:详细的评分和整改跟踪
    检查结果统计:基于任务的评分汇总
  8. 维修工单闭环管理
    完整的维修流程管控:
    工单创建:支持优先级设置和人员指派
    状态跟踪:从新建到完成的全流程状态管理
    工单查询:多维度筛选查询功能
  9. 数据统计与报表分析
    多样化的数据分析功能:
    入住率统计:按时间段统计宿舍入住情况
    费用收支分析:财务数据汇总分析
    趋势分析:支持多种报表类型的趋势图表
    历史报表管理:报表记录的存储和查询

技术实现亮点

  1. 统一的返回格式
    所有接口都采用统一的RestResult格式,便于前端处理和系统集成。
  2. 完善的参数校验
    每个接口都包含详细的参数校验逻辑,确保数据的完整性和合法性。
  3. 灵活的查询支持
    支持多条件组合查询和分页查询,满足不同场景的数据检索需求。
  4. 业务完整性保障
    通过关联数据检查,确保数据删除和修改的业务完整性。
  5. 扩展性设计
    接口设计考虑了未来功能扩展的需要,预留了充足的扩展空间。

这套处理逻辑设计充分体现了飞算JavaAI对复杂业务场景的深度理解和精确把握,不仅实现了功能的完整覆盖,还保证了系统的稳定性、安全性和可维护性。每个接口都经过精心设计,既满足了当前的业务需求,又为未来的系统升级和功能扩展奠定了坚实基础。

处理逻辑(接口)

2.7 生成源码

开始生成源码


源码生成成功


打开项目

三、优化与调试心得

使用智能会话功能优化项目

我首先询问学生考勤服务类有没有优化空间吗,然后飞算给我列举了多个可以优化的空间。咱们在基于这些可以优化的空间进行优化,让咱们继续询问。


为确保系统稳定性,需要对所有服务类进行全面的空值优化处理,有效避免空指针异常的发生。在项目开发过程中,由于业务逻辑的复杂性和考虑不周的情况,空指针异常是最常见的运行时错误之一,因此空值处理是项目开发中的重要环节。

通过对代码进行深度优化,可以看到系统对空值处理的考虑非常周全和完善。每个方法的入参、返回值以及中间变量都进行了严格的空值检查和处理。

这种全方位的空值优化处理方案,不仅提升了代码的健壮性,也大大降低了系统运行时出现异常的风险,为项目的稳定运行提供了坚实保障。

在这里插入图片描述

四、成果展示与总结

4.1 项目工程结构展示

通过飞算JavaAI的智能生成,我们成功构建了一个完整的高校宿舍管理系统。项目采用标准的Spring Boot分层架构,代码结构清晰,模块划分合理:

com.feisuanyz/ ├── config/ # 配置类包 │ ├── SecurityConfig.java # Spring Security安全配置 │ ├── SwaggerConfig.java # API文档配置 │ ├── RedisConfig.java # Redis缓存配置 │ └── WebMvcConfig.java # Web MVC配置 │ ├── constant/ # 常量定义包 │ ├── CommonConstants.java # 通用常量 │ ├── RoleConstants.java # 角色常量 │ └── StatusConstants.java # 状态常量 │ ├── controller/ # 控制器层 │ ├── UserController.java # 用户管理控制器 │ ├── DormBuildingController.java # 楼栋管理控制器 │ ├── DormRoomController.java # 房间管理控制器 │ ├── BedInfoController.java # 床位管理控制器 │ ├── StudentApplicationController.java # 学生申请控制器 │ ├── AttendanceController.java # 考勤管理控制器 │ ├── VisitorController.java # 访客管理控制器 │ ├── ViolationController.java # 违纪管理控制器 │ ├── HygieneController.java # 卫生检查控制器 │ ├── MaintenanceController.java # 维修管理控制器 │ └── StatisticalController.java # 统计报表控制器 │ ├── dto/ # 数据传输对象 │ ├── request/ # 请求DTO │ │ ├── UserLoginRequest.java │ │ ├── BedAllocateRequest.java │ │ └── ApplicationSubmitRequest.java │ └── response/ # 响应DTO │ ├── UserInfoResponse.java │ ├── BedStatusResponse.java │ └── StatisticsResponse.java │ ├── entity/ # 实体类包 │ ├── UserInfo.java # 用户信息实体 │ ├── DormBuilding.java # 楼栋信息实体 │ ├── DormRoom.java # 房间信息实体 │ ├── BedInfo.java # 床位信息实体 │ ├── StudentApplication.java # 学生申请实体 │ ├── AttendanceRecord.java # 考勤记录实体 │ ├── VisitorRecord.java # 访客记录实体 │ ├── ViolationEvent.java # 违纪事件实体 │ ├── HygieneCheckTask.java # 卫生检查任务实体 │ ├── HygieneScoreRecord.java # 卫生评分记录实体 │ ├── MaintenanceWorkOrder.java # 维修工单实体 │ └── StatisticalReport.java # 统计报表实体 │ ├── exception/ # 异常处理包 │ ├── BusinessException.java # 业务异常 │ ├── ValidationException.java # 参数校验异常 │ └── AuthenticationException.java # 认证异常 │ ├── filter/ # 过滤器包 │ ├── JwtAuthenticationFilter.java # JWT认证过滤器 │ ├── CorsFilter.java # 跨域过滤器 │ └── LoggingFilter.java # 日志过滤器 │ ├── mapper/ # 数据访问层 │ ├── UserMapper.java # 用户数据访问接口 │ ├── DormBuildingMapper.java # 楼栋数据访问接口 │ ├── DormRoomMapper.java # 房间数据访问接口 │ ├── BedInfoMapper.java # 床位数据访问接口 │ ├── StudentApplicationMapper.java # 学生申请数据访问接口 │ ├── AttendanceRecordMapper.java # 考勤记录数据访问接口 │ ├── VisitorRecordMapper.java # 访客记录数据访问接口 │ ├── ViolationEventMapper.java # 违纪事件数据访问接口 │ ├── HygieneCheckTaskMapper.java # 卫生检查任务数据访问接口 │ ├── HygieneScoreRecordMapper.java # 卫生评分记录数据访问接口 │ ├── MaintenanceWorkOrderMapper.java # 维修工单数据访问接口 │ └── StatisticalReportMapper.java # 统计报表数据访问接口 │ ├── query/ # 查询条件包 │ ├── UserQuery.java # 用户查询条件 │ ├── BedQuery.java # 床位查询条件 │ ├── ApplicationQuery.java # 申请查询条件 │ └── StatisticsQuery.java # 统计查询条件 │ ├── result/ # 结果封装包 │ ├── RestResult.java # 统一返回结果 │ ├── PageResult.java # 分页结果 │ └── ResultCode.java # 结果状态码 │ ├── service/ # 服务层 │ ├── impl/ # 服务实现类 │ │ ├── UserServiceImpl.java │ │ ├── DormBuildingServiceImpl.java │ │ ├── DormRoomServiceImpl.java │ │ ├── BedInfoServiceImpl.java │ │ ├── StudentApplicationServiceImpl.java │ │ ├── AttendanceRecordServiceImpl.java │ │ ├── VisitorRecordServiceImpl.java │ │ ├── ViolationEventServiceImpl.java │ │ ├── HygieneCheckTaskServiceImpl.java │ │ ├── HygieneScoreRecordServiceImpl.java │ │ ├── MaintenanceWorkOrderServiceImpl.java │ │ └── StatisticalReportServiceImpl.java │ └── 各业务Service接口 │ ├── utils/ # 工具类包 │ ├── JwtUtil.java # JWT工具类 │ ├── PasswordUtil.java # 密码工具类 │ ├── DateUtil.java # 日期工具类 │ ├── ValidationUtil.java # 校验工具类 │ └── RedisUtil.java # Redis工具类 │ ├── Application.java # Spring Boot启动类 └── GlobalExceptionHandler.java # 全局异常处理器 

4.2 核心API接口列表

系统提供了完整的RESTful API接口,涵盖宿舍管理的各个业务场景:

用户管理模块

POST /api/user/login # 用户登录 GET /api/user/info/{userId} # 获取用户信息 POST /api/user/logout # 用户退出 PUT /api/user/update # 更新用户信息 

宿舍管理模块

# 楼栋管理 GET /api/building/list # 获取楼栋列表 POST /api/building/add # 新增楼栋 PUT /api/building/update # 更新楼栋信息 DELETE /api/building/delete/{id} # 删除楼栋 # 房间管理 GET /api/room/list # 获取房间列表 POST /api/room/add # 新增房间 PUT /api/room/update # 更新房间信息 DELETE /api/room/delete/{id} # 删除房间 # 床位管理 GET /api/bed/list # 获取床位列表 GET /api/bed/available # 获取可用床位 PUT /api/bed/allocate # 分配床位 PUT /api/bed/release # 释放床位 

学生住宿管理模块

POST /api/application/submit # 提交住宿申请 GET /api/application/list # 获取申请列表 PUT /api/application/approve # 审批申请 GET /api/application/detail/{id} # 获取申请详情 

日常管理模块

# 考勤管理 POST /api/attendance/record # 记录考勤 GET /api/attendance/list # 获取考勤列表 PUT /api/attendance/update # 更新考勤记录 # 访客管理 POST /api/visitor/register # 访客登记 GET /api/visitor/list # 获取访客记录 PUT /api/visitor/checkout # 访客离开登记 # 违纪管理 POST /api/violation/report # 举报违纪事件 GET /api/violation/list # 获取违纪事件列表 PUT /api/violation/handle # 处理违纪事件 

卫生检查模块

POST /api/hygiene/task/create # 创建检查任务 GET /api/hygiene/task/list # 获取检查任务列表 POST /api/hygiene/score/record # 记录检查评分 GET /api/hygiene/score/list # 获取评分记录 

维修管理模块

POST /api/maintenance/create # 创建维修工单 GET /api/maintenance/list # 获取工单列表 PUT /api/maintenance/assign # 分配维修人员 PUT /api/maintenance/complete # 完成维修工单 

统计报表模块

GET /api/statistics/occupancy # 入住率统计 GET /api/statistics/expense # 费用统计 GET /api/statistics/trend # 趋势分析 POST /api/statistics/report # 生成报表 

4.3 核心代码片段展示

用户登录核心逻辑

@Service@TransactionalpublicclassUserServiceImplimplementsUserService{@OverridepublicRestResult<Map<String,Object>>login(String username,String password){// 参数校验if(StringUtils.isBlank(username)||StringUtils.isBlank(password)){returnRestResult.error("用户名和密码不能为空");}// 查询用户UserInfo user = userRepository.findByUsername(username);if(user ==null){returnRestResult.error("用户不存在");}// 验证账户状态if(user.getStatus()==0){returnRestResult.error("账户已被禁用");}// 验证密码if(!passwordEncoder.matches(password, user.getPassword())){returnRestResult.error("密码错误");}// 生成JWT令牌String token = jwtUtil.generateToken(user.getUserId(), user.getUsername());Map<String,Object> result =newHashMap<>(); result.put("token", token); result.put("userInfo", user);returnRestResult.success(result);}}

床位分配核心逻辑

@OverridepublicRestResult<String>allocateBed(Long bedId,Long studentId){// 参数校验if(bedId ==null|| studentId ==null){returnRestResult.error("床位ID和学生ID不能为空");}// 检查床位是否存在Optional<BedInfo> bedOpt = bedRepository.findById(bedId);if(!bedOpt.isPresent()){returnRestResult.error("床位不存在");}BedInfo bed = bedOpt.get();// 检查床位是否已被占用if(bed.getIsOccupied()==1){returnRestResult.error("床位已被占用");}// 检查学生是否已有床位List<BedInfo> existingBeds = bedRepository.findByStudentId(studentId);if(!existingBeds.isEmpty()){returnRestResult.error("学生已有床位,请先释放原床位");}// 分配床位 bed.setIsOccupied(1); bed.setStudentId(studentId); bedRepository.save(bed);// 更新房间入住人数updateRoomOccupancy(bed.getRoomId());returnRestResult.success("床位分配成功");}

统一异常处理

@RestControllerAdvicepublicclassGlobalExceptionHandler{@ExceptionHandler(Exception.class)publicRestResult<String>handleException(Exception e){ log.error("系统异常:", e);returnRestResult.error("系统异常,请联系管理员");}@ExceptionHandler(MethodArgumentNotValidException.class)publicRestResult<String>handleValidationException(MethodArgumentNotValidException e){String message = e.getBindingResult().getFieldError().getDefaultMessage();returnRestResult.error("参数校验失败:"+ message);}}

4.4 总结

经过一段时间的深度使用,我对飞算JavaAI的表现感到非常满意。令我印象深刻的是,利用飞算Java从零开始完成整个项目仅用了1-2个小时,而这其中大部分时间实际上都花在了后续的精细化优化上——包括逻辑层架构优化、登录机制完善以及性能调优等方面。

回想起之前写毕业设计的经历,那简直是一段"痛苦"的回忆。一个完整的毕设项目往往需要耗费整整一周时间,期间还要频繁应对各种莫名其妙的BUG。最让人头疼的是,在百度搜索解决方案时,搜出来的10个答案中往往有8个都是过时或错误的信息,真正有用的知识点寥寥无几。

而自从开始使用飞算JavaAI后,这些困扰彻底成为了过去式。即便在后续开发过程中偶尔遇到BUG,也只需要通过智能会话功能就能快速获得准确的解决方案,效率提升显著。

特别值得一提的是飞算Java的项目总结功能。虽然AI生成的项目代码对于我们学生来说有时确实比较高深,理解起来有一定难度,但项目分析功能能够对整个项目进行全面解析,最终生成一份详细的技术文档。这个功能真的非常贴心,大大降低了我们的学习门槛。

我发自内心地向大家推荐飞算JavaAI,它简直就是Java开发者的福音!这款工具不仅在毕业设计场景下表现出色,在企业级项目开发中同样游刃有余。对于中小型项目而言,它的功能完全够用,关键是还完全免费——仅凭这一点就值得我们大力支持!

无论你是在校学生还是职场开发者,飞算JavaAI都能成为你提升开发效率的得力助手。

Read more

【Code Review】基于GLM4.7的 Claude code 官方github代码自动审查

【Code Review】基于GLM4.7的 Claude code 官方github代码自动审查

前言 代码审查是软件开发过程中至关重要的一环,它不仅是发现潜在缺陷的利器,更是知识共享、代码质量提升和团队协作的催化剂。然而,我们在日常工作中,小团队作坊往往没有时间相互进入code review工作,为了能够不影响工作进展的同时,做好代码的review,我们今天基于claude code来进行github仓库代码的自动review。 代码审查:为何不可或缺? 1. 提升代码质量:审查者可以发现逻辑错误、边界条件处理不当、潜在的性能瓶颈以及不符合编码规范的写法。 2. 知识传播与学习:资深开发者可以通过审查指导新人,新人也能在审查中学习到新的技术和设计模式。 3. 统一代码风格:确保团队遵循一致的编码规范,提高代码的可读性和可维护性。 4. 预防缺陷前移:在代码合并到主分支前发现问题,远比上线后修复代价小得多。 5. 增强代码所有权:团队成员共同对代码负责,而非仅由原作者负责。 废话不多说,我们直接开始教程(本教程基于Linux amd64进行)。 一、安装 GitHub CLI (gh) 我们在进行之前,需要先安装 GitHub CLI (gh)

By Ne0inhk
2026最新|GitHub 启用双因素身份验证 2FA 教程:TOTP.app 一键生成动态验证码(新手小白图文实操)

2026最新|GitHub 启用双因素身份验证 2FA 教程:TOTP.app 一键生成动态验证码(新手小白图文实操)

2026最新|GitHub 启用双因素身份验证 2FA 教程:TOTP.app 一键生成动态验证码(新手小白图文实操) 如果你最近登录 GitHub 时被提示“启用双因素身份验证(2FA)”,别慌——这就是在你输入密码后,再增加一道“动态验证码”的安全锁。本文用TOTP.app(可下载/可在线) 带你从 0 到 1 完成 GitHub 的 2FA 配置,全程保留原图与链接,按步骤照做就能成功。 关键词:GitHub 2FA、GitHub 双因素身份验证、GitHub 启用 2FA、GitHub TOTP、GitHub 动态验证码、GitHub 账号安全、GitHub 登录保护、

By Ne0inhk
【开源发布】FinchBot (雀翎) — 当 AI 说“让我想办法“,而不是“我不会“(已获Gitee官方推荐)

【开源发布】FinchBot (雀翎) — 当 AI 说“让我想办法“,而不是“我不会“(已获Gitee官方推荐)

玄同 765 大语言模型 (LLM) 开发工程师 | 中国传媒大学 · 数字媒体技术(智能交互与游戏设计) ZEEKLOG · 个人主页 | GitHub · Follow 关于作者 * 深耕领域:大语言模型开发 / RAG 知识库 / AI Agent 落地 / 模型微调 * 技术栈:Python | RAG (LangChain / Dify + Milvus) | FastAPI + Docker * 工程能力:专注模型工程化部署、知识库构建与优化,擅长全流程解决方案 「让 AI 交互更智能,让技术落地更高效」 欢迎技术探讨与项目合作,解锁大模型与智能交互的无限可能! FinchBot (雀翎) — 当 AI 说"让我想办法"而不是"我不会&

By Ne0inhk

Docker一站式部署:RustFS、GoFastDFS、Gitea与PostgreSQL实战指南

1. 前言 在现代软件开发和部署中,Docker已成为不可或缺的工具。它提供了轻量级、可移植的容器化解决方案,使应用部署变得简单高效。本文将详细介绍如何使用Docker一键部署四个常用服务:RustFS(高性能文件存储)、GoFastDFS(分布式文件系统)、Gitea(自托管Git服务)和PostgreSQL(关系型数据库)。无论你是个人开发者还是团队负责人,这些服务都能为你的项目提供强大支持。 2. 前提条件 * 已安装Docker(版本20.10+) * 已安装Docker Compose(版本1.29+) * 64位操作系统(Windows/Linux/Mac) * 至少4GB可用内存 3. RustFS部署 RustFS是一款使用Rust语言编写的高性能文件存储系统,支持S3协议,适用于私有云存储场景。 3.1 Docker命令部署 Linux: docker run -d \ --name rustfs_container \ --user root \ -p

By Ne0inhk