逐梦校友圈——β冲刺day7

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

SCRUM

任务总览

前端

  • 昨日安排
任务 完成情况
完成图片上传界面和功能 已完成
完成组局详情页的评论部分 已完成
校友圈评论内容 已完成
拉黑界面调用 已完成

后端

  • 昨日安排
任务 完成情况
校友圈接口测试 已完成
组局接口测试 已完成
私聊接口测试 已完成

成员描述

成员 昨日成就
语涵104 完成图片上传界面和功能 花费1.5h
建斌209 拉黑界面复用(1h)
茂基222 测试私聊界面显示(界面已放到pm报告中)
炜华230 完成了帖子评论显示及发送评论;修复了个人设置界面收藏、黑名单、评论等界面的时间与图像显示bug;添加个人界面跳转至对应详情页
伟峰432 完成组局详情页的评论部分 (7h)
亮亮215 测试代码(40min)
海翔321 完成剩余接口测试(30min)
小螃蟹411 对组局部分整体查漏补缺、完善细节;用postman测试几个之前有问题的接口(3.5h)
丫比125 项目督促,博客园撰写,询问详细版本信息,制订接下来的计划(1.5h)

内容展示

img

//使用链式调用保证下一个异步操作前已经获得到数据
    new Promise(function(resolve, reject) {
      request({
        url: app.globalData.baseUrl+'/api/party/partymes',
        method: 'GET',
        data: {
          partyId: parseInt(_this.data.partyID)
        },
        success: function (res) {}
    }).then((images) => {// then
      console.log('publisherID--------', this.data.partyPublisherID)
      // 取到图片后缀,处理后缀存到imageUrlArr中
      this.setData({
        imageUrlsArr: processSuffix(images)
      })
      // 获取创建者的信息,包括年龄、头像url的后缀、昵称等
      let promise = this.getPublisherMessage()
      return promise
    }).then(() => {
      // 获取当前用户Id
      return this.getUserId()
    }).then(() => {
      // 判断是否已经加入过,是否为局长
      let {partyParticipantsId} = this.data
      partyParticipantsId.forEach((item) => {
        if(item == this.data.userId) {
          this.setData({
            hasjoined: true,
            buttonContent: '退出拼局'
          })
          if(item == this.data.partyPublisherID) {
            this.setData({
              isPublisher: true
            })
          }
        }
      })
      // 处理partyParticipantsId,获得membersInfoArr
      this.getMembersInfoArr()
    }).then(() => {
      wx.hideLoading({
        success: (res) => {},
      })
    })

根据ID查询单个帖子详情

@PostMapping("/getById")
  public Result selectPostById(@RequestBody Map<String,Number> queryMap) {
      Result result;
      Long userId = user.getId();
      Long postId = queryMap.get("postId").longValue();
      result = Result.success(postService.selectPostById(postId,userId));
      return result;
  }

List<Post> selectPostByIdWithUserId(Map<String,Long> query);
}

List<Map<String,Object>> selectPostById(Long postId,Long currentUserId);

@Override
  public List<Map<String, Object>> selectPostById(Long postId, Long currentUserId) {
    Map<String,Long> queryMap = new HashMap<>();
    queryMap.put("currentUserId",currentUserId);
    queryMap.put("postId",postId);
    return pack(postMapper.selectPostByIdWithUserId(queryMap));
  }
//测试代码
@Test
    public void publishPost2() {
        ExceptionInfo exceptionInfo = postService.publishPost(123456L, null, "danyuanceshi", "");//缺少帖子类别id
        Assertions.assertEquals(exceptionInfo,ExceptionInfo.POST_PUBLISH_INFO_LOST);//返回信息提示发帖信息缺失
    }

@Test
    void likePost1() {
        PostLike postLike = new PostLike();
        postLike.setIdFrom(123456L);
        postLike.setPostId(10L);
        Assertions.assertFalse(postLikeService.likePost(postLike));//点赞成功
    }
    @Test
    void likePost2() {
        PostLike postLike = new PostLike();
        postLike.setIdFrom(123456L);
//        postLike.setPostId(10L);//缺少点赞帖子的id
        Assertions.assertFalse(postLikeService.likePost(postLike));//点赞失败
    }
 // 发送消息service代码测试

  @Test

  void sendMessageTest() {



    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.sendMessage(123456L, null, ""));



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

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

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



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

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

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



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

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

    result.setData(1);

    Assertions.assertEquals(result, privateChatService.sendMessage(123456L, 3L, "你好世界"));



  }

  // 接收消息service代码测试

  @Test

  void receiveMessageTest() {



    Result<List<Map<String, Object>>> 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.receiveMessage(123456L, null, 1, 1));



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

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

    Assertions.assertEquals(result, privateChatService.receiveMessage(123456L, 3L, null, 1));



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

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

    Assertions.assertEquals(result, privateChatService.receiveMessage(123456L, 3L, -2, 1));



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

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

    Assertions.assertEquals(result, privateChatService.receiveMessage(123456L, 3L, 1, null));



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

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

    Assertions.assertEquals(result, privateChatService.receiveMessage(123456L, 3L, 1, -1));



    result = privateChatService.receiveMessage(123456L, 3L, 1, 2);

    System.out.println(result);

  }
  • 小螃蟹411

  • 修改组局接口

  • img

  • 评论组局接口

  • img

  • 获取组局列表接口

  • img

  • 模糊搜索

  • img

  • 丫比

  • 完成issue1

  <view id="no-list" wx:if="{{history_list.length==0}}">还没有私聊内容哦</view>
  <view id='clear-record' wx:else bind:tap="clearAllRecord">清空聊天记录</view>
//清空聊天记录
clearAllRecord:function(e){
    let that = this
    wx.showModal({
      title: '提示',
      content: '您确定要清空所有聊天记录吗',
      success (res) {
        if (res.confirm) {
          request({
            url : app.globalData.baseUrl + "/api/message/chat/clearlist",
            method : "POST",
            success : function(res){
              wx.showToast({
                title: '已清除聊天记录',
                icon:'success',
                duration:1000
              })
              that.setData({
                history_list : []
              })
            },
            fail : function(res){
              wx.showToast({
                title: '清楚聊天记录失败,请稍后重试',
                icon:'warn',
                duration : 1000
              })
            }
          })
        } else if (res.cancel) {
          console.log('用户点击取消')
        }
      }
    })
  },

会议图片

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
2021/06/17 -3 减少错误重复issue 0

错误重复issue

img

最新项目截图

头像私聊框

img

用户拉黑

img

img

我的->拉黑列表

img

img

img

发起私聊

img

私聊界面

img

(没人和我私聊就一个人自娱自乐)

私聊(消息)列表

img

清空聊天内容

img

img

搜索校友圈内容

img

搜索组局内容

img

img

组局详情

img

组员移除

img

img

加入组局

img

评论组局

img

嵌套评论

img

上传个人校园信息(随便拿了一张图片上传)

img

posted @ 2021-06-18 12:02  逐梦校友圈  阅读(81)  评论(2编辑  收藏  举报