城固城乡建设规划网站/域名收录提交入口
文章目录
- 物资捐赠管理系统
- 一、项目演示
- 二、项目介绍
- 三、系统部分功能截图
- 四、部分代码展示
- 五、底部获取项目(9.9¥带走)
物资捐赠管理系统
一、项目演示
爱心捐赠系统
二、项目介绍
基于springboot的爱心捐赠管理系统
开发语言:java
运行环境:idea或eclipse 数据库:mysql
技术:springboot+mybatis+html+layui+echarts
爱心捐赠系统(用户端+管理端)
用户端功能模块:登录+注册+衣物捐赠+捐赠浏览+论坛交流+帖子留言+爱心许愿+个人主页
管理端功能模块:登录+用户管理+捐赠记录管理+论坛管理+留言管理+心愿管理
三、系统部分功能截图
四、部分代码展示
package com.lc.controller;import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.lc.entity.Article;
import com.lc.entity.User;
import com.lc.service.ArticleService;
import com.lc.utils.UserContext;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.*;/*** 文章信息控制层*/
@RestController
@RequestMapping("/article")
public class ArticleController {@AutowiredArticleService articleService;/*** 文章信息数据表格接口*/@RequestMapping(value = "/getTableData", produces = "application/json; charset=utf-8")public String getTableData(@RequestBody Article article) {Map<String, Object> pageDataMap = new HashMap<>(3);//默认分页参数if(article.getCurrentPage() == null || article.getLimitCount() == null){article.setCurrentPage(1);article.setLimitCount(10);}List<Article> dataList = articleService.selectList(article);for(Article a : dataList){if(!StrUtil.isBlank(a.getPicStr())){a.setCoverImg(a.getPicStr().split(",")[0]);}}Integer totalCount = articleService.selectCount(article);pageDataMap.put("code", 0);pageDataMap.put("data", dataList);pageDataMap.put("count", totalCount);return JSON.toJSONString(pageDataMap);}/*** 文章信息保存*/@RequestMapping("/saveArticle")public String saveArticle(@RequestBody Article article) {return articleService.saveArticle(article);}/*** 文章信息删除(物理删除)*/@RequestMapping("/deleteArticle")public String deleteArticle(String id) {return articleService.deletePhysical(id);}/*** 我的文章数据获取*/@RequestMapping("/selfArticle")public List<Article> selfArticle() {User currentUser = UserContext.getCurrentUser();List<Article> articleList = articleService.selectByUserId(currentUser.getId());return articleList;}/*** 根据id获取*/@RequestMapping("/getById")public Article getById(String id) {Article article = articleService.selectEntity(id);if(!StrUtil.isBlank(article.getPicStr())){List<String> picList = new ArrayList<>(Arrays.asList(article.getPicStr().split(",")));article.setPicList(picList);}return article;}}
package com.lc.controller;import cn.hutool.core.date.DateField;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSON;
import com.lc.entity.Donation;
import com.lc.entity.User;
import com.lc.service.DonationService;
import com.lc.utils.UserContext;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.*;
import java.util.stream.Collectors;/*** 捐赠信息控制层*/
@RestController
@RequestMapping("/donation")
public class DonationController {@AutowiredDonationService donationService;/*** 捐赠信息数据表格接口*/@RequestMapping(value="/getTableData", produces="application/json; charset=utf-8")public String getTableData(@RequestBody Donation donation) {Map<String, Object> map = donationService.selectPage(donation);return JSON.toJSONString(map);}/*** 后台捐赠信息保存*/@RequestMapping("/saveDonation")public String saveDonation(@RequestBody Donation donation) {return donationService.save(donation);}/*** 前台捐赠信息保存*/@RequestMapping("/insertDonationList")public String insertDonationList(@RequestBody List<Donation> list) {return donationService.insertDonationList(list);}/*** 捐赠信息删除(物理删除)*/@RequestMapping("/deleteDonation")public String deleteDonation(String id) {return donationService.deletePhysical(id);}/*** 我的捐赠记录数据获取*/@RequestMapping("/selfDonation")public List<Map<String, Object>> selfDonation(){User currentUser = UserContext.getCurrentUser();List<Map<String, Object>> listMap = donationService.countSelfDonation(currentUser.getId());return listMap;}/*** 后台修改捐赠记录状态*/@RequestMapping("/updateVerify")public String updateVerify(String id, Integer verify){return donationService.updateVerifyById(id, verify);}/*** 前台页面第一个饼状图数据接口*/@RequestMapping("/echartsDataOne")public List<Map<String, String>> echartsDataOne(){List<Donation> allList = donationService.selectAllList();Map<String, List<Donation>> allMap = allList.stream().peek(o -> {if(o.getKind() == 0){o.setKindName("上衣");}else if(o.getKind() == 1){o.setKindName("裤子");}else if(o.getKind() == 2){o.setKindName("袜子");}else if(o.getKind() == 3){o.setKindName("手套");}else if(o.getKind() == 4){o.setKindName("帽子");}else if(o.getKind() == 5){o.setKindName("其他");}}).collect(Collectors.groupingBy(Donation::getKindName));List<Map<String, String>> listMap = new ArrayList<>();for(Map.Entry<String, List<Donation>> map : allMap.entrySet()){Double sum = map.getValue().stream().mapToDouble(Donation::getNumber).sum();Map<String, String> itemMap = new HashMap<String, String>();itemMap.put("value", String.valueOf(sum));itemMap.put("name", map.getKey());listMap.add(itemMap);}return listMap;}/*** 前台页面第二个柱状图数据接口*/@RequestMapping("/echartsDataTwo")public Map<String, List<String>> echartsDataTwo(){Map<String, List<String>> resultMap = new HashMap<>();//获取最近七天的时间段(往前找3天+往后找三天+今天一天)List<String> dateList = new ArrayList<>();String today= DateUtil.today();Date date = DateUtil.parse(today);for(int i=0; i<7; i++){String d = DateUtil.format(DateUtil.offset(date, DateField.DAY_OF_MONTH, -6 + i), "yyyy-MM-dd");dateList.add(d);}//根据日期获取数据List<String> dataList = new ArrayList<>();List<Donation> allList = donationService.selectAllList();for(String currentDate : dateList){List<Donation> list = allList.stream().filter(o -> currentDate.equals(o.getCreateDate().split(" ")[0])).collect(Collectors.toList());if(list.isEmpty()){dataList.add(String.valueOf(0));}else{dataList.add(String.valueOf(list.stream().mapToDouble(Donation::getNumber).sum()));}}resultMap.put("dateList", dateList);resultMap.put("dataList", dataList);return resultMap;}/*** 前台页面第三个折现图数据接口*/@RequestMapping("/echartsDataThree")public Map<String, List<String>> echartsDataThree(){Map<String, List<String>> resultMap = new HashMap<>();//获取最近七天的时间段(往前找6天+今天一天)List<String> dateList = new ArrayList<>();String today= DateUtil.today();Date date = DateUtil.parse(today);for(int i=0; i<7; i++){String d = DateUtil.format(DateUtil.offset(date, DateField.DAY_OF_MONTH, -6 + i), "yyyy-MM-dd");dateList.add(d);}//根据日期获取数据List<Donation> allList = donationService.selectAllList();List<String> agreeList = new ArrayList<>();List<String> refuseList = new ArrayList<>();List<String> waitList = new ArrayList<>();for(String currentDate : dateList){List<Donation> list = allList.stream().filter(o -> currentDate.equals(o.getCreateDate().split(" ")[0])).collect(Collectors.toList());agreeList.add(String.valueOf(list.stream().filter(o -> o.getVerify() == 1).count()));refuseList.add(String.valueOf(list.stream().filter(o -> o.getVerify() == 2).count()));waitList.add(String.valueOf(list.stream().filter(o -> o.getVerify() == 0).count()));}resultMap.put("dateList", dateList);resultMap.put("agreeList", agreeList);resultMap.put("refuseList", refuseList);resultMap.put("waitList", waitList);return resultMap;}}
package com.lc.controller;import com.alibaba.fastjson.JSON;
import com.lc.entity.Article;
import com.lc.entity.Message;
import com.lc.service.MessageService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.List;
import java.util.Map;/*** 留言信息控制层*/
@RestController
@RequestMapping("/message")
public class MessageController {@AutowiredMessageService messageService;/*** 留言信息数据表格接口*/@RequestMapping(value = "/getTableData", produces = "application/json; charset=utf-8")public String getTableData(@RequestBody Message message) {Map<String, Object> map = messageService.selectPage(message);return JSON.toJSONString(map);}/*** 留言信息保存*/@RequestMapping("/saveMessage")public String saveMessage(@RequestBody Message message) {return messageService.saveMessage(message);}/*** 留言信息删除(物理删除)*/@RequestMapping("/deleteMessage")public String deleteMessage(String id) {return messageService.deletePhysical(id);}/*** 根据文章id获取留言*/@RequestMapping("/getByArticleId")public List<Message> getByArticleId(String articleId) {List<Message> messageList = messageService.selectByArticleId(articleId);return messageList;}}
五、底部获取项目(9.9¥带走)
有问题,或者需要协助调试运行项目的也可以
相关文章:

物资捐赠管理系统
文章目录 物资捐赠管理系统一、项目演示二、项目介绍三、系统部分功能截图四、部分代码展示五、底部获取项目(9.9¥带走) 物资捐赠管理系统 一、项目演示 爱心捐赠系统 二、项目介绍 基于springboot的爱心捐赠管理系统 开发语言:…...

YOLOv8改进 | 检测头篇 | 独创RFAHead检测头超分辨率重构检测头(适用Pose、分割、目标检测)
一、本文介绍 本文给大家带来的改进机制是RFAHead,该检测头为我独家全网首发,本文主要利用将空间注意力机制与卷积操作相结合的卷积RFAConv来优化检测头,其核心在于优化卷积核的工作方式,特别是在处理感受野内的空间特征时。RFAConv主要的优点就是增加模型的特征提取能力,…...

私有化部署一个吃豆人小游戏
目录 效果 安装步骤 1.安装并启动httpd 2.下载代码 3.启动httpd 使用 效果 安装步骤 1.安装并启动httpd yum -y install httpd 2.下载代码 进入目录 cd /var/www/html/ 下载 git clone https://gitee.com/WangZhe168_admin/pacman-canvas.git 3.启动httpd syste…...

社区店经营管理新思路:提升业绩的秘诀
作为一名资深的鲜奶吧创业者,我深知在社区经营一家店铺所面临的挑战与机遇。经过5年的探索与实践,我总结出了一套提升社区店业绩的秘诀,今天就和大家分享一下。 一、明确目标客户群体,精准定位 在社区开店,首先要明确…...

统一数据格式返回,统一异常处理
目录 1.统一数据格式返回 2.统一异常处理 3.接口返回String类型问题 1.统一数据格式返回 添加ControllerAdvice注解实现ResponseBodyAdvice接口重写supports方法,beforeBodyWrite方法 /*** 统一数据格式返回的保底类 对于一些非对象的数据的再统一 即非对象的封…...

arm 平台安装snort3
本文来自原创,转载请说明来源。谢谢配合。 选择初衷 最近在学习渗透相关课程,回想起曾经拥有自己的域名和服务器的经历。不幸的是,服务器被注入了木马文件,起初并没有察觉。直到我加入了定时任务,才发现了这个问题。当时我下定决心要打造一个安全的网站,以保护自己的网…...

【Ubuntu 20.04/22.04 LTS】最新 esp-matter SDK 软件编译环境搭建步骤
仓库链接:esp-matter SDK官方软件说明:ESP Matter Programming Guide官方参考文档:使用 Matter-SDK 快速搭建 Matter 环境 (Linux) 环境要求 Ubuntu 20.04 或 Ubuntu22.04网络环境支持访问 Gihub 在安装 esp-matter SDK 软件编译环境之前&a…...

【C语言】案例:输出n位水仙花数
1.题目 输入一个整数n,输出所有n位的水仙花数 2.代码 #include <stdio.h> #include <math.h>// 计算数字的位数 int countDigits(int num) {int count 0;while (num ! 0) {num / 10;count;}return count; }// 计算水仙花数 void findNarcissisticNu…...

代码随想录算法训练营第四十六天(动态规划篇)|01背包(滚动数组方法)
01背包(滚动数组方法) 学习资料:代码随想录 (programmercarl.com) 题目链接(和上次一样):题目页面 (kamacoder.com) 思路 使用一维滚动数组代替二维数组。二维数组的解法记录在:代码随想录算…...

【QT+QGIS跨平台编译】之三十:【NetCDF+Qt跨平台编译】(一套代码、一套框架,跨平台编译)
文章目录 一、NetCDF介绍二、文件下载三、文件分析四、pro文件4.1 netcdf34.2 netcdf44.3 netcdf五、编译实践一、NetCDF介绍 NetCDF(Network Common Data Form)是一种用于存储和处理科学数据的文件格式和库。它提供了一种自描述、可移植和可扩展的方式来组织多维数据,并支…...

从0开始图形学(光栅化)
前言 说起图形学,很多人就会提到OpenGL,但其实两者并不是同一个东西。引入了OpenGL加重了学习的难度和成本,使得一些原理并不直观。可能你知道向量,矩阵,纹理,重心坐标等概念,但就是不知道这些概…...

B站弹幕分析系统
视频展示,请点击。 尚硅谷案例 utllib的基本使用 # 使用urllib来获取百度首页的源码 import urllib.request# (1)定义一个url 就是你要访问的地址 url http://www.baidu.com# (2)模拟浏览器先服务器发送请求 response响应 response urllib.request.urlopen(url)…...

戴上HUAWEI WATCH GT 4,解锁龙年新玩法
春节将至,华为WATCH GT 4作为一款颜值和实力并存的手表,能为节日增添了不少趣味和便利。无论你是钟情于龙年表盘或定制属于自己的表盘,还是过年用来抢红包或远程操控手机拍全家福等等,它都能成为你的“玩伴”。接下来,…...

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之StepperItem组件
鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之StepperItem组件 一、操作环境 操作系统: Windows 10 专业版、IDE:DevEco Studio 3.1、SDK:HarmonyOS 3.1 二、StepperItem组件 用作Stepper组件的页面子组件。 子组件 无。 接口 St…...

2024-02-08 Unity 编辑器开发之编辑器拓展1 —— 自定义菜单栏与窗口
文章目录 1 特殊文件夹 Editor2 在 Unity 菜单栏中添加自定义页签3 在 Hierarchy 窗口中添加自定义页签4 在 Project 窗口中添加自定义页签5 在菜单栏的 Component 菜单添加脚本6 在 Inspector 为脚本右键添加菜单7 加入快捷键8 小结 1 特殊文件夹 Editor Editor 文件夹是 …...

Intellij IDEA各种调试+开发中常见bug
Intellij IDEA中使用好Debug,主要包括如下内容: 一、Debug开篇 ①、以Debug模式启动服务,左边的一个按钮则是以Run模式启动。在开发中,我一般会直接启动Debug模式,方便随时调试代码。 ②、断点:在左边行…...

文件上传-Webshell
Webshell简介 webshell就是以aspphpjsp或者cgi等网页文件形式存在的一种命令执行环境,也可以将其称做为一种网页木马后门。 攻击者可通过这种网页后门获得网站服务器操作权限,控制网站服务器以进行上传下载文件、查看数据库、执行命令等… 什么是木马 …...

掌握虚拟化与网络配置之道:深入浅出VMware及远程管理技巧
目录 虚拟机介绍 虚拟机的关键字 服务器架构的发展 为什么用虚拟机VMware 虚拟机和阿里云的区别 功能角度 价格因素 应用场景 优势方面 找到windows的服务管理 配置VMware 关于VMware安装的几个服务 vmware如何修改各种网络配置 关于NAT的详细信息(了解) NAT(网…...

【漏洞复现】狮子鱼CMS某SQL注入漏洞
Nx01 产品简介 狮子鱼CMS(Content Management System)是一种网站管理系统,它旨在帮助用户更轻松地创建和管理网站。该系统拥有用户友好的界面和丰富的功能,包括页面管理、博客、新闻、产品展示等。通过简单直观的管理界面…...

Python学习之路-Tornado基础:安全应用
Python学习之路-Tornado基础:安全应用 Cookie 对于RequestHandler,除了在初始Tornado中讲到的之外,还提供了操作cookie的方法。 设置 set_cookie(name, value, domainNone, expiresNone, path‘/’, expires_daysNone) 参数说明: 参数名…...

6.0 Zookeeper session 基本原理详解教程
客户端与服务端之间的连接是基于 TCP 长连接,client 端连接 server 端默认的 2181 端口,也就 是 session 会话。 从第一次连接建立开始,客户端开始会话的生命周期,客户端向服务端的ping包请求,每个会话都可以设置一个…...

生成式人工智能攻击的一年:2024
趋势科技最近公布了其关于预期最危险威胁的年度研究数据。生成人工智能的广泛可用性和质量将是网络钓鱼攻击和策略发生巨大变化的主要原因。 趋势科技宣布推出“关键可扩展性”,这是著名年度研究的新版本,该研究分析了安全形势并提出了全年将肆虐的网络…...

K8S之Namespace的介绍和使用
Namespace的理论和实操 Namespace理论说明Namespace实操创建、查看命名空间使用ResouceQuota 对Namespace做资源限额更多ResouceQuota 的使用 Namespace理论说明 命名空间定义 K8s支持多个虚拟集群,它们底层依赖于同一个物理集群。 这些虚拟集群被称为命名空间&…...

封装sku组件
1. 准备模板渲染规格数据 使用Vite快速创建一个Vue项目,在项目中添加请求插件axios,然后新增一个SKU组件,在根组件中把它渲染出来,下面是规格内容的基础模板 <script setup> import { onMounted, ref } from vue import axi…...

Unity笔记:相机移动
基础知识 鼠标输入 在Unity中,开发者在“Edit” > “Project Settings” > “Input Manager”中设置输入,如下图所示: 在设置了Mouse X后,Input.GetAxis("Mouse X")返回的是鼠标在X轴上的增量值。这意味着它会…...

Java项目管理01-Maven基础
一、Maven的常用命令和生命周期 1.Maven的常用命令使用方式 complie:编译,将java文件编译为class字节码文件 clean:清理,删除字节码文件 test:测试,运行项目中的test类 package:打包&#x…...

计算机网络(第六版)复习提纲30
B HTTP 名词解释:协议HTTP定义了浏览器怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传给浏览器。从层次的角度看,HTTP是面向事务的应用层协议,它是万维网上可靠地交换文件的重要基础,不仅能够传送完成超文本…...

基于SSM的图书管理系统
点击以下链接获取资源: https://download.csdn.net/download/qq_64505944/88820548?spm1001.2014.3001.5503 Java项目-6 librarySystem 开发完毕 万一你要作为课程设计或者毕设,不太会配,可以到下面我博客中私信,我帮你远程部…...

【GAMES101】Lecture 19 相机
目录 相机 视场 Field of View (FOV) 曝光(Exposure) 感光度(ISO) 光圈 快门 相机 成像可以通过我们之前学过的光栅化成像和光线追踪成像来渲染合成,也可以用相机拍摄成像 今天就来学习一下相机是如何成像的…...

《走进科学》灵异事件:Nginx配置改了之后一直报错
想要安装WoWSimpleRegistration,就定下来要用nginxphp8 ,结果nginx那里加上php的支持之后一直报错: $ sudo service nginx restart Job for nginx.service failed because the control process exited with error code. See "systemctl…...