java_web/stu01/prompt.txt
2025-12-14 22:04:53 +08:00

43 lines
8.3 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

提示词模板:
一、核心协作规则重申
任务拆分:严格按照《学生管理系统(测试用例适配)开发任务计划表》执行,每个会话仅完成 1 个最小粒度的任务(如 1.1、1.2),确保任务足够简单、无遗漏;
计划表更新:每完成 1 个任务后,在输出末尾更新计划表,标注对应任务 “完成状态” 为 “已完成”,并在 “备注” 栏记录执行细节、遇到的问题、后续注意点(规避遗忘 / 幻觉);
代码要求:所有开发代码仅满足测试用例覆盖需求,尽可能简洁,无冗余逻辑、无过度设计 / 优化(如密码无需加密、并发仅保证接收请求即可);
协作模式:由助手主导任务拆解与代码编写,用户负责实际操作(创建项目、粘贴代码、运行调试),助手需提供 “复制即用” 的代码及清晰的操作指引;
输出结构:每个任务的输出需包含「操作指引」「核心代码」「验证方式」「更新后的计划表」四部分,确保用户可直接落地。
二、任务计划表引用
所有操作均基于下方《学生管理系统(测试用例适配)开发任务计划表》,每次会话需携带该计划表的最新版本(含已完成任务标注):
阶段 任务 ID 任务名称 核心目标 关键提示词 完成状态 备注(仅保留执行结果和后续影响)
1. 项目初始化与环境搭建 1.1 创建 SpringBoot 后端基础项目 搭建后端工程骨架,引入核心依赖 SpringBoot、MySQL 驱动、MyBatis、JWT、lombok 已完成 Spring Boot 3.4.12,包名 top.awinx.stu01Java 25依赖MyBatis-Plus 3.5.15、JJWT 0.13.0;启动方式:./mvnw spring-boot:run
1. 项目初始化与环境搭建 1.3 设计 MySQL 数据库表结构 设计核心实体表 用户表、学生表、教师表、课程表、学分表 已完成 数据库 stu01_dbMariaDB用户 stu01/123456核心表结构更新teacher 表移除 major/title仅保留 tea_no/name/user_id外键关联 sys_user.id预置测试数据teacher 表 tea001 关联 user_id=3tea001
1. 项目初始化与环境搭建 1.4 后端基础配置 配置数据库、跨域、JWT 参数 application.yml、跨域、JWT 密钥 已完成 数据库连接正常;跨域允许 5173 端口(独立 CorsConfigJWT32 位密钥、1 小时过期context-path=/api端口 8080MyBatis-Plus 开启下划线转驼峰、SQL 日志
2. 用户登录模块开发 2.1 后端用户登录核心逻辑 实现账号密码校验 合法账号、缺少账号 / 密码、错误账号密码 已完成 接口POST /api/login校验逻辑空值 + 存在性 + 密码匹配返回格式Resultcode/message/data
2. 用户登录模块开发 2.2 JWT 令牌生成与校验 生成 token、校验 token、令牌刷新 合法 token、token 拦截、令牌刷新 已完成 接口:① POST /api/login返回 token+user② GET /api/login/refresh刷新 tokenJWT 拦截器放行登录 / 刷新接口,拦截其他 /api/**token 载荷含 user_type1 - 学生 / 2 - 教师 / 3 - 管理员)
2. 用户登录模块开发 2.4 登录异常处理 统一异常返回格式,明确异常信息 缺少账号 / 密码、错误账号密码、token 无效 / 过期 已完成 全局异常处理器捕获业务 / 参数 / 系统异常;返回统一 Result 格式:业务异常 code=400、系统异常 code=500支持空参数、账号密码错误、token 异常等场景,提示信息简洁
2. 用户登录模块开发 2.5 多用户登录性能基础支持 支持高并发请求 多用户登陆性能测试 已完成 依赖 Spring Boot 3.x 默认线程池
3. 学生信息模块开发 3.1 后端学生基础 CRUD 实现学生添加 / 查询接口(支持模糊查询) 学生添加、学生查询(学号 / 姓名 / 专业筛选) 已完成 1. 接口:① POST /api/student/add添加校验学号唯一② GET/POST/api/student/query查询学号精确、姓名 / 专业模糊2. 依赖 JWT 拦截器,需携带合法 token3. 返回格式统一为 Result兼容全局异常处理4. 支持组合条件筛选
3. 学生信息模块开发 3.2 学生添加参数校验 校验学号、专业合法性 缺少学号、不合法学号、非法专业 已完成 学号规则8 位纯数字、非空、唯一;专业限计算机 / 数学 / 英语;用 3.x 参数校验注解;添加 spring-boot-starter-validation 依赖,修复 Long 类型 @Pattern 注解误用问题,校验正常触发
3. 学生信息模块开发 3.3 学生查询参数校验 校验 ID 合法性、防 SQL 注入 合法 ID、非法 ID、SQL 注入拦截 已完成 1. 跳过分组校验设计留作软件测试工程实践报告素材后续忽略2. 仅保留基础校验ID 非负整数 + 存在性、MyBatis-Plus 参数预编译防 SQL 注入3. 简化代码,无分组相关逻辑
3. 学生信息模块开发 3.5 学生并发测试基础支持 支持添加 / 查询接口并发请求 学生查询 / 添加并发测试 未完成 依赖 3.x 默认配置
4. 教师信息模块开发 4.1 后端教师基础 CRUD 实现教师添加 / 更新 / 删除接口 教师添加、更新、删除 已完成 1. 适配新数据库结构teacher 表移除 major/title仅保留 tea_no/name/user_id外键关联 sys_user.id2. 校验逻辑:教师编号 8 位纯数字 + 唯一、姓名非空、关联 userId 存在且为教师类型user_type=23. 仅支持更新教师姓名4. 接口路径POST /api/teacher/add、PUT /api/teacher/update、DELETE /api/teacher/delete/{id}5. 依赖 JWT 拦截器,需携带合法 token
4. 教师信息模块开发 4.2 教师删除关联拦截 教师关联课程 / 学分时拦截删除 删除关联拦截 已完成 1. 核心逻辑:删除前查询 course 表中关联的 tea_id存在记录则抛业务异常code=400提示 “教师 IDxx 关联了 xx 门课程禁止删除”2. 无关联时执行物理删除3. 无需修改控制器,仅扩展 Service 层逻辑4. 兼容全局异常处理,返回统一 Result 格式
4. 教师信息模块开发 4.3 教师查询防 SQL 注入 校验查询参数、防 SQL 注入 教师查询、SQL 注入拦截 未完成 接口:/api/teacher/query防注入MyBatis-Plus 参数绑定
4. 教师信息模块开发 4.5 教师查询并发基础支持 确保教师查询接口支持并发请求 老师查询接口并发测试 未完成 依赖 3.x 默认配置
5. 课程与学分模块开发 5.1 后端课程 / 学分基础 CRUD 编写课程 / 学分实体 / DAO/Service/Controller 课程添加、学分添加 已完成 1. 课程添加校验课程名称2-20 字符,仅中文 / 数字 / 字母)、关联教师 ID 存在性接口路径POST /api/course/add2. 学分添加:校验关联学生 ID / 课程 ID 存在性、分数 0-100接口路径POST /api/score/add3. 依赖 JWT 拦截器,返回统一 Result 格式4. 代码简洁,仅满足测试基础需求
5. 课程与学分模块开发 5.2 课程参数校验 校验课程名称合法性、实现课程查询 课程查询、不合法名称 未完成 课程名规则2-20 字符(中文 / 数字 / 字母);接口路径:/api/course/query
5. 课程与学分模块开发 5.3 学分参数校验 校验分数合法性、实现学分更新 学分更新、错误分数 未完成 分数规则0-100超范围返回校验失败接口路径PUT /api/score/update
5. 课程与学分模块开发 5.5 课程查询并发基础支持 确保课程查询接口支持并发请求 课程查询并发测试 未完成 依赖 3.x 默认配置
6. 权限控制模块开发 6.1 JWT 权限标识 令牌中添加用户类型 访问权限 - 未登录、权限标识 已完成 用户类型1 - 学生、2 - 教师、3 - 管理员JWT 载荷已包含 user_type
6. 权限控制模块开发 6.2 后端接口权限拦截 拦截未登录请求、越权访问请求 越权访问 - 学生 - 老师、学生 - 管理员、老师 - 管理员 未完成 基于 JWT 的 user_type 判断权限;拦截器扩展:学生禁访 /api/teacher/、/api/admin/,教师禁访 /api/admin/**
三、执行反馈模块(每次会话必填)
确认完成5.1
测试通过
部分实体在之前的步骤中已经编写内容一致无需修改。部分Mapper已经存在无需修改。
现在开始任务5.2