第4天

news/2025/12/3 16:13:39/文章来源:https://www.cnblogs.com/pascal5233/p/19302853

每日Scrum报告

日期: [填写日期]
会议时间: [填写时间]

1. 当日站立式会议记录

会议照片

站立会议照片

成员同步内容

成员:齐思贤

  • 昨天已完成的工作:
      1. 设计JWT payload结构(包含user_id/role/exp);
      1. 集成jwt-cpp依赖,实现Token生成逻辑;
      1. 开发用户登录接口(校验student_id+加密密码)
      1. 编写Drogon全局鉴权Filter(拦截需登录接口,验证Token有效性);2. 处理Token过期/无效返回401错误;5
      1. 测试登录+鉴权流程
  • 今天计划完成的工作:
      1. 开发个人资料查询接口(GET /api/v1/users/me),返回用户详情(含review_count/collection_count);
      1. 设计collection表(id/user_id/merchant_id/collected_at字段)
      1. 开发个人资料修改接口(PUT /api/v1/users/me),支持修改nickname/avatar;
      1. 编写collection表索引(user_id+merchant_id唯一索引,防止重复收藏)
  • 工作中遇到的困难:
    • 未来需要修改API但需保持向后兼容
    • 用户量大时,collections表可能过大

成员:阿里亚

  • 昨天已完成的工作:
      1. 协助开发登录接口(编写Token验证逻辑,解析user_id/role);
      1. 编写用户模块单元测试框架(基于gtest)
      1. 测试全局鉴权Filter(覆盖未登录/Token过期/无效Token场景);
      1. 协助排查登录接口异常(如密码校验失败)
  • 今天计划完成的工作:
      1. 协助开发个人资料接口(编写用户信息组装逻辑,计算review_count/collection_count);
      1. 设计collection表索引优化方案
      1. 编写收藏表数据操作工具类(CRUD封装);
      1. 测试资料修改接口(覆盖昵称长度限制/头像URL格式校验)
  • 工作中遇到的困难:
    • 昵称敏感词/头像URL格式校验繁琐,统计更新后缓存未及时清理

成员:林旭坚

  • 昨天已完成的工作:
      1. 实现商户创建接口(POST /api/v1/merchants),参数校验(名称/地址不能为空、分类合法);
      1. 初始状态设为10(待审核),生成merchant_id(雪花算法)
      1. 开发商户列表查询接口(GET /api/v1/merchants),支持category_id/campus筛选;
      1. 编写筛选逻辑(仅返回status=20的商户)
  • 今天计划完成的工作:
      1. 实现商户详情查询接口(GET /api/v1/merchants/{id}),返回完整信息(含tags/images/avg_score);
      1. 集成Redis ZSET维护平均评分(avg_score),初始值0
      1. 开发商户标签管理逻辑(添加/删除标签,去重);
      1. 测试商户详情接口(覆盖已审核/未审核/不存在商户场景)
  • 工作中遇到的困难:
    • 多请求同时修改标签导致数据错乱,Redis与DB评分数据不一致问题

成员:谢嘉骏

  • 昨天已完成的工作:
      1. 实现点评发布接口(POST /api/v1/reviews),参数校验(score1-5分、content非空(可选?按文档需确认,此处按必填处理)、商户存在且已审核);
      1. 支持匿名发布(anonymous=true隐藏用户信息)
      1. 同步商户点评数和平均评分(更新merchant表review_count/avg_score,同步Redis ZSET)
      1. 测试点评发布流程(正常发布/参数错误/商户未审核)
  • 今天计划完成的工作:
      1. 实现商户点评列表查询接口(GET /api/v1/merchants/{id}/reviews),支持分页、排序(latest/最热/评分优先);
      1. 编写排序逻辑(最热=like_count+reply_count加权)
      1. 开发点评点赞接口(POST /api/v1/reviews/{id}/like),Redis INCR计数,防止重复点赞;
      1. 测试点赞功能(点赞/取消点赞/重复点赞)
  • 工作中遇到的困难:
    • 高并发下用户重复操作边界条件处理,多字段加权计算+分页查询慢

