基于springboot灾区物资管理系统

news2024/12/23 11:57:43

博主主页:猫头鹰源码

博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万+、专注Java技术领域和毕业设计项目实战

主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询

文末联系获取

项目介绍: 

该系统基于springboot技术,数据层为MyBatis,mysql数据库,具有完整的业务逻辑,适合选题:灾区、抗震救灾、物资管理、物资、Java项目、javaweb等

项目功能:

项目涉及功能:登录注册、个人信息维护、我要求助、我来帮助、查看求助申请、查看帮助申请、求助审核,账号管理、新闻资讯管理、首页轮播图动态设置、数据统计、日志查询。

系统包含技术:

后端:springboot、mybatis
前端:xadmin、js、css等
开发工具:idea
数据库:mysql 5.7
JDK版本:jdk1.8
语言:Java语言
是否Maven:是
页面类型:jsp

部分截图说明:

下面是登录页面

登录后可以查看首页

 查看帮助列表,可以进行帮助

个人可以发布求助

查看帮助申请

 求助审核

账号管理

数据统计

部分代码:

/**
     * 我要求助, 添加需要申请的物资信息
     * @param map
     * @return
     */
    @PostMapping("/addMaterials")
    public Result addMaterials(@RequestBody Map map) {
        if(map.size() == 0) {
            return Result.fail("申请失败");
        }
        Snowflake snowflake = new Snowflake(2,3);
        Materials materials = new Materials();
        String id = snowflake.nextIdStr();
        String applicationTime = DateUtil.format(new Date(), "yyyy-MM-dd");
        materials.setId(id);
        materials.setApplicationTime(applicationTime);
        materials.setStatus("3"); // 处于待帮助状态
        BeanUtil.fillBeanWithMap(map, materials, false);
        materialsService.saveOrUpdate(materials); // 添加物资
        String imgIds = map.get("imgIds").toString();
        List<String> imgIdsList = StrUtil.split(imgIds, ',');
        for(String imgId : imgIdsList) {
//            Materialsimg materialsimg = new Materialsimg();
//            materialsimg.setId(imgId);
//            materialsimg.setMaterialsId(id);
//            materialsimgService.saveOrUpdate(materialsimg);
            Disasterimg disasterimg = new Disasterimg();
            disasterimg.setId(imgId);
            disasterimg.setMaterialsId(id);
            disasterimgService.saveOrUpdate(disasterimg);
        }
        return Result.succ("申请成功");
    }

    /**
     * 我来帮助, 状态3, 3表示处于待接收帮助
     * @return
     */
    @GetMapping("/queryMaterials")
    public TableResult queryMaterials(String applicantId) {
        List<Materials> materialsList = materialsService.list(new QueryWrapper<Materials>().eq("status", "3").ne("applicantId", applicantId));
        TableResult tableResult = new TableResult(0, "ok",materialsList.size(),materialsList);
        return tableResult;
    }

    /**
     * 我的申请 - 求助申请
     * @param applicantId
     * @return
     */
    @GetMapping("/queryMaterialsByApplicantId")
    public TableResult queryMaterialsByApplicantId(String applicantId) {
        List<Materials> list = materialsService.list(new QueryWrapper<Materials>().eq("applicantId", applicantId));
        TableResult tableResult = new TableResult(0,"ok",list.size(),list);
        return tableResult;
    }

    /**
     * 我的申请 - 帮助申请
     * @param helperId
     * @return
     */
    @GetMapping("/queryMaterialsByHelperId")
    public TableResult queryMaterialsByHelperId(String helperId) {
        List<Materials> list = materialsService.list(new QueryWrapper<Materials>().eq("helperId", helperId));
        TableResult tableResult = new TableResult(0,"ok",list.size(),list);
        return tableResult;
    }

    /**
     * 物资详情
     * @param id
     * @return
     */
    @GetMapping("/queryMaterialsById")
    public Result queryMaterialsById(String id) {
        Materials materials = materialsService.queryMaterialsById(id);
        return Result.succ(materials);
    }

    /**
     * 我来帮助, 接受需要帮助物资, 状态置为 0, 表示从状态3变为0, 当前状态处于待审核状态
     * @param id
     * @return
     */
    @PostMapping("/editReceiveMaterialsById")
    public Result editReceiveMaterialsById(String id, String helperId, String helpType, String imgIds) {
        Materials materials = new Materials();
        materials.setId(id);
        materials.setStatus("0");
        materials.setHelperId(helperId);
        materials.setHelpType(helpType);

        List<String> imgIdsList = StrUtil.split(imgIds, ',');
        for(String imgId : imgIdsList) {
            Materialsimg materialsimg = new Materialsimg();
            materialsimg.setId(imgId);
            materialsimg.setMaterialsId(id);
            materialsimgService.saveOrUpdate(materialsimg);
        }
        materialsService.saveOrUpdate(materials);
        return Result.succ("申请帮助成功...");
    }

