springboot(ssm出租車管理網站 出租車公司管理系統Java系統

springboot(ssm出租車管理網站 出租車公司管理系統Java系統

開發語言:Java

框架:ssm/springboot + vue

JDK版本:JDK1.8(或11)

服務器:tomcat

數據庫:mysql 5.7(或8.0)

數據庫工具:Navicat

開發軟件:eclipse//idea

依賴管理包:Maven

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

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

注:主頁千套源碼&文檔,文章最下方獲取源碼哦


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/208784.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/208784.shtml
英文地址,請注明出處:http://en.pswp.cn/news/208784.shtml

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

相關文章

如何使用PostMan進行并發測試?

如何使用PostMan進行并發測試&#xff1f; &#x1f440;(Postman 的 runner 實際上是串行執行的&#xff0c;因此不能作為并發測試&#xff0c; 只是批量測試&#xff0c;本文如下稱為并發的是錯誤的) 文章目錄 如何使用PostMan進行并發測試&#xff1f;POST篇流程Pre-req 腳…

Conda常用命令總結

使用conda或anaconda的小伙伴們都知道&#xff0c;圖形界面時不靠譜的&#xff0c;而在命令行下&#xff0c;所有的操作就會穩定很多&#xff0c;且極少出現問題。因此&#xff0c;熟記conda的命令行就變得十分有用。但對于我這樣近50歲依舊奮斗在代碼第一線的大齡程序員而已&a…

攔截 open調用 (進程白名單,文件白名單)

攔截 open 文章目錄 攔截 open第一個需求文件結構進程白名單文件白名單 測試代碼第一個版本版本二代碼演示 增加一個日志記錄代碼解釋 gcc -shared -fPIC -o libintercept.so intercept.c -ldlLD_PRELOAD./libintercept.so ./processA在Linux中&#xff0c;我們可以使用LD_PREL…

ZooKeeper學習二

ZooKeeper的java客戶端 zk自帶zkclient及Apache開源的Curator Chubby是google的&#xff0c;完全實現paxos算法&#xff0c;不開源&#xff0c;ZooKeeper是chubby的開源實現&#xff0c;使用zab協議&#xff0c;paxos算法的變種。 ZooKeeper常用命令&#xff1a; Is get set …

MySQL:1118 - Row size too large(行大小不能超過 65535 問題)

文章目錄 問題原因問題復現環境 & 版本復現過程 解決方案調整列大小調整列類型 個人簡介 問題 當我們創建表或新增字段時&#xff0c;我們可能遇到下面這個問題&#xff1a; 1118 - Row size too large. The maximum row size for the used table type, not counting BLO…

12.Mysql 多表數據橫向合并和縱向合并

Mysql 函數參考和擴展&#xff1a;Mysql 常用函數和基礎查詢、 Mysql 官網 Mysql 語法執行順序如下&#xff0c;一定要清楚&#xff01;&#xff01;&#xff01;運算符相關&#xff0c;可前往 Mysql 基礎語法和執行順序擴展。 (8) select (9) distinct (11)<columns_name…

【力扣熱題100】287. 尋找重復數(弗洛伊德的烏龜和兔子方法)

【力扣熱題100】287. 尋找重復數 寫在最前面理解解決 "尋找重復數" 問題的算法問題描述弗洛伊德的烏龜和兔子方法為什么這個方法有效&#xff1f; 代碼復雜度 總結回顧 寫在最前面 刷一道力扣熱題100吧 難度中等 https://leetcode.cn/problems/find-the-duplicate-…

HTML 常用表單元素使用以及注解

一、表單的用途 HTML 表單用于收集用戶的輸入信息。 HTML 表單表示文檔中的一個區域&#xff0c;此區域包含交互控件&#xff0c;將用戶收集到的信息發送到 Web 服務器。 一個表單有三個基本組成部分&#xff1a; 表單標簽&#xff1a;這包含了處理表單數據所用的URL以及數據…

vue使用$router.push()或者$router.go(),重新返回上一頁不走生命周期

是因為在App.vue中&#xff0c;vue路由&#xff08;router-view&#xff09;組件使用路由緩存組件(keep-alive)包裹著&#xff0c;導致不重新走生命周期&#xff0c;這樣可以提高運行效率&#xff0c;但有時候&#xff0c;我們需要重新加載生命周期刷新數據。 解決方案&#x…

Java Web應用小案例 - 實現用戶登錄功能

文章目錄 一、使用純JSP方式實現用戶登錄功能&#xff08;一&#xff09;項目概述&#xff08;二&#xff09;實現步驟1、創建Web項目2、創建登錄頁面 二、使用JSPServlet方式實現用戶登錄功能三、使用JSPServletDB方式實現用戶登錄功能 一、使用純JSP方式實現用戶登錄功能 &a…

ubuntu22.04安裝 nvidia-cudnn

nvidia-cudnn 是 NVIDIA CUDA 深度神經網絡庫&#xff08;CUDA Deep Neural Network library&#xff09;的縮寫。這是一個由 NVIDIA 提供的庫&#xff0c;用于加速深度學習應用程序。它包含了針對深度神經網絡中常用操作&#xff08;如卷積、池化、歸一化、激活層等&#xff0…

【工具】機器之間傳輸文件的常用方式

0、背景 QA的工作工程中,在不同服務器或者本地機器與服務器之間進行文件或目錄的上傳或者下載是非常普遍的場景,為此本文將常用的好用的工具一并做個總結,大家有其他的利器也歡迎評論區留言。 1、 scp命令 這是平常使用最多的命令,可以在相互連通的服務之間拷貝文件。命…

【Linux】如何清空某個文件的內容

cat /dev/null > file1 清空某個文件的內容使用cat /dev/null > file1&#xff0c;它將 /dev/null 的內容&#xff08;空內容&#xff09;重定向到 file1。 如下所示&#xff0c;file1文件里的內容被清空。 錯誤寫法 錯誤寫法是&#xff1a;cat file1 > /dev/null&…

linuxc語udp發送程序

以下是一個基于UDP通信的C程序&#xff0c;用于發送含有指定格式的數據包。該程序把數據分成若干個包&#xff0c;每個包包含4字節數據包頭數據長度數據內容&#xff0c;每個包最大8192字節。 #include <stdio.h> #include <stdlib.h> #include <string.h> …

華為OD機試真題-小明找位置-2023年OD統一考試(C卷)

題目描述&#xff1a; 小朋友出操&#xff0c;按學號從小到大排成一列&#xff1b;小明來遲了&#xff0c;請你給小明出個主意&#xff0c;讓他盡快找到他應該排的位置。 算法復雜度要求不高于nLog(n)&#xff1b;學號為整數類型&#xff0c;隊列規模<10000&#xff1b; 輸…

持續集成交付CICD:CentOS 7 安裝 Nexus 3.63

目錄 一、實驗 1.CentOS 7 安裝Nexus3.63 二、問題 1.安裝Nexus報錯 2.Nexus啟動停止相關命令 一、實驗 1.CentOS 7 安裝Nexus3.63 &#xff08;1&#xff09;當前操作系統版本&JDK版本 cat /etc/redhat-releasejava -version&#xff08;2&#xff09;下載Nexus新…

藍橋杯 java基礎

1. AB問題I 時間限制&#xff1a;2.000S 空間限制&#xff1a;32MB 題目描述 你的任務是計算ab。 輸入描述 輸入包含一系列的a和b對&#xff0c;通過空格隔開。一對a和b占一行。 輸出描述 對于輸入的每對a和b&#xff0c;你需要依次輸出a、b的和。 如對于輸入中的第二…

面試經典150題(5-7)

leetcode 150道題 計劃花兩個月時候刷完&#xff0c;今天&#xff08;第二天&#xff09;完成了兩道(5-7)150&#xff1a; (169. 多數元素) 題目描述&#xff1a; 給定一個大小為 n 的數組 nums &#xff0c;返回其中的多數元素。多數元素是指在數組中出現次數 大于 ? n/2 ?…

int 和 Integer 有什么區別,還有 Integer 緩存的實現

?前言? ??Java本文主要介紹Java int 和 Integer的區別以及Integer 緩存的實現 &#x1f352;歡迎點贊 &#x1f44d; 收藏 ?留言評論 &#x1f4dd;私信必回喲&#x1f601; &#x1f352;博主將持續更新學習記錄收獲&#xff0c;友友們有任何問題可以在評論區留言 文章目…

用C++實現隊列順序結構的基本操作

//隊列順序結構的基本操作&#xff1a; #include"stdio.h" #include"String" #define QueueSize 100 typedef char ElemType; typedef struct { ElemType data[QueueSize]; /*保存隊中元素*/int front,rear; /*隊頭和隊尾指針*/ } SqQueue; void Init…