springboot(ssm大學生志愿者管理系統 志愿者管理平臺 Java系統

springboot(ssm大學生志愿者管理系統 志愿者管理平臺 Java系統

開發語言:Java

框架:ssm/springboot + vue

JDK版本:JDK1.8(或11)

服務器:tomcat

數據庫:mysql 5.7(或8.0)

數據庫工具:Navicat

開發軟件:eclipse//idea

依賴管理包:Maven

您是否想要一個與眾不同的網站?我這提供精美的基于springboot(ssm)+vue框架的網站源碼,涵蓋多個領域,采用輕量級數據庫mysql,適用于個人學習等。

另外,如需了解更多代碼細節或修改代碼功能界面,本人都能提供技術支持。(聲音嘎嘎好聽喔!)

祝你早日找到合適的代碼哦~


package com.controller;import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.Map;import javax.servlet.http.HttpServletRequest;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;import com.annotation.IgnoreAuth;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.entity.TokenEntity;
import com.entity.UserEntity;
import com.service.TokenService;
import com.service.UserService;
import com.utils.CommonUtil;
import com.utils.MPUtil;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.ValidatorUtils;/*** 登錄相關*/
@RequestMapping("users")
@RestController
public class UserController{@Autowiredprivate UserService userService;@Autowiredprivate TokenService tokenService;/*** 登錄*/@IgnoreAuth@PostMapping(value = "/login")public R login(String username, String password, String captcha, HttpServletRequest request) {UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));if(user==null || !user.getPassword().equals(password)) {return R.error("賬號或密碼不正確");}String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());return R.ok().put("token", token);}/*** 注冊*/@IgnoreAuth@PostMapping(value = "/register")public R register(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {return R.error("用戶已存在");}userService.insert(user);return R.ok();}/*** 退出*/@GetMapping(value = "logout")public R logout(HttpServletRequest request) {request.getSession().invalidate();return R.ok("退出成功");}/*** 密碼重置*/@IgnoreAuth@RequestMapping(value = "/resetPass")public R resetPass(String username, HttpServletRequest request){UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));if(user==null) {return R.error("賬號不存在");}user.setPassword("123456");userService.update(user,null);return R.ok("密碼已重置為:123456");}/*** 列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,UserEntity user){EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/list")public R list( UserEntity user){EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();ew.allEq(MPUtil.allEQMapPre( user, "user"));return R.ok().put("data", userService.selectListView(ew));}/*** 信息*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") String id){UserEntity user = userService.selectById(id);return R.ok().put("data", user);}/*** 獲取用戶的session用戶信息*/@RequestMapping("/session")public R getCurrUser(HttpServletRequest request){Long id = (Long)request.getSession().getAttribute("userId");UserEntity user = userService.selectById(id);return R.ok().put("data", user);}/*** 保存*/@PostMapping("/save")public R save(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {return R.error("用戶已存在");}userService.insert(user);return R.ok();}/*** 修改*/@RequestMapping("/update")public R update(@RequestBody UserEntity user){
//        ValidatorUtils.validateEntity(user);UserEntity u = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername()));if(u!=null && u.getId()!=user.getId() && u.getUsername().equals(user.getUsername())) {return R.error("用戶名已存在。");}userService.updateById(user);//全部更新return R.ok();}/*** 刪除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){userService.deleteBatchIds(Arrays.asList(ids));return R.ok();}
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/208257.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/208257.shtml
英文地址,請注明出處:http://en.pswp.cn/news/208257.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Python與ArcGIS系列(十五)根據距離抓取字段

目錄 0 簡述1 實例需求2 arcpy開發腳本0 簡述 在處理gis數據的時候,會遇到這種需求:將一個圖層與另一個圖層中相近的要素進行字段賦值。本篇將介紹如何利用arcpy及arcgis的工具箱實現這個功能。 1 實例需求 為了介紹這個功能的實現,我們需要有一個特定的功能需求。在這里選…

視頻號小店怎么選品?選品技巧及思維,教程如下!

我是電商珠珠 開通視頻號小店后&#xff0c;除了定類目之外&#xff0c;最終的就是選品了。 很多人不知道怎么選品&#xff0c;特別是新手小白&#xff0c;做起來比較難一些。店鋪也會很少有流量進入&#xff0c;沒有流量曝光的話&#xff0c;店鋪的銷量就更不用提了。 我做…

L1-019:誰先倒

題目描述 劃拳是古老中國酒文化的一個有趣的組成部分。酒桌上兩人劃拳的方法為&#xff1a;每人口中喊出一個數字&#xff0c;同時用手比劃出一個數字。如果誰比劃出的數字正好等于兩人喊出的數字之和&#xff0c;誰就輸了&#xff0c;輸家罰一杯酒。兩人同贏或兩人同輸則繼續下…

【Android】Java NIO(New I/O)的`Selector`類來實現非阻塞的Socket監聽

如果你不想使用循環來監聽客戶端的連接和數據&#xff0c;你可以使用Java NIO&#xff08;New I/O&#xff09;的Selector類來實現非阻塞的Socket監聽。Selector類提供了一種選擇一組已經就緒的通道的機制&#xff0c;這樣你就不需要使用循環來等待連接和數據。 以下是使用Sel…

Axure網頁端高復用組件庫, 下拉菜單文件上傳穿梭框日期城市選擇器

作品說明 組件數量&#xff1a;共 11 套 兼容軟件&#xff1a;Axure RP 9/10&#xff0c;不支持低版本 應用領域&#xff1a;web端原型設計、桌面端原型設計 作品特色 本作品為「web端組件庫」&#xff0c;高保真高交互 (帶仿真功能效果)&#xff1b;運用了動態面板、中繼…

使用pytorch查看中間層特征矩陣以及卷積核參數

這篇是我對嗶哩嗶哩up主 霹靂吧啦Wz 的視頻的文字版學習筆記 感謝他對知識的分享 1和4是之前講過的alexnet和resnet模型 2是分析中間層特征矩陣的腳本 3是查看卷積核參數的腳本 1設置預處理方法 和圖像訓練的時候用的預處理方法保持一致 2實例化模型 3載入之前的模型參數 4載入…

小白理解GPT的“微調“(fine-tuning)

對于GPT-3.5&#xff0c;我們實際上并不能在OpenAI的服務器上直接訓練它。OpenAI的模型通常是預訓練好的&#xff0c;也就是說&#xff0c;它們已經在大量的語料上進行過訓練&#xff0c;學習到了語言的基本規則和模式。 然而&#xff0c;OpenAI提供了一種叫做"微調"…

Pandas操作數據庫

一&#xff1a;Pandas讀取數據庫數據 二&#xff1a;Pandas讀取海量數據 三&#xff1a;Pandas向數據庫存數據 四&#xff1a;Pandas寫入海量數據

理想中的PC端剪切板工具,應該有哪些功能?

在日常工作中&#xff0c;我們經常需要復制和粘貼文本、圖片和鏈接。 首先&#xff0c;這款剪切板功能應該在不使用時不顯示窗口&#xff0c;以避免干擾我們的工作。它應該在后臺靜默記錄剪切板歷史&#xff0c;以便我們可以隨時查看之前的記錄。 其次&#xff0c;當我們需要…

A類中創建posix線程,線程間如何通信

如果你在類A中使用pthread_create創建了線程B&#xff0c;而線程B需要與類A進行通信&#xff0c;你可以考慮以下兩種方法&#xff1a; 使用回調函數&#xff1a; 在創建線程B時&#xff0c;通過參數傳遞一個回調函數&#xff0c;該回調函數可以在線程B中執行&#xff0c;并在完…

上海寶山區12月8日發生一起火災 火勢已撲滅 揭秘AI如何“救援”

在這個冬日的早晨&#xff0c;上海寶山區的居民經歷了一場驚心動魄的火災。幸運的是&#xff0c;火勢很快就被撲滅了。但這起事件不禁讓我們思考&#xff1a;如何更有效地預防和應對這樣的緊急情況&#xff1f; 這時候&#xff0c;就不得不提到北京富維圖像公司的一項創新技術—…

我的隱私計算學習——國密SM2和國密SM4算法

此篇是我筆記目錄里的安全保護技術&#xff08;七&#xff09;&#xff0c;前篇可見&#xff1a; 隱私計算安全保護技術&#xff08;一&#xff09;&#xff1a;我的隱私計算學習——混淆電路-CSDN博客 隱私計算安全保護技術&#xff08;二&#xff09;&#xff1a;我的隱私計…

【JavaWeb】獲取WebServlet注解的對象

import javax.servlet.annotation.WebServlet; public class ReflectAnnotation {public static void main(String[] args) throws Exception{//獲取servlet類的webServlet的注解內容Class<?>welcomeServletClassClass.forName("SubmitScoreServlet");//判斷有…

Spring 裝配Bean詳解

一、簡介 ? Spring容器負責創建應用程序中的bean并通過DI來協調這些對象之間的關系。Spring具有非常大的靈活性&#xff0c;它提供了三種主要的裝配機制&#xff1a; 在XML中進行顯示配置&#xff1b;在Java中進行顯示配置&#xff1b;隱式的bean發現機制和自動裝配。 二、…

代碼隨想錄 62. 不同路徑

題目 一個機器人位于一個 m x n 網格的左上角 &#xff08;起始點在下圖中標記為 “Start” &#xff09;。 機器人每次只能向下或者向右移動一步。機器人試圖達到網格的右下角&#xff08;在下圖中標記為 “Finish” &#xff09;。 問總共有多少條不同的路徑&#xff1f; 示例…

支付寶小程序接口傳參會默認排序

一&#xff1a;問題 描述&#xff1a;最近項目中的接口都加了簽名&#xff0c;在同步到支付寶小程序上時&#xff0c;發現有些接口報錯&#xff0c;經過排查&#xff0c;導致報錯的原因是因為傳參順序被支付寶小程序默認排序了&#xff0c;比如&#xff1a; 設置的原始參數&a…

當下流行視頻剪輯軟件會聲會影2024,讓你的視頻制作更精彩

大家好呀&#xff01;今天小編給大家介紹一款超贊的視頻編輯軟件——會聲會影2024&#xff01; 當下流行視頻剪輯軟件會聲會影2024&#xff0c;讓你的視頻制作更精彩&#xff0c;會聲會影2024不僅提供了各種酷炫的特效和濾鏡&#xff0c;還有更多令人驚嘆的功能等待著你的發掘…

【STM32】藍牙氛圍燈

Docs 一、項目搭建和開發流程 一、項目需求和產品定義 1.需求梳理和產品定義 一般由甲方公司提出&#xff0c;或由本公司市場部提出 需求的重點是&#xff1a;這個產品究竟應該做成什么樣&#xff1f;有哪些功能&#xff1f;具體要求和參數怎樣&#xff1f;此外還要考慮售價…

MongoDB SASL 鑒權方式 SCRAM-SHA-1步驟

轉載于 MongoDB SCRAM-SHA-1 over SASL 文章目錄 OverviewStep 1Step 2Step 3Edits I recently implemented SCRAM-SHA-1 over SASL for Fantom’s MongoDB driver so it could authenticate against MongoDB v3 databases. Much to my surprise, for such a massive breaking…

C++函數模板案例

利用函數模板封裝一個排序的函數&#xff0c;可以對不同數據類型數組進行排序排序規則從大到小&#xff0c;排序算法為選擇排序分別利用char數組和int數組進行測試 #include<iostream> using namespace std;template<class T> void myswap(T& a, T& b) {T…