Author:歪瑞古德小队

Project:海岛漂流

集合贴:团队作业4:项目冲刺集合贴(歪瑞古德小队)

一、Daily Scrum Meeting

1.1 会议照片

1.2 项目进展

团队成员 昨日完成任务 今日计划任务 遇到的困难
黄钰朝 #33统计用户写过的字数 #34统计用户发送的信件
数量,接收的信件数量
用excel画项目的燃尽图时纵坐标
没有值的点也被显示在折线中
黄煜淇 #35redis实现定时任务工具类 #37完成自定义任务的编写 redis序列化localdatetime时
出现错误,在时间的序列化上
需要进行处理
余圣源 #46完成我的邮票界面和功能 #47完成消息界面和功能 根据首字符拼音进行笔友排序
不容易实现
张文俊 #54完成草稿箱界面和功能 #55完成海岛列表界面和功能 不同分辨率屏幕的适配
丘丽珊 #61绘制邮票样式 #62绘制第二天站立会议照片 做UI的时候风格统一很
困难 要整体兼顾
陈宇 #68用户创建一个树洞 #70用户删除已经创建的树洞 创建树洞前要判断用户
拥有树洞的数量。

二、项目燃尽图

三、签入记录

3.1 代码/文档签入记录

3.2 Code Review 记录

3.3 issue内容和链接

团队成员 issue内容和链接
黄钰朝 #33统计用户写过的字数
黄煜淇 #35redis实现定时任务工具类
余圣源 #46完成我的邮票界面和功能
张文俊 #54完成草稿箱界面和功能
丘丽珊 #61绘制邮票样式
陈宇 #68用户创建一个树洞

四、最新模块截图

4.1 最新模块代码

信件模块

  1. /**
  2. * 创建发信任务
  3. *
  4. * @param letter 要发送的信件
  5. * @name scheduleLetterSending
  6. * @notice none
  7. * @author <a href="mailto:kobe524348@gmail.com">黄钰朝</a>
  8. * @date 2020-05-21
  9. */
  10. private void scheduleLetterSending(Letter letter) {
  11. log.info("正在创建发信任务");
  12. //计算收信时间
  13. User sender = userMapper.selectById(letter.getSenderId());
  14. User receiver = userMapper.selectById(letter.getReceiverId());
  15. if (sender == null || receiver == null) {
  16. log.error("缺少寄件人或收件人,无法发信");
  17. throw new BizException("发信失败,缺少寄件人或收件人");
  18. }
  19. if (sender.getCity() == null || receiver.getCity() == null) {
  20. log.error("缺少位置信息,无法发信");
  21. throw new BizException("发信失败,寄件人或收信人缺少位置信息");
  22. }
  23. long distance = locationUtils.getDistance(sender.getCity(), receiver.getCity());
  24. log.info("计算出两者的距离为:{}米", distance);
  25. //消耗邮票
  26. if (letter.getSenderId() != null) {
  27. Stamp stamp = stampMapper.selectById(letter.getStampId());
  28. if (stamp == null || !stamp.getUserId().equals(sender.getUserId())) {
  29. log.warn("id为{}的信件没有使用有效邮票,无法发信", letter.getLetterId());
  30. throw new BizException("发信失败,缺少有效的邮票");
  31. }
  32. } else {
  33. log.warn("id为{}的信件没有使用邮票", letter.getLetterId());
  34. throw new BizException("请选择一张邮票进行发信!");
  35. }
  36. UpdateWrapper<Stamp> stampUpdateWrapper = new UpdateWrapper<>();
  37. stampUpdateWrapper.eq("stamp_id", letter.getStampId())
  38. //设置为null,既不属于发信人也不属于收信人
  39. .set("user_id", null);
  40. stampMapper.update(new Stamp(), stampUpdateWrapper);
  41. //统计书写字数
  42. if (letter.getContent() == null || letter.getContent().trim().isEmpty()) {
  43. log.warn("不允许插入空的信件");
  44. throw new BizException("无法发送空的信件");
  45. }
  46. sender.setWord(sender.getWord() + letter.getContent().trim().length());
  47. userMapper.updateById(sender);
  48. //启动定时任务
  49. log.info("正在启动定时任务");
  50. taskScheduler.schedule(new LetterSendingTask(letter, sender),
  51. calculateDuration(distance));
  52. }

