其他分享
首页 > 其他分享> > 逐梦校友圈——β冲刺day6

逐梦校友圈——β冲刺day6

作者:互联网

这个作业属于哪个课程 <福州大学2021春软件工程实践S班>
这个作业要求在哪里 团队作业六——beta冲刺+事后诸葛亮
团队名称 逐梦校友圈
这个作业的目标 β每日冲刺文档

目录

SCRUM

任务总览

前端

任务 完成情况
修复bug 已完成
个人信息上传 已完成
对已排查bug进行修改 已完成
继续完成贴文详情界面 已完成
读取聊天数据及聊天 已完成
任务 分派人员
拉黑内容调用 茂基
学生证上传 语涵
修修评论bug 炜华
完成帖子详情界面的评论部分 伟峰
测试 建斌

后端

任务 完成情况
实现查找单个帖子详细信息接口 已完成
完成用户接收消息service、controller层代码 已完成
评论组局 已完成
任务 分派人员
测试 亮亮
完成剩余接口测试 海翔
对组局的整体部分查漏补缺 小螃蟹

成员描述

成员 昨日成就 存在问题 问题解决方案或描述 明日安排
语涵104 身份验证图片上传界面和功能 (1.5h/3h) 技术开拓 刚开始尝试了将头像上传和身份验证上传放在一个界面,后来认为将此放在我的界面更符合用户使用习惯,技术上图片上传还需要完善 身份验证图片上传界面和功能
建斌209 写读取聊天历史数据及聊天(5h) 测试
茂基222 修改bug组件重新渲染后部分数据丢失 (3h) 布局问题 布局太难了吧,没掌握精髓,好花时间 拉黑等内容的调用
炜华230 帖子详情界面具体内容显示已完成 (3h) 详情划分 帖子详情界面内容较多,在研究应用上花了多个小时 完成帖子详情界面的评论部分
伟峰432 完善加入组局、组局踢人功能 (7h/9h) 时间 时间时间时间,我需要更多时间 修修评论bug
亮亮215 优化十大热帖查询、优化帖子按类别查询、修复十大热帖信息与当前用户不匹配的错误、实现根据帖子id查询帖子详情接口(200min) 测试
海翔321 完成私聊前3个接口测试(35min) 完成剩余接口测试
小螃蟹411 评论组局(2.5h) 字段混淆 之前设计数据库表的时候没有设计id_To字段(也就是被回复用户的ID)导致我在实现将评论分级展示的时候逻辑有点混乱,后面还是队友帮我捋清楚思路。 对组局的整体部分查漏补缺
丫比125 项目督促,博客园撰写,询问详细版本信息,制订接下来的计划(1.5h) 督促开发,博客园撰写,询问详细进度情况,进行扫尾工作。

内容展示

  afterRead: function (event) {
    const that = this;
    console.log(event.detail.file.url);
    this.setData({
      fileList: [event.detail.file],
    });
    console.log(this.data.fileList)

    this.submitImage();
  },

  submitImage:function (e) {
    let that=this;
    const file = that.data.fileList;
    let promiseArr=[];
    let imgServerUrls=new Array();
    console.log(that.data.fileList);
    file.forEach(function (e) {
      var FSM = wx.getFileSystemManager();
      let imageType=getApp().getImageType(e.url);
      promiseArr.push(
          new Promise(function (resolve,reject) {
            FSM.readFile({
              filePath: e.url,
              encoding: "base64",
              success: function (data) {
                wx.request({
                 //获取图片信息
                  }
                })
              }
            });
          })
      )
    })
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,
          })
        }
      }
    })
  },
