一、模块概述作为项目组长我主要负责了报修工单管理模块的后端业务接口开发。该模块是校园报修系统的核心功能之一实现了从用户提交报修申请到维修人员处理完结的完整业务流程。二、技术架构2.1 整体架构设计本项目采用经典的三层架构模式Controller层负责接收HTTP请求参数校验调用Service层Service层负责业务逻辑处理Mapper层负责数据库CRUD操作三层架构的优势职责分离每层只关注自己的职责降低耦合度易于维护修改某一层不影响其他层便于测试可以单独对每一层进行单元测试代码复用Service层的业务逻辑可以被多个Controller复用2.2 技术栈Spring Boot 2.xWeb框架MyBatis持久层框架MySQL数据库Lombok简化实体类代码三、核心代码实现3.1 模块功能说明报修工单管理是系统的核心业务模块实现了校园内设备报修的全流程管理包括学生提交报修申请管理员查看工单列表维修人员接单处理工单状态更新待处理→处理中→已完成工单删除等3.2 实体类设计实体类是连接数据库表和Java程序的桥梁它将数据库中的记录映射为Java对象方便我们在代码中操作数据。3.3 Mapper层实现Mapper层也叫DAO层负责与数据库交互将SQL查询结果映射为Java对象或将Java对象持久化到数据库。接口定义XML映射文件① 查询所有工单说明按创建时间倒序排列最新的工单显示在最前面②新增工单insert idinsertparameterTypecom.repair.entity.RepairOrderuseGeneratedKeystruekeyPropertyidINSERTINTOrepair_order(user_id,goods_id,title,content,repair_location,repairer_id,order_status,create_time,finish_time)VALUES(#{userId},#{goodsId},#{title},#{content},#{repairLocation},#{repairerId},#{orderStatus},#{createTime},#{finishTime})/insert③动态更新工单④删除工单⑤ResultMap映射配置说明定义数据库字段与Java对象属性的映射关系支持下划线转驼峰3.4 Service层实现Service层的作用处理业务逻辑如验证数据、计算、调用多个Mapper等事务管理保证多个数据库操作的原子性作为Controller和Mapper之间的中间层解耦表现层和数据层接口定义实现类代码说明Service 注解标识这是一个服务层Bean交由Spring容器管理Resource 注解注入Mapper接口的实现类Service层直接调用Mapper层方法保持简洁复杂业务逻辑可在此扩展3.5 Controller层实现Controller层的作用接收前端发送的HTTP请求解析请求参数调用Service层处理业务返回统一的响应结果给前端3.6 统一响应封装类问题前端需要针对每个接口写不同的处理逻辑无法统一处理错误不利于维护和扩展解决方案设计统一的响应结构核心知识点讲解① RESTful API设计GET /order/list - 查询工单列表POST /order/add - 新增工单PUT /order/update修改工单 DELETE /order/del/{id} - 删除工单** 注解说明**RestController Controller ResponseBody返回JSON数据RequestMapping(“/order”) 定义统一的URL前缀GetMapping、PostMapping、PutMapping、DeleteMapping 对应HTTP方法RequestBody 接收JSON格式的请求体自动反序列化为对象PathVariable 从URL路径中提取参数③ 统一响应封装 使用自定义的 Result 工具类统一返回格式Result.success(data) - 成功响应Result.error(message) - 失败响应四、核心业务逻辑详解4.1 工单状态流转机制工单状态包括待处理用户提交后的初始状态处理中维修人员接单后已完成维修完成后设置finishTime4.2 动态更新策略在update方法中使用了MyBatis的动态SQL特性优势只更新非空字段支持多种场景复用同一接口用户修改报修信息维修人员接单设置repairerId和orderStatus维修完成设置orderStatus和finishTime五、功能展示功能1用户初次登录系统强制修改密码功能2查询所有工单功能3新增报修工单响应操作成功提示功能4修改工单状态维修人员接单功能5删除工单点击“删除”按钮弹出再次确认弹窗响应工单删除成功功能6管理员编辑删除物资功能7管理员审批物资功能8管理员管理人员进行编辑人员角色联系电话账号状态等信息重置密码删除等操作七、总结通过报修工单模块的开发我深入理解了Spring Boot MyBatis技术栈的核心原理掌握了RESTful API设计规范学会了使用统一响应格式封装接口返回值。特别是在动态SQL、事务管理、依赖注入等方面有了深刻的实践经验。