拾光友人帐——Alpha 冲刺Day5

拾光友人帐 拾光友人帐 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
这个作业属于哪个课程2601_FZU_SE 软件工程实践
这个作业要求在哪里团队第四次作业——站立式会议+α 冲刺
这个作业的目标记录智能匹配与个人中心阶段的六人分工、AI 协作、代码签入和测试结果,打通发布后线索生成、判据展示及本人统计与善意流水
其他参考文献《构建之法》第 2 章、第 13 章;《阿里巴巴 Java 开发手册(终极版 v1.3.0)》

目录

  • 一、阶段目标与总体进展
  • 二、站会安排
  • 讨论与核对事项
  • 三、六人分工、进展与困难
  • 四、AI 技术员分工与协作
  • 先核对样本,再确认“可解释”
  • 发布提交后异步生成线索
  • 配置失败回落默认值
  • 善意值按本人查询,余额与流水共同回读
  • 页面请求同时检查身份与顺序
  • 协作体会
  • 五、项目燃尽图
  • 六、代表性提交与分工关联
  • 功能整合进展
  • 七、运行与测试
  • 运行检查结果
  • 问题定位与处理
  • 匹配与个人中心回归清单
  • 八、阶段小结与后续安排

一、阶段目标与总体进展

D5 以“智能匹配与个人中心”为阶段目标。在 D4 已能申请、核验、归还和匿名沟通的基础上,本阶段让用户更容易找到候选物品,并能从个人中心查询自己的发布、成功找回、帮助归还和善意值。匹配负责提供可解释的线索,最终认领仍需双方核验,不能把相似度当成物品归属结论。

本阶段接通了“发布提交成功—异步重算—查询线索—查看匹配判据—进入物品详情”的路径。个人中心使用真实资料与统计接口,善意护照可以进入流水页,核对归还带来的余额变化。沿用现有 21 表,不新增生产 DDL;本人发布、认领和收到的申请继续复用已有接口与页面。

工作方向六人协作安排当前成果
主流程与契约整合刘伟鑫协调匹配、详情、个人入口与验收口径共同基线整合至 2f04c0c,匹配与个人中心契约、交付记录可相互核对
页面与可解释线索刘传浩负责匹配卡片、个人统计和善意护照,许煜煌交叉检查展示真实相似度、命中标签及新线索标记,支持详情跳转、刷新、手动重算和分页重试
本人数据隔离许毅君复核物品归属、当前身份与异步返回他人不能查询或重算本人线索,切换账号后旧响应不覆盖新用户页面
匹配配置与数据一致性王永臻负责配置、候选重算与结果维护启动加载配置,异常回落默认权重;发布后异步计算,重复重算不新增物品对
个人查询与连续回归李明学负责概览、善意流水及接口联调,许煜煌核对固定样本统计来自实际记录,归还后帮助次数、余额与单笔流水一致,完成隔离实库 HTTP 检查

img

img

二、站会安排

项目安排
计划日期2026 年 10 月 27 日
计划时间21:40—22:00,共 20 分钟
方式线上语音会议
主持人刘伟鑫
记录人李明学
参与成员刘伟鑫、刘传浩、许毅君、王永臻、李明学、许煜煌
会议重点异步匹配、分数与标签、本人数据隔离、善意值回读、换号与失败恢复

img

讨论与核对事项

  1. 分数与标签使用同一份样本。 核对物品的真实色码,异色样本不显示“颜色一致”,不能为了满足四项标签而改变输入数据。
  2. 发布成功与线索生成分开观察。 发布提交后再异步重算;查询暂时为空时支持刷新,重算失败不撤销已成功的发布。
  3. 个人中心只查询当前登录用户。 统计和流水不接受客户端指定他人身份;页面退出或换号后清空旧数据。
  4. 善意值与归还结果共同核对。 一次归还应增加一次帮助归还数、10 点善意值和一笔流水,重复确认不能重复结算。
  5. 明确验收层次。 后端测试、页面源码测试、MySQL/Redis HTTP 检查和微信设备操作分别记录,自动化通过不代表已完成真机视觉验收。

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

六人职责沿用统一任务表。下表按任务归属整理成果,代码以合并提交交付;提交账号不等于六名成员各自独立签入,不能据此推断个人提交次数。

