拾光友人帐——Alpha 冲刺Day6

拾光友人帐 拾光友人帐 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
这个作业属于哪个课程2601_FZU_SE 软件工程实践
这个作业要求在哪里团队第四次作业——站立式会议+α 冲刺
这个作业的目标记录首页聚合与管理阶段的六人分工、AI 协作、代码签入和测试结果,接通首页真实数据、认证审核与收纳点维护
其他参考文献《构建之法》第 2 章、第 13 章;《阿里巴巴 Java 开发手册(终极版 v1.3.0)》

目录

  • 一、阶段目标与总体进展
  • 二、站会安排
  • 讨论与核对事项
  • 三、六人分工、进展与困难
  • 四、AI 技术员分工与协作
  • 公共预览与本人申请分开查询
  • 先按物品去重,再截取待处理预览
  • 审核事务和重复操作
  • 管理入口与服务端权限
  • 页面真实数据与错误恢复
  • 协作体会
  • 五、项目燃尽图
  • 六、代表性提交与分工关联
  • 功能整合进展
  • 七、运行与测试
  • 运行检查结果
  • 问题定位与处理
  • 首页与管理回归清单
  • 八、阶段小结与后续安排

一、阶段目标与总体进展

D6 以“首页聚合与管理”为阶段目标,承接前五天的发布、浏览、匹配、认领和消息能力,把原先分散在各页面的关键信息组织到首页,同时补齐校园认证审核和收纳点维护的必要管理入口。首页需要向不同身份返回恰当的信息:匿名用户可以浏览公共统计与招领预览,登录用户还可以查看本人未读消息、新线索和待处理认领。

当前共同基线为 c76092c,已推送远程主干。后端提供首页聚合、认证审核、收纳点与代管、物品举报及处理接口;小程序接入首页真实数据,并提供认证审核和收纳点管理页面。

工作方向六人协作安排当前成果与状态
首页聚合与集成刘伟鑫负责首页及共同基线,刘传浩配合页面对接聚合真实统计、未读、线索与本人待处理认领;公开招领预览单独查询,搜索词可带入列表
认证审核与权限许毅君负责认证审核和管理授权,刘传浩对接页面管理员可查看待审列表并通过或驳回,结果写入认证状态、审计及通知;无权限用户不能调用管理接口
收纳点与数据维护王永臻配合数据与一致性,许毅君复核管理权限后端支持收纳点新建、编辑、关闭和代管登记/核销,页面接入点位维护
举报及边界许毅君复核必要举报处理,李明学关注接口结果后端支持物品举报及管理员处理,重复举报与重复处理有明确返回;举报管理页面仍待实现
回归与演示材料李明学整理回归结果,许煜煌检查演示路径有后端、页面源码与实库接口检查记录;测试随笔、共享评审表、D6 设备截图及实际彩排尚待补充

本阶段把首页的两类内容分开处理:pendingClaims 是别人对本人发布的物品发起的待处理认领,公开招领预览则来自物品列表。两者的对象范围不同,不能把前者直接写成全校“待认领物品”。首页搜索携带关键词进入列表,按当前列表类型检索,可在列表切换寻物与招领;现阶段校区显示依赖已有校区数据,尚无多校区切换界面。

img

img

二、站会安排

项目安排
计划日期2026 年 10 月 28 日
计划时间20:00—20:15,共 15 分钟
方式线上语音会议
主持人刘伟鑫
记录人李明学
参与成员刘伟鑫、刘传浩、许毅君、王永臻、李明学、许煜煌
会议重点首页数据口径、认证审核、收纳点、管理员权限、回归结果与交付材料

img

讨论与核对事项

  1. 首页先分清数据归属。 公共物品预览和本人收到的申请分别取数,未登录时不展示他人私有申请、未读与线索。
  2. 认证结果保持一致。 审核通过要同步更新申请与用户认证状态,写入审计及站内通知;重复审核不能再次通知。
  3. 管理员权限由服务端验证。 页面依据资料显示入口,审核与点位写操作仍由后端检查权限,不能把隐藏按钮当作授权。
  4. 点位信息按实际字段展示。 名称、地址、校区及联系方式可以维护;营业时间当前没有持久化字段,不能展示为已保存。
  5. 区分接口、页面和设备验收。 实库接口检查、页面源码回归与真实微信设备操作分别记录,未执行的测试不记为通过。
  6. 提前核对 D7 交付。 测试随笔、共享评审表、答辩 PPT、演示脚本和实际彩排需要具体材料,不因计划排期到达而视为完成。

