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

目录
  • 一、Daily Scrum Meeting
    • 1.1 会议照片
    • 1.2 项目进展
  • 二、项目燃尽图
  • 三、签入记录
    • 3.1 代码/文档签入记录
    • 3.2 Code Review 记录
    • 3.3 issue内容和链接
  • 四、最新模块截图
    • 4.1 最新模块代码
    • 4.2 程序运行截图
  • 五、每日总结

Author:歪瑞古德小队

Project:海岛漂流

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

一、Daily Scrum Meeting

1.1 会议照片

团队作业4:第五篇Scrum冲刺博客(歪瑞古德小队)_第1张图片

1.2 项目进展

团队成员 昨日完成任务 今日计划任务 遇到的困难
黄钰朝 #38根据名称搜索海岛 #40根据id返回一个海岛 我不知道要交概率论
作业,我太难了
黄煜淇 #43查询用户信息时返回距离 #44根据id星标海岛 概率论作业有点难做,
看着答案都不懂
余圣源 #50完成树洞和时间胶囊功能接入 #51完成写信界面和功能接入 太多的任务,时间真的
不够用,设计的功能太多了
张文俊 #57完成帖子界面和功能 #58完成发布动态,评论功能的接入 布局设计
丘丽珊 #64绘制第四天站立会议照片 #65绘制第五天站立会议
照片,一张信纸样式
作业好多,时间不够用
陈宇 #72用户查看树洞内容 #73查看一个海岛的动态列表 需要同时兼顾操作系统实验

二、项目燃尽图

团队作业4:第五篇Scrum冲刺博客(歪瑞古德小队)_第2张图片

三、签入记录

3.1 代码/文档签入记录

团队作业4:第五篇Scrum冲刺博客(歪瑞古德小队)_第3张图片

3.2 Code Review 记录

团队作业4:第五篇Scrum冲刺博客(歪瑞古德小队)_第4张图片

团队作业4:第五篇Scrum冲刺博客(歪瑞古德小队)_第5张图片

3.3 issue内容和链接

团队成员 issue内容和链接
黄钰朝 #38根据名称搜索海岛
黄煜淇 #43查询用户信息时返回距离
余圣源 #50完成树洞和时间胶囊功能接入
张文俊 #57完成帖子界面和功能
丘丽珊 #64绘制第四天站立会议照片
陈宇 #72用户查看树洞内容

四、最新模块截图

4.1 最新模块代码

(1)搜索海岛

    /**
     * 分页查询User
     *
     * @param page     当前页数
     * @param pageSize 页的大小
     * @param factor   搜索关键词
     * @return 返回mybatis-plus的Page对象,其中records字段为符合条件的查询结果
     * @author chaos
     * @since 2020-05-04
     */
    @Override
    public Page searchUsersByPage(int page, int pageSize, String factor) {
        log.info("正在执行分页查询user: page = {} pageSize = {} factor = {}", page, pageSize, factor);
        QueryWrapper queryWrapper = new QueryWrapper().like("nickname", factor);
        Page result = super.page(new Page<>(page, pageSize), queryWrapper);
        log.info("分页查询user完毕: 结果数 = {} ", result.getRecords().size());

        // 查看自己的信息
        User self = (User) SecurityUtils.getSubject().getPrincipal();

        //转成vo类型
        List records = result.getRecords();
        List voRecords = new LinkedList<>();
        for (User user : records) {
            UserVo userVo = new UserVo();
            BeanUtils.copyProperties(user, userVo);
            userVo.setDistance(locationUtils.getDistance(self.getCity(), user.getCity()));
            voRecords.add(userVo);
        }

        Page userVoPage = new Page<>();
        BeanUtils.copyProperties(result, userVoPage);
        userVoPage.setRecords(voRecords);
        return userVoPage;
    }

 @Scheduled(cron = "0 15 * * * ?")
    public void cacheUsers() {
        log.info("正在清空缓存的用户数据");
        if (users != null) {
            users.clear();
        }
        log.info("正在缓存用户");
        users = super.list();
        log.info("缓存成功:{}条用户数据", users.size());
    }

(2)树洞模块