//处理组局成员
if (i < partyMemmberCntNow) {
        // 判断是否是局长,如果是就赋值组长的配置
        if (partyParticipantsId[i] == partyPublisherID) {
          member.url = baseUrl + '/static/' + partyPublisherMsg.iconUrl;
          member.isPublisher = true;
          member.text = '局长';
          //如果是自己,就赋值相应的配置
          if (partyParticipantsId[i] == userId) {
            member.myself = true;
            member.text = '自己'
          }
}
//不是组长,是组员的情况
else {
        member = {
                index: i,
                url: this.data.memberIconUrl,
                userId: participantsId[i],
                isOccupied: true,
                ifShow: false,
                isPublisher: false,
                myself: false,
                text: '成员'
        }
        //如果当前用户已经是组员,赋值相应的配置
        if (partyParticipantsId[i] == userId) {
          member.myself = true;
          member.text = '自己'
        }
      }

完成issue1

完成issue2

完成issue3

优化十大热帖热搜

 -- 核心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,
   -- 查询点赞数最多的十个帖子的id和点赞数(用于排序)
   (select  
    	post_like.post_id,count(distinct post_like.id) as cnt
    from post_like,post
    where post_like.deleted = 0 and  post_like.post_id = post.id and post.deleted = 0 and post.status=0
    group by post_like.post_id
    order by count(distinct post_like.id) desc
    limit 0,10
    ) as top
WHERE
   top.post_id = post.id AND
   post.publisher_id = `user`.id AND
   post.post_type_id = post_type.id
ORDER BY
   top.cnt DESC,
   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,
    #{queryMap.currentUserId} AS currentUserId
FROM
    post,
    `user`,
    post_type
WHERE
    post.deleted = 0 AND
    post.`status` = 0 AND
    -- 指定帖子类别id
    post.post_type_id = #{queryMap.typeId}  AND
    post.publisher_id = `user`.id AND
    post.post_type_id = post_type.id
ORDER BY
    gmt_create DESC,
    id DESC

十大热帖与当前用户信息不符

if (user != null) {
          Long id = user.getId();//获取当前用户id
@SpringBootTest

public class PrivateChatServiceImplTest {



  @Autowired

  PrivateChatServiceImpl privateChatService;



  @Test

  void listChatTest(){



    Result<List<Map<String, Object>>> result = privateChatService.listChat(123456L);

    System.out.println(result);

  }



  @Test

  void clearListTest(){

    Result<Integer> result = new Result<>();



    result.setCode(ExceptionInfo.valueOf("OK").getCode());

    result.setMessage(ExceptionInfo.valueOf("OK").getMessage());

    result.setData(3);

    Assertions.assertEquals(result,privateChatService.clearList(123456L));

  }



  @Test

  void deleteOneTest(){



    Result<Integer> result = new Result<>();



    result.setCode(ExceptionInfo.valueOf("USER_DIALOG_ID_NULL").getCode());

    result.setMessage(ExceptionInfo.valueOf("USER_DIALOG_ID_NULL").getMessage());



    Assertions.assertEquals(result,privateChatService.deleteOne(123456L,null));



    result.setCode(ExceptionInfo.valueOf("OK").getCode());

    result.setMessage(ExceptionInfo.valueOf("OK").getMessage());

    result.setData(1);

    Assertions.assertEquals(result,privateChatService.deleteOne(123456L,3L));

  }



}

完成issue

//组局评论分级展示
for (PartyComment partyComment : partyComments) {
  // 当前评论为父评论
  if (partyComment.getId().equals(partyComment.getPreId())) {
    Map<String, Object> map = new HashMap<>();
    map.put("commentId", partyComment.getId());
    map.put("commentUserId", partyComment.getIdFrom());
    User user = userMapper.selectById(partyComment.getIdFrom());
    map.put("commentUsername", user.getUsername());
    map.put("images", user.getUserIconUrl());
    List<Map<String, Object>> childrenList = new LinkedList<>();
    for (PartyComment comment : partyComments) {
      // 当前评论不为父评论,且为当前父评论的子评论
      if (!comment.getId().equals(partyComment.getId()) && comment.getPreId()
          .equals(partyComment.getId())) {
        Map<String, Object> childrenMap = new HashMap<>();
        childrenMap.put("commentId", comment.getId());
        childrenMap.put("commentUserId", comment.getIdFrom());
        User user1 = userMapper.selectById(comment.getIdFrom());
        childrenMap.put("commentUsername", user1.getUsername());
        childrenMap.put("images", user1.getUserIconUrl());
        childrenMap.put("message", comment.getInformation());
        childrenMap.put("preId", comment.getPreId());
        map.put("gmtCreate", comment.getGmtCreate());
        childrenMap.put("replyId", partyComment.getIdFrom());
        childrenList.add(childrenMap);
      }
    }
    map.put("childrenComments", childrenList);
    map.put("message", partyComment.getInformation());
    map.put("preId", partyComment.getPreId());
    map.put("gmtCreate", partyComment.getGmtCreate());
    mapList.add(map);
  }
}

会议图片

img

PM报告

工作总结

项目燃尽图

img

(由于一个仓库里的燃尽图在导入时候必须放到同一个milestone当中,所以是α和β冲刺的结合燃尽图,请从Jun六月开始查看)

任务总量变化

变化日期 变化数量 变化描述 预计处理时间
2021/06/12 +67 β冲刺整体issue总览 7days
2021/06/14 +1 bug微信小程序scroll-view下拉刷新被触发多次,导致发帖页面不明缘由抽风,开始持续出现500错误 2days
2021/06/15 +1 新加添加测试,便于调试 1day

最新项目截图

头像私聊框

img

组局详情

img

组员移除

img

img

加入组局

img

评论组局

img

嵌套评论

img

标签:day6,校友,逐梦,result,完成,put,post,type,id
来源: https://www.cnblogs.com/zmxyq/p/14897653.html