以上就是部分功能展示,从整体上来看,本系统功能是十分完整的,界面设计简洁大方,交互友好,数据库设计也很合理,规模适中,代码工整,清晰,适合学习使用。

好了,今天就到这儿吧,小伙伴们点赞、收藏、评论,一键三连走起呀,下期见~~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/914047.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

RestFul API 详解

目录 一、RestFul API 概述1.1 API1.2 RestFul API 二、REST概述三、RestFul API 规范3.1 动作3.2 路径&#xff08;接口命名&#xff09;3.3 过滤信息&#xff08;Filtering&#xff09;3.4 状态码&#xff08;Status Codes&#xff09; 四、RESTful 的极致 HATEOAS 一、RestF…

Node.JS教程

文章目录 Node.JSNode.js学习指南一、Node.js基础1.认识Node.js2.开发环境搭建3. 模块、包、commonJS3.1、为什么要有模块化开发&#xff1f;3.2、CommonJS规范3.3、 modules模块化规范写法 总结 Node.JS Node.js学习指南 服务端开发底层平台周边生态 学习前提 JavaScript、E…

2023年菏泽市中职学校技能大赛“网络安全”赛项规程

2023年菏泽市中职学校技能大赛 “网络安全”赛项规程 一、赛项名称 赛项名称&#xff1a;网络安全 赛项所属专业大类&#xff1a;信息技术类 二、竞赛目的 通过竞赛&#xff0c;检验参赛选手对网络、服务器系统等网络空间中各个信息系统的安全防护能力&#xff0c;以及分析…

第二篇论文写作启发点V5

第二篇论文写作启发点V5 2.LLFLow模型的缺陷&#xff0c;这是先验&#xff0c;如果先验出现错误&#xff0c;那么后面这个模型都会错误。而我们使用了学习的方式去解决 3. 参考文献和实验时的对照模型最好使用最新的&#xff0c;就是没有被引用过的&#xff0c;这样可以降低论文…

【大数据】Linkis 简述

Linkis 简述 1.引言2.背景3.设计初衷4.技术架构5.业务架构6.处理流程7.如何支撑高并发8.用户级隔离度和调度时效性9.总结 Linkis 是微众银行开源的一款 数据中间件&#xff0c;用于解决前台各种工具、应用&#xff0c;和后台各种计算存储引擎间的连接、访问和复用问题。 1.引言…

ImportError: cannot import name ‘SQLDatabaseChain‘ from ‘langchain‘解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

使用IDEA把Java程序打包成jar

点击左上角File,选择Project Structure 左侧选中Artifacts,点击右侧的号 选择JAR->From modules with dependencies 选择你要运行的main方法所在的类,选好了点击OK Artifacts添加完成后点击右下角OK 在工具栏中找到Build,选择Build Artifacts 刚才创建好的Artifacts,选择Bui…

食品饮料制造行业如何实现数字化转型和工业4.0

随着科技的不断进步和全球产业的不断发展&#xff0c;食品饮料制造行业也正迎来数字化转型和工业4.0的浪潮。这一转型不仅提升了生产效率和质量&#xff0c;还满足了消费者对更健康、更可持续产品的需求。本文将深入探讨食品饮料制造行业在数字化转型和工业4.0方面的趋势、挑战…

文心一言测评,满足你的生活工作方方面面

出品| 大力财经 文 | 魏力 随着国产大模型如雨后春笋般爆发&#xff0c;百度文心一言在多个中文任务中已经超越了ChatGPT。 文心一言的逻辑性强&#xff0c;能够满足提问者的各种需求&#xff0c;并在各个领域都有出色的表现。在多个领域&#xff0c;人工智能需要更准确地回…

SQL - Navicat查看SQL执行计划

