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 最新模块代码

信件模块

/**
* 创建发信任务
*
* @param letter 要发送的信件
* @name scheduleLetterSending
* @notice none
* @author <a href="mailto:kobe524348@gmail.com">黄钰朝</a>
* @date 2020-05-21
*/
private void scheduleLetterSending(Letter letter) {
log.info("正在创建发信任务"); //计算收信时间
User sender = userMapper.selectById(letter.getSenderId());
User receiver = userMapper.selectById(letter.getReceiverId());
if (sender == null || receiver == null) {
log.error("缺少寄件人或收件人,无法发信");
throw new BizException("发信失败,缺少寄件人或收件人");
}
if (sender.getCity() == null || receiver.getCity() == null) {
log.error("缺少位置信息,无法发信");
throw new BizException("发信失败,寄件人或收信人缺少位置信息");
}
long distance = locationUtils.getDistance(sender.getCity(), receiver.getCity());
log.info("计算出两者的距离为:{}米", distance); //消耗邮票
if (letter.getSenderId() != null) {
Stamp stamp = stampMapper.selectById(letter.getStampId());
if (stamp == null || !stamp.getUserId().equals(sender.getUserId())) {
log.warn("id为{}的信件没有使用有效邮票,无法发信", letter.getLetterId());
throw new BizException("发信失败,缺少有效的邮票");
}
} else {
log.warn("id为{}的信件没有使用邮票", letter.getLetterId());
throw new BizException("请选择一张邮票进行发信!");
} UpdateWrapper<Stamp> stampUpdateWrapper = new UpdateWrapper<>();
stampUpdateWrapper.eq("stamp_id", letter.getStampId())
//设置为null,既不属于发信人也不属于收信人
.set("user_id", null);
stampMapper.update(new Stamp(), stampUpdateWrapper); //统计书写字数
if (letter.getContent() == null || letter.getContent().trim().isEmpty()) {
log.warn("不允许插入空的信件");
throw new BizException("无法发送空的信件");
}
sender.setWord(sender.getWord() + letter.getContent().trim().length());
userMapper.updateById(sender); //启动定时任务
log.info("正在启动定时任务");
taskScheduler.schedule(new LetterSendingTask(letter, sender),
calculateDuration(distance));
}

树洞模块

/**
* <p>
* 树洞
* 服务类
* </p>
*
* @author chaos
* @since 2020-05-21
*/
public interface TreeHoleService { /**
* 分页查询TreeHole
*
* @param page 当前页数
* @param pageSize 页的大小
* @param factor 搜索关键词
* @return 返回mybatis-plus的Page对象,其中records字段为符合条件的查询结果
* @author chaos
* @since 2020-05-21
*/
Page<TreeHole> listTreeHolesByPage(int page, int pageSize, String factor); /**
* 根据id查询TreeHole
*
* @param id 需要查询的TreeHole的id
* @return 返回对应id的TreeHole对象
* @author chaos
* @since 2020-05-21
*/
TreeHole getTreeHoleById(int id); /**
* 插入TreeHole
*
* @param treeHole 需要插入的TreeHole对象
* @return 返回插入成功之后TreeHole对象的id
* @author chaos
* @since 2020-05-21
*/
int insertTreeHole(TreeHole treeHole); /**
* 根据id删除TreeHole
*
* @param id 需要删除的TreeHole对象的id
* @return 返回被删除的TreeHole对象的id
* @author chaos
* @since 2020-05-21
*/
int deleteTreeHoleById(int id, Integer userId); /**
* 根据id更新TreeHole
*
* @param treeHole 需要更新的TreeHole对象
* @return 返回被更新的TreeHole对象的id
* @author chaos
* @since 2020-05-21
*/
int updateTreeHole(TreeHole treeHole); }

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. 二手99新iPhone8Plus有锁移动联通版

    原文是维基百科:http://www.bosimedia.com/wiki/IPhone_8#cite_note-1 iPhone8Plus详细介绍 iPhone 8与iPhone 8 Plus 是苹 ...

  2. python数据处理书pdf版本|内附网盘链接直接提取|

    Python数据处理采用基于项目的方法,介绍用Python完成数据获取.数据清洗.数据探索.数据呈现.数据规模化和自动化的过程.主要内容包括:Python基础知识,如何从CSV.Excel.XML.J ...

  3. PHP tmpfile() 函数

    定义和用法 tmpfile() 函数以读写(w+)模式创建一个具有唯一文件名的临时文件. 语法 tmpfile() 提示和注释 注释:临时文件会在文件关闭后(用 fclose())或当脚本结束后自动被 ...

  4. PHP convert_uuencode() 函数

    实例 编码字符串: <?php$str = "Hello world!";echo convert_uuencode($str);?>高佣联盟 www.cgewang. ...

  5. react - 多层级嵌套路由支持

    routerCofing配置 { path: '/route1/someModel', children: [ { path: '/route2', component: RouteBase.Cps1 ...

  6. Elasticsearch入门指南

    好好学习,天天向上 本文已收录至我的Github仓库DayDayUP:github.com/RobodLee/DayDayUP,欢迎Star,更多文章请前往:目录导航 这篇文章主要是记录一下最近在学的 ...

  7. Linux-sed命令使用笔记

    Linux的sed命令和python脚本一起,可以对文本进行快速的修改.比如在删除日志的时候,python写出固定日期删除脚本,再用sed循环将python脚本的日期修改调用,就可以批删除指定日期的日 ...

  8. Android 菜单的使用

    有时间就随笔记录自己遇到的问题和所学的知识哈. 这是对本牛崽知识的提升也可以给其他牛牛们来点鸡汤和开胃菜. 菜单Menu的创建 首先menu是属于布局的嘛,所以嘞,咱们得在res(也就是布局资源)创建 ...

  9. QWebEngineView简单使用

    QWebEngineView是提供一个访问web页面的widget,这里是一个简单的使用代码 头文件 #ifndef MAINWINDOW_H #define MAINWINDOW_H #includ ...

  10. 038_go语言中的状态协程

    代码演示: package main import ( "fmt" "math/rand" "sync/atomic" "time ...