113
社区成员
发帖
与我相关
我的任务
分享| 这个作业属于哪个课程 | https://bbs.csdn.net/forums/2401_CS_SE_FZU |
|---|---|
| 这个作业要求在哪里 | https://bbs.csdn.net/topics/619397949 |
| 这个作业的目标 | CodeArt团队实战总结 |
| 其他参考文献 | CSDN,博客园 |
222200315张俊腾
进展一:修复接取求助功能的bug
// **添加的判断:防止用户接取自己发布的求助**
if (helpRequest.getUid().equals(userId)) {
return new Response<>(400, "您不能接取自己发布的求助", null);
}
222200309孙阳
进展一:测试用户登录,发布实况,审核实况;
进展二:测试用户登录,发布求助,审核求助,接取求助


222200304卢君豪
进展一:给求助信息增加发布时间
222200310李怡涵
进展一:新增了详细地址字段
@Column(name = "detailed_address", length = 255)
private String detailedAddress;
进展二:上传实况新增传入参数
public Response<Null> uploadLive(UserUploadRequest userUploadRequest, Long userId){
UserUpload userUpload = new UserUpload();
LiveInfo liveInfo = new LiveInfo();
liveInfo.setUid(userId);
liveInfo.setLocation(userUploadRequest.getLocation());
liveInfo.setDetailedAddress(userUploadRequest.getDetailedAddress());
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);
if(!messageService.Add_message(userId,"发布实况","发布实况成功,待审核")){
return new Response<>(401,"发布用户消息失败",null);
}
}
else {
liveInfo.setAuditStatus(1);
}
liveInfoRepository.save(liveInfo);
userUpload.setDetailAddress(userUploadRequest.getDetailedAddress());
return new Response<>(200, "success", null);
}
222200311李梓玄
进展一:实况信息增加详细地址字段,实况、求助信息返回增加发布时间
进展二:修复日期选择与实际少24小时的bug
222200328夏振
进展一: 修复冲突和bug
222200401丁昌彪
进展一:完成我的实况记录
222200312杨年申
进展一:删除重复的token识别,改用过滤器在Controller层过滤
Response<String> validationResult = JwtUtil.validateToken(token);
if (token == null || validationResult.getStatus() != 200) {
response.setContentType("application/json");
response.setStatus(validationResult.getStatus());
objectMapper.writeValue(response.getWriter(), validationResult);
return false;
}
进展二:考虑用过滤器在Controller层过滤删除后的用户
UserDetails userDetails = userService.loadUserByUserId(uid);
if (userDetails == null) {
Response<String> userNotFound = new Response<>(HttpServletResponse.SC_UNAUTHORIZED,"User is not found",null);
response.setContentType("application/json");
response.setStatus(userNotFound.getStatus());
objectMapper.writeValue(response.getWriter(), userNotFound);
return false;
}
222200230梁蕴潆
进展一:编写冲刺日记
进展二:测试负责部分
| 成员 | 存在的问题/遇到的困难 | 接下来的安排 |
|---|---|---|
| 222200315张俊腾 | 无 | 进一步的功能测试 |
| 222200309孙阳 | 无 | 打算测试消息功能、奖牌功能 |
| 222200304卢君豪 | 无 | 无 |
| 222200310李怡涵 | 无 | 无 |
| 222200311李梓玄 | - 地图控件首次加载时,会使用默认的经纬度(北京的位置),导致无法获取到实况信息和求助信息 - 重复加载实况信息和求助信息时,marker会短暂消失 | - 继续学习地图控件自定义信息窗 MarkerInfoWindowContent,计划实现简单的点击实况页接取求助功能 - 接入高德地图的地理编码功能,自动填写详细地址 - 优化地图获取最佳实况和求助信息的逻辑,避免marker消失和自定义信息窗无法关闭 |
| 222200328夏振 | 暂时没有遇到问题 | 接下来还是把我剩下没完成的功能设计实现,并总结今天完成的内容 |
| 222200401丁昌彪 | 无 | 完成之前未完成的部分功能 |
| 222200312杨年申 | - 问题、困难1 - JWT Token 可能没有被正确地传递到请求中,导致过滤器无法处理。- 解答- 在过滤器中提取 Token 时,首先要判断请求头中是否存在uthorization请求头 - 问题、困难2 - JWT Token 可能会过期、被篡改或无效,导致验证失败。- 解答 - 在过滤器中对 Token 进行有效性验证,检查是否过期并验证签名。 | 无 |
| 222200230梁蕴潆 | 无 | 无 |

| 成员 | 相关图片 |
|---|---|
| 222200315张俊腾 |
|
| 222200309孙阳 |
|
| 222200304卢君豪 |
|
| 222200310李怡涵 |
|
| 222200311李梓玄 |
|
| 222200328夏振 |
|
| 222200401丁昌彪 |
|
| 222200312杨年申 |
|
| 成员 | 心得体会 |
|---|---|
| 222200315张俊腾 | 在系统优化过程中,细节的处理和全面的测试同样重要 |
| 222200309孙阳 | 代码编写要专心,否则只会永远debug |
| 222200304卢君豪 | 非常好的学习,使我完成alpha冲刺 |
| 222200310李怡涵 | 后端编写代码时需要多加考虑前端用户的传入的数据 |
| 222200311李梓玄 | 啊啊啊做不完了 |
| 222200328夏振 | 感谢项目使我获得提升,谢谢 |
| 222200401丁昌彪 | 先开发再优化。 |
| 222200312杨年申 | - 过滤器的使用必须小心谨慎:过滤器通常是应用中处理请求的第一步,因此在使用过滤器时,要确保处理的逻辑简洁且高效。- 保持代码简洁性和可维护性:虽然过滤器在处理 Token 时非常重要,但也需要保持代码的简洁性和可维护性。避免在过滤器中执行过于复杂的业务逻辑,尽量将逻辑划分到服务层中。 |
| 222200230梁蕴潆 | 参与项目让我获得提升,学到很多新知识。 |