成员D5 主责及工作安排工作进展问题或困难工作体会与下一步
刘伟鑫协调匹配、详情、个人入口与共同基线,0 点协助汇总接口、交付记录和测试口径,关联分批提交与六人职责原计划与真实样本对“4 个判据”的描述冲突,部分交付记录仍含早期提交编号以当前源码和最终提交校正记录,继续协调 D6 首页聚合与交付材料
刘传浩T21,7 点:匹配判据与个人中心页面接入本人寻物分页、展开线索、详情跳转、刷新重算、真实统计与流水页已接通快速切换卡片、分页失败和请求晚返回会造成页面显示混乱请求序号保护选择,失败保留原页;继续补开发者工具与真机布局检查
许毅君T22,4 点:匹配和个人中心数据隔离线索读取与重算限定物主,概览与流水绑定当前登录身份;页面支持退出清空和换号隔离令牌更新不一定是换号,单纯比较令牌会误拒绝同用户自动重登后的结果按稳定 userId 判断归属,再结合请求序号拒绝旧响应,继续复核权限变化
王永臻T23,7 点:匹配配置、线索重算与候选排序配置启动加载及默认回落、提交后异步计算、线索更新失效和四维判据已实现异步线程可能看不到未提交物品;错误失效范围会破坏其他线索提交后触发,按寻物/招领方向限定重算作用域,继续跟踪校区字段与配置刷新
李明学T24,7 点:个人概览、善意值与本人进度接口概览与分页流水使用真实数据库,提供计划别名,复用已有发布和认领入口统计必须区分申请数、成功找回数、帮助归还数;余额和流水需一致用一次真实归还连接统计与流水,新增查询保持只读,继续维护跨阶段回归
许煜煌T25,4 点:匹配、个人中心与善意值交叉验收固定异色/同色样本、第三人访问、重复重算、归还回读、换号和失败重试均有自动化覆盖源码断言不能说明设备布局、真实触控与微信身份链路已通过按样本、身份、响应和落库结果整理证据,继续补连续操作与设备素材

本日按统一台账记账 29 点。任务点数不因新增测试、格式整理和文档维护重复累加;刘伟鑫的整合协调计为协助,仍保持当天 0 点分配。未完成的设备验收和功能限制另行保留。

四、AI 技术员分工与协作

AI 辅助围绕当前源码、接口契约、匹配样本和测试记录展开。角色用于说明协作任务,最终业务规则和验收结论仍需成员根据代码与执行证据审核。

AI 角色具体协作任务主要输出成员审核重点
AI 设计师串联本人寻物、线索卡片、详情和个人护照,梳理加载、空态及错误恢复页面状态与跳转路径、命中标签展示规则刘传浩核对交互,刘伟鑫核对入口,许煜煌检查操作含义
AI 程序员追踪提交后事件、匹配更新、本人统计及页面异步结果归属配置回落、重算作用域、真实查询和稳定身份保护王永臻核对事务与数据,李明学核对统计,许毅君复核隔离
AI 测试员组织异色/同色、重复计算、第三人、换号和分页失败用例后端集成、页面源码回归与隔离实库 HTTP 场景许煜煌核对覆盖,许毅君检查越权断言,李明学核对联调结果
AI 文档助手对照计划、代码和交付记录整理随笔与燃尽材料分工表、典型代码、提交关联、测试边界及燃尽图刘伟鑫维护基线,各模块对应核对技术描述

先核对样本,再确认“可解释”

初版样本曾将“蓝色耳机”传为黑色色码,虽然测试得到 100 分和四项判据,却没有验证故事中的异色情况。修正输入后,同类 35 分、颜色 0 分、同地点 25 分、时间相近 20 分,合计 80 分;另设真正同色样本验证 100 分分支。

这次修正说明,断言通过首先要建立在输入正确的基础上。页面标签只映射后端返回的命中编码,不能为凑齐四个标签补出“颜色一致”。AI 可以帮助比较数据与断言,但真实色码、计分规则和业务含义必须一起核对。

发布提交后异步生成线索

server/src/main/java/com/shiguang/match/event/MatchRecomputeListener.java 的关键声明为:

