1.1 会议照片
1.2 成员完成情况
|
成员 |
昨天完成的任务 |
今天计划完成的任务 |
工作中的困难 |
|
郭沛 |
团队计划增删改接口 |
对团队计划增删改接口进行测试并添加了查看接口 |
团队计划中用户权限的校验问题 |
|
柴政 |
加深对算法的理解 |
继续提高算法对截止时间的要求 |
判断条件如何控制? |
|
洪梓豪 |
继续学习消息队列,用户修改昵称 |
修改之前的文档 |
需要抽空写代码 |
|
王树干 |
动工个人计划 |
完善个人计划的静态页面 |
作业较多,时间匆忙 |
|
黎其钻 |
修改了数据流,添加了云函数,登陆流程正式完工 |
修改团队页面详情逻辑,添加计划页面 |
日益增长的娱乐渴望与ddl逐渐迫近的焦虑之间的矛盾 |
|
简蕙兰 |
画了会议照片 |
砍掉了一些功能 |
噜噜噜… |
二、项目燃尽图
三、成员代码/文档签入记录
3.1 代码签入
后台:
前端:
3.2 Issue链接
| 成员 | Issue链接 |
| 郭沛 | |
| 柴政 | |
| 洪梓豪 | |
| 王树干 | |
| 黎其钻 | |
| 简蕙兰 |
(设计好像没有这玩意儿) |
3.3 CodeReview代码规范文档
四、最新项目程序/模块
4.1 程序代码
排序算法部分(后台代码):
1 /** 2 * 添加团队计划以及修改团队计划接口(若为添加团队计划,则planId为空,若为修改团队计划,则planId不能为空) 3 * @param planVo 4 * @return 5 */ 6 @Override 7 public PlanVo addGroupPlan(PlanVo planVo) { 8 //先对数据进行校验 9 if (VerifyUtil.isNull(planVo) || VerifyUtil.isEmpty(planVo.getPlanName()) || VerifyUtil.isEmpty(planVo.getType())) { 10 log.info("前端传过来的参数为空"); 11 throw new ErrorException("请填写要添加的计划"); 12 } 13 14 //校验该成员是否在团队中 15 if (!groupPermission(planVo.getType(), planVo.getUserId())) { 16 log.info("用户{}不属于该团队", planVo.getUserId()); 17 throw new ErrorException("您还不是该团队的成员,无权访问"); 18 } 19 //判断下是否planVo是否存在 20 if (VerifyUtil.isEmpty(planVo.getPlanId())) { 21 //说明是新的大计划(需要先插入) 22 log.info("即将插入一条新的大计划"); 23 Plan plan = new Plan(); 24 plan.setType(planVo.getType()); 25 BeanUtils.copyProperties(planVo, plan); 26 if(planMapper.insertPlan(plan) != 1){ 27 log.info("个人计划插入数据库失败,可能部分字段为空"); 28 throw new ErrorException("系统出现异常,请稍后重试"); 29 } 30 List<Task> taskList = planVo.getTaskList(); 31 if (!VerifyUtil.isEmpty(taskList)) { 32 List<Task> result = new ArrayList<>(); 33 for (Task task : taskList){ 34 task.setPlanId(plan.getPlanId()); 35 task.setUserId(planVo.getUserId()); 36 if(taskMapper.insertTask(task) != 1){ 37 log.info("子任务插入数据库失败"); 38 throw new ErrorException("系统出现异常,请稍后重试"); 39 } 40 result.add(task); 41 } 42 planVo.setPlanId(plan.getPlanId()); 43 planVo.setTaskList(result); 44 } 45 return planVo; 46 } 47 else { 48 //可能是修改团队大计划 49 log.info("即将对id为{}的大计划名称进行修改", planVo.getPlanId()); 50 planMapper.updatePlanByPlanId(planVo.getPlanName(), planVo.getPlanId()); 51 List<Task> taskList = planVo.getTaskList(); 52 if (!VerifyUtil.isEmpty(taskList)) { 53 List<Task> result = new ArrayList<>(); 54 for (Task task : taskList) { 55 task.setPlanId(planVo.getPlanId()); 56 task.setUserId(planVo.getUserId()); 57 if (taskMapper.insertTask(task) != 1) { 58 log.info("子任务插入数据库失败"); 59 throw new ErrorException("系统出现异常,请稍后重试"); 60 } 61 result.add(task); 62 } 63 planVo.setPlanId(planVo.getPlanId()); 64 planVo.setTaskList(result); 65 } 66 return planVo; 67 } 68 } 69 70 @Override 71 public boolean deleteGroupPlan(Integer planId, UserPo userPo) { 72 if (VerifyUtil.isEmpty(planId)) { 73 log.info("前端的planId参数为空"); 74 throw new ErrorException("请选择要删除的团队计划"); 75 } 76 Plan plan = planMapper.getPlanByPlanId(planId); 77 if (VerifyUtil.isNull(plan)) { 78 log.info("id为{}的大计划不存在", planId); 79 throw new ErrorException("该团队计划不存在"); 80 } 81 if (plan.getUserId().equals(userPo.getUserId())) { 82 //说明该计划是用户创建的 83 planMapper.deletePlanByPlanId(planId); 84 return true; 85 } 86 else { 87 log.info("id为{}的大计划不是用户{}所创建的", planId, userPo.getUserId()); 88 throw new ErrorException("该计划不是您创建的,您无权限删除"); 89 } 90 } 91 92 93 //团队权限校验方法 94 private Boolean groupPermission(Integer groupId, Integer userId) { 95 //查看该团队是否存在 96 if (VerifyUtil.isNull(groupMapper.getGroupByGroupId(groupId))) { 97 log.info("id为{}的团队不存在", groupId); 98 throw new ErrorException("该团队不存在"); 99 } 100 //判断该成员是否在该团队中 101 List<Member> memberList = memberMapper.getMemberByGroupId(groupId); 102 for (Member member : memberList) { 103 //说明该成员在团队中 104 if (member.getMemberId().equals(userId)) { 105 return true; 106 } 107 } 108 return false; 109 }