三、六人分工、进展与困难

下表依据六人计划和当前仓库成果整理工作关联。D6 的后端与前端分别形成多项合并提交;提交账号并非六人的逐人独立签入记录,代表性提交用于定位协作成果,不能据此推断个人实际提交次数。

成员D6 主责及工作安排工作进展问题或困难工作体会与下一步
刘伟鑫T29:协调首页聚合、搜索、部署集成与总结初稿首页聚合与搜索入口已接通,公共预览和本人待处理申请分别展示,代码已合入共同主干首页原型中的公开内容与本人待处理申请含义不同;总结初稿和最终部署演练尚无完成证据以接口口径核对每个区块,继续补冷启动与总结;本阶段按任务组暂记 7 点,未闭合子项另行跟踪
刘传浩首页双入口、横幅、预览与管理页面,配合修复主流程双发布入口保留,真实首页数据、搜索跳转、审核及点位维护页面接通网络失败、空数据和旧账号响应容易造成虚假内容或界面残留加入空态、重试与请求序号检查,继续补开发者工具与真机布局验收;协助不另计点
许毅君T26:认证审核、收纳点维护与必要举报处理审核通过/驳回、管理员授权、收纳点接口和物品举报处理已落地;管理工作台接入前两项管理页面按钮可见不代表服务端允许操作;审核后旧会话权限需刷新从权限、对象归属与结果回读逐项复核,继续跟踪材料预览和职责分离;任务组暂记 7 点
王永臻配合聚合查询、匹配配置、表结构及事件一致性首页统计与本人申请查询、点位软删除和代管数量更新进入服务;实库报告记录 SQL 结果一件物品多条申请可能挤占预览位;营业时间无数据库列,不能声称保存成功待处理预览先按物品去重再截断;保留营业时间及校区数据限制,配合 D7 复验,不另计点
李明学T27—T28:自动化与主流程回归、测试随笔与评审表后端全量、跨阶段页面源码和 D6 页面脚本有执行记录;更新独立线索页回归运行环境与设备覆盖不同,不能将 H2 或源码断言写成真机通过T27 按自动化工作暂记 3 点,设备连续回归继续保留;测试随笔及共享评审表未见完成材料,T28 暂不记账
许煜煌T30:PPT、使用说明、演示脚本与彩排仓库已有 D6 接口及前端验收步骤,可作为后续演示准备依据未见 D6 答辩 PPT、完整使用说明、站会照片及实际彩排记录根据真实页面操作补截图和演示脚本,完成彩排后再核对交付;T30 暂不记账

按当前可核对成果,D6 暂记 17 点:T26 记 7 点,T27 记 3 点,T29 记 7 点。此处沿用前几天对任务组记账的方式,T27 的设备验收和 T29 的总结初稿仍是未闭合子项;T28 与 T30 因缺少完成材料暂不记账。团队核对实际进展后可调整,不能将暂记点数等同于全部验收完成。

四、AI 技术员分工与协作

AI 技术员围绕最新接口契约、源码、测试输出和验收记录辅助梳理。各角色的输出需要由负责成员结合实际运行结果检查,避免把接口已写入、页面已接入和真实设备已验收混为一谈。

AI 角色具体协作任务主要输出成员审核重点
AI 设计师比较首页原型、真实统计与用户身份,梳理审核和点位操作首页区块、管理入口、确认与失败状态刘伟鑫检查数据口径,刘传浩核对跳转,许煜煌整理演示路径
AI 程序员追踪首页聚合、审核事务、角色权限和收纳点字段匿名与登录响应、条件更新、管理页面和请求隔离许毅君复核授权,王永臻核对状态与持久化,刘传浩检查页面回读
AI 测试员组织管理员与普通用户、重复审核、点位维护、首页换号和失败重试场景后端测试、页面源码检查及实库接口证据李明学核对测试范围,许毅君核查越权断言,许煜煌核查操作步骤
AI 文档助手对照计划、分批提交及验收记录,整理随笔与燃尽材料六人分工、典型代码、提交关联、边界与待补材料刘伟鑫核对版本,王永臻核对数据结果,李明学检查测试记录

