我和群众站一队-alpha冲刺第9日

我和群众站一队 2024-11-10 22:44:40

冲刺日记九:

这个作业属于哪个课程https://bbs.csdn.net/forums/2401_CS_SE_FZU
这个作业要求在哪里https://bbs.csdn.net/topics/619397949
这个作业的目标CodeArt团队实战总结
其他参考文献CSDN,博客园

目录

  • 冲刺日记九:
  • 一、项目进展
  • 二、存在的问题/遇到的困难及接下来的安排
  • 三、站立式会议照片
  • 四、今日完成度相关照片
  • 五、心得体会

一、项目进展

222200315张俊腾
进展一:编写了相关的单元测试,确保用户信息接口的缓存功能和批量查询逻辑正常工作。

      // RescueInfoMapper.java (使用MapStruct)
      package com.bafang.mapper;
      
      import com.bafang.dto.dto_rescue.RescueInfoDetail;
      import com.bafang.entity.entity_rescue.RescueInfo;
      import com.bafang.entity.entity_help.HelpRequest;
      import org.mapstruct.Mapper;
      import org.mapstruct.Mapping;
      import org.mapstruct.factory.Mappers;
      
      @Mapper(componentModel = "spring")
      public interface RescueInfoMapper {
          RescueInfoMapper INSTANCE = Mappers.getMapper(RescueInfoMapper.class);
      
          @Mapping(source = "helpRequest.roadCondition", target = "roadCondition")
          @Mapping(source = "helpRequest.weatherCondition", target = "weatherCondition")
          @Mapping(source = "helpRequest.assistanceType", target = "assistanceType")
          @Mapping(source = "helpRequest.suppliesNeeded", target = "suppliesNeeded")
          @Mapping(source = "helpRequest.detailedAddress", target = "detailedAddress")
          RescueInfoDetail toRescueInfoDetail(RescueInfo rescueInfo, HelpRequest helpRequest);
      }
    

222200309孙阳
进展一:新增发布求助消息,接取求助消息,求助被接取消息,审核通过消息,待审核消息,用户奖牌自增功能

img

222200304卢君豪
进展一:排查bug,优化代码
222200310李怡涵
进展一:增加了部分错误判定

private static final String COORDINATE_REGEX = "^[-+]?\\d+(\\.\\d+)?,[-+]?\\d+(\\.\\d+)?$";
    public static boolean isValidCoordinate(String input) {
        return input.matches(COORDINATE_REGEX);
    }
public Response<Null> uploadLive(UserUploadRequest userUploadRequest, Long userId){
        if (!isValidCoordinate(userUploadRequest.getLocation())){
            return new Response<>(400, "位置格式错误", null);
        }
        if (!userUploadRequest.getLevel().equals(1) || userUploadRequest.getLevel().equals(2)){
            return new Response<>(400, "权限等级错误", null);
        }
        UserUpload userUpload = new UserUpload();
        LiveInfo liveInfo = new LiveInfo();
        liveInfo.setUid(userId);
        liveInfo.setLocation(userUploadRequest.getLocation());
        liveInfo.setWeatherCondition(userUploadRequest.getWeatherCondition());
        liveInfo.setRoadCondition(userUploadRequest.getRoadCondition());
        liveInfo.setUtilitiesInfo(userUploadRequest.getUtilitiesInfo());
        Integer level = userUploadRequest.getLevel();
        liveInfo.setLevel(level);
        liveInfo.setIntroduction(userUploadRequest.getIntroduction());

        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss");
        LocalDateTime localDateTime = LocalDateTime.parse(userUploadRequest.getExpiryAt(), formatter);
        OffsetDateTime offsetDateTime = localDateTime.atOffset(ZoneOffset.UTC);
        LocalDateTime expiryTime = offsetDateTime.toLocalDateTime();
        liveInfo.setExpiryAt(expiryTime);

        //分为两种情况 1. 用户上传实况信息,设置审核状态未审核 2. 管理员(官方)上传实况信息,设置审核状态已审核
        if (level == 1){
            liveInfo.setAuditStatus(0);
        }
        else {
            liveInfo.setAuditStatus(1);
        }
        liveInfoRepository.save(liveInfo);

        return new Response<>(200, "success", null);
    }

222200311李梓玄
进展一:实现地图覆盖物的简单信息窗

img

进展二:修复首页地图不断尝试重复定位的问题
进展三:修复上传实况信息的时经纬度错误地使用用户位置而不是地图中心点
222200328夏振
进展一:新增管理员模块 统计某ip下账号uid
222200401丁昌彪
进展一:完成更换手机号,完成注销账号
222200312杨年申
进展一:完成UserController.updateToken的搭建

                @GetMapping("/update_token")
                public Response<String> updateToken(
                        @RequestParam("uid") Long uid,
                        @RequestHeader("Authorization") String token
                ) {
                    return userService.updateToken(uid,token);
                }

