Author:歪瑞古德小队

Project:海岛漂流

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

一、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冲刺博客(歪瑞古德小队)的更多相关文章

  1. 团队作业4:第二篇Scrum冲刺博客(歪瑞古德小队)

    目录 一.Daily Scrum Meeting 1.1 会议照片 1.2 项目进展 二.项目燃尽图 三.签入记录 3.1 代码/文档签入记录 3.2 Code Review 记录 3.3 issue ...

  2. 团队作业4:第一篇Scrum冲刺博客(歪瑞古德小队)

    目录 一.Alpha阶段任务认领 二.明日任务安排 三.项目预期任务量 四.敏捷开发前的感想 五.团队期望 Author:歪瑞古德小队 Project:海岛漂流 集合贴:团队作业4:项目冲刺集合贴(歪 ...

  3. 第四篇Scrum冲刺博客--Interesting-Corps

    第四篇Scrum冲刺博客 站立式会议 1.会议照片 2.队友完成情况 团队成员 昨日完成 今日计划 鲍鱼铭 搜索页面跳转.设计及布局实现 音乐详情页面跳转.设计及布局实现设计 叶学涛 编写设置页面 编 ...

  4. 第四篇Scrum冲刺博客

    第四篇Scrum冲刺博客 一.站立式会议 提供当天站立式会议照片一张 二.每个人的工作 成员 已完成工作 明天计划完成的工作 遇到的困难 林剑峰 用户界面跳转到用户信息页面的按钮,设计用户信息页面 测 ...

  5. 团队作业5:Alpha版本测试和发布(歪瑞古德小队)

    目录 一.项目文档和代码 二.Alpha版本测试报告 2.1 功能测试 2.1.1 功能列表 2.1.2 场景测试 2.1.3 测试结果 2.1.4 bug清单 2.2 兼容性测试 2.3 性能测试 ...

  6. Beta阶段——第四篇 Scrum 冲刺博客

    i. 提供当天站立式会议照片一张: ii. 每个人的工作 (有work item 的ID) (1) 昨天已完成的工作: 充值与账单的数据库操作结合,实现余额功能 (2) 今天计划完成的工作: 用户权限 ...

  7. 第四篇 Scrum 冲刺博客

    一.站立式会议 1. 会议照片 2. 工作汇报 团队成员名称 昨日(25日)完成的工作 今天(26日)计划完成的工作 工作中遇到的困难 陈锐基 - 完善表白墙动态的全局状态管理 - 完成发布页面的布局 ...

  8. 2020.5.24 第四篇 Scrum冲刺博客

    Team:银河超级无敌舰队 Project:招新通 项目冲刺集合贴:链接 目录 一.每日站立会议 1.1 会议照片 1.2 项目完成情况 二.项目燃尽图 三.签入记录 3.1 代码/文档签入记录 3. ...

  9. 第四篇 Scrum冲刺博客

    一.会议图片 二.项目进展 成员 完成情况 今日任务 冯荣新 商品底部工具栏 购物车列表 陈泽佳 渲染搜索结果,防抖的实现 静态结构 徐伟浩 未完成 商品信息录入 谢佳余 未完成 搜索算法设计 邓帆涛 ...

随机推荐

  1. Centos 7下编译安装Mysql

    (1)官网下载地址:https://dev.mysql.com/downloads/mysql/ 此处下载的是 mysql-boost-5.7..tar.gz 百度云下载地址:https://pan. ...

  2. Java线程-- 线程池

    1.线程池概念 线程池,其实就是一个容纳多个线程的容器,其中的线程可以反复使用,省去了频繁创建线程对象的操作,无需反复创建线程而消耗过多资源. 为什么要使用线程池? 在java中,如果每个请求到达就创 ...

  3. java动态代理——字段和方法字节码的基础结构及Proxy源码分析三

    前文地址:https://www.cnblogs.com/tera/p/13280547.html 本系列文章主要是博主在学习spring aop的过程中了解到其使用了java动态代理,本着究根问底的 ...

  4. springboot整合邮件发送(163邮箱发送为例)

    先登录163邮箱获取授权  勾选后安装提示会叫你设置授权密码之类的:记住授权的密码 1.引入maven依赖 <dependency> <groupId>org.springfr ...

  5. RabbitMQ学习总结(3)-集成SpringBoot

    1. pom.xml引用依赖 SpringBoot版本可以自由选择,我使用的是2.1.6.RELEASE,使用starter-web是因为要使用Spring的相关注解,所以要同时加上. <dep ...

  6. 埋在MySQL数据库应用中的17个关键问题!

    作者:扎瓦陈序元 来源:https://blog.csdn.net/weixin_42882439 MySQL的使用非常普遍,跟MySQL有关的话题也非常多,如性能优化.高可用性.强一致性.安全.备份 ...

  7. HashMap源码(数组算法)

    Jdk1.8初始化hashMap容量的算法 static final int tableSizeFor(int cap) { // 先减1,避免传进来的本来就是2的n次幂,导致算出来多了一次幂,比如传 ...

  8. 【FZYZOJ】细菌 题解(最短路)

    题目描述 为了研究一种新型细菌(称它为S型细菌)的性质,Q博士将S型细菌放在了一个犹如迷宫一般的通道面前,迷宫中N个站点,每个站点之间以一种单向通道的形式连接,当然,也有可能某两个站点之间是互不联通的 ...

  9. 新浪、腾讯、淘宝为何如此重视Web前端?前端入门容易吗?

    为什么新浪.搜狐.网易.腾讯.淘宝等在内的各种规模的IT企业,都对web前端越来越重视了呢?小编为您揭晓答案! web前端的由来 以前会Photoshop和Dreamweaver就可以制作网页.随着时 ...

  10. 一文搞懂Linux系统开发

    先列一下Linux系统开发要掌握的知识,以后有时间再一一介绍. 欢迎关注我的微信公众号:fensnote 文章目录 Linux系统开发会用到什么? C语言基础 shell脚本 学会使用Makefile ...