逐梦校友圈——β冲刺day5
这个作业属于哪个课程 | <福州大学2021春软件工程实践S班> |
---|---|
这个作业要求在哪里 | 团队作业六——beta冲刺+事后诸葛亮 |
团队名称 | 逐梦校友圈 |
这个作业的目标 | β每日冲刺文档 |
SCRUM
任务总览
前端
- 昨日安排
任务 | 完成情况 |
---|---|
bug问题 | 已完成 |
个人信息上传 | 已完成 |
完成个人设置界面的时间显示部分,继续完成贴文详情界面 | 已完成 |
完成鉴权 | 已完成 |
组局图片处理 | 未完成90% |
- 明日安排
任务 | 分派人员 |
---|---|
修复bug | 茂基 |
个人信息上传 | 语涵 |
对已排查bug进行修改 | 炜华 |
继续完成贴文详情界面 | 伟峰 |
读取聊天历史数据及聊天 | 建斌 |
后端
- 昨日安排
任务 | 完成情况 |
---|---|
完成帖子搜索优化 | 已完成 |
测试接口 | 已完成 |
解散组局 | 已完成 |
- 明日安排
任务 | 分派人员 |
---|---|
实现查找单个帖子详细信息接口 | 亮亮 |
完成用户接收消息service、controller层代码 | 海翔 |
评论组局 | 小螃蟹 |
成员描述
成员 | 昨日成就 | 存在问题 | 问题解决方案或描述 | 明日安排 |
---|---|---|---|---|
语涵104 | 个人信息上传 (2.5/3.5h) | 上传图片 | 上传图片的时候显示上传失败,代码还存在错误需要修改 | 个人信息上传 |
建斌209 | 编写获取聊天列表及界面(4h) | 无 | 无 | 读取聊天历史数据及聊天 |
茂基222 | 微信小程序scroll-view下拉刷新被触发多次bug修改完成 (3h) | 新bug产生 | 新bug产生, 需要继续理解wx:for的渲染方案 , 微信小程序scroll-view下拉刷新被触发多次bug修改完成 。 | 对已排查bug进行修改 |
炜华230 | 解决了收藏界面,帖子界面的时间显示问题 (2h) | 无 | 无 | 继续完成贴文详情界面 |
伟峰432 | 组局详情图片显示bug (6h/8h) | 异步操作 | 利用promise来将多个异步操作以同步的形式执行。保证执行下一个异步操作的时候,前一个已经执行完 | 读代码改bug循环 |
亮亮215 | 完成帖子搜索查询优化、进一步优化首页帖子查询dao(80min) | 嵌套查询的多重左连接 | 将嵌套查询转换为嵌套结果,需要大量用到连接,致使SQL语句非常复杂且冗长,有何方法可以简化多重左连接? | 实现查找单个帖子详细信息接口 |
海翔321 | 完成用户发送消息service、controller层代码 | 无 | 无 | 完成用户接收消息service、controller层代码 |
小螃蟹411 | 解散组局 | 物理、逻辑删除 | 之前一直不明白为什么用逻辑删除而不是物理删除。现在想想物理删除数据恢复的难度大、会造成主键不连续从而导致分页查询变慢,也是没必要。之前实现解散的时候一直忘记将关联表的相关数据删除,导致后面查询出错,考虑不周。 | 评论组局 |
丫比125 | 项目督促,博客园撰写(1h) | 无 | 无 | 督促开发,博客园撰写,对后续尾声任务进行任务情况了解并进行任务规划 |
内容展示
- 炜华230
getPostList(){
let that = this;
let baseUrl = app.globalData.baseUrl;
request({ //调用接口获取个人帖子列表
url: baseUrl + '/api/user/post/list',
method:'GET',
success(res){
console.log(res);
if(res.data.code === 200){
let tempData = res.data.data.reverse(); //获取逆序列表
if(tempData!= null) {
for (let i = 0; i < tempData.length; i++) { //时间转换
tempData[i].gmtCreate = timeago.format(new Date(tempData[i].gmtCreate), 'zh_CN');
}
}
that.setData({
postList:tempData,
})
}
}
})
},
- 伟峰432
// 处理图片名(即url的后缀),给图片加上服务器域名组成url以访问图片资源
function processSuffix(suffix) {
//存放图片的数组
let imageUrlsArr = []
suffix.forEach((item) => {
let url = baseUrl + '/static/' + item
//将处理好的url放入数组中
imageUrlsArr.push(url)
})
返回处理后的图片数组
return imageUrlsArr
}
- 亮亮215
-- 核心SQL语句,模糊查询出符合条件的待连接的帖子信息,按时间倒序排列,已连接发帖人昵称,帖子类名,需要继续连接其他相关信息
SELECT
post.id AS id,
post.publisher_id AS publisher_id,
post.`status` AS `status`,
post.post_type_id AS post_type_id,
post.message AS message,
post.image_urls AS image_urls,
post.gmt_create AS gmt_create,
post.gmt_modified AS gmt_modified,
post.deleted AS deleted,
`user`.username AS username,
post_type.`name` AS post_type_name,
-- 用作参数
#{queryMap.currentUserId} AS currentUserId
FROM
post,
`user`,
post_type
WHERE
post.message LIKE
concat('%',#{queryMap.content},'%') AND
post.deleted = 0 AND
post.`status` = 0 AND
post.publisher_id = `user`.id AND
post.post_type_id = post_type.id
ORDER BY
gmt_create DESC,
id DESC
-- 核心SQL语句,查询出待连接的帖子信息,按时间倒序排列,已连接发帖人昵称,帖子类名
SELECT
post.id AS id,
post.publisher_id AS publisher_id,
post.`status` AS `status`,
post.post_type_id AS post_type_id,
post.message AS message,
post.image_urls AS image_urls,
post.gmt_create AS gmt_create,
post.gmt_modified AS gmt_modified,
post.deleted AS deleted,
`user`.username AS username,
post_type.`name` AS post_type_name,
-- 用作参数
#{currentUserId} AS currentUserId
FROM
post,
`user`,
post_type
WHERE
post.deleted = 0 AND
post.`status` = 0 AND
-- 连接发帖人昵称
post.publisher_id = `user`.id AND
-- 连接帖子类名
post.post_type_id = post_type.id
ORDER BY
gmt_create DESC,
id DESC
//发送消息
@PostMapping("/send")
public Result<Integer> sendMessage(@RequestBody Map<String, Object> map) {
PrivateChat privateChat = new PrivateChat();
privateChat.setFromId(id);
privateChat.setToId(userIdTo);
privateChat.setMessage(content);
result.setCode(ExceptionInfo.valueOf("OK").getCode());
result.setMessage(ExceptionInfo.valueOf("OK").getMessage());
result.setData(privateChatMapper.insert(privateChat));
return result;
}
- 小螃蟹411
//删除参与者表内组局的相关参与者记录
QueryWrapper<PartyParticipants> PPwrapper = new QueryWrapper<>();
PPwrapper.eq("party_id", dlParty.getId());//用组局id搜索组局的参与者
List pPList = partyParticipantsMapper.selectList(PPwrapper);
if (pPList.size() != 0) {
partyParticipantsMapper.delete(PPwrapper);
if (partyParticipantsMapper.selectList(PPwrapper).size() != 0) {
result.setCode(ExceptionInfo.valueOf("PARTY_PARTICIPANTS_DELETE_FAIL").getCode());
result.setMessage(ExceptionInfo.valueOf("PARTY_PARTICIPANTS_DELETE_FAIL").getMessage());
result.setData(0);
return result;
}
}
//删除评论表内组局的相关评论记录
QueryWrapper<PartyComment> PCwrapper = new QueryWrapper<>();
PCwrapper.eq("party_id", dlParty.getId());
//用被删除的组局id搜索该组局的评论
List pCList = partyCommentMapper.selectList(PCwrapper);
if (pCList.size() != 0) {
partyCommentMapper.delete(PCwrapper);
if (partyCommentMapper.selectList(PCwrapper).size() != 0) { result.setCode(ExceptionInfo.valueOf("PARTY_COMMENT_DELETE_FAIL").getCode());
result.setMessage(ExceptionInfo.valueOf("PARTY_COMMENT_DELETE_FAIL").getMessage());
result.setData(0);
return result;
}
}
-
丫比
-
验收项:帖文详情
-
验收标准:个人帖文详情页面内容不是单纯的list表,要显示信息
-
验收图片:
会议图片
PM报告
工作总结
-
预期工作量:27 /68issue
-
目前已完成工作量:27 issue
-
今日完成工作量: 6 issue
-
剩余共工作量 41 issue
项目燃尽图
(由于一个仓库里的燃尽图在导入时候必须放到同一个milestone当中,所以是α和β冲刺的结合燃尽图,请从Jun六月开始查看)
任务总量变化
变化日期 | 变化数量 | 变化描述 | 预计处理时间 |
---|---|---|---|
2021/06/12 | +67 | β冲刺整体issue总览 | 7days |
2021/06/14 | +1 | bug微信小程序scroll-view下拉刷新被触发多次,导致发帖页面不明缘由抽风,开始持续出现500错误 | 2days |
2021/06/15 | +1 | 新加添加测试,便于调试 | 1day |