树洞模块

  1. /**
  2. * <p>
  3. * 树洞
  4. * 服务类
  5. * </p>
  6. *
  7. * @author chaos
  8. * @since 2020-05-21
  9. */
  10. public interface TreeHoleService {
  11. /**
  12. * 分页查询TreeHole
  13. *
  14. * @param page 当前页数
  15. * @param pageSize 页的大小
  16. * @param factor 搜索关键词
  17. * @return 返回mybatis-plus的Page对象,其中records字段为符合条件的查询结果
  18. * @author chaos
  19. * @since 2020-05-21
  20. */
  21. Page<TreeHole> listTreeHolesByPage(int page, int pageSize, String factor);
  22. /**
  23. * 根据id查询TreeHole
  24. *
  25. * @param id 需要查询的TreeHole的id
  26. * @return 返回对应id的TreeHole对象
  27. * @author chaos
  28. * @since 2020-05-21
  29. */
  30. TreeHole getTreeHoleById(int id);
  31. /**
  32. * 插入TreeHole
  33. *
  34. * @param treeHole 需要插入的TreeHole对象
  35. * @return 返回插入成功之后TreeHole对象的id
  36. * @author chaos
  37. * @since 2020-05-21
  38. */
  39. int insertTreeHole(TreeHole treeHole);
  40. /**
  41. * 根据id删除TreeHole
  42. *
  43. * @param id 需要删除的TreeHole对象的id
  44. * @return 返回被删除的TreeHole对象的id
  45. * @author chaos
  46. * @since 2020-05-21
  47. */
  48. int deleteTreeHoleById(int id, Integer userId);
  49. /**
  50. * 根据id更新TreeHole
  51. *
  52. * @param treeHole 需要更新的TreeHole对象
  53. * @return 返回被更新的TreeHole对象的id
  54. * @author chaos
  55. * @since 2020-05-21
  56. */
  57. int updateTreeHole(TreeHole treeHole);
  58. }

4.2 程序运行截图

五、每日总结

团队成员 总结内容
黄钰朝 学习到燃尽图的含义和画法,以及规划了未来六天的任务,收获很多
黄煜淇 学习了redis实现定时任务并简单进行了实现
余圣源 学习并制作了菜单按钮旋转动画,增强了业务处理能力
张文俊 学习了less函数的各种花式操作
丘丽珊 巩固了Ai和Axure的用法,学会了Axure的触发控件的使用
陈宇 运用了curd进行业务处理

团队作业4:第二篇Scrum冲刺博客(歪瑞古德小队)的更多相关文章

  1. 第二篇Scrum冲刺博客--Interesting-Corps

    第二篇Scrum冲刺博客 站立式会议 1.会议照片 2.队友完成情况 团队成员 昨日完成 今日计划 鲍鱼铭 主页页面和探测空间设计及布局实现 主页页面跳转社区功能及社区设计及布局实现 叶学涛 设计页面 ...

  2. 第二篇Scrum冲刺博客

    第二篇Scrum冲刺博客 一.站立式会议 提供当天站立式会议照片一张 二.每个人的工作 成员 已完成工作 明天计划完成的工作 遇到的困难 林剑峰 初步学习小程序的编写.博客园的撰写 初步完成用户界面 ...

  3. 2020.5.22 第二篇 Scrum冲刺博客

    Team:银河超级无敌舰队 Project:招新通 项目冲刺集合贴:链接 目录 一.每日站立会议 二.项目燃尽图 三.签入记录 3.1 代码/文档签入记录 3.2 主要代码截图 3.3 程序运行截图 ...

  4. Beta阶段——第二篇 Scrum 冲刺博客

    i. 提供当天站立式会议照片一张: ii. 每个人的工作 (有work item 的ID) (1) 昨天已完成的工作: 账单收支分明,剩余舍费关联成功 (2) 今天计划完成的工作: 账单删除功能,排序 ...

  5. 第二篇 Scrum 冲刺博客

    一.站立式会议 1. 会议照片 2. 工作汇报 成员名称 昨日(23日)完成的工作 今天(24日)计划完成的工作 工作中遇到的困难 陈锐基 - 完成个人资料编辑功能- 对接获取表白动态的接口数据并渲染 ...

  6. Beta阶段第二篇Scrum冲刺博客-Day1

    1.站立式会议 提供当天站立式会议照片一张 2.每个人的工作 (有work item 的ID),并将其记录在码云项目管理中: 昨天已完成的工作. 张晨晨:交接进组 郭琪容:明确任务并学习 吴玲:明确接 ...

  7. 第二篇 Scrum冲刺博客

    一.会议图片 二.项目进展 成员 完成情况 今日任务 冯荣新 搜索框,首页轮播图,分类导航 商品列表,商品详情轮播图 陈泽佳 背景展示,选择并显示图片 历史足迹,静态页面 徐伟浩 登录权限获取 商品信 ...

  8. 第1篇Scrum冲刺博客

    目录 第1篇Scrum冲刺博客 各个成员在 Alpha 阶段认领的任务 各个成员的任务安排 整个项目预期的任务量 敏捷开发前的感想 团队期望 第1篇Scrum冲刺博客 各个成员在 Alpha 阶段认领 ...

  9. Beta阶段——第1篇 Scrum 冲刺博客

    第1篇 Scrum 冲刺博客 a. 介绍小组新加入的成员,Ta担任的角色. 新加入成员 郭炜埕 原先担任的角色 前端界面设计 现在担任的角色 前端开发,并协助后端开发 新加成员介绍 炜埕同学对界面设计 ...

