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

「已注销」 「已注销」 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

冲刺日记九:

这个作业属于哪个课程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梁蕴潆参与项目让我获得提升,学到很多新知识。
...全文

相关推荐

产业园区运营负责人在组织科技活动时,如何实现线上化管理与高效转化?.docx

产业园区运营负责人在组织科技活动时,如何实现线上化管理与高效转化?

BIZKEEN

高校技术转移办公室人员如何高效管理并发布科技成果信息?.docx

高校技术转移办公室人员如何高效管理并发布科技成果信息?

BIZKEEN

CSDN首页 发布文章 CSDN同步助手 基于脉冲神经网络SNN的无人机编队控制研究(Matlab代码实现) 33 100 摘要:会在推荐、列表等场景外露,帮助读者快速了解内容,支持一键将正

内容概要:本文围绕基于密度的聚类算法展开,重点介绍了其在含有噪声的数据集中识别任意形状和大小簇的强大能力。文章系统阐述了该类算法的核心思想、技术优势及其相较于传统聚类方法在处理复杂数据结构时的突出表现。通过结合Matlab代码实现,详细展示了算法的应用流程与实际运行效果,帮助读者深入理解其工作机制与性能特点,并提供了直观的结果分析与可视化支持。; 适合人群:具备一定数据分析与编程基础,对机器学习、数据挖掘及模式识别感兴趣的科研人员、高校研究生以及工程技术人员。; 使用场景及目标:①应用于图像分割、异常检测、客户细分、地理信息系统等需要发现不规则聚类结构的实际问题;②通过Matlab编程实践掌握基于密度聚类算法(如DBSCAN、OPTICS等)的实现细节与参数调优策略;③提升在现实世界含噪数据中进行有效聚类分析的能力,解决传统方法难以应对的复杂聚类任务。; 阅读建议:建议读者在阅读过程中结合所提供的Matlab代码进行动手实践,尝试在不同数据集上运行算法并调整关键参数(如邻域半径、最小点数等),观察聚类结果的变化,从而加深对算法行为的理解。同时可参考文中提及的相关文献,进一步拓展对密度聚类理论体系与发展前沿的认识。

程序猿鑫

风光储互补发电PEM电解槽制氢系统仿真【附参考文献】

内容概要:本文围绕风光储互补发电与PEM电解槽制氢系统的仿真展开研究,构建了一个集成风能、太阳能、储能系统(如电池和废弃矿井小型抽水蓄能)与质子交换膜(PEM)电解槽的综合能源系统模型。基于Matlab/Simulink平台实现系统建模与仿真,重点分析在可再生能源出力具有强波动性和间歇性的条件下,如何通过储能系统进行功率平抑与能量时移,并将多余的可再生电能用于驱动PEM电解水制氢,实现电能向氢能的高效转化与长期存储。系统仿真涵盖了多源协调的能量管理策略、功率实时分配与动态响应特性、电解槽运行控制逻辑以及制氢效率评估等关键环节,深入探讨了电-氢协同转换的动态过程,旨在提升可再生能源的就地消纳能力与系统整体运行的稳定性、经济性,为构建高比例可再生能源接入的绿色低碳综合能源系统提供技术路径与仿真验证支持。; 适合人群:具备电力系统、新能源科学与工程、自动化控制或能源动力工程等相关专业背景的科研人员、高校研究生及能源领域的工程技术人员,尤其适合从事综合能源系统、可再生能源消纳、储能技术或绿氢制备研究的专业人士,熟悉Matlab/Simulink仿真环境者将更易于理解和应用该资源。; 使用场景及目标:①研究风、光、储多能互补系统的协调运行机制与能量管理策略;②探索利用可再生能源富余电力进行电解水制氢的技术可行性与系统集成方案,评估绿氢产量与能效;③优化PEM电解槽的启停控制与功率跟踪策略,提升制氢系统的动态响应速度与运行经济性,并为后续的氢能储存与利用奠定基础。; 阅读建议:建议读者结合文中提供的参考文献、详细的仿真模型文件及可能存在的建模报告,深入理解系统各组件的数学模型构建细节与控制算法的设计原理。通过亲手搭建或修改仿真模型,调整风、光出力曲线、储能容量及电解槽参数等变量,进行多工况仿真实验,对比分析不同场景下系统的功率流动、储能荷电状态(SOC)变化及制氢速率,从而全面掌握多能系统协同仿真与优化设计的核心技术。

wytm

改进鲸鱼算法(CIWOA)对23种测试函数测试Matlab代码

内容概要:本文主要介绍了改进鲸鱼算法(CIWOA)在23种标准测试函数上的Matlab代码实现与测试分析,旨在通过大量基准函数全面验证该算法在寻优能力、收敛速度及避免早熟收敛等方面的性能优势。文档围绕智能优化算法的核心技术展开,重点阐述了CIWOA算法对传统鲸鱼优化算法在种群初始化、收敛因子设计和位置更新机制等方面的改进策略,系统展示了其在复杂多模态、单峰与多峰函数上的测试结果,并提供了完整的Matlab代码资源,便于研究者复现算法并应用于实际工程优化问题中。; 适合人群:具备一定编程基础,熟悉Matlab语言,从事智能优化算法研究或应用的研究生、科研人员及工程技术人员。; 使用场景及目标:①用于学习和复现改进鲸鱼优化算法(CIWOA)的基本原理与实现过程;②在各类工程优化、参数寻优问题中作为高性能智能算法进行测试与应用;③通过23种测试函数全面评估算法的全局搜索能力、收敛稳定性及鲁棒性表现。; 阅读建议:建议结合提供的Matlab代码逐行调试运行,理解算法在不同测试函数上的表现差异,重点关注种群初始化策略、收敛因子动态调整和位置更新公式的改进逻辑,深入掌握算法核心模块的设计思想,以便将其有效迁移应用于实际科研与工程项目中的复杂优化问题。

荔枝科研社
评论
收藏 已收藏
分享
返回顶部