Skip to content

Latest commit

 

History

History
182 lines (137 loc) · 8.6 KB

第四篇Scrum冲刺博客.md

File metadata and controls

182 lines (137 loc) · 8.6 KB

[TOC]

Author:歪瑞古德小队

Project:海岛漂流

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

一、Daily Scrum Meeting

1.1 会议照片

image-20200528132628518

1.2 项目进展

团队成员 昨日完成任务 今日计划任务 遇到的困难
黄钰朝 #36改进定时发信功能的实现 #38根据名称搜索海岛 发信任务使用redis进行存取时,
由于其中的Mapper属性没有
实现序列化接口导致序列化失败
黄煜淇 #39时间胶囊模块的开发 #43查询用户信息时返回距离 在时间分配上存在困难,
多项事务同时存在,
导致很难进行代码工作
余圣源 #49完成头像上按钮样式修改 #50完成树洞和时间胶囊功能接入 临近期末,所有任务同时进行,
每天的任务压哨完成,
质量不够高
张文俊 #56完成海岛界面和功能 #57完成帖子界面和功能 作业好多,开发时间较少
丘丽珊 #63绘制第三天站立会议照片,
一张信纸样式
#64绘制第四天站立会议照片 难以保证工作同步的
时效性,将努力在周末
时间跟上消息更替速度;
作业好多,时间好少,
课程好多。
陈宇 #71用户在树洞下留言 #72用户查看树洞内容 commit的时候太粗心

二、项目燃尽图

05-24燃尽图

三、签入记录

3.1 代码/文档签入记录

image-20200524000020013

3.2 Code Review 记录

image-20200524095301632

image-20200523113726266

image-20200523204158731

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 程序运行截图

image-20200524001554758image-20200524001621514

五、每日总结

团队成员 总结内容
黄钰朝 今天比较忙,半天的时间要参与工作室招新的答辩,但也按时完成编码工作,很充实
黄煜淇 完善时间胶囊模块,参加了积极分子的讨论会和工作室的答辩
余圣源 要有合理的时间管理,分配好任务
张文俊 合理分配时间
丘丽珊 离终点又进步了一点点,开心!
陈宇 commit时要仔细,不要将一些不必要的commit上去