成员:袁镇清

  • 昨天已完成的工作:
      1. 协助开发点评发布接口(编写评分范围校验/图片数量限制逻辑)
      1. 编写商户评分同步工具类(封装avg_score计算和Redis更新)
      1. 测试点评发布接口(覆盖匿名/非匿名、多图/无图场景
      1. 排查评分同步异常(如小数精度问题)
  • 今天计划完成的工作:
      1. 协助开发商户点评列表接口(编写分页工具类,支持page/size参数
      1. 测试排序逻辑(验证latest/最热/评分优先结果正确性)
      1. 协助开发点赞接口(编写重复点赞校验逻辑,基于review_like表+Redis)
      1. 编写点赞定时落库脚本
  • 工作中遇到的困难:
    • 多维度排序(最新/最热/评分)需复合索引,设计复杂

成员:彭文昊

  • 昨天已完成的工作:
      1. 对接后端登录接口(POST /api/v1/users/login),实现登录功能
      1. 实现“记住密码”功能(localStorage存储学号+加密密码,有效期7天)
      1. 开发注册页UI(表单布局、密码确认校验)
      1. 编写注册表单校验逻辑(两次密码一致、昵称长度限制)
  • 今天计划完成的工作:
      1. 对接后端注册接口(POST /api/v1/users/register),实现注册功能
      1. 注册成功后自动登录,跳转首页
      1. 开发个人中心UI(头像+昵称展示、功能入口布局、底部设置入口)
      1. 对接个人资料查询接口(GET /api/v1/users/me),展示用户信息
  • 工作中遇到的困难:
    • 注册成功到自动登录状态同步存在延迟,页面跳转时用户状态未就绪

成员:张嘉铭

  • 昨天已完成的工作:
      1. 对接热门商户推荐接口(GET /api/v1/search/merchants),展示热门商户列表;
      1. 开发首页轮播图功能(展示系统公告,支持点击跳转)
      1. 开发分类列表页UI(分类标题、筛选栏(校区+排序)、商户卡片列表)
      1. 封装筛选组件(校区下拉选择、排序下拉选择)
  • 今天计划完成的工作:
      1. 对接商户列表查询接口(GET /api/v1/merchants),实现分类筛选和排序功能
      1. 开发分类列表页分页加载
      1. 开发商户详情页UI(基础信息区域、标签区域、图片轮播、评分分布图表、点评列表区域、收藏按钮、写点评按钮)
  • 工作中遇到的困难:
    • 后端返回评分分布数据格式与前端图表库适配问题

2. 项目燃尽图发布

项目燃尽图

3. 每人的代码/文档签入记录

齐思贤

  • 签入记录对应的Issue内容与链接:
    • #编号 Issue标题
  • 说明:
    • [代码必须每天可执行]

阿里亚

  • 签入记录对应的Issue内容与链接:
    • #编号 Issue标题
  • 说明:
    • [代码必须每天可执行]

林旭坚

  • 签入记录对应的Issue内容与链接:
    • #编号 Issue标题
  • 说明:
    • [代码必须每天可执行]

谢嘉骏

  • 签入记录对应的Issue内容与链接:
    • #编号 Issue标题
  • 说明:
    • [代码必须每天可执行]

袁镇清

  • 签入记录对应的Issue内容与链接:
    • #编号 Issue标题
  • 说明:
    • [代码必须每天可执行]

彭文昊

  • 签入记录对应的Issue内容与链接:
    • #编号 Issue标题
  • 说明:
    • [代码必须每天可执行]

张嘉铭

  • 签入记录对应的Issue内容与链接:
    • #编号 Issue标题
  • 说明:
    • [代码必须每天可执行]

4. Code Review的更新

  • 今日无代码规范文档更新。

5. 项目程序/模块最新截图

最新模块代码截图(含注释)

1. 用户认证模块 (UserController.h + UserService.h)

// UserController.h - 用户控制器,处理HTTP请求
namespace dianping {
namespace controller {
class UserController : public drogon::HttpController<UserController> {
private:std::shared_ptr<service::UserService> userService_;public:// 发送验证码 - POST /user/code?phone=13800138000ADD_METHOD_TO(UserController::sendCode, "/user/code", drogon::Post);// 用户登录 - POST /user/login// Body: {"phone": "13800138000", "code": "123456"}ADD_METHOD_TO(UserController::login, "/user/login", drogon::Post);// JWT Token认证 - GET /user/meADD_METHOD_TO(UserController::me, "/user/me", drogon::Get);
};// UserService.h - 用户业务逻辑服务
class UserService {
private:std::shared_ptr<mapper::UserMapper> userMapper_;std::shared_ptr<utils::RedisClient> redis_;public:// 发送验证码:存储到Redis,5分钟过期dto::Result sendCode(const std::string& phone);// 用户登录:验证码校验 + JWT Token生成dto::Result login(const dto::LoginFormDTO& loginForm);// Token刷新:延长Redis中用户信息有效期bool refreshToken(const std::string& token);
};

2. Redis缓存模块 (CacheClient.h)

// CacheClient.h - 缓存客户端,解决缓存穿透/雪崩/击穿
namespace dianping {
namespace utils {
class CacheClient {
private:std::shared_ptr<RedisClient> redis_;public:// 获取缓存,支持空值缓存防止穿透template<typename T>std::optional<T> get(const std::string& key);// 设置缓存,随机过期时间防止雪崩template<typename T>bool set(const std::string& key, const T& value, int ttl = 0);// 互斥锁获取,防止缓存击穿bool tryLock(const std::string& lockKey, int expireTime = 10);// 删除缓存,保证数据库和缓存一致性bool deleteKey(const std::string& key);// Cache Aside模式实现template<typename T>std::optional<T> getWithFallback(const std::string& key, std::function<std::optional<T>()> dbLoader,int ttl = 1800);
};

3. 秒杀系统模块 (VoucherOrderService.h)

// VoucherOrderService.h - 秒杀订单服务
namespace dianping {
namespace service {
class VoucherOrderService {
private:std::shared_ptr<mapper::VoucherMapper> voucherMapper_;std::shared_ptr<mapper::VoucherOrderMapper> orderMapper_;std::shared_ptr<utils::RedisClient> redis_;std::shared_ptr<utils::RedisIdWorker> idWorker_;public:// 秒杀下单:分布式锁 + 库存校验 + 一人一单dto::Result createSeckillOrder(long userId, long voucherId);// 预检查库存:Redis原子操作,避免无效请求bool preCheckStock(long voucherId);// 检查是否重复下单:使用Redis Set防止一人多单bool checkOrdered(long userId, long voucherId);private:// Redis分布式锁实现bool acquireLock(const std::string& lockKey, const std::string& requestId);void releaseLock(const std::string& lockKey, const std::string& requestId);// Lua脚本保证原子性static const std::string STOCK_DECREASE_SCRIPT;
};

4. 应用程序启动模块 (main.cpp)

// main.cpp - 应用程序入口,系统集成
int main(int argc, char* argv[]) {// 1. 加载YAML配置文件auto config = loadConfig("config/application.yaml");// 2. 初始化日志系统initLogger(config);spdlog::info("点评系统 C++ 版本启动中...");// 3. 初始化数据库连接池 (20个连接)auto dbPool = initDatabase(config);// 4. 初始化Redis客户端 (连接池30个)auto redis = initRedis(config);// 5. 配置Drogon Web服务器drogon::app().addListener("0.0.0.0", 8081)  // 监听端口.setThreadNum(4)              // 4个工作线程.setLogLevel(trantor::Logger::kInfo);// 6. 注册所有路由和中间件registerRoutes(dbPool, redis, config);// 7. 启动HTTP服务器spdlog::info("服务器启动成功,端口: 8081");drogon::app().run();return 0;
}

5. 数据库连接池模块 (DBConnectionPool.h)

// DBConnectionPool.h - 数据库连接池实现
namespace dianping {
namespace mapper {
class DBConnectionPool {
private:std::queue<std::unique_ptr<sql::Connection>> available_;std::set<sql::Connection*> used_;std::mutex mutex_;std::condition_variable condition_;std::string connectionString_;std::string user_;std::string password_;std::string database_;int maxConnections_;public:// 获取连接 (支持超时等待)std::unique_ptr<ConnectionWrapper> getConnection(int timeoutMs = 5000);// 归还连接 (自动调用)void returnConnection(sql::Connection* conn);// 连接池状态监控int getAvailableCount() const;int getUsedCount() const;private:// 创建新连接sql::Connection* createConnection();// 维护连接池大小void maintainPool();
};

6. 每日每人总结

齐思贤

  • 今日总结与反馈:
    • 完成了用户个人资料模块的开发,包含查询接口、修改功能和收藏系统,实现了完整的用户个人信息管理能力。

阿里亚

  • 今日总结与反馈:
    • 完成个人资料模块开发,包含查询/修改接口和收藏系统。解决了统计查询性能瓶颈(通过缓存优化),防止了重复收藏(唯一索引+锁机制),确保了数据一致性(事务+异步更新)。

林旭坚

  • 今日总结与反馈:
    • 已实现商户详情查询接口,返回完整信息并集成Redis ZSET维护动态平均评分,确保高性能读取。商户标签管理系统支持增删去重,接口测试覆盖已审核、未审核及不存在等全部场景,功能稳定可用。

谢嘉骏

  • 今日总结与反馈:
    • 已实现商户点评列表查询接口,支持分页及多维度排序,其中“最热”采用like_count+reply_count加权算法。同时开发了点评点赞接口,基于Redis INCR计数并防止重复点赞,完成点赞/取消/重复等多种场景测试,功能完整且性能稳定。

袁镇清

  • 今日总结与反馈:
    • 协助完成商户点评列表接口:开发了通用分页工具类支持page/size参数,并验证了latest/最热/评分优先三种排序结果的正确性。协助实现点赞接口,基于review_like表与Redis结合的双重校验逻辑防止重复点赞。额外编写了定时落库脚本,确保Redis点赞计数定期同步至数据库。

彭文昊

  • 今日总结与反馈:
    • 已完成注册功能对接:实现用户注册,成功后自动登录并跳转首页。个人中心UI已完成,包含头像昵称展示、功能入口布局及底部设置。已对接个人资料查询接口,正常展示用户信息,整体流程顺畅。

张嘉铭

  • 今日总结与反馈:
    • 已对接商户列表接口,支持分类筛选、排序及分页加载。商户详情页UI已完成开发,包含基础信息、标签、图片轮播、评分图表、点评列表、收藏和写点评按钮等功能区域,交互流畅。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/985694.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025年数控机床钣金外壳优质供应商TOP5排名

这份排名并非主观评判,而是基于中国机床工具工业协会《2025 钣金加工企业竞争力评估报告》、网易新闻行业调研数据及第三方检测机构实测结果,从五大维度量化评分(满分 100 分,入选企业均超 85 分)。一、问题:机床…

2025年徐州人力资源服务外包公司权威推荐榜单:人力资源外包公司‌/外包人力资源公司‌/人力资源外包服务‌源头公司精选

在数字化转型与产业结构升级的背景下,企业对人力资源管理的需求已从传统的事务性操作,转向寻求能够提供降本增效、合规管控与战略支持的一体化解决方案。专业的人力资源服务外包公司,正成为企业优化用工结构、聚焦核…

2025年BI本地私有化部署厂商选择指南:AI驱动下的企业数据管理新范式(企业智能BI私有化部署厂商/BI私有化部署方案商深度盘点)

在2025年数字化转型深入推进的背景下,企业对数据资产的重视程度达到前所未有的高度,而BI(商业智能)作为数据价值挖掘的核心工具,其部署模式的选择直接关系到企业数据安全与业务效率。其中,BI本地私有化部署凭借对…

2025年PPH环保型水喷射真空机组厂家权威推荐榜单:真空机组‌/聚丙烯水喷射真空机组‌/PPH水喷射真空机组‌源头厂家精选

在化工、制药等工业领域,对生产设备的耐腐蚀性、环保性及运行稳定性提出了极高要求。PPH(均聚聚丙烯)环保型水喷射真空机组凭借其优异的耐化学腐蚀性和绿色环保的特性,已成为处理腐蚀性气体的关键设备。据行业数据…

2025年广东阻燃母粒制造厂排名:阻燃母粒环保型厂家哪家好?

本榜单依托华南地区阻燃材料市场调研与企业真实合作口碑,围绕环保合规、定制能力、产能保障、服务体系四大核心维度筛选标杆企业,为塑胶制品企业精准匹配适配的阻燃母粒供应伙伴。 TOP1 推荐:东莞市塑为阻燃科技有限…

AI伦理误区:ABCD模型哲学体系

AI伦理误区:ABCD模型哲学体系 模型概述 ABCD模型哲学体系是当前AI伦理与哲学领域出现的一种典型学术快餐化现象。该模型通过将复杂的伦理思考简化为四个首字母分别为A、B、C、D的英文字词,构建了一个看似系统、实则空…

APP界面设计公司分享:物流APP工业风让数据高效可读

APP界面设计公司分享:物流APP工业风让数据高效可读物流类APP的核心用户是快递员、仓库管理员、货运司机等职场人群,他们对界面的核心需求是“数据清晰、操作高效、抗干扰”。这组物流APP界面案例,用“工业风设计”完…

高级程序语言设计第八次

这个作业属于:https://edu.cnblogs.com/campus/fzu/gjyycx 这个作业的要求:https://edu.cnblogs.com/campus/fzu/gjyycx/homework/15590 学号:102500416 姓名:王浩宇 第一部分 11.13.111.13.211.13.311.13.611.13.…

2025 年 12 月激光切割机厂家推荐榜单:数控/小型/精密/金属/型材/钢板/大型/圆管/光纤,高效精准切割利器!

2025 年 12 月激光切割机厂家推荐榜单:数控/小型/精密/金属/型材/钢板/大型/圆管/光纤,高效精准切割利器! 随着工业技术的不断进步,激光切割机在各个领域的应用越来越广泛。无论是数控激光切割机、小型激光切割机、…

2025年成都网络推广公司推荐,抖音代运营/新闻营销/抖音推广/小红书推广/SEO优化/网络推广企业排行榜

随着数字经济的深化,网络推广已成为企业获取增长动能的核心引擎。在成都这座充满活力的新一线城市,网络推广服务市场同样蓬勃发展,涌现出众多服务商。然而,企业主在面对“如何选择一家可靠的网络推广公司”这一问题…

不只是“外包”,而是共创:兰亭妙微解读UI设计合作的升维之道

不只是“外包”,而是共创:兰亭妙微解读UI设计合作的升维之道在数字化浪潮席卷各行各业的今天,一个卓越的用户界面早已不再是产品的“加分项”,而是决定其生存与发展的“生命线”。然而,当企业决定为产品打造一款惊…

实验四 综合数据流处理-Storm案例构建

实验四 综合数据流处理-Storm案例构建pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Mona…

【运维自动化-标准运维】如何创建流程嵌套(子流程)

什么是子流程节点 标准运维里的流程节点有两类:标准插件节点和子流程节点。子流程节点实际上也是一个流程,比如某个业务线做全网更新时需要更新多个模块,那每个模块的更新流程可以称之为一个子流程。在总流程里直接…

2025年房梁榫卯产品定制厂家权威推荐榜单:房梁榫卯产品介绍图‌/房梁结构‌/房梁榫卯产品介绍‌源头厂家精选

在传统建筑修缮、仿古文旅项目建造以及追求文化底蕴的现代建筑设计领域,房梁榫卯构件作为传承千年的核心木作工艺,其市场需求正稳步增长。榫卯结构以其“天衣无缝”的精密配合,不使用铁钉和胶粘剂,却能形成富有弹性…

第03章 - 核心架构解析

第03章 - 核心架构解析 3.1 架构概览 3.1.1 分层架构 OGU4Net采用清晰的分层架构设计,自上而下分为四层: ┌──────────────────────────────────────────────────…

2025热处理行业厂家TOP5指南:甄选制造商助力工业升级

工业制造领域中,热处理设备对产品性能、生产效率的影响愈发关键。2024年数据显示,热处理设备市场规模超600亿元,年增速达32%,但31%的企业投诉集中在温控精度不足、能耗过高、维护响应慢三大核心问题——某汽车零部…

day4敏捷冲刺

第4篇 Scrum冲刺博客(Day4:搜索 & 商品详情模块开发) 【Alpha冲刺Day4】搜索 & 商品详情模块开发 今日聚焦“商品精准搜索”与“详情信息展示”核心场景,完成搜索接口(支持关键词/分类筛选)与商品详情页…

深入解析:微信小程序如何优雅地跳转外部链接?WebView + 复制方案实战

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025年高性价比金属探测仪品牌推荐,看看哪家实力强

在食品、纺织、化工等行业的生产环节中,金属探测仪是保障产品品质、规避安全风险的关键设备。面对市场上众多的金属探测仪厂家,企业如何精准选大型金属探测仪供应商选金属探测仪厂家的方法,并找到高性价比的金属探测…

2025年热镀锌带钢十大品牌权威榜单揭晓,镀锌打包带/打包带钢/玻璃打包带/光伏支架打包带/打包带/打包带钢/打包钢带热镀锌带钢企业哪个好

在金属制品与工业制造领域,热镀锌带钢凭借其优异的耐腐蚀性、良好的机械性能及广泛的应用场景,已成为建筑、汽车、家电、包装等行业不可或缺的基础材料。随着市场对材料性能与供应链效率要求的不断提升,一批在技术积…