进展二:完善updateToken的Service

            public Response<String> updateToken(Long uid, String token) {

            //检查令牌
            Claims claims;
            try {
                claims = JwtUtil.extractClaims(token);
            } catch (MalformedJwtException e) {
                return new Response<>(400, "无效的令牌格式", null);
            } catch (ExpiredJwtException e) {
                return new Response<>(401, "令牌已过期", null);
            } catch (IllegalArgumentException e) {
                return new Response<>(400, "令牌不能为空", null);
            } catch (JwtException e) {
                return new Response<>(401, "无效的令牌", null);
            } catch (Exception e) {
                return new Response<>(500, "服务器内部错误", null);
            }

            long userId = Long.parseLong(claims.getSubject());

            if(userId!=uid) {
                return new Response<>(400, "uid不匹配", null);
            }
            else
            {
                String newToken = JwtUtil.generateToken(userId);
                return new Response<>(200, "success", newToken);
            }
        }

222200230梁蕴潆
进展一:编写冲刺日记
进展二:更新了捐赠列表组件部分代码

<template>
  <div class="donation-list">
    <h2>捐赠列表</h2>
    <table>
      <thead>
        <tr>
          <th>捐赠者姓名</th>
          <th>捐赠金额</th>
          <th>捐赠日期</th>
          <th>捐赠用途</th>
        </tr>
      </thead>
      <tbody>
        <tr v-for="donation in donations" :key="donation.id">
          <td>{{ donation.donorName }}</td>
          <td>{{ donation.amount }}</td>
          <td>{{ donation.date }}</td>
          <td>{{ donation.purpose }}</td>
        </tr>
      </tbody>
    </table>
  </div>
</template>

<script>
export default {
  name: 'DonationList',
  data() {
    return {
      donations: []
    };
  },
  created() {
    this.fetchDonations();
  },
  methods: {
    fetchDonations() {
      // 假设你有一个API端点用于获取捐赠数据
      axios.get('/api/donations')
        .then(response => {
          this.donations = response.data;
        })
        .catch(error => {
          console.error('Error fetching donations:', error);
        });
    }
  }
};
</script>


二、存在的问题/遇到的困难及接下来的安排

成员存在的问题/遇到的困难接下来的安排
222200315张俊腾- 遇到的问题:如何防止会出现的映射错误 - 解答:编写详细的映射测试用例,确保所有字段都能正确映射,并及时修复映射过程中发现的问题。进一步的功能测试
222200309孙阳打算测试消息功能、奖牌功能
222200304卢君豪进行测试,排查bug
222200310李怡涵- 继续修复已知的Bug,进行更完善的测试
222200311李梓玄测出了非常抽象的bug,地图控件默认3s重复定位一次,并且自己没分清楚相机位置和用户位置导致上传的经纬度错乱(已经fix)- 继续学习地图控件自定义信息窗 MarkerInfoWindowContent,计划实现简单的点击实况页接取求助功能- 继续完善上传实况和上传求助的字段检查
222200328夏振接暂时没有遇到问题接下来还是把我剩下没完成的功能设计实现,并总结今天完成的内容
222200401丁昌彪问题:后端字段缺失导致程序报错解决办法:询问其他同学,其他同学使用工具解决。完成实况记录
222200312杨年申问题、困难1 - 需要验证旧令牌的有效性,以确保用户当前是经过认证的。- 解答 - 在 Service 层中,解析旧令牌并验证其是否有效(如是否过期、签名是否正确等)。- 问题、困难2 - 更新令牌后,需要向用户返回成功或失败的信息。- 解答- 在 Controller 中构建适当的响应,返回更新结果。修改bug等
222200230梁蕴潆异步数据加载出现问题,暂未解决。总结今日的工作,初步实现下一项任务。

三、站立式会议照片

img

四、今日完成度相关照片

成员相关图片
222200315张俊腾

img

222200309孙阳

img

222200304卢君豪

img

222200310李怡涵

img

222200311李梓玄

img

222200328夏振

img

222200401丁昌彪

img

222200312杨年申

img

222200230梁蕴潆

img

五、心得体会

成员心得体会
222200315张俊腾在系统优化过程中,细节的处理和全面的测试同样重要
222200309孙阳APIFOX记得更新到最新版,,,
222200304卢君豪非常好的学习,使我排查bug
222200310李怡涵后端编写代码时需要多加考虑前端用户的传入的数据
222200311李梓玄bug咋这么多呢?需要赶一下进度了
222200328夏振感谢项目使我获得提升,谢谢
222200401丁昌彪要学会使用工具解决问题。
222200312杨年申关注安全性:令牌是用户身份验证的重要依据,务必保证其在更新过程中的安全性和完整性。实现良好的安全策略可以有效保护用户信息。
222200230梁蕴潆参与项目让我获得提升,学到很多新知识。
...全文
120 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

113

社区成员

发帖
与我相关
我的任务
社区描述
202401_CS_SE_FZU
软件工程 高校
社区管理员
  • FZU_SE_TeacherL
  • 助教_林日臻
  • 防震水泥
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