我们在工作中肯定写过sql语句&#xff0c;也会进行一下sql语句的优化&#xff0c;在优化sql语句里看过相应的explain 在进行sql语句优化的时候&#xff0c;理解执行计划中各个参数的意思&#xff0c;弄明白执行的顺序&#xff0c;对sql优化有很大的帮助。 1、通过 Explain 命令…

编程的成就感到底在哪里?

一个好的开发人员如何成为一个伟大的开发人员&#xff1f; 暂时忘记伟大&#xff1a;一个体面的开发人员如何成为一个好的开发人员&#xff1f; 从步骤 1 到步骤 n 没有明确的路径。 哎呀&#xff0c;甚至不清楚步骤n是什么。 作为具有逻辑思维的开发人员类型&#xff0c;缺乏…

计算机视觉 -- 图像分割

文章目录 1. 图像分割2. FCN2.1 语义分割– FCN &#xff08;Fully Convolutional Networks&#xff09;2.2 FCN--deconv2.3 Unpool2.4 拓展–DeconvNet 3. 实例分割3.1 实例分割--Mask R-CNN3.2 Mask R-CNN3.3 Faster R-CNN与 Mask R-CNN3.4 Mask R-CNN&#xff1a;Resnet1013…

Gateway简述

前言 ​ 在微服务架构中&#xff0c;一个系统会被拆分为很多个微服务。那么作为客户端调用多个微服务接口的地址。另外微服务架构的请求中&#xff0c;90%的都携带认证信息/用户登录信息&#xff0c;都需要做相关的限制管理&#xff0c;API网关由此应允而生。 这样的架构会存…

解决github上http克隆代码问题(SSH方式)centos

常见报错如下&#xff1a; fatal: unable to access https://github.com/cnych/demo_service/: Failed connect to 127.0.0.1:1080; Connection refused 代理问题报错 fatal: unable to access https://github.com/cnych/emo_service/: TCP connection reset by peer https…

BLE4.2 ch582 TMOS使用

需要注意的是&#xff0c;TMOS&#xff08;任务管理系统&#xff09;的时基是625us。每个Take任务最多能有15个事件&#xff1b; 创建一个TMOS任务,需要分五步&#xff1a; 1.创建任务TakeID static uint8_t LEDTaskId INVALID_TASK_ID;2.定义一个事件标志 #define LEDTas…

【附安装包】SolidWorks2023安装教程

软件下载 软件&#xff1a;Solidowrks版本&#xff1a;2023语言&#xff1a;简体中文大小&#xff1a;15.76G安装环境&#xff1a;Win11/Win10/Win8/Win7硬件要求&#xff1a;CPU3.0GHz 内存8G(或更高&#xff09;下载通道①百度网盘丨64位下载链接&#xff1a;https://pan.ba…

测试驱动开发(TDD)

测试驱动开发&#xff08;TDD&#xff09; 本篇文章简单叙述一下什么是测试驱动开发&#xff0c;以及怎么进行测试驱动开发&#xff01; TDD &#xff08;Test Driven Development&#xff09;&#xff1a;&#xff08;源于极限编程&#xff08;XP&#xff09;&#xff09;在不…

树莓派时间更新为中国区时间

一、测试环境为&#xff1a;树莓派3B piraspberrypi:~/workfile/lorawan/lorawan-gw $ uname -a Linux raspberrypi 6.1.21-v7 #1642 SMP Mon Apr 3 17:20:52 BST 2023 armv7l GNU/Linux 测试过程中&#xff0c;请确保树莓派连接网络 &#xff1b; 二、安装ntp相关命令&…

【linux】2 Linux编译器-gcc/g++和Linux调试器-gdb

文章目录 一、Linux编译器-gcc/g使用1.1 背景知识1.2 gcc如何完成1.3 函数库1.4 gcc选项 二、linux调试器-gdb使用2.1 背景2.2 开始使用 总结 ヾ(๑╹◡╹)&#xff89;" 人总要为过去的懒惰而付出代价ヾ(๑╹◡╹)&#xff89;" 一、Linux编译器-gcc/g使用 1.1 背景…

Java面试题—2023年8月22日—HRCT

2023-08-22 14:13:52北京hu ruǎn chāo tōng 答案仅供参考&#xff0c;博主仅记录发表&#xff0c;没有实际查询&#xff0c;不保证正确性。 一、选择题&#xff08;单选&#xff09; 1、Java 语盲中&#xff0c;方法的重写(Overriding)和(Overloading)是多态性的不同表现下…