团队作业4:第四篇Scrum冲刺博客(歪瑞古德小队)
Author:歪瑞古德小队
Project:海岛漂流
一、Daily Scrum Meeting
1.1 会议照片
1.2 项目进展
| 团队成员 | 昨日完成任务 | 今日计划任务 | 遇到的困难 |
|---|---|---|---|
| 黄钰朝 | #36改进定时发信功能的实现 |
#38根据名称搜索海岛 |
发信任务使用redis进行存取时, 由于其中的Mapper属性没有 实现序列化接口导致序列化失败 |
| 黄煜淇 | #39时间胶囊模块的开发 |
#43查询用户信息时返回距离 |
在时间分配上存在困难, 多项事务同时存在, 导致很难进行代码工作 |
| 余圣源 | #49完成头像上按钮样式修改 |
#50完成树洞和时间胶囊功能接入 |
临近期末,所有任务同时进行, 每天的任务压哨完成, 质量不够高 |
| 张文俊 | #56完成海岛界面和功能 |
#57完成帖子界面和功能 |
作业好多,开发时间较少 |
| 丘丽珊 | #63绘制第三天站立会议照片,一张信纸样式 |
#64绘制第四天站立会议照片 |
难以保证工作同步的 时效性,将努力在周末 时间跟上消息更替速度; 作业好多,时间好少, 课程好多。 |
| 陈宇 | #71用户在树洞下留言 |
#72用户查看树洞内容 |
commit的时候太粗心 |
二、项目燃尽图
三、签入记录
3.1 代码/文档签入记录
3.2 Code Review 记录
3.3 issue内容和链接
| 团队成员 | issue内容和链接 |
|---|---|
| 黄钰朝 | #36改进定时发信功能的实现 |
| 黄煜淇 | #39时间胶囊模块的开发 |
| 余圣源 | #49完成头像上按钮样式修改 |
| 张文俊 | #56完成海岛界面和功能 |
| 丘丽珊 | #63绘制第三天站立会议照片,一张信纸样式 |
| 陈宇 | #71用户在树洞下留言 |
四、最新模块截图
4.1 最新模块代码
package com.verygood.island.task;
/**
* @author <a href="mailto:kobe524348@gmail.com">黄钰朝</a>
* @description 发信任务
* @date 2020-05-23 10:20
*/
import com.verygood.island.entity.Letter;
import com.verygood.island.entity.Notice;
import com.verygood.island.entity.Stamp;
import com.verygood.island.entity.User;
import com.verygood.island.exception.bizException.BizException;
import com.verygood.island.mapper.LetterMapper;
import com.verygood.island.mapper.NoticeMapper;
import com.verygood.island.mapper.StampMapper;
import com.verygood.island.mapper.UserMapper;
import com.verygood.island.util.BeanUtils;
import lombok.extern.slf4j.Slf4j;
import java.time.LocalDateTime;
/**
* 定时发送信件任务
*
* @author <a href="mailto:kobe524348@gmail.com">黄钰朝</a>
* @date 2020-05-08
*/
@Slf4j
public class LetterSendingTask implements Runnable {
/**
* 要定时发送的信件
*/
private final Letter letter;
public LetterSendingTask() {
this.letter = null;
}
public LetterSendingTask(Letter letter) {
this.letter = letter;
}
@Override
public void run() {
//消耗邮票
this.useStamp();
UserMapper userMapper = BeanUtils.getBean(UserMapper.class);
LetterMapper letterMapper = BeanUtils.getBean(LetterMapper.class);
//发送信件
if (null == letter) {
log.warn("信件为空,无法执行发信任务");
return;
}
letter.setReceiveTime(LocalDateTime.now());
//统计接收到的信件数量
User receiver = userMapper.selectById(letter.getReceiverId());
receiver.setReceiveLetter(receiver.getReceiveLetter() + 1);
userMapper.updateById(receiver);
if (letterMapper.updateById(letter) == 1) {
log.info("发送id为{}的letter成功,接收时间:{}", letter.getLetterId(), letter.getReceiveTime());
//发送通知
this.sendNotice();
} else {
log.error("发送id为{}的letter失败", letter.getLetterId());
throw new BizException("发送失败[id=" + letter.getLetterId() + "]");
}
}
/**
* 使用邮票
*/
private void useStamp() {
StampMapper stampMapper = BeanUtils.getBean(StampMapper.class);
Stamp stamp = new Stamp();
stamp.setStampId(letter.getStampId());
stamp.setUserId(letter.getReceiverId());
stampMapper.updateById(stamp);
log.info("使用id为{}的邮票成功", stamp.getStampId());
}
/**
* 发送通知
*/
private void sendNotice() {
NoticeMapper noticeMapper = BeanUtils.getBean(NoticeMapper.class);
UserMapper userMapper = BeanUtils.getBean(UserMapper.class);
User sender = userMapper.selectById(letter.getSenderId());
Notice notice = new Notice();
notice.setTitle("收信通知");
String content = "你收到一封来自" + sender.getNickname() + "的信件,快去查收吧!";
notice.setContent(content);
notice.setUserId(letter.getReceiverId());
noticeMapper.insert(notice);
log.info("发送notice成功,内容为:{}", content);
}
}
4.2 程序运行截图
五、每日总结
| 团队成员 | 总结内容 |
|---|---|
| 黄钰朝 | 今天比较忙,半天的时间要参与工作室招新的答辩,但也按时完成编码工作,很充实 |
| 黄煜淇 | 完善时间胶囊模块,参加了积极分子的讨论会和工作室的答辩 |
| 余圣源 | 要有合理的时间管理,分配好任务 |
| 张文俊 | 合理分配时间 |
| 丘丽珊 | 离终点又进步了一点点,开心! |
| 陈宇 | commit时要仔细,不要将一些不必要的commit上去 |
团队作业4:第四篇Scrum冲刺博客(歪瑞古德小队)的更多相关文章
- 团队作业4:第二篇Scrum冲刺博客(歪瑞古德小队)
目录 一.Daily Scrum Meeting 1.1 会议照片 1.2 项目进展 二.项目燃尽图 三.签入记录 3.1 代码/文档签入记录 3.2 Code Review 记录 3.3 issue ...
- 团队作业4:第一篇Scrum冲刺博客(歪瑞古德小队)
目录 一.Alpha阶段任务认领 二.明日任务安排 三.项目预期任务量 四.敏捷开发前的感想 五.团队期望 Author:歪瑞古德小队 Project:海岛漂流 集合贴:团队作业4:项目冲刺集合贴(歪 ...
- 第四篇Scrum冲刺博客--Interesting-Corps
第四篇Scrum冲刺博客 站立式会议 1.会议照片 2.队友完成情况 团队成员 昨日完成 今日计划 鲍鱼铭 搜索页面跳转.设计及布局实现 音乐详情页面跳转.设计及布局实现设计 叶学涛 编写设置页面 编 ...
- 第四篇Scrum冲刺博客
第四篇Scrum冲刺博客 一.站立式会议 提供当天站立式会议照片一张 二.每个人的工作 成员 已完成工作 明天计划完成的工作 遇到的困难 林剑峰 用户界面跳转到用户信息页面的按钮,设计用户信息页面 测 ...
- 团队作业5:Alpha版本测试和发布(歪瑞古德小队)
目录 一.项目文档和代码 二.Alpha版本测试报告 2.1 功能测试 2.1.1 功能列表 2.1.2 场景测试 2.1.3 测试结果 2.1.4 bug清单 2.2 兼容性测试 2.3 性能测试 ...
- Beta阶段——第四篇 Scrum 冲刺博客
i. 提供当天站立式会议照片一张: ii. 每个人的工作 (有work item 的ID) (1) 昨天已完成的工作: 充值与账单的数据库操作结合,实现余额功能 (2) 今天计划完成的工作: 用户权限 ...
- 第四篇 Scrum 冲刺博客
一.站立式会议 1. 会议照片 2. 工作汇报 团队成员名称 昨日(25日)完成的工作 今天(26日)计划完成的工作 工作中遇到的困难 陈锐基 - 完善表白墙动态的全局状态管理 - 完成发布页面的布局 ...
- 2020.5.24 第四篇 Scrum冲刺博客
Team:银河超级无敌舰队 Project:招新通 项目冲刺集合贴:链接 目录 一.每日站立会议 1.1 会议照片 1.2 项目完成情况 二.项目燃尽图 三.签入记录 3.1 代码/文档签入记录 3. ...
- 第四篇 Scrum冲刺博客
一.会议图片 二.项目进展 成员 完成情况 今日任务 冯荣新 商品底部工具栏 购物车列表 陈泽佳 渲染搜索结果,防抖的实现 静态结构 徐伟浩 未完成 商品信息录入 谢佳余 未完成 搜索算法设计 邓帆涛 ...
随机推荐
- Centos 7下编译安装Mysql
(1)官网下载地址:https://dev.mysql.com/downloads/mysql/ 此处下载的是 mysql-boost-5.7..tar.gz 百度云下载地址:https://pan. ...
- Java线程-- 线程池
1.线程池概念 线程池,其实就是一个容纳多个线程的容器,其中的线程可以反复使用,省去了频繁创建线程对象的操作,无需反复创建线程而消耗过多资源. 为什么要使用线程池? 在java中,如果每个请求到达就创 ...
- java动态代理——字段和方法字节码的基础结构及Proxy源码分析三
前文地址:https://www.cnblogs.com/tera/p/13280547.html 本系列文章主要是博主在学习spring aop的过程中了解到其使用了java动态代理,本着究根问底的 ...
- springboot整合邮件发送(163邮箱发送为例)
先登录163邮箱获取授权 勾选后安装提示会叫你设置授权密码之类的:记住授权的密码 1.引入maven依赖 <dependency> <groupId>org.springfr ...
- RabbitMQ学习总结(3)-集成SpringBoot
1. pom.xml引用依赖 SpringBoot版本可以自由选择,我使用的是2.1.6.RELEASE,使用starter-web是因为要使用Spring的相关注解,所以要同时加上. <dep ...
- 埋在MySQL数据库应用中的17个关键问题!
作者:扎瓦陈序元 来源:https://blog.csdn.net/weixin_42882439 MySQL的使用非常普遍,跟MySQL有关的话题也非常多,如性能优化.高可用性.强一致性.安全.备份 ...
- HashMap源码(数组算法)
Jdk1.8初始化hashMap容量的算法 static final int tableSizeFor(int cap) { // 先减1,避免传进来的本来就是2的n次幂,导致算出来多了一次幂,比如传 ...
- 【FZYZOJ】细菌 题解(最短路)
题目描述 为了研究一种新型细菌(称它为S型细菌)的性质,Q博士将S型细菌放在了一个犹如迷宫一般的通道面前,迷宫中N个站点,每个站点之间以一种单向通道的形式连接,当然,也有可能某两个站点之间是互不联通的 ...
- 新浪、腾讯、淘宝为何如此重视Web前端?前端入门容易吗?
为什么新浪.搜狐.网易.腾讯.淘宝等在内的各种规模的IT企业,都对web前端越来越重视了呢?小编为您揭晓答案! web前端的由来 以前会Photoshop和Dreamweaver就可以制作网页.随着时 ...
- 一文搞懂Linux系统开发
先列一下Linux系统开发要掌握的知识,以后有时间再一一介绍. 欢迎关注我的微信公众号:fensnote 文章目录 Linux系统开发会用到什么? C语言基础 shell脚本 学会使用Makefile ...