113
社区成员
发帖
与我相关
我的任务
分享| 这个作业属于哪个课程 | 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孙阳
进展一:新增发布求助消息,接取求助消息,求助被接取消息,审核通过消息,待审核消息,用户奖牌自增功能

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李梓玄
进展一:实现地图覆盖物的简单信息窗

进展二:修复首页地图不断尝试重复定位的问题
进展三:修复上传实况信息的时经纬度错误地使用用户位置而不是地图中心点
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梁蕴潆 | 异步数据加载出现问题,暂未解决。 | 总结今日的工作,初步实现下一项任务。 |

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