第十五周总结
一、本周工作内容
教师端后端开发
完成AdminController控制器开发(5个核心接口)
实现AdminServiceImpl服务层逻辑
编写约600行业务代码
关键功能实现
// 学生评分核心逻辑
@Override
public Result scoreStudent(String studentId, Integer points, String remark) {
try {
Users user = usersService.getById(studentId);
if (user == null) {
return Result.fail("学生不存在");
}
// 更新学生积分
user.setPoints(user.getPoints() + points);
if (usersService.updateById(user)) {
return Result.success("评分成功");
}
return Result.fail("评分失败");
} catch (Exception e) {
e.printStackTrace();
return Result.fail("评分失败");
}
}
数据统计功能
实现学生周目标活跃度统计
开发博客发布情况分析
完成学生分类数据查询
二、技术收获
MyBatis Plus应用
掌握复杂条件查询构建
QueryWrapper
userWrapper.ne("student_id", "root")
.eq("class_name", className);
业务逻辑封装
学习统计数据分析方法
实践多表关联查询优化
掌握异常处理最佳实践
RESTful设计
规范API响应格式
合理设计查询参数
@GetMapping("/students/blog-stats")
public Result getStudentsBlogStats(@RequestParam(required = false) String className) {
// 业务逻辑
}
三、遇到的问题及解决
数据统计性能问题
现象:全表扫描导致查询慢
解决:添加数据库索引
CREATE INDEX idx_student_id ON goals(student_id);
空指针异常
现象:className参数可能为null
解决:添加判空处理
if (className != null && !className.trim().isEmpty()) {
userWrapper.eq("class_name", className);
}
积分更新并发问题
现象:多教师同时评分可能导致数据错误
解决:添加数据库乐观锁
user.setVersion(user.getVersion() + 1);
四、代码统计
模块 文件数 代码行数 耗时(h)
控制器层 1 150 4
服务实现层 1 450 8
单元测试 5 300 6
合计 7 900 18
五、下周计划
系统联调
前后端接口对接
数据格式校验
交互体验优化
性能优化
添加查询缓存
优化统计SQL
实施分页查询
安全加固
添加权限验证
实施操作日志
加强参数校验

浙公网安备 33010602011771号