@Async(MatchAsyncConfig.MATCH_EXECUTOR)
@TransactionalEventListener(phase = TransactionPhase.AFTER_COMMIT, fallbackExecution = true)
public void onItemPublished(ItemPublishedEvent event) {

发布事务提交后,独立执行器调用 matches.recompute(event.itemId())。若在事务尚未提交时让另一线程查库,新物品可能不可见,导致错误的零线索结果。监听器捕获重算异常并记日志,发布成功不因后续匹配失败而改写。

匹配记录在单独事务中完成候选打分、达阈值更新和旧线索失效。寻物重算只处理该寻物单的记录,招领重算只处理该招领单的记录,避免更新一件招领物品时误使其他候选失效。重复计算保留物品对的唯一关系,原有且仍命中的线索不反复标为新线索。

配置失败回落默认值

server/src/main/java/com/shiguang/match/service/MatchConfigProvider.java 在无法取得有效配置时执行:

if (loaded == null) {
    current = MatchWeights.defaults();
    log.warn("未取到可用的匹配方案,回落到默认权重 {}", current);
    return current;
}

配置表不可读、无生效方案或权重不合法时,都回落默认值并告警。这里不能写成“沿用上一次有效配置”:已被停用的方案若继续使用,会让配置修改与实际计算不一致。目前启动自动加载一次,配置维护后的刷新入口仍需后续接通。

善意值按本人查询,余额与流水共同回读

server/src/main/java/com/shiguang/mine/service/MineService.java 使用只读事务读取余额与分页流水,查询限定 user_id,再按时间和 ID 倒序:

@Transactional(readOnly = true)
public Goodwill goodwill(long userId, int page, int pageSize) {
    int p = Math.max(1, page), size = Math.min(100, Math.max(1, pageSize));
    var overview = overview(userId);
    var result =
            kindness.selectPage(
                    new Page<KindnessRecord>(p, size),
                    new QueryWrapper<KindnessRecord>()
                            .eq("user_id", userId)
                            .orderByDesc("create_time")
                            .orderByDesc("id"));

接口层从当前登录身份提供 userId,客户端不能借查询参数切换到其他用户。流水与认领 ID 使用字符串返回;查询本身不增加善意值,归还事务仍是本阶段验收中的结算来源。

页面请求同时检查身份与顺序

页面采用稳定用户身份和请求序号共同判断响应是否有效。用户 A 的请求返回前若切换为 B,旧结果必须丢弃;如果仍是 A,只是自动重登更换令牌,则不应把正常响应误判成换号。刷新、切换物品或离开页面后,也要避免旧请求覆盖新状态。

匹配列表和流水追加失败时保留已有内容,重试仍请求原失败页;重算期间防止重复触发。个人统计失败明确展示错误,不把请求失败解释成数据库中的零值。零统计只用于真实查询返回零的情况。

协作体会

本阶段最有价值的检查,是把发布样本、计分结果、页面标签和数据库记录串起来。只验证接口返回成功,不能发现色码与标题矛盾;只观察个人中心数字变化,也不能发现重复确认产生两笔流水。AI 的分析需要落到可复测的输入、身份和断言,才能支持完成结论。

五、项目燃尽图

本轮总计 162 点,六名成员各 27 点。D5 记账 29 点,累计记账 122 点,当前剩余 40 点。计划线同期剩余 46 点,实际记账比计划少剩余 6 点。

成员本人初始点数本日记账点数累计记账当前剩余
刘伟鑫2701314
刘传浩277270
许毅君274207
王永臻277252
李明学277198
许煜煌274189
合计1622912240

img

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

点数表示既有任务组的记账进展,不替代功能验收。成员当天任务点数记完后,仍需参与交叉复核与缺陷修复;校区匹配、真机操作、配置刷新及 D4 保留差异继续跟踪,不因曲线领先而宣称全部完成。

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

成员对应分工代表性提交提交内容
刘伟鑫主流程整合、契约与验收材料2f04c0c汇总 D5 匹配与善意值实库联调结果,整理交付记录与文档索引
刘传浩匹配页面、线索卡片与判据展示2f0b8ff接通本人寻物与真实线索,展示相似度、命中标签,支持详情跳转、重算和分页重试
许毅君本人数据隔离与异步身份边界961d7a0按稳定用户身份保护异步结果,阻止换号后的旧响应回填,兼容同用户自动重登
王永臻匹配配置、发布触发与线索重算892260a实现配置加载与默认回落、发布后异步重算及匹配记录更新和失效维护
李明学个人概览、善意值与分页流水接口a9bf020提供当前用户真实统计与善意流水,落实本人查询、稳定分页并补充集成测试
许煜煌多账号交叉检查、异常回归与验收材料2f04c0c补充隔离实库 HTTP 验收,核对自动线索、越权拒绝、重复重算及归还后的统计与单笔流水

功能整合进展

  1. 发布与匹配衔接。 发布事务提交后异步生成候选线索,重算失败不改变已成功的发布结果。
  2. 分数与判据一致。 匹配页展示真实返回值,异色耳机样本为 80 分、三项命中,同色对照覆盖四项判据。
  3. 个人数据真实回读。 个人中心连接本人概览与善意护照,流水页支持分页、刷新和失败重试。
  4. 身份与异步结果隔离。 切换账号、切换物品或刷新后拒绝旧响应,同用户自动重登仍能正常完成查询。
  5. 归还结果可追溯。 通过多账号联调核对帮助归还次数、善意值与单笔流水,重复确认不重复结算。

七、运行与测试

运行检查结果

本轮覆盖默认后端测试、页面源码回归,以及 MySQL 8 隔离库与 Redis 上的真实 HTTP 主流程。实库检查使用本机 3307 的 shiguang_c_d1_test、6379 的 Redis 和临时 8082 后端,身份为 local 模拟登录,会话使用随机测试前缀。后端默认测试使用 H2 与测试内存会话;页面回归直接执行源码并使用可控异步响应,真实微信登录、真机交互与完整视觉仍待验收。

检查项已有结果验证范围
发布后自动匹配黑色寻物耳机与蓝色招领耳机在同类、同地点、同时间时自动产生线索,80 分、3 项判据真实 HTTP、后端集成;无需手动重算
同色对照与判据同类、同地点、同时间且同色时为 100 分、4 项判据后端集成;页面仅显示响应中命中的标签
线索权限与重算第三人查询或重算他人物品被拒绝;重复重算不新增物品对,未变线索不反复提示为新真实 HTTP、后端集成
个人概览新用户统计为零,发布、收藏、申请与归还后数量可回读真实 HTTP、个人中心集成;只查询当前登录用户
善意值与流水完成归还后帮助归还数为 1、善意值为 10;重复确认后仍只有一笔流水真实 HTTP、后端集成;余额、增量与关联认领记录核对
流水隔离与分页传入他人 userId 不能读取对方流水,分页上下限、越界空页和非法参数符合契约真实 HTTP、个人中心集成
前端回归D1/D2 17 项、D3 13 项、D4 15 项、D5 匹配 9 项、D5 个人中心 10 项,共 64 项通过页面源码与可控异步响应,覆盖标签、切换、分页重试、退出清空和自动重登
后端回归整合后测试集合 130 项,无失败或错误,2 项外部存储条件检查跳过包含新增个人中心集成 5 项;与前一阶段匹配测试集合有重叠,不重复计数
实库主流程23 项 HTTP 检查全部通过,测试创建的数据已清理独立 MySQL、Redis、模拟身份与临时后端
构建与规范Maven 打包、Java 格式、实体与 Mapper、schema、DDL、小程序 JS/JSON、页面事件与路由检查通过构建、静态规范与生成一致性检查

整理随笔时另行复跑 D5 匹配页面 9 项与个人中心 10 项,19 项全部通过;其余结果沿用本轮已有执行记录。测试结束后已关闭临时后端与本轮启动的 MySQL,保留原 Redis 服务。清理仅针对脚本创建的用户、物品及关联记录,不清空团队库,不执行 Redis FLUSHDB。

问题定位与处理

样本颜色与验收描述不一致。 初版将“蓝色耳机”传入黑色色码,得到四项命中但没有覆盖实际异色情况。修正为真实色码后,类别 35 分、颜色 0 分、地点 25 分、时间 20 分,合计 80 分,判据为 [1,3,4];另外保留同色对照,验证 100 分与四项判据。标题关键词判据当前未实现。

异步重算可能读不到刚发布的物品。 发布事务尚未提交时,另一线程无法稳定读取新记录。现改为提交后触发异步重算,避免将未提交数据误判为零线索。已有异常注入检查中,重算失败不改变发布成功结果,匹配事务无半成品,移除故障后可手动补算。

重算与配置需要明确边界。 按寻物或招领方向限定失效范围,避免误使其他物品的线索失效;重复重算保持物品对唯一。配置不可读、无生效行或权重不合法时回落默认值并告警,不继续沿用已失效方案。配置维护后的刷新入口仍待接通。

个人统计不能用演示值掩盖查询失败。 概览和善意流水均从当前登录用户的实际记录查询,失败时显示错误,只有真实查询返回零时才展示零统计。流水查询保持只读,归还事务仍负责结算;重复确认后核对余额与单笔流水,避免只看页面数字变化。

换号与自动重登需要分别处理。 用户切换后旧请求不得回填,但同一用户更换令牌后仍应正常显示结果。页面按稳定 userId 判断身份,结合请求序号处理刷新、切换与离开页面;分页失败保留已有内容,重试原失败页。

现有验收仍有边界。 发布链路尚未写入校区字段,校区预筛不能视为已生效;候选上限 200、线索上限 50,无长尾续算。新线索尚无独立阅读回执,相似提醒开关与真实推送未闭环;对侧下架后的线索数量口径仍需对齐。收藏列表、收纳点和设置保留待开放提示,旧数值 ID 的遗留问题继续跟踪。当前未补 D5 真机与完整视觉素材,D4 的独立双向确认和取消等计划差异继续保留。

匹配与个人中心回归清单

类别检查内容判定方法
匹配样本异色与同色、类别、地点、时间及阈值固定输入与手算分数、判据编码和页面标签对照
异步与重算发布后自动生成、重复重算、旧线索失效和异常回滚HTTP 响应、匹配物品对数量、状态与新线索标记核对
本人资源登录限制、物品归属、第三人查询与重算身份、资源编号、错误码与数据库记录核对
概览与善意值零统计、发布、申请、收藏、成功找回、帮助归还和重复确认操作前后统计、余额与流水逐项对照
分页与恢复流水顺序、越界空页、追加失败和原页重试页码、返回记录、已有内容及请求次数核对
页面与身份快速切换、退出清空、换号旧响应和同用户自动重登页面源码断言,后续补开发者工具与真机连续操作
后续验收校区字段、配置刷新、阅读回执、下架计数、微信身份和设备布局专项回归、真实运行与页面观察分别记录

八、阶段小结与后续安排

D5 将匹配结果接入页面,并使个人中心能够回读本人真实业务记录。发布后自动生成候选、命中判据可解释、归还后善意值可追溯,三者都有对应测试或联调记录。本日记账 29 点,累计 122 点,剩余 40 点。

本阶段的体会是,真实数据不仅要求接口查库,也要求输入、状态和展示含义一致。异色样本不能展示颜色命中,请求失败不能显示为零统计,令牌变化也不能直接等同于用户切换。把这些边界写入用例与验收说明,才能让功能在反复进入、刷新和多账号操作后仍保持可信。

  1. 刘伟鑫协调 D6 首页聚合、接口口径与交付候选版本,整理使用说明和集合随笔入口。
  2. 刘传浩继续补设备布局、下拉刷新、长列表与跳转返回的连续操作,修复主流程页面问题。
  3. 许毅君推进认证审核、收纳点与必要举报处理,复核权限变化和旧会话影响。
  4. 王永臻配合补发布校区、配置刷新与匹配数据一致性,准备最终建库、事务和善意值复验。
  5. 李明学维护跨阶段自动化与实库回归,整理测试随笔和共享评审表,分类记录失败、阻塞与未执行项。
  6. 许煜煌补真实站会和运行素材,整理固定样本、使用说明、PPT 及演示脚本,开展完整主流程彩排。
...全文

相关推荐

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

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

weixin_30680385

大数据开发岗面试复习30天冲刺 - 日积月累,每日五题【Day11】——Hbase5(1)

•创建全局索引,会自动构建一张索引表•索引表结构–Rowkey:索引字段+原表的rowkey–列:占位置x•特点:如果查询字段或者查询条件不是索引字段,就不会走索引•应用:适合于读多写少•创建覆盖索引,会自动构建一张索引表•索引表结构–Rowkey:索引字段+原表的rowkey–列:将include中的列放入索引表•特点–如果查询字段或者查询条件不是索引字段,就不会走索引–如果查询的字段在索引表中,直接从索引表返回结果。

2401_84182906

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操作系统的使用、软件测试框架性的问题,测试环境搭建问题、当然还有一些自动化测试和性能测试的问题。测试工程师的面试题,基本上都是大同小异的,面试的核心主要在于框架模块(一到两年工作经验)。 今天这篇帖子主要讲解之前面试自己面试过程中或者周围人面试过程中经常被问到且比较经典的面试题,一家之言,如有异

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