随机推荐

  1. PHP boolval() 函数

    boolval 函数用于获取变量的布尔值.高佣联盟 www.cgewang.com 版本要求:PHP 5 >= 5.5.0, PHP 7. 语法 boolean boolval ( mixed ...

  2. 数据结构C语言实现----直接插入排序

    直接插入排序(简单插入排序) 给定一个数字串:2 6 7 8 9 3 2 3 4 按从小到大的顺序排列输出 首先把第一个数字放到一个小组里:(2)6 7 8 9 3 2 3 4 让后从第二个数字开始往 ...

  3. Virtuoso 中 display.drf、techfile.tf、tech.db 之间的关系,以及 Packet 在它们之间的作用

    https://www.cnblogs.com/yeungchie/ 一般工艺库下的"技术文件"有 tech.db 和 techfile.tf , Packet 是 display ...

  4. P5979 [PA2014]Druzyny dp 分治 线段树 分类讨论 启发式合并

    LINK:Druzyny 这题研究了一下午 终于搞懂了. \(n^2\)的dp很容易得到. 考虑优化.又有大于的限制又有小于的限制这个非常难处理. 不过可以得到在限制人数上界的情况下能转移到的最远端点 ...

  5. Codeforces Round #654 (Div. 2) A~E 题解

    LINK:CF R 654 div2 前言:F题是一个线段树分类讨论的题目 比赛的时候没看 赛后感觉没什么意思 所以咕掉了. 记事:第一次笼统的写一场比赛的题目 可能是我这场比赛打的太差了 题目不难 ...

  6. 5.21 省选模拟赛 luogu P4207 [NOI2005]月下柠檬树 解析几何 自适应辛普森积分法

    LINK:月下柠檬树 之前感觉这道题很鬼畜 实际上 也就想到辛普森积分后就很好做了. 辛普森积分法的式子不再赘述 网上多的是.值得一提的是 这道题利用辛普森积分法的话就是一个解析几何的问题 而并非计算 ...

  7. Maven执行Reimport命令报错:See logs for details

    Idea版本:2018.1.3 maven版本:3.6.2 Idea配置了本地下载的maven之后,不管是直接执行maven的Reimport命令,还是使用idea的Reimport按钮,都会报这个错 ...

  8. WEB应用中的路径问题及乱码问题

    1 WEB应用中的路径问题  在web应用中,由于使用转发跳转路径时,地址栏不变.此时使用相对路径(../)存在404现象. 故使用绝对路径,解决web应用的路径问题. 什么是绝对路径,以 “/” 开 ...

  9. CF习题集三

    CF习题集三 一.CF8C Looking for Order 题目描述 \(Lena\)喜欢秩序井然的生活.一天,她要去上大学了.突然,她发现整个房间乱糟糟的--她的手提包里的物品都散落在了地上.她 ...

  10. 了解学习 Javascript, ES5 和 ES6之间的亲密关系

    什么是Javascript JavaScript一种动态类型.弱类型.基于原型的客户端脚本语言,用来给HTML网页增加动态功能.   JavaScript 的标准是 ECMAScript.截至 201 ...