@ -0,0 +1,32 @@
|
||||
# 个人周计划-第13周
|
||||
|
||||
## 姓名和起止时间
|
||||
|
||||
**姓 名:** 曹峻茂
|
||||
**团队名称:** 软1-汪汪队
|
||||
**开始时间:** 2025-12-15
|
||||
**结束时间:** 2025-12-21
|
||||
|
||||
|
||||
## 本周任务计划安排
|
||||
| 序号 | 计划内容 | 协作人 | 情况说明 |
|
||||
|---------------|--------------------|----|------------------------|
|
||||
| 1 | 确定分工 | 组员 | 2023-12-15 开会确定计划和团队分工 |
|
||||
| 2完成学生实时查询数据功能 |罗月航| 增加mqtt的实时数据生成和查看 |
|
||||
|
||||
## 小结
|
||||
|
||||
|
||||
1. **知识储备:** 学习后续需要使用的知识,为后续的开发做准备;
|
||||
2. **文档撰写:** 完成迭代开发计划撰写。
|
||||
3. **项目管理** 管理项目环境和框架
|
||||
---
|
||||
|
||||
## 【注】
|
||||
|
||||
1. 在小结一栏中写出希望得到如何的帮助,如讲座等;
|
||||
1. 请将个人计划和总结提前发给负责人;
|
||||
1. 周任务总结与计划是项目小组评分考核的重要依据,将直接记入平时成绩,请各位同学按要求认真填写并按时提交;
|
||||
1. 所有组员都需提交个人周计划、周总结文档,按时上传至代码托管平台;
|
||||
|
||||
---
|
||||
@ -0,0 +1,34 @@
|
||||
# 个人周总结-第12周
|
||||
|
||||
## 姓名和起止时间
|
||||
|
||||
**姓 名:** 曹峻茂
|
||||
**团队名称:** 1班-汪汪队
|
||||
**开始时间:** 2025-12-8
|
||||
**结束时间:** 2025-12-14
|
||||
|
||||
## 本周任务完成情况
|
||||
|
||||
| 序号 | 总结内容 | 是否完成 | 情况说明 |
|
||||
|----| ------------------------------------------------ |------|--------------------------------------------------------------|
|
||||
| 1 | 确定分工 | 完成 | 2023-12-8 开会确定计划和团队分工 |
|
||||
|3|配置云服务器和数据库环境| 完成 |配置云服务器和数据库环境|
|
||||
|
||||
## 对团队工作的建议
|
||||
|
||||
1. **互助学习:** 小组成员应该根据自身的技能长短开展互帮互助的活动,共同努力提高小组成员的专业水平;
|
||||
2. **进度统一:** 团队成员尽量统一项目进度;
|
||||
|
||||
## 小结
|
||||
|
||||
1. **项目管理:** 协调开发进度和前后端同步
|
||||
2. **团队协作**:与团队成员保持良好的沟通协作,确保设计方向与产品需求一致
|
||||
|
||||
---
|
||||
|
||||
## 【注】
|
||||
|
||||
1. 在小结一栏中写出希望得到如何的帮助,如讲座等;
|
||||
2. 请将个人计划和总结提前发给负责人;
|
||||
3. 周任务总结与计划是项目小组评分考核的重要依据,将直接记入平时成绩,请各位同学按要求认真填写并按时提交;
|
||||
4. 所有组员都需提交个人周计划、周总结文档,上传至代码托管平台;
|
||||
@ -0,0 +1,25 @@
|
||||
# 个人周计划-第13周
|
||||
|
||||
## 姓名和起止时间
|
||||
|
||||
**姓 名:** [罗月航]
|
||||
**团队名称:** 1班-汪汪队
|
||||
**开始时间:** 2025-12-15
|
||||
**结束时间:** 2025-12-21
|
||||
|
||||
## 本周任务计划安排
|
||||
|
||||
| 序号 | 计划内容 | 协作人 | 情况说明 |
|
||||
| ---- | -------- | ------ | -------- |
|
||||
| 1 | 学生端饮水点地图查看功能联调 | 后端开发 | 调试地图数据获取、位置标记、设备状态展示等接口 |
|
||||
| 2 | 学生端扫码用水功能联调 | 后端开发 | 调试二维码识别、用水授权、用水记录生成等核心接口 |
|
||||
| 3 | 学生端水质信息查看功能联调 | 后端开发 | 调试水质数据实时查询、历史趋势、水质评价等接口 |
|
||||
| 4 | 联调问题记录与修复 | 后端开发 | 持续记录联调中的问题,协同修复并验证解决方案 |
|
||||
| 5 | 性能优化方案制定 | 个人 | 针对已联调功能制定前端性能优化方案 |
|
||||
|
||||
## 小结
|
||||
|
||||
1. **联调重点**:本周重点完成学生端三大核心功能的接口联调,确保基础用户体验;
|
||||
2. **计划衔接**:在联调的同时启动下一轮迭代规划,确保项目持续优化;
|
||||
3. **跨组协作**:需要与产品、测试、后端等多方协调,确保计划顺利执行。
|
||||
|
||||
@ -0,0 +1,24 @@
|
||||
# 个人周计划-第13周
|
||||
|
||||
## 姓名和起止时间
|
||||
|
||||
**姓 名:** 王磊
|
||||
**团队名称:** 1班-汪汪队
|
||||
**开始时间:** 2023-12-15
|
||||
**结束时间:** 2023-12-21
|
||||
|
||||
## 本周任务计划安排
|
||||
|
||||
| 序号 | 计划内容 | 协作人 | 情况说明 |
|
||||
| --- | -------- | --- | ----------------------------- |
|
||||
| 1 | 确定分工 | 组员 | 2025-12-15 开会细分确定团队分工, |
|
||||
| 2 | 联调支持 | 组员 | 配合前端完成接口联调问题,完成第一版迭代开发剩下的功能对接 |
|
||||
| 3 | 管理员-地区管理 | 个人 | 实现管理员对地区的增删修改等功能 |
|
||||
|
||||
## 小结
|
||||
|
||||
1. **技术重点:** 持续修复接口联调中的问题,支持第一版迭代开发完成,确保接口稳定性与数据准确性。
|
||||
2. **协作重点:** 加强与前端同学的日常沟通,参与联调复盘会议,总结常见问题与解决方案,形成团队协作经验沉淀。
|
||||
3. **学习重点:** 学习接口性能分析与调优方法,提升问题定位与解决效率,为后续系统优化做准备。
|
||||
|
||||
---
|
||||
@ -0,0 +1,36 @@
|
||||
# 个人周计划-第12周
|
||||
|
||||
## 姓名和起止时间
|
||||
|
||||
**姓 名:** 王磊
|
||||
**团队名称:** 1班-汪汪队
|
||||
**开始时间:** 2025-12-8
|
||||
|
||||
**结束时间:** 2025-12-14
|
||||
|
||||
## 本周任务计划安排
|
||||
|
||||
| 序号 | 总结内容 | 是否完成 | 情况说明 |
|
||||
| --- | ---- | ---- | ------------------------------------------ |
|
||||
| 1 | 联调支持 | 进行中 | 配合前端完成接口联调问题,完成第一版迭代开发,目前已完成管理员和维修人员等一系列功能 |
|
||||
|
||||
## 对团队工作的建议
|
||||
|
||||
1.****建议建立接口联调检查清单**** 建议团队建立标准化的接口联调检查清单,明确数据格式、参数、权限校验等关键项,减少联调阶段的沟通成本和问题重复出现。
|
||||
|
||||
2.****建议加强文档更新机制**** 建议接口或功能变更后,相关开发人员及时更新接口文档,并同步至团队共享平台,确保前后端、测试等成员信息一致,提升协作效率。
|
||||
|
||||
## 小结
|
||||
|
||||
1. **技术收获** 掌握了多维度数据统计接口的设计与实现方法
|
||||
2. **协作收获** 通过任务明确分工与进度同步,提升了团队协作效率,增强了与前端同学的沟通默契。
|
||||
3. **后续重点** 继续配合前端进行联调和测试
|
||||
|
||||
---
|
||||
|
||||
## 【注】
|
||||
|
||||
1. 在小结一栏中写出希望得到如何的帮助,如讲座等;
|
||||
2. 请将个人计划和总结提前发给负责人;
|
||||
3. 周任务总结与计划是项目小组评分考核的重要依据,将直接记入平时成绩,请各位同学按要求认真填写并按时提交;
|
||||
4. 所有组员都需提交个人周计划、周总结文档,按时上传至代码托管平台;
|
||||
@ -0,0 +1,88 @@
|
||||
# 个人周计划-第十三周
|
||||
|
||||
## 基本信息
|
||||
|
||||
**姓 名:** 张红卫
|
||||
**团队名称:** 软1-汪汪队
|
||||
**开始时间:** 2025-12-15
|
||||
**结束时间:** 2025-12-21
|
||||
|
||||
---
|
||||
|
||||
## 本周任务计划安排
|
||||
|
||||
| 序号 | 计划内容 | 执行人 | 情况说明 |
|
||||
|------|----------|--------|----------|
|
||||
| 1 | 管理员地区管理功能开发与联调 | 个人 + 王磊 | 完善后端地区管理接口,开发前端地区管理页面,完成前后端联调 |
|
||||
| 2 | 参与学生实时数据查询功能联调 | 个人 + 曹峻茂 | 配合曹峻茂验证MQTT实时数据在前端的展示逻辑与性能 |
|
||||
| 3 | 前后端联调与问题修复 | 个人 + 后端团队 | 参与团队联调,修复接口调用异常、数据展示不一致等问题 |
|
||||
|
||||
---
|
||||
|
||||
## 技术学习与实施重点
|
||||
|
||||
### 1. 地区管理功能开发
|
||||
- 学习地区管理业务逻辑与数据结构设计
|
||||
- 掌握地图数据与行政区划的集成方法
|
||||
- 实现地区数据的可视化操作界面
|
||||
|
||||
### 2. 实时数据展示优化
|
||||
- 学习MQTT协议在前端的应用
|
||||
- 实现实时数据的动态更新与图表展示
|
||||
- 优化大数据实时推送的性能与稳定性
|
||||
|
||||
### 3. 系统集成与联调
|
||||
- 掌握多模块协同开发的调试方法
|
||||
- 学习复杂业务场景下的问题定位与解决
|
||||
- 完善系统集成测试流程
|
||||
|
||||
---
|
||||
|
||||
## 交付物清单
|
||||
|
||||
- [ ] 地区管理功能前后端联调完成代码
|
||||
- [ ] 地区管理功能测试验证报告
|
||||
- [ ] 实时数据展示性能优化方案
|
||||
|
||||
---
|
||||
|
||||
## 协作依赖与风险说明
|
||||
|
||||
### 协作依赖
|
||||
1. **接口依赖**
|
||||
- 依赖王磊提供稳定的地区管理接口
|
||||
- 依赖周竞由提供完整的权限控制接口
|
||||
- 需要曹峻茂提供MQTT实时数据接口支持
|
||||
|
||||
2. **流程依赖**
|
||||
- 需要团队成员及时同步接口变更
|
||||
- 依赖每日晨会机制进行进度同步
|
||||
- 需要PM对任务进度的跟踪与协调
|
||||
|
||||
### 风险说明
|
||||
1. **技术风险**
|
||||
- MQTT实时数据推送可能存在延迟或丢包
|
||||
- 地图API可能存在兼容性或性能问题
|
||||
|
||||
2. **协作风险**
|
||||
- 多模块并行开发可能导致接口对齐困难
|
||||
- 功能复杂度增加可能影响开发进度
|
||||
|
||||
---
|
||||
|
||||
## 小结与期望
|
||||
|
||||
### 本周目标
|
||||
完成地区管理功能开发与联调,确保系统功能完整性与稳定性。
|
||||
|
||||
### 团队协作建议
|
||||
1. 建议建立模块负责人制度,明确各功能模块的责任人
|
||||
2. 建立技术难题共享机制,共同解决复杂技术问题
|
||||
3. 定期进行代码审查,确保代码质量与规范性
|
||||
|
||||
### 支持需求
|
||||
1. 希望获得关于MQTT实时通信集成的技术指导
|
||||
2. 期待老师在地图功能集成方面提供方法建议
|
||||
3. 希望有关于项目依赖管理的专题教学
|
||||
|
||||
---
|
||||
@ -0,0 +1,72 @@
|
||||
# 个人周总结-第十二周
|
||||
|
||||
## 基本信息
|
||||
|
||||
**姓 名:** 张红卫
|
||||
**团队名称:** 软1-汪汪队
|
||||
**起止时间:** 2025-12-8 至 2025-12-14
|
||||
**核心职责:** 前端界面开发 + 前后端联调支持
|
||||
|
||||
---
|
||||
|
||||
## 本周任务完成情况
|
||||
|
||||
| 序号 | 计划内容 | 完成状态 | 详细说明 |
|
||||
|------|--------------------------------------|----------|------------------------------------------------------------------------------------------------------------------|
|
||||
| 1 | Web端统计页面联调与优化 | 基本完成 | 与王磊协作完成统计接口联调,优化图表加载性能,筛选交互功能已完善并通过测试 |
|
||||
| 2 | Web端设备管理页面联调与优化 | 基本完成 | 与周竞由协作完成设备管理接口联调,实现权限控制与批量操作功能,并完成功能验证 |
|
||||
| 3 | 前后端联调支持 | 基本完成 | 参与团队联调,修复接口调用异常、数据展示不一致等问题,提升系统稳定性 |
|
||||
| 4 | 前端性能优化实施 | 基本完成 | 已实施分页加载、虚拟滚动方案,优化大数据场景下的页面渲染性能,部分场景仍需进一步测试 |
|
||||
| 5 | 权限控制与异常处理完善 | 已完成 | 配合后端完成权限逻辑对齐,优化导航栏与页面异常跳转处理,提升用户体验 |
|
||||
|
||||
|
||||
## 本周总结
|
||||
|
||||
### 一、任务进展概述
|
||||
本周主要完成了**Web端统计页面**和**设备管理页面**的前后端联调工作,实现了权限控制与批量操作功能。性能优化方面实施了分页加载与虚拟滚动方案,整体联调任务基本完成,系统功能趋于稳定。
|
||||
|
||||
### 二、技术实现与收获
|
||||
1. **性能优化实战**
|
||||
- 实施虚拟滚动方案,显著提升大数据列表的渲染性能
|
||||
|
||||
2. **权限系统集成**
|
||||
- 完成路由级与操作级权限控制,实现动态菜单与按钮权限
|
||||
|
||||
3. **联调协作能力提升**
|
||||
- 提升前后端问题定位与协同调试效率
|
||||
|
||||
### 三、遇到的问题与挑战
|
||||
1. **虚拟滚动兼容性问题**
|
||||
- 在某些浏览器环境下滚动体验不一致,需进一步适配
|
||||
|
||||
2. **权限逻辑细粒度对齐**
|
||||
- 部分页面操作权限与后端存在细微差异,需持续对齐
|
||||
|
||||
3. **大数据渲染仍有优化空间**
|
||||
- 极大数据量下图表加载仍存在轻微延迟,需探索进一步优化方案
|
||||
|
||||
4. **联调沟通成本仍较高**
|
||||
- 接口变更通知不够及时,影响前端调试进度
|
||||
|
||||
### 四、协作建议
|
||||
1. **接口文档与测试数据标准化**
|
||||
- 建议后端提供更详细的接口文档与测试用例
|
||||
|
||||
2. **建立联调问题跟踪机制**
|
||||
- 使用共享文档或看板工具记录和跟踪联调问题
|
||||
|
||||
3. **定期性能测试与优化评审**
|
||||
- 建议团队定期进行性能测试并共同评审优化方案
|
||||
|
||||
### 五、工作总结与展望
|
||||
本周通过系统性的联调与优化工作,不仅完成了核心页面的功能交付,还在性能优化与权限控制方面积累了宝贵经验。团队协作效率有所提升,但仍需在沟通机制上进一步优化。
|
||||
|
||||
**期待与建议:**
|
||||
- 希望团队能建立更规范的接口变更通知流程
|
||||
- 建议开展前端性能优化专题分享,提升整体开发水平
|
||||
- 期待在后续开发中继续深化性能优化与用户体验提升
|
||||
|
||||
---
|
||||
|
||||
**提交时间:** 2025-12-14
|
||||
|
||||
@ -0,0 +1,84 @@
|
||||
# 小组会议纪要-第14周
|
||||
|
||||
## 会议记录概要
|
||||
|
||||
**团队名称:** 软1-汪汪队
|
||||
**指导老师:** 肖雄仁
|
||||
**主 持 人:** 曹峻茂
|
||||
**记录人员:** 张红卫
|
||||
**会议主题:** 第14周任务规划与联调安排
|
||||
**会议地点:** 宿舍
|
||||
**会议时间:** 2025-12-22 12:30-13:30
|
||||
**记录时间:** 2025-12-22 18:00
|
||||
**参与人员:** 曹峻茂、张红卫、罗月航、周竞由、王磊
|
||||
|
||||
---
|
||||
|
||||
## 会议内容
|
||||
|
||||
### 1. 本周总体目标
|
||||
完成项目整体联调测试,查漏补缺完善功能细节,准备全流程演示,确保项目功能完整性与稳定性。
|
||||
|
||||
### 2. 联调测试安排
|
||||
|
||||
**功能模块联调**
|
||||
- **负责人:** 全体成员
|
||||
- **内容:**
|
||||
- 对已完成的功能模块进行端到端联调
|
||||
- 验证各功能是否符合预设需求和设计规范
|
||||
- 统一测试数据格式与接口响应标准
|
||||
|
||||
**测试用例执行**
|
||||
- **负责人:** 全体成员
|
||||
- **内容:**
|
||||
- 执行各功能模块的测试用例
|
||||
- 记录测试过程中发现的问题
|
||||
- 输出测试报告与问题清单
|
||||
|
||||
### 3. 问题修复与优化
|
||||
|
||||
**功能完善**
|
||||
- **负责人:** 全体成员
|
||||
- **内容:**
|
||||
- 修复联调过程中发现的功能缺陷
|
||||
- 完善之前版本中存在的细节问题
|
||||
- 优化用户体验和界面交互
|
||||
|
||||
**性能优化**
|
||||
- **负责人:** 曹峻茂、周竞由
|
||||
- **内容:**
|
||||
- 检查并优化接口响应性能
|
||||
- 验证MQTT实时数据传输的稳定性
|
||||
- 优化地图功能的加载速度和流畅度
|
||||
|
||||
### 4. 演示准备
|
||||
|
||||
**演示流程设计**
|
||||
- **负责人:** 罗月航、张红卫
|
||||
- **内容:**
|
||||
- 设计完整的项目功能演示流程
|
||||
- 确保演示过程流畅自然
|
||||
|
||||
**演示环境准备**
|
||||
- **负责人:** 王磊、周竞由
|
||||
- **内容:**
|
||||
- 搭建稳定的演示环境
|
||||
- 准备演示所需的设备和数据
|
||||
- 确保网络环境和系统配置正常
|
||||
|
||||
### 5. 预期交付物
|
||||
|
||||
- 功能缺陷修复清单和优化记录
|
||||
- 完整的项目功能演示流程
|
||||
|
||||
### 6. 支持需求
|
||||
|
||||
- 希望获得关于项目演示技巧的指导
|
||||
- 期待老师在系统性能优化方面给予建议
|
||||
- 希望有关于项目总结和成果展示的专题指导
|
||||
- 需要依赖管理方面的技术支持
|
||||
|
||||
---
|
||||
**记录人:** 张红卫
|
||||
**审核人:** 曹峻茂
|
||||
**签发时间:** 2025-12-22
|
||||
@ -0,0 +1,34 @@
|
||||
# 个人周计划-第14周
|
||||
|
||||
## 姓名和起止时间
|
||||
|
||||
**姓 名:** 曹峻茂
|
||||
**团队名称:** 软1-汪汪队
|
||||
**开始时间:** 2025-12-22
|
||||
**结束时间:** 2025-12-28
|
||||
|
||||
|
||||
## 本周任务计划安排
|
||||
| 序号 | 计划内容 | 协作人 | 情况说明 |
|
||||
|----|--------------------|----|------------------------|
|
||||
| 1 | 确定本周计划分工 | 全体组员 | 2023-12-22 开会确定计划以及团队分工 |
|
||||
|2|联调当前已完成代码,测试是否符合预设|全体组员 |联调测试|
|
||||
|3|查漏补缺,完善细节问题以及之前欠缺的部分|全体组员|查漏补缺|
|
||||
|4|全流程演示项目功能|全体组员|演示项目流程确定是否符合需求|
|
||||
|
||||
## 小结
|
||||
|
||||
|
||||
1. **知识储备:** 学习后续需要使用的知识,为后续的开发做准备;
|
||||
2. **文档撰写:** 完成迭代开发计划撰写。
|
||||
3. **项目管理** 管理项目环境和框架
|
||||
---
|
||||
|
||||
## 【注】
|
||||
|
||||
1. 在小结一栏中写出希望得到如何的帮助,如讲座等;
|
||||
1. 请将个人计划和总结提前发给负责人;
|
||||
1. 周任务总结与计划是项目小组评分考核的重要依据,将直接记入平时成绩,请各位同学按要求认真填写并按时提交;
|
||||
1. 所有组员都需提交个人周计划、周总结文档,按时上传至代码托管平台;
|
||||
|
||||
---
|
||||
@ -0,0 +1,33 @@
|
||||
# 个人周总结-第13周
|
||||
|
||||
## 姓名和起止时间
|
||||
|
||||
**姓 名:** 曹峻茂
|
||||
**团队名称:** 1班-汪汪队
|
||||
**开始时间:** 2025-12-15
|
||||
**结束时间:** 2025-12-22
|
||||
|
||||
## 本周任务完成情况
|
||||
|
||||
| 序号 | 总结内容 | 是否完成 | 情况说明 |
|
||||
|----|------|------------------|--------------------------------------------------------------|
|
||||
| 1 | 确定分工 | 完成 | 2023-12-15 开会确定计划和团队分工 |
|
||||
| 2完成学生实时查询数据功能 | 基本完成 | 增加mqtt的实时数据生成和查看 |
|
||||
## 对团队工作的建议
|
||||
|
||||
1. **互助学习:** 小组成员应该根据自身的技能长短开展互帮互助的活动,共同努力提高小组成员的专业水平;
|
||||
2. **进度统一:** 团队成员尽量统一项目进度;
|
||||
|
||||
## 小结
|
||||
|
||||
1. **项目管理:** 协调开发进度和前后端同步
|
||||
2. **团队协作**:与团队成员保持良好的沟通协作,确保设计方向与产品需求一致
|
||||
|
||||
---
|
||||
|
||||
## 【注】
|
||||
|
||||
1. 在小结一栏中写出希望得到如何的帮助,如讲座等;
|
||||
2. 请将个人计划和总结提前发给负责人;
|
||||
3. 周任务总结与计划是项目小组评分考核的重要依据,将直接记入平时成绩,请各位同学按要求认真填写并按时提交;
|
||||
4. 所有组员都需提交个人周计划、周总结文档,上传至代码托管平台;
|
||||
@ -0,0 +1,28 @@
|
||||
# 个人周计划-第14周
|
||||
|
||||
## 姓名和起止时间
|
||||
|
||||
**姓 名:** 罗月航
|
||||
**团队名称:** 1班-汪汪队
|
||||
**开始时间:** 2025-12-22
|
||||
**结束时间:** 2025-12-28
|
||||
|
||||
## 本周任务计划安排
|
||||
|
||||
| 序号 | 计划内容 | 协作人 | 情况说明 |
|
||||
| ---- | -------- | ------ | -------- |
|
||||
| 1 | 功能细节问题排查与修复 | 个人/后端 | 全面排查已开发功能的细节问题,修复用户体验相关的小问题 |
|
||||
| 2 | 兼容性测试与修复 | 个人/测试 | 在不同设备和浏览器上进行兼容性测试,修复发现的兼容性问题 |
|
||||
| 3 | 代码质量审查与重构 | 个人 | 审查关键模块代码,进行必要的重构和优化,提升代码可维护性 |
|
||||
| 4 | 全流程功能演示准备 | 全组 | 准备完整的功能演示流程|
|
||||
|
||||
|
||||
## 小结
|
||||
|
||||
1. **质量优先**:本周工作重点从功能开发转向质量提升和细节完善;
|
||||
2. **用户体验**:重点关注用户在使用过程中可能遇到的各种细节问题;
|
||||
3. **稳定可靠**:确保系统在异常情况下仍能提供良好的用户体验;
|
||||
4. **演示准备**:为项目演示做好充分准备,展示项目完整价值;
|
||||
5. **团队协作**:需要与测试、产品、后端等多个角色紧密协作;
|
||||
6. **全面检查**:对项目进行全面的质量检查,确保达到交付标准。
|
||||
|
||||
@ -0,0 +1,23 @@
|
||||
# 个人周计划-第14周
|
||||
|
||||
## 姓名和起止时间
|
||||
|
||||
**姓 名:** 王磊
|
||||
**团队名称:** 1班-汪汪队
|
||||
**开始时间:** 2023-12-22
|
||||
**结束时间:** 2023-12-28
|
||||
|
||||
## 本周任务计划安排
|
||||
|
||||
| 序号 | 计划内容 | 协作人 | 情况说明 |
|
||||
| --- | ---- | --- | ---------------------- |
|
||||
| 1 | 确定分工 | 组员 | 2025-12-22 开会细分确定团队分工, |
|
||||
| 2 | 联调支持 | 组员 | 配合前端完成接口联调问题,完成功能对接 |
|
||||
|
||||
## 小结
|
||||
|
||||
1. **技术重点:** 持续修复接口联调中的问题
|
||||
2. **协作重点:** 加强与前端同学的沟通,参与联调复盘会议
|
||||
3. **学习重点:** 学习接口性能分析与调优方法,提升问题定位与解决效率
|
||||
|
||||
---
|
||||
@ -0,0 +1,37 @@
|
||||
# 个人周计划-第13周
|
||||
|
||||
## 姓名和起止时间
|
||||
|
||||
**姓 名:** 王磊
|
||||
**团队名称:** 1班-汪汪队
|
||||
**开始时间:** 2025-12-15
|
||||
|
||||
**结束时间:** 2025-12-21
|
||||
|
||||
## 本周任务计划安排
|
||||
|
||||
| 序号 | 总结内容 | 是否完成 | 情况说明 |
|
||||
| --- | -------- | ---- | ---------------------- |
|
||||
| 1 | 联调支持 | 基本完成 | 配合前端完成接口联调问题,完成第一版迭代开发 |
|
||||
| 2 | 管理员-地区管理 | 基本完成 | 实现管理员对地区的增删修改等功能 |
|
||||
|
||||
## 对团队工作的建议
|
||||
|
||||
1.****建议建立接口联调检查清单**** 建议团队建立标准化的接口联调检查清单,明确数据格式、参数、权限校验等关键项,减少联调阶段的沟通成本和问题重复出现。
|
||||
|
||||
2.**建议设立联调沟通窗口时间** 为提升联调效率,建议团队每日设定固定的联调沟通时间窗口,集中处理接口调试问题,避免因沟通不畅导致的进度延误。
|
||||
|
||||
## 小结
|
||||
|
||||
1. **技术收获** 掌握了多维度数据统计接口的设计与实现方法,对权限控制与数据校验有了更深入的理解。
|
||||
2. **协作收获** 通过任务分工明确与进度同步机制,提升了团队协作效率,增强了与前端同学的沟通默契,为后续合作打下良好基础。
|
||||
3. **后续重点** 继续配合前端完成接口联调与测试工作,确保功能稳定交付,同时关注性能优化与异常处理。
|
||||
|
||||
---
|
||||
|
||||
## 【注】
|
||||
|
||||
1. 在小结一栏中写出希望得到如何的帮助,如讲座等;
|
||||
2. 请将个人计划和总结提前发给负责人;
|
||||
3. 周任务总结与计划是项目小组评分考核的重要依据,将直接记入平时成绩,请各位同学按要求认真填写并按时提交;
|
||||
4. 所有组员都需提交个人周计划、周总结文档,按时上传至代码托管平台;
|
||||
@ -0,0 +1,86 @@
|
||||
# 个人周计划-第十四周
|
||||
|
||||
## 基本信息
|
||||
|
||||
**姓 名:** 张红卫
|
||||
**团队名称:** 软1-汪汪队
|
||||
**开始时间:** 2025-12-22
|
||||
**结束时间:** 2025-12-28
|
||||
|
||||
---
|
||||
|
||||
## 本周任务计划安排
|
||||
|
||||
| 序号 | 计划内容 | 执行人 | 情况说明 |
|
||||
|------|----------|--------|----------|
|
||||
| 1 | 参与项目整体联调测试 | 个人 + 全体成员 | 对已完成功能模块进行端到端联调,验证功能是否符合预设需求 |
|
||||
| 2 | 负责演示流程设计与准备 | 个人 + 罗月航 | 设计完整项目功能演示流程|
|
||||
| 3 | 功能问题修复与优化 | 个人 + 相关模块负责人 | 修复联调中发现的功能缺陷,优化用户体验和界面交互 |
|
||||
|
||||
---
|
||||
|
||||
## 技术学习与实施重点
|
||||
|
||||
### 1. 系统联调与测试
|
||||
- 学习端到端联调的流程与方法
|
||||
- 掌握功能验证和问题定位的技巧
|
||||
|
||||
### 2. 演示准备与展示
|
||||
- 学习项目演示的设计与组织方法
|
||||
- 掌握演示流程的编排技巧
|
||||
- 优化演示过程中的用户体验
|
||||
|
||||
### 3. 性能优化与问题修复
|
||||
- 学习系统性能分析与优化方法
|
||||
- 掌握常见功能问题的排查与修复
|
||||
- 优化界面交互的流畅性和响应速度
|
||||
|
||||
---
|
||||
|
||||
## 交付物清单
|
||||
|
||||
- [ ] 演示流程设计方案
|
||||
- [ ] 功能问题修复与优化
|
||||
|
||||
---
|
||||
|
||||
## 协作依赖与风险说明
|
||||
|
||||
### 协作依赖
|
||||
1. **联调依赖**
|
||||
- 依赖全体成员按时完成各自模块的开发与调试
|
||||
- 需要各模块负责人提供稳定的接口和数据支持
|
||||
- 依赖测试数据的准备和环境的搭建
|
||||
|
||||
2. **演示依赖**
|
||||
- 需要罗月航协作完成演示流程设计
|
||||
- 依赖王磊和周竞由提供稳定的演示环境
|
||||
- 需要全体成员配合演示测试和演练
|
||||
|
||||
### 风险说明
|
||||
1. **技术风险**
|
||||
- 联调过程中可能出现接口不一致或数据异常
|
||||
- 演示环境可能出现不稳定或性能问题
|
||||
- 多模块集成可能引发新的兼容性问题
|
||||
|
||||
2. **时间风险**
|
||||
- 联调问题较多可能影响整体进度
|
||||
- 演示准备需要充分测试和演练时间
|
||||
|
||||
3. **协作风险**
|
||||
- 多任务并行可能导致资源分配紧张
|
||||
- 问题修复需要跨模块协作和沟通
|
||||
- 演示流程需要团队成员的高度配合
|
||||
|
||||
---
|
||||
|
||||
## 小结与期望
|
||||
|
||||
### 本周目标
|
||||
完成项目整体联调测试,设计完整的演示流程,确保项目功能完整性和稳定性,为项目验收做好充分准备。
|
||||
|
||||
### 支持需求
|
||||
1. 希望获得关于项目演示技巧和流程设计的指导
|
||||
2. 期待老师在系统性能优化和问题排查方面提供建议
|
||||
3. 希望有关于项目总结和成果展示的专题教学
|
||||
4. 需要依赖管理和环境配置方面的技术支持
|
||||
@ -0,0 +1,23 @@
|
||||
# 个人周计划-第14周
|
||||
|
||||
## 姓名和起止时间
|
||||
|
||||
**姓 名:** 周竞由
|
||||
**团队名称:** 1班-汪汪队
|
||||
**开始时间:** 2025-12-22
|
||||
**结束时间:** 2025-12-27
|
||||
|
||||
## 本周任务计划安排
|
||||
|
||||
| 序号 | 计划内容 | 协作人 | 情况说明 |
|
||||
| --- | ---- | --- | ---------------------- |
|
||||
| 1 | 确定分工 | 组员 | 2025-12-22 开会细分确定团队分工, |
|
||||
| 2 | 联调支持 | 组员 | 配合前端完成接口联调问题,完成功能对接 |
|
||||
|
||||
## 小结
|
||||
|
||||
1. **技术重点:** 持续修复接口联调中的问题
|
||||
2. **协作重点:** 加强与前端同学的沟通,参与联调复盘会议
|
||||
3. **学习重点:** 学习接口性能分析与调优方法,提升问题定位与解决效率
|
||||
|
||||
---
|
||||
@ -0,0 +1,34 @@
|
||||
# 个人周计划-第15周
|
||||
|
||||
## 姓名和起止时间
|
||||
|
||||
**姓 名:** 曹峻茂
|
||||
**团队名称:** 软1-汪汪队
|
||||
**开始时间:** 2025-12-29
|
||||
**结束时间:** 2025-1-4
|
||||
|
||||
|
||||
## 本周任务计划安排
|
||||
| 序号 | 计划内容 | 协作人 | 情况说明 |
|
||||
|----|--------------------|------|-------------------------|
|
||||
| 1 | 确定本周计划分工 | 全体组员 | 2023-12-29 开会确定计划以及团队分工 |
|
||||
|2| 和老师开会讨论当前项目的不足 | 全体组员 | 和老师讨论当前开发状况 |
|
||||
|3| 解决工单显示未知设备问题 | 个人 | 解决工单页面的显示错误 |
|
||||
|9| 修改发送间隔设置 | 个人 |模拟数据发送间隔固定,灵活性差|
|
||||
|
||||
## 小结
|
||||
|
||||
|
||||
1. **知识储备:** 学习后续需要使用的知识,为后续的开发做准备;
|
||||
2. **文档撰写:** 完成迭代开发计划撰写。
|
||||
3. **项目管理** 管理项目环境和框架
|
||||
---
|
||||
|
||||
## 【注】
|
||||
|
||||
1. 在小结一栏中写出希望得到如何的帮助,如讲座等;
|
||||
1. 请将个人计划和总结提前发给负责人;
|
||||
1. 周任务总结与计划是项目小组评分考核的重要依据,将直接记入平时成绩,请各位同学按要求认真填写并按时提交;
|
||||
1. 所有组员都需提交个人周计划、周总结文档,按时上传至代码托管平台;
|
||||
|
||||
---
|
||||
@ -0,0 +1,35 @@
|
||||
# 个人周总结-第14周
|
||||
|
||||
## 姓名和起止时间
|
||||
|
||||
**姓 名:** 曹峻茂
|
||||
**团队名称:** 1班-汪汪队
|
||||
**开始时间:** 2025-12-22
|
||||
**结束时间:** 2025-12-28
|
||||
|
||||
## 本周任务完成情况
|
||||
|
||||
| 序号 | 总结内容 | 是否完成 | 情况说明 |
|
||||
|----|------|------|--------------------------------------------------------------|
|
||||
| 1 | 确定本周计划分工 | 完成 | 2023-12-22 开会确定计划以及团队分工 |
|
||||
|2|联调当前已完成代码,测试是否符合预设| 完成 |联调测试|
|
||||
|3|查漏补缺,完善细节问题以及之前欠缺的部分| 完成 |查漏补缺|
|
||||
|4|全流程演示项目功能| 完成 |演示项目流程确定是否符合需求|
|
||||
## 对团队工作的建议
|
||||
|
||||
1. **互助学习:** 小组成员应该根据自身的技能长短开展互帮互助的活动,共同努力提高小组成员的专业水平;
|
||||
2. **进度统一:** 团队成员尽量统一项目进度;
|
||||
|
||||
## 小结
|
||||
|
||||
1. **项目管理:** 协调开发进度和前后端同步
|
||||
2. **团队协作**:与团队成员保持良好的沟通协作,确保设计方向与产品需求一致
|
||||
|
||||
---
|
||||
|
||||
## 【注】
|
||||
|
||||
1. 在小结一栏中写出希望得到如何的帮助,如讲座等;
|
||||
2. 请将个人计划和总结提前发给负责人;
|
||||
3. 周任务总结与计划是项目小组评分考核的重要依据,将直接记入平时成绩,请各位同学按要求认真填写并按时提交;
|
||||
4. 所有组员都需提交个人周计划、周总结文档,上传至代码托管平台;
|
||||
@ -0,0 +1,29 @@
|
||||
# 个人周计划-第15周
|
||||
|
||||
## 姓名和起止时间
|
||||
|
||||
**姓 名:** 罗月航
|
||||
**团队名称:** 1班-汪汪队
|
||||
**开始时间:** 2025-12-29
|
||||
**结束时间:** 2026-01-04
|
||||
|
||||
## 本周任务计划安排
|
||||
|
||||
| 序号 | 计划内容 | 协作人 | 情况说明 |
|
||||
| ---- | -------- | ------ | -------- |
|
||||
| 1 | 与老师项目讨论会议 | 老师/全组 | 安排专门会议,向老师汇报项目进展,听取专业意见和建议 |
|
||||
| 2 | 项目不足分析整理 | 个人 | 根据老师反馈和自查结果,系统整理项目存在的不足和改进点 |
|
||||
| 3 | 界面交互改进调整 | 个人/设计 | 根据审美和可用性建议,优化界面布局和交互设计 |
|
||||
| 4 | 业务流程梳理优化 | 产品/全组 | 重新审视核心业务流程,优化操作步骤和逻辑流程 |
|
||||
| 5 | 代码质量二次审查 | 个人 | 对修改后的代码进行质量审查,确保代码规范和可维护性 |
|
||||
|
||||
|
||||
## 小结
|
||||
|
||||
1. **专家指导**:本周重点是通过老师指导获得专业意见和建议,提升项目质量;
|
||||
2. **问题导向**:以问题为导向,针对性地解决项目中存在的不足和缺陷;
|
||||
3. **持续改进**:在已完成的基础上进行二次优化,追求更高质量标准;
|
||||
4. **团队协作**:需要全组成员共同参与讨论和改进,形成共识;
|
||||
5. **质量闭环**:建立从发现问题到解决问题的完整质量改进闭环;
|
||||
6. **时间安排**:合理安排会议和开发时间,确保改进工作高效推进。
|
||||
|
||||
@ -0,0 +1,28 @@
|
||||
# 个人周计划-第15周
|
||||
|
||||
## 姓名和起止时间
|
||||
|
||||
**姓 名:** 王磊
|
||||
**团队名称:** 1班-汪汪队
|
||||
**开始时间:** 2023-12-29
|
||||
**结束时间:** 2023-1-4
|
||||
|
||||
## 本周任务计划安排
|
||||
|
||||
| 序号 | 计划内容 | 协作人 | 情况说明 |
|
||||
| --- | --------- | --- | ------------------------ |
|
||||
| 1 | 确定分工 | 组员 | 2025-12-29 开会细分确定团队分工, |
|
||||
| 2 | 流程闭环所有子流程 | 组员 | 告警→派单→接单→维修→审核→结单,流程形成闭环 |
|
||||
| 3 | 管理员人工派单 | 组员 | 管理员人工派单是强制的、不受限制的 |
|
||||
| 4 | 维修工接单 | 组员 | 维修人员能同时接许多工单 |
|
||||
| 5 | 片区管理 | 组员 | 给片区的分级关联上 |
|
||||
| 6 | 报错码定义 | 组员 | 根据不同报错原因设置不同报错码 |
|
||||
|
||||
## 小结
|
||||
|
||||
1. **技术重点:** 实现工单流程闭环,确保各环节状态转换正确;统一团队错误码规范,优化异常处理机制;持续提升接口性能与稳定性
|
||||
2. **协作重点:** 明确分工职责,积极参与任务同步;保持前后端高效沟通,确保流程理解一致;共同推进联调测试,及时反馈问题
|
||||
3. **学习重点:**
|
||||
* 掌握层级权限与错误码设计方法;提升复杂业务场景的技术实现能力
|
||||
|
||||
---
|
||||
@ -0,0 +1,37 @@
|
||||
# 个人周计划-第14周
|
||||
|
||||
## 姓名和起止时间
|
||||
|
||||
**姓 名:** 王磊
|
||||
**团队名称:** 1班-汪汪队
|
||||
**开始时间:** 2025-12-22
|
||||
|
||||
**结束时间:** 2025-12-28
|
||||
|
||||
## 本周任务计划安排
|
||||
|
||||
| 序号 | 总结内容 | 是否完成 | 情况说明 |
|
||||
| --- | ---- | ---- | ---------------- |
|
||||
| 1 | 联调支持 | 基本完成 | 配合前端完成接口联调问题 |
|
||||
| 2 | 终端管理 | 基本完成 | 实现管理员对终端的增删修改等功能 |
|
||||
|
||||
## 对团队工作的建议
|
||||
|
||||
1.****建议建立接口联调检查清单**** 建议团队建立标准化的接口联调检查清单,明确数据格式、参数、权限校验等关键项,减少联调阶段的沟通成本和问题重复出现。
|
||||
|
||||
2.**建议设立联调沟通窗口时间** 为提升联调效率,建议团队每日设定固定的联调沟通时间窗口,集中处理接口调试问题,避免因沟通不畅导致的进度延误。
|
||||
|
||||
## 小结
|
||||
|
||||
1. **技术收获** 掌握了多维度数据统计接口的设计与实现方法,对权限控制与数据校验有了更深入的理解。
|
||||
2. **协作收获** 通过与前端同学紧密配合,逐步形成了“接口先行、文档同步、测试跟进”的协作节奏,提升了跨角色沟通效率与任务协同能力。
|
||||
3. **后续重点** 对项目的功能细节方面进行优化完善。
|
||||
|
||||
---
|
||||
|
||||
## 【注】
|
||||
|
||||
1. 在小结一栏中写出希望得到如何的帮助,如讲座等;
|
||||
2. 请将个人计划和总结提前发给负责人;
|
||||
3. 周任务总结与计划是项目小组评分考核的重要依据,将直接记入平时成绩,请各位同学按要求认真填写并按时提交;
|
||||
4. 所有组员都需提交个人周计划、周总结文档,按时上传至代码托管平台;
|
||||
@ -0,0 +1,84 @@
|
||||
# 个人周计划-第十五周
|
||||
|
||||
## 基本信息
|
||||
|
||||
**姓 名:** 张红卫
|
||||
**团队名称:** 软1-汪汪队
|
||||
**开始时间:** 2025-12-29
|
||||
**结束时间:** 2026-1-4
|
||||
|
||||
---
|
||||
|
||||
## 本周任务计划安排
|
||||
|
||||
| 序号 | 计划内容 | 执行人 | 情况说明 |
|
||||
|----|-------------------------|-----------|------------------------|
|
||||
| 1 | 参与“解决新建终端关联未检验设备是否存在”问题 | 个人 + 王磊 | 确保新建终端时检验关联设备存在性 |
|
||||
| 2 | 参与“修改人工派单权限,强制派单”任务 | 个人 + 王磊 | 实现人工派单不受工人状态检查限制的功能 |
|
||||
| 3 | 参与“修复片区管理逻辑”任务 | 个人 + 王磊 | 修复片区管理中的逻辑错误 |
|
||||
| 4 | 参与“完善设备信息修改”功能 | 个人 + 王磊 | 补充设备信息修改功能,确保数据一致性与完整性 |
|
||||
| 5 | 根据老师建议完善其他细节问题 | 个人 + 全体成员 | 根据会议讨论结果,完善相关系统细节 |
|
||||
|
||||
---
|
||||
|
||||
## 技术学习与实施重点
|
||||
|
||||
### 1. 终端关联与数据校验
|
||||
- 学习如何在前端与后端协同实现设备关联的实时校验
|
||||
- 掌握异常处理与用户友好提示的实现方法
|
||||
|
||||
### 2. 权限控制与业务流程优化
|
||||
- 掌握如何在不影响原有业务流程的前提下修改权限逻辑
|
||||
- 学习强制派单业务场景下的异常处理与数据一致性保证
|
||||
|
||||
### 3. 片区管理与业务逻辑修复
|
||||
- 理解片区管理的核心业务逻辑与数据关系
|
||||
- 掌握复杂业务逻辑的调试与修复方法
|
||||
|
||||
### 4. 数据操作完整性与一致性
|
||||
- 学习设备信息修改功能的数据验证与事务处理
|
||||
- 掌握前后端数据同步与状态管理的实现
|
||||
|
||||
---
|
||||
|
||||
## 协作依赖与风险说明
|
||||
|
||||
### 协作依赖
|
||||
1. **技术方案依赖**
|
||||
- 需要王磊提供相关模块的接口文档和业务逻辑说明
|
||||
- 依赖团队对权限模型和业务规则的统一理解
|
||||
|
||||
2. **开发环境依赖**
|
||||
- 需要稳定地开发环境和测试数据支持
|
||||
- 依赖相关模块的接口稳定性
|
||||
|
||||
3. **沟通协调依赖**
|
||||
- 需要定期与王磊同步开发进度和问题
|
||||
- 依赖团队每日站会的有效沟通
|
||||
|
||||
### 风险说明
|
||||
1. **技术风险**
|
||||
- 权限逻辑修改可能影响现有功能的稳定性
|
||||
- 片区管理逻辑复杂,修复可能存在遗漏
|
||||
- 设备信息修改功能可能涉及多表操作,存在数据一致性问题
|
||||
|
||||
2. **时间风险**
|
||||
- 多个任务并行可能导致时间分配紧张
|
||||
- 复杂问题排查可能超出预期时间
|
||||
|
||||
3. **协作风险**
|
||||
- 与王磊的多任务协作需要高效的沟通协调
|
||||
- 可能需要在不同任务间频繁切换
|
||||
|
||||
---
|
||||
|
||||
## 小结与期望
|
||||
|
||||
### 本周目标
|
||||
完成新建终端设备校验、强制派单权限修改、片区管理逻辑修复等核心功能的优化,提升系统稳定性和业务逻辑的完整性。
|
||||
|
||||
### 支持需求
|
||||
1. 希望获得关于复杂业务逻辑调试方法的指导
|
||||
2. 期待老师在权限系统设计和实现方面提供建议
|
||||
3. 希望有关于数据一致性和事务处理的专题分享
|
||||
4. 需要团队在技术方案评审和代码审查方面的支持
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,56 @@
|
||||
package com.campus.water.controller;
|
||||
|
||||
import com.campus.water.entity.dto.request.StudentDrinkQueryDTO;
|
||||
import com.campus.water.entity.vo.StudentDrinkStatsVO;
|
||||
import com.campus.water.service.StudentDrinkStatsService;
|
||||
import com.campus.water.util.ResultVO;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* 学生饮水量统计接口
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/api/student/drink-stats")
|
||||
@RequiredArgsConstructor
|
||||
@Tag(name = "学生端-饮水量统计", description = "学生查看本日/本周/本月饮水量")
|
||||
public class StudentDrinkStatsController {
|
||||
|
||||
private final StudentDrinkStatsService drinkStatsService;
|
||||
|
||||
@PostMapping("/today")
|
||||
@Operation(summary = "查询本日饮水量", description = "获取学生当日的饮水量、次数及明细")
|
||||
public ResultVO<StudentDrinkStatsVO> getTodayStats(@RequestBody StudentDrinkQueryDTO request) {
|
||||
// 手动校验学生ID非空
|
||||
if (request.getStudentId() == null || request.getStudentId().trim().isEmpty()) {
|
||||
return ResultVO.badRequest("学生ID不能为空");
|
||||
}
|
||||
StudentDrinkStatsVO stats = drinkStatsService.getTodayDrinkStats(request.getStudentId());
|
||||
return ResultVO.success(stats, "查询本日饮水量成功");
|
||||
}
|
||||
|
||||
@PostMapping("/this-week")
|
||||
@Operation(summary = "查询本周饮水量", description = "获取学生本周的饮水量、日均量及每日明细")
|
||||
public ResultVO<StudentDrinkStatsVO> getThisWeekStats(@RequestBody StudentDrinkQueryDTO request) {
|
||||
if (request.getStudentId() == null || request.getStudentId().trim().isEmpty()) {
|
||||
return ResultVO.badRequest("学生ID不能为空");
|
||||
}
|
||||
StudentDrinkStatsVO stats = drinkStatsService.getThisWeekDrinkStats(request.getStudentId());
|
||||
return ResultVO.success(stats, "查询本周饮水量成功");
|
||||
}
|
||||
|
||||
@PostMapping("/this-month")
|
||||
@Operation(summary = "查询本月饮水量", description = "获取学生本月的饮水量、日均量及每日明细")
|
||||
public ResultVO<StudentDrinkStatsVO> getThisMonthStats(@RequestBody StudentDrinkQueryDTO request) {
|
||||
if (request.getStudentId() == null || request.getStudentId().trim().isEmpty()) {
|
||||
return ResultVO.badRequest("学生ID不能为空");
|
||||
}
|
||||
StudentDrinkStatsVO stats = drinkStatsService.getThisMonthDrinkStats(request.getStudentId());
|
||||
return ResultVO.success(stats, "查询本月饮水量成功");
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,51 @@
|
||||
package com.campus.water.entity;
|
||||
|
||||
import lombok.Data;
|
||||
import jakarta.persistence.*;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 维修人员通知实体
|
||||
* 存储派单、系统通知等消息
|
||||
*/
|
||||
@Data
|
||||
@Entity
|
||||
@Table(name = "notification")
|
||||
public class Notification {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Long id;
|
||||
|
||||
/** 维修人员ID */
|
||||
@Column(name = "repairman_id", nullable = false, length = 50)
|
||||
private String repairmanId;
|
||||
|
||||
/** 关联工单ID */
|
||||
@Column(name = "order_id", length = 50)
|
||||
private String orderId;
|
||||
|
||||
/** 通知内容 */
|
||||
@Column(name = "content", nullable = false, length = 500)
|
||||
private String content;
|
||||
|
||||
/** 是否已读(默认未读) */
|
||||
@Column(name = "is_read")
|
||||
private boolean isRead = false;
|
||||
|
||||
/** 创建时间 */
|
||||
@Column(name = "created_time", nullable = false)
|
||||
private LocalDateTime createdTime = LocalDateTime.now();
|
||||
|
||||
/** 通知类型 */
|
||||
@Enumerated(EnumType.STRING)
|
||||
@Column(name = "type", nullable = false, length = 20)
|
||||
private NotificationType type;
|
||||
|
||||
/** 通知类型枚举 */
|
||||
public enum NotificationType {
|
||||
ORDER_ASSIGNED, // 派单通知
|
||||
ORDER_GRABBED, // 抢单通知
|
||||
ORDER_REJECTED, // 拒单通知
|
||||
SYSTEM // 系统通知
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,12 @@
|
||||
package com.campus.water.entity.dto.request;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 学生饮水量查询请求DTO
|
||||
*/
|
||||
@Data
|
||||
public class StudentDrinkQueryDTO {
|
||||
/** 学生ID */
|
||||
private String studentId;
|
||||
}
|
||||
@ -0,0 +1,37 @@
|
||||
package com.campus.water.service;
|
||||
|
||||
import com.campus.water.entity.Notification;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 维修人员通知服务接口
|
||||
*/
|
||||
public interface NotificationService {
|
||||
/**
|
||||
* 发送派单通知
|
||||
* @param repairmanId 维修人员ID
|
||||
* @param orderId 工单ID
|
||||
* @param content 通知内容
|
||||
*/
|
||||
void sendOrderAssignedNotification(String repairmanId, String orderId, String content);
|
||||
|
||||
/**
|
||||
* 获取维修人员未读通知
|
||||
* @param repairmanId 维修人员ID
|
||||
* @return 未读通知列表
|
||||
*/
|
||||
List<Notification> getUnreadNotifications(String repairmanId);
|
||||
|
||||
/**
|
||||
* 获取维修人员所有通知
|
||||
* @param repairmanId 维修人员ID
|
||||
* @return 所有通知列表
|
||||
*/
|
||||
List<Notification> getAllNotifications(String repairmanId);
|
||||
|
||||
/**
|
||||
* 标记通知为已读
|
||||
* @param notificationId 通知ID
|
||||
*/
|
||||
void markAsRead(Long notificationId);
|
||||
}
|
||||
@ -0,0 +1,59 @@
|
||||
package com.campus.water.service.impl;
|
||||
|
||||
import com.campus.water.entity.Notification;
|
||||
import com.campus.water.mapper.NotificationRepository;
|
||||
import com.campus.water.service.NotificationService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 通知服务实现类
|
||||
*/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class NotificationServiceImpl implements NotificationService {
|
||||
|
||||
private final NotificationRepository notificationRepository;
|
||||
|
||||
/**
|
||||
* 发送派单通知
|
||||
*/
|
||||
@Override
|
||||
public void sendOrderAssignedNotification(String repairmanId, String orderId, String content) {
|
||||
Notification notification = new Notification();
|
||||
notification.setRepairmanId(repairmanId);
|
||||
notification.setOrderId(orderId);
|
||||
notification.setContent(content);
|
||||
notification.setType(Notification.NotificationType.ORDER_ASSIGNED);
|
||||
notificationRepository.save(notification);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取未读通知
|
||||
*/
|
||||
@Override
|
||||
public List<Notification> getUnreadNotifications(String repairmanId) {
|
||||
return notificationRepository.findByRepairmanIdAndIsReadFalseOrderByCreatedTimeDesc(repairmanId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取所有通知
|
||||
*/
|
||||
@Override
|
||||
public List<Notification> getAllNotifications(String repairmanId) {
|
||||
return notificationRepository.findByRepairmanIdOrderByCreatedTimeDesc(repairmanId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 标记通知为已读
|
||||
*/
|
||||
@Override
|
||||
public void markAsRead(Long notificationId) {
|
||||
notificationRepository.findById(notificationId).ifPresent(notification -> {
|
||||
notification.setRead(true);
|
||||
notificationRepository.save(notification);
|
||||
});
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,105 @@
|
||||
package com.campus.water.service;
|
||||
|
||||
import com.campus.water.entity.DrinkRecord;
|
||||
import com.campus.water.entity.vo.DailyDrinkVO;
|
||||
import com.campus.water.entity.vo.StudentDrinkStatsVO;
|
||||
import com.campus.water.mapper.DrinkRecordRepository;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.*;
|
||||
import java.time.temporal.TemporalAdjusters;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 学生饮水量统计服务
|
||||
*/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class StudentDrinkStatsService {
|
||||
|
||||
private final DrinkRecordRepository drinkRecordRepository;
|
||||
|
||||
/**
|
||||
* 查询学生本日饮水量统计
|
||||
*/
|
||||
public StudentDrinkStatsVO getTodayDrinkStats(String studentId) {
|
||||
LocalDate today = LocalDate.now();
|
||||
LocalDateTime start = today.atStartOfDay();
|
||||
LocalDateTime end = LocalDateTime.now();
|
||||
return calculateStats(studentId, start, end, "本日", "today");
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询学生本周饮水量统计
|
||||
*/
|
||||
public StudentDrinkStatsVO getThisWeekDrinkStats(String studentId) {
|
||||
LocalDate today = LocalDate.now();
|
||||
LocalDateTime start = today.with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY)).atStartOfDay();
|
||||
LocalDateTime end = LocalDateTime.now();
|
||||
return calculateStats(studentId, start, end, "本周", "thisWeek");
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询学生本月饮水量统计
|
||||
*/
|
||||
public StudentDrinkStatsVO getThisMonthDrinkStats(String studentId) {
|
||||
LocalDate today = LocalDate.now();
|
||||
LocalDateTime start = today.with(TemporalAdjusters.firstDayOfMonth()).atStartOfDay();
|
||||
LocalDateTime end = LocalDateTime.now();
|
||||
return calculateStats(studentId, start, end, "本月", "thisMonth");
|
||||
}
|
||||
|
||||
/**
|
||||
* 核心统计逻辑
|
||||
*/
|
||||
private StudentDrinkStatsVO calculateStats(String studentId, LocalDateTime start, LocalDateTime end,
|
||||
String timeRangeDesc, String timeDimension) {
|
||||
// 1. 查询时间范围内的饮水记录
|
||||
List<DrinkRecord> records = drinkRecordRepository
|
||||
.findByStudentIdAndDrinkTimeBetweenOrdered(studentId, start, end);
|
||||
|
||||
// 2. 按日期分组统计
|
||||
Map<LocalDate, List<DrinkRecord>> dailyGroup = records.stream()
|
||||
.collect(Collectors.groupingBy(record -> record.getDrinkTime().toLocalDate()));
|
||||
|
||||
// 3. 构建每日明细
|
||||
List<DailyDrinkVO> dailyDetails = new ArrayList<>();
|
||||
dailyGroup.forEach((date, dailyRecords) -> {
|
||||
DailyDrinkVO dailyVO = new DailyDrinkVO();
|
||||
dailyVO.setDate(date.toString());
|
||||
// 当日总饮水量
|
||||
double dailyTotal = dailyRecords.stream()
|
||||
.map(DrinkRecord::getWaterConsumption)
|
||||
.filter(Objects::nonNull)
|
||||
.mapToDouble(BigDecimal::doubleValue)
|
||||
.sum();
|
||||
dailyVO.setConsumption(dailyTotal);
|
||||
dailyVO.setCount(dailyRecords.size());
|
||||
dailyDetails.add(dailyVO);
|
||||
});
|
||||
// 按日期排序
|
||||
dailyDetails.sort(Comparator.comparing(DailyDrinkVO::getDate));
|
||||
|
||||
// 4. 计算总饮水量、总次数、日均饮水量
|
||||
double totalConsumption = dailyDetails.stream()
|
||||
.mapToDouble(DailyDrinkVO::getConsumption)
|
||||
.sum();
|
||||
int totalCount = records.size();
|
||||
double avgDaily = dailyDetails.isEmpty() ? 0 : totalConsumption / dailyDetails.size();
|
||||
|
||||
// 5. 封装结果VO
|
||||
StudentDrinkStatsVO statsVO = new StudentDrinkStatsVO();
|
||||
statsVO.setStudentId(studentId);
|
||||
statsVO.setTimeDimension(timeDimension);
|
||||
statsVO.setTimeRange(timeRangeDesc + "(" + start.toLocalDate() + "~" + end.toLocalDate() + ")");
|
||||
statsVO.setTotalConsumption(totalConsumption);
|
||||
statsVO.setDrinkCount(totalCount);
|
||||
statsVO.setAvgDailyConsumption(avgDaily);
|
||||
statsVO.setDailyDetails(dailyDetails);
|
||||
statsVO.setDrinkRecords(records);
|
||||
|
||||
return statsVO;
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue