# 宿舍卫生检查API - 根据学生ID查询使用说明 ## 概述 本文档提供了宿舍卫生检查模块中新增的"根据学生ID查询卫生检查信息"API接口的详细使用说明。 ## API接口信息 ### 基本信息 - **接口地址**: `GET /dormHygieneCheck/dormHygieneCheck/student/{studentId}` - **接口描述**: 根据学生ID查询该学生宿舍的所有卫生检查记录 - **请求方式**: GET - **权限要求**: `dormHygieneCheck:dormHygieneCheck:query` ### 请求参数 | 参数名 | 类型 | 必填 | 位置 | 说明 | |--------|------|------|------|------| | studentId | Long | 是 | Path | 学生ID,关联xg_student_msg.id | ## 使用示例 ### 1. 前端Vue调用示例 ```javascript // 在Vue组件中调用API import { getHygieneChecksByStudentId } from '@/api/xg/xgss/dormHygieneCheck/dormHygieneCheck' export default { data() { return { studentId: 12345, hygieneChecks: [] } }, methods: { async loadStudentHygieneChecks() { try { const response = await getHygieneChecksByStudentId(this.studentId) if (response.code === 200) { this.hygieneChecks = response.data console.log('获取到卫生检查记录:', this.hygieneChecks) } else { this.$message.error(response.msg || '获取数据失败') } } catch (error) { console.error('API调用失败:', error) this.$message.error('网络请求失败') } } }, mounted() { this.loadStudentHygieneChecks() } } ``` ### 2. 移动端uni-app调用示例 ```javascript // 在uni-app页面中调用API export default { data() { return { studentId: 12345, hygieneChecks: [] } }, methods: { async getStudentHygieneChecks() { try { const response = await uni.request({ url: `${this.baseUrl}/dormHygieneCheck/dormHygieneCheck/student/${this.studentId}`, method: 'GET', header: { 'Authorization': `Bearer ${this.token}`, 'Content-Type': 'application/json' } }) if (response.data.code === 200) { this.hygieneChecks = response.data.data console.log('获取到卫生检查记录:', this.hygieneChecks) } else { uni.showToast({ title: response.data.msg || '获取数据失败', icon: 'none' }) } } catch (error) { console.error('API调用失败:', error) uni.showToast({ title: '网络请求失败', icon: 'none' }) } } }, onLoad() { this.getStudentHygieneChecks() } } ``` ### 3. 后端Java调用示例 ```java // 在Service层中调用 @Service public class StudentHygieneService { @Autowired private IXgDormHygieneCheckService hygieneCheckService; /** * 获取学生的卫生检查记录 */ public List getStudentHygieneChecks(Long studentId) { if (studentId == null) { throw new IllegalArgumentException("学生ID不能为空"); } List checks = hygieneCheckService.queryByStudentId(studentId); // 可以在这里添加额外的业务逻辑 // 比如数据转换、权限验证等 return checks; } } ``` ### 4. Python测试脚本示例 ```python import requests import json def test_student_hygiene_checks(): # 配置信息 base_url = "http://localhost:8080" student_id = 12345 # 登录获取token(简化示例) login_data = { "username": "admin", "password": "admin123", "code": "1234", "uuid": "test-uuid" } # 登录 login_response = requests.post(f"{base_url}/auth/login", json=login_data) if login_response.status_code != 200: print("登录失败") return token = login_response.json().get('data', {}).get('access_token') if not token: print("未获取到token") return # 调用API headers = { 'Authorization': f'Bearer {token}', 'Content-Type': 'application/json' } response = requests.get( f"{base_url}/dormHygieneCheck/dormHygieneCheck/student/{student_id}", headers=headers ) if response.status_code == 200: result = response.json() if result.get('code') == 200: data = result.get('data', []) print(f"获取到 {len(data)} 条卫生检查记录") for check in data: print(f"- {check.get('checkTitle')} ({check.get('checkDate')})") else: print(f"API返回错误: {result.get('msg')}") else: print(f"请求失败: {response.status_code}") if __name__ == "__main__": test_student_hygiene_checks() ``` ## 响应数据处理 ### 1. 成功响应示例 ```json { "code": 200, "msg": "操作成功", "data": [ { "id": 1, "checkTitle": "2024年春季宿舍卫生检查", "checkDate": "2024-03-15", "checkerName": "张老师", "roomCode": "1-101", "roomName": "1号楼101室", "totalScore": 85.5, "hygieneGrade": "B", "checkSummary": "整体卫生情况良好", "createTime": "2024-03-15 10:00:00" } ] } ``` ### 2. 空数据响应示例 ```json { "code": 200, "msg": "操作成功", "data": [] } ``` ### 3. 错误响应示例 ```json { "code": 400, "msg": "学生ID不能为空" } ``` ## 业务场景应用 ### 1. 学生个人中心 - 学生登录后查看自己宿舍的卫生检查历史 - 展示检查结果、评分、改进建议等信息 ### 2. 辅导员管理 - 辅导员查看所管理学生的宿舍卫生情况 - 统计分析学生的卫生检查趋势 ### 3. 移动端应用 - 在手机APP中展示学生的卫生检查记录 - 推送卫生检查通知和结果 ### 4. 数据统计 - 统计某个学生的卫生检查合格率 - 分析学生的卫生习惯改善情况 ## 注意事项 ### 1. 权限控制 - 确保调用方具有 `dormHygieneCheck:dormHygieneCheck:query` 权限 - 建议增加学生身份验证,确保只能查询自己的数据 ### 2. 性能优化 - 对于大量数据的查询,建议添加分页功能 - 可以考虑添加缓存机制,减少数据库查询 ### 3. 数据安全 - 验证学生ID的有效性 - 防止SQL注入等安全问题 ### 4. 错误处理 - 妥善处理网络异常、权限不足等错误情况 - 提供友好的错误提示信息 ## 相关文档 - [宿舍卫生检查管理API](./宿舍卫生检查管理API.md) - [宿舍卫生检查学生评分API](./宿舍卫生检查学生评分API.md) - [API文档基础规范](./API文档基础规范.md) ## 更新记录 | 日期 | 版本 | 更新内容 | 更新人 | |------|------|----------|--------| | 2025-01-03 | 1.0 | 创建使用说明文档 | zlwu |