公共预览与本人申请分开查询

首页聚合服务根据请求身份返回不同范围的数据。server/src/main/java/com/shiguang/home/service/HomeService.java 在匿名时只返回公共统计,登录后再补本人相关内容:

if (viewer == null) {
    return new HomeView(campus, stats, List.of(), 0L, List.of());
}
return new HomeView(
        campus,
        stats,
        pendingClaims(viewer),
        messages.unreadCount(viewer),
        banners(viewer));

页面另用公开物品列表读取招领预览。这样匿名用户看到的是公开物品,登录用户的“待处理”则只关联本人发布物品的申请。统计中的 recoveredCount 是累计已归还/已完成数量,页面不把它写成“今天归还”。

先按物品去重,再截取待处理预览

server/src/main/java/com/shiguang/home/mapper/HomeMapper.java 对本人收到的待处理认领按物品分组,再按最早申请时间排序和限制数量:

SELECT c.item_id
FROM t_claim c
WHERE c.progress = 2
  AND c.item_id IN (SELECT i.id FROM t_item i
                     WHERE i.user_id = #{ownerId} AND i.deleted = 0)
GROUP BY c.item_id
ORDER BY MIN(c.create_time) ASC, c.item_id ASC
LIMIT #{limit}

如果先取三条认领再去重,同一物品的多条申请会挤掉其他物品。当前 SQL 先确定不同物品,再截取首页最多三件;交付记录中的早期实库报告曾指出这一问题,后续提交 b589920 已调整查询。该修复与早期报告的实测版本应分开理解。

审核事务和重复操作

server/src/main/java/com/shiguang/admin/service/AdminVerificationService.java 的审核通过方法在事务内先做条件更新,再更新用户认证状态:

@Transactional
public void approve(long id, ApproveRequest request, long auditorId) {
    VerificationRow row = requireRow(id);
    if (mapper.approve(id, auditorId) == 0) {
        throw ApiException.conflict("该认证申请已审核,请勿重复操作");
    }
    if (mapper.markVerified(row.userId) == 0) {
        throw ApiException.notFound("申请用户不存在或已注销");
    }

同一方法后续写审计记录和申请人的站内通知。条件更新只允许待审记录进入通过状态,重复处理返回冲突;若用户状态无法更新,事务回滚,避免申请显示通过而用户仍未认证。驳回则要求原因代码和文字,并记录驳回结果。

管理入口与服务端权限

miniprogram/pages/admin/admin.js 打开工作台时重新获取当前用户资料,并根据权限选择可用功能:

const permissions = profile.permissions || [];
const canReview = permissions.includes('verification:review');
const canPoints = permissions.includes('point:manage');
const tab = this.data.tab === 'points' && canPoints
  ? 'points' : (canReview ? 'review' : 'points');

个人中心仅对具有相应权限的用户显示入口,工作台也在无权限时提示。入口控制用于改善交互,最终授权仍在后端;未登录访问管理接口返回 401,普通用户返回 403。账号切换或页面离开后,旧请求序号失效,不再将上一个用户的审核列表回填到当前页面。

页面真实数据与错误恢复

miniprogram/pages/index/index.js 发起首页聚合前记录当前身份,并在响应返回时检查身份与请求顺序:

const sequence = this._homeSeq = (this._homeSeq || 0) + 1;
const account = currentAccount();
return homeApi.overview().then(d => {
  if (sequence !== this._homeSeq || account !== currentAccount()) return;
  const banner = (d.banners || []).find(it => it.type === 'match') || null;

首页聚合和公开预览分别加载。接口失败显示错误及重试,返回空列表时显示空态,不用演示数据填充;搜索时把输入词带到招领墙,并将时间范围设为全部时间。审核列表和点位维护也保留失败信息,保存和审核操作通过状态锁避免重复点击。

协作体会

首页整合表面上是几个数字和卡片,实际涉及公开统计、用户身份、认领记录和消息计数。管理功能则需要同时检查操作权限、状态转换、通知和审计。AI 有助于展开这些依赖,但结果仍应逐项回到接口、页面和数据库核对;不能因为页面上有按钮就认定整个业务链路已被真实设备验收。

五、项目燃尽图

本轮总计 162 点,六名成员各 27 点。根据当前可核对的任务组成果,D6 暂记 17 点,累计记账 139 点,剩余 23 点;计划线同期剩余 23 点。T28 测试随笔与共享评审表、T30 PPT/使用说明/彩排尚未记账。

成员本人初始点数本日记账点数累计记账当前剩余
刘伟鑫277207
刘传浩270270
许毅君277270
王永臻270252
李明学273225
许煜煌270189
合计1621713923

img

时间初始10/2310/2410/2510/2610/2710/2810/29
计划剩余点数162139116936946230
实际记账剩余16214412698694023—

本日点数为根据现有证据整理的暂记值,后续由团队核对。T27 的设备操作、T29 的总结初稿仍需完成;T28、T30 未记账。点数曲线与计划重合不意味着所有验收项目、材料和权限边界已经闭合。

六、代表性提交与分工关联

成员对应分工代表性提交提交内容
刘伟鑫首页聚合、搜索与共同基线86bfc68提供首页聚合接口,组织校区统计、未读、线索横幅及本人待处理认领
刘传浩首页入口、预览与页面对接62b03b9首页接通真实聚合与公开招领预览,搜索词传入列表,区分空态与错误状态
许毅君认证审核、权限与状态边界4f12a04提供认证申请列表、通过与驳回接口,处理管理员授权、审核状态和通知
王永臻首页数据一致性与边界修复b589920修复公开路径尾斜杠处理,待处理认领按物品去重后再截取预览
李明学跨阶段回归与测试记录c76092c更新独立线索页回归,整理 D6 乙前端交付记录和测试边界
许煜煌演示路径与交叉验收材料ff57ce7归档首页与管理端实库验收报告,记录接口结果和可复核的数据库证据

功能整合进展

  1. 首页使用真实数据。 公共预览与本人待处理申请分别取数,未读、线索横幅及统计来自聚合接口。
  2. 认证审核有完整服务端结果。 管理员通过/驳回后,申请状态、用户状态、审计与通知按实现规则更新。
  3. 收纳点可以维护。 管理页面提供新建、编辑和关闭;代管登记与核销已有后端接口,页面入口仍待补充。
  4. 举报接口已有基础。 物品举报及管理员处理有服务端实现与实库记录,用户举报和管理页面尚未接入。
  5. 前端按身份和请求顺序回读。 首页和管理工作台处理空态、错误和重试,账号切换后旧数据不应覆盖当前结果。

七、运行与测试

运行检查结果

本轮覆盖后端全量测试、跨阶段页面源码回归,以及已有的首页、审核、收纳点和举报实库接口验收。后端默认测试使用 H2 与测试会话;页面脚本使用可控异步响应。实库报告针对前一批 D6 后端提交,在真实 MySQL 8、Redis 和 local 模拟身份下执行,并逐项核对 SQL;该报告并非小程序真实设备端到端验收。

检查项已有结果验证范围
首页聚合匿名返回公共统计;登录后可读取本人未读、线索和待处理认领后端集成与实库接口;待处理物品去重修复另有后续提交
首页页面真实聚合、空态/错误、搜索传参、横幅跳转和换号旧响应检查通过页面源码与可控异步响应
认证审核申请可查询,通过后申请及用户状态更新;驳回保留原因与通知,重复处理返回冲突后端集成与实库接口;页面检查确认、驳回输入及权限
收纳点与代管点位新建、修改、关闭;代管登记与核销前后在管数量变化后端集成与实库接口;前端覆盖点位维护,代管无页面
举报处理物品举报、重复举报、管理员处理与重复处理按契约返回后端集成与实库接口;举报前端页面尚未接入
权限边界未登录管理请求返回 401,普通用户访问受限管理接口返回 403后端集成与实库接口;真实管理员账号以实际权限为准
前端回归D1/D2 17 项、D3 13 项、D4 15 项、D5 匹配 10 项、个人中心 11 项通过;D6 三组检查通过页面源码、可控请求和事件;不同脚本范围分别记录
后端全量160 项,0 失败、0 错误、2 项跳过,构建成功默认测试集合;跳过项为外部 MySQL/Redis 条件检查
页面静态检查已注册页面文件存在;首页、个人中心、管理工作台 JS 语法及 WXML 事件处理函数检查通过静态检查,不等同微信开发者工具编译

以上结果来自 D6 甲方实库报告及乙方交付记录,本篇整理未重新执行全部测试。甲方早期实库报告记录了 159 项后端测试;后续整合版本的测试集合为 160 项,两者是不同版本快照,不能相加。早期报告中尾斜杠与待处理预览去重问题已有 b589920 修复,仍需按当前版本继续复验。

问题定位与处理

首页不能把私有数据当作公开预览。 聚合返回的待处理认领属于当前发布者;页面另从公开物品列表取得招领预览。匿名访问只返回公共统计与空的用户相关数据,避免向未登录用户展示他人的未读、申请或线索。

一件物品的多条认领可能挤占预览。 早期查询先限制认领行数,再按物品去重,可能让其他物品无法进入三条预览。当前改为按物品分组后再排序和截断;后续需要在最新版本上结合真实页面检查。

审核权限与审核状态要同时检查。 工作台根据当前资料显示功能,后端仍验证管理员权限。审核状态更新受待审条件限制;通过后用户需重新登录以获取更新后的权限,重复操作不会再次生成结果通知。

营业时间不能假装已经保存。 收纳点接口目前接收 openingHours,但现有表没有对应列,响应为 null;管理页面因此只编辑已有持久化字段。认证材料目前仅展示对象标识,安全预览接口尚未接入。

演示认证与真实身份分开。 “提交审核 · 演示”使用 demo-pending 构造本地待审申请,供联调审核路径。它不能证明真实微信登录或真实校园认证服务已经完成验收。

匹配规则已随最新代码调整。 D5 随笔记录的是当时的四维权重与样本结果;后续匹配实现调整了类别门槛和标题关键词处理,不能将 D5 的 80 分当作当前版本的固定分数承诺。答辩时应使用当前配置和实际响应展示。

现有材料仍有缺口。 目前没有 D6 站会照片、微信开发者工具完整编译记录、真机截图或真实微信身份验收证据;测试随笔、共享评审表、答辩 PPT 与实际彩排也尚待补充。D4 独立双向确认与取消、线索阅读回执等遗留项继续保留。

首页与管理回归清单

类别检查内容判定方法
首页聚合匿名与登录统计、未读、线索横幅、本人待处理申请分别核对接口响应、身份及数据库计数
搜索与预览关键词传递、寻物/招领切换、空结果与详情跳转检查请求参数、列表内容与返回路径
认证审核待审列表、通过、驳回原因、重复审核与结果通知对照请求、申请状态、用户状态、审计与通知
管理权限未登录、普通用户和管理员访问管理功能页面入口、服务端状态码与权限变化后会话分别检查
收纳点新建、编辑、关闭、重名、代管登记及核销核对点位记录、软删除状态、在管数量及重复操作结果
举报物品举报、重复举报、管理员处理与通知后端接口和数据库记录核对;页面入口后续补测
页面恢复网络失败、重试、快速切换与账号变化页面源码断言;后续补开发者工具和真机连续操作
最终交付冷启动、主流程、截图、PPT、测试报告与评审表真实演示与附件逐项核查,未执行项单独记录

八、阶段小结与后续安排

D6 将首页从演示内容推进到真实聚合与公开预览,并补齐认证审核、收纳点维护和举报处理的服务端基础。管理工作台接入认证审核与点位维护,本地演示模式可以提交待审申请。本日按现有成果暂记 17 点,累计 139 点,剩余 23 点;尚缺的测试和交付材料继续保留。

本阶段的主要体会是,聚合页面和管理功能都依赖明确的数据范围。公开预览、本人待处理申请、审核结果与管理员权限分别有各自的来源和边界。把这些规则与实际测试范围写清楚,可以减少页面展示和后端结果不一致带来的误判。

  1. 刘伟鑫核对最终版本、部署和冷启动步骤,补齐冲刺总结与集合随笔的正式链接。
  2. 刘传浩在微信开发者工具中复测首页、搜索、认证审核和点位页面,补连续操作及布局问题。
  3. 许毅君复核管理员权限、审核结果和会话失效,跟踪材料预览、举报管理与其他未闭合边界。
  4. 王永臻复验建库、首页统计、归还事务、事件和善意值,维护最终燃尽数据。
  5. 李明学执行最终自动化与主流程回归,完成测试随笔及共享评审表,分类记录失败、阻塞和未执行项。
  6. 许煜煌补站会与运行素材,整理使用说明、演示脚本和答辩 PPT,完成现场及备用方案彩排。
...全文

相关推荐

考研机试冲刺攻略:Day8高效提分与实战技巧

计算机算法在考研机试中占据核心地位,尤其是动态规划和图论等高频考点。动态规划通过状态转移方程解决复杂问题,常用优化手段包括滚动数组和空间降维;图论算法如Dijkstra可通过优先队列实现高效路径查找。这些算法不仅提升解题效率,更能在有限时间内处理大规模数据。针对考研冲刺阶段,建议采用'三三制'时间分配原则,集中突破薄弱环节,同时通过全真模拟训练应考能力。掌握调试技巧和应急预案,如快速排查段错误和超时问题,能显著提升考场表现。最后一周应重点打磨代码模板,建立考点到实现的快速映射,这是冲刺提分的关键策略。

云海天狼

蓝桥杯Day1冲刺:从A+B问题掌握竞赛编程基本功与避坑指南

在算法竞赛和编程能力提升中,扎实的基本功是构建一切复杂解决方案的基石。其核心原理在于通过标准化的输入输出处理、严谨的边界条件判断以及对时间与空间复杂度的初步分析,形成稳定可靠的代码框架。掌握这些基础能力的技术价值在于,它能有效避免在简单题目上因非技术性失误而丢分,从而将宝贵的精力集中于攻克算法难点。无论是应对多组数据测试、精确解析输入格式,还是严格匹配输出要求,这些场景都是竞赛编程和日常工程实践中频繁遇到的通用问题。本文以蓝桥杯等算法竞赛中常见的**A+B问题变体**和**日期计算模拟**为例,深入剖析如何

weixin_30680385

2022年计算机二级考试C语言程序设计冲刺题及答案

题库来源:优题宝公众号 2022年计算机二级考试C语言程序设计冲刺题及答案,由优题宝公众号根据最新计算机二级考试C语言程序设计大纲与历年计算机二级考试C语言程序设计真题汇总编写,包含计算机二级考试C语言程序设计常考重点题型与知识点,有助于考生复习备考计算机二级考试C语言程序设计,取得好成绩。 1、一个队列的入队序列是a,b,c,d,则出队序列是( A ) A.a,b,c,d B.a,c,b,d C.d,c,b,a D.a,c,b,d 2、设变量均已正确定义,若要通过;语句...

笑谈网课

考研复试day28冲刺指南:四大主战场与避坑策略

在知识密集型选拔中,复试是对考生综合素养的二次考核,其本质是考察知识深度、逻辑表达与临场应变力的融合。从基础概念到输出表达,复习逻辑需由“输入”转向“输出”,强调知识内化后的有效呈现。掌握科学备考方法,能显著提升关键节点的表现力与稳定性。这一规律广泛应用于研究生入学面试、求职综合评估及各类半结构化考核场景。考研复试冲刺期如何高效分配精力?本文以“复试day28”为抓手,梳理简历材料、专业知识、英语能力、综合表现四大主战场的实操准备,并结合模拟面试与常见问题应对,帮助考生规避经典误区,稳健走好最后一程。

井言7

备战金九银十,软件测试,面试大复盘,9月初准备冲刺字节跳动

前言 软件测试工程师,和开发工程师相比起来,虽然前期可能不会太深,但是涉及的面还是比较广的。前期面试实习生或者一年左右的岗位,问的也主要是一些基础性的问题比较多。涉及的知识主要有MySQL数据库的使用、Linux操作系统的使用、软件测试框架性的问题,测试环境搭建问题、当然还有一些自动化测试和性能测试的问题。测试工程师的面试题,基本上都是大同小异的,面试的核心主要在于框架模块(一到两年工作经验)。 今天这篇帖子主要讲解之前面试自己面试过程中或者周围人面试过程中经常被问到且比较经典的面试题,一家之言,如有异

程序员白楠楠
评论
收藏 已收藏
分享
返回顶部