/**
 * 

* 树洞 * 服务实现类 *

* * @author chaos * @since 2020-05-21 */ @Slf4j @Service public class TreeHoleServiceImpl extends ServiceImpl implements TreeHoleService { @Resource TreeHoleMapper treeHoleMapper; @Resource MessageMapper messageMapper; @Override public Page listTreeHolesByPage(int page, int pageSize) { log.info("正在执行分页查询treeHole: page = {} pageSize = {} ", page, pageSize); //TODO 这里需要自定义用于匹配的字段,并把wrapper传入下面的page方法 Page result = super.page(new Page<>(page, pageSize)); log.info("分页查询treeHole完毕: 结果数 = {} ", result.getRecords().size()); return result; } @Override public TreeHoleVo getTreeHoleById(int id) { log.info("正在查询treeHole中id为{}的数据", id); TreeHole treeHole = super.getById(id); if(treeHole==null){ return null; } TreeHoleVo treeHoleVo=new TreeHoleVo(); treeHoleVo.setHole(treeHole); Map map=new HashMap<>(); map.put("tree_hole_id",id); treeHoleVo.setMessages(messageMapper.selectByMap(map)); log.info("查询id为{}的treeHole{}", id, (null == treeHole ? "无结果" : "成功")); return treeHoleVo; } @Override public int insertTreeHole(TreeHole treeHole) { log.info("正在插入treeHole"); treeHole.setCreateTime(LocalDateTime.now()); Integer userTreeNumber=treeHoleMapper.getUserTreeNumber(treeHole.getCreatorId()); if(userTreeNumber>=5){ log.error("插入treeHole失败,用户树洞超过五个"); throw new BizException("用户树洞已有5个,无法添加"); } if (super.save(treeHole)) { log.info("插入treeHole成功,id为{}", treeHole.getTreeHoleId()); return treeHole.getTreeHoleId(); } else { log.error("插入treeHole失败"); throw new BizException("添加失败"); } } @Override public int deleteTreeHoleById(int id,Integer userId) { log.info("正在删除id为{}的treeHole", id); if(!userId.equals(treeHoleMapper.getUserIdByTreeId(id))){ log.error("更新id为{}的treeHole失败,登录用户与树洞拥有用户不同",id); throw new BizException("登录用户与树洞拥有用户不同"); } if (super.removeById(id)) { log.info("删除id为{}的treeHole成功", id); return id; } else { log.error("删除id为{}的treeHole失败", id); throw new BizException("删除失败[id=" + id + "]"); } } @Override public int updateTreeHole(TreeHole treeHole) { log.info("正在更新id为{}的treeHole", treeHole.getTreeHoleId()); Integer userId=treeHoleMapper.getUserIdByTreeId(treeHole.getTreeHoleId()); if(!userId.equals(treeHole.getCreatorId())){ log.error("更新id为{}的treeHole失败,登录用户与树洞拥有用户不同", treeHole.getTreeHoleId()); throw new BizException("登录用户与树洞拥有用户不同"); } if (super.updateById(treeHole)) { log.info("更新d为{}的treeHole成功", treeHole.getTreeHoleId()); return treeHole.getTreeHoleId(); } else { log.error("更新id为{}的treeHole失败", treeHole.getTreeHoleId()); throw new BizException("更新失败[id=" + treeHole.getTreeHoleId() + "]"); } } @Override public List getByUserId(Integer userId) { log.info("正在查询用户id为{}的树洞",userId); Map map=new HashMap<>(); map.put("creator_id",userId); return treeHoleMapper.selectByMap(map); } }

4.2 程序运行截图

团队作业4:第五篇Scrum冲刺博客(歪瑞古德小队)_第6张图片团队作业4:第五篇Scrum冲刺博客(歪瑞古德小队)_第7张图片

五、每日总结

团队成员 总结内容
黄钰朝 开发进度比较顺利,就是作业太多
黄煜淇 今天一点代码工作都没有,早上进行了积极分子讨论会议,下午复习了操作系统。
余圣源 完善了树洞的功能,写了下fifo算法,发现与题目要求有偏差,重写,很不开心
张文俊 flex天下第一
丘丽珊 离终点又进步了一点点,开心!
陈宇 今天早上就完成任务,提高了效率

你可能感兴趣的:(团队作业4:第五篇Scrum冲刺博客(歪瑞古德小队))