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

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

相關文章

解決錯誤:sudo debtap -u curl: (22) The requested URL returned error: 404

具體錯誤 $ sudo debtap -u > Synchronizing pkgfile database... :: Updating 2 repos...core is up to dateextra is up to date > Synchronizing debtap database...% Total % Received % Xferd Average Speed Time Time Time CurrentDload Upload …

設計CPU功能的數字電路

實驗目的(1)熟悉Multisim 電路仿真軟件的操作界面和功能; (2)掌握邏輯電路綜合設計,并采用仿真軟件進行仿真。 實驗內容1.試設計一個簡易CPU功能的數字電路,實驗至少要求采用4個74HC/HCT194作為4個存儲單元(可以預先對存儲單元存儲數據),74HC283作為計算單元。請實現…

用相似對角矩陣加速矩陣的冪,以斐波那契數列為例

《用相似對角矩陣加速矩陣的冪&#xff0c;以斐波那契數列為例》 在計算機科學和線性代數領域&#xff0c;矩陣的冪是一個常見而重要的問題。特別是對于大型矩陣&#xff0c;直接計算冪可能會變得十分耗時。然而&#xff0c;通過相似對角矩陣的方法&#xff0c;我們能夠以更為…

多維時序 | MATLAB實現RIME-CNN-LSTM-Multihead-Attention多頭注意力機制多變量時間序列預測

多維時序 | MATLAB實現RIME-CNN-LSTM-Multihead-Attention多頭注意力機制多變量時間序列預測 目錄 多維時序 | MATLAB實現RIME-CNN-LSTM-Multihead-Attention多頭注意力機制多變量時間序列預測預測效果基本介紹模型描述程序設計參考資料 預測效果 基本介紹 MATLAB實現RIME-CNN-…

python字符串格式化--數字精度控制和快速寫法與表達式格式化

數字精度控制 我們可以使用m.n來控制數字的寬度和精度&#xff1a; m是寬度&#xff0c;設置必須為數字&#xff0c;且如果設置的數字小于本身&#xff0c;則不生效n控制小數點精度&#xff0c;必須為數字&#xff0c;會進行四舍五入 示例&#xff1a; 5d&#xff1a;是將寬…

idea本地調試hadoop 遇到的幾個問題

1.DEA對MapReduce的toString調用報錯&#xff1a;Method threw ‘java.lang.IllegalStateException‘ exception. Cannot evaluate org.apache.hadoop.mapreduc 解決方法&#xff1a;關閉 IDEA 中的啟用“ tostring() ”對象視圖 2.代碼和hdfs路徑都對的情況下&#xff0c;程序…

架構設計系列之基礎:初探軟件架構設計

11 月開始突發奇想&#xff0c;想把自己在公司內部做的技術培訓、平時的技術總結等等的內容分享出來&#xff0c;于是就開通了一個 Wechat 訂閱號&#xff08;灸哥漫談&#xff09;&#xff0c;開始同步發送內容。 今天&#xff08;12 月 10 日&#xff09;也同步在 CSDN 上開通…

文章解讀與仿真程序復現思路——電力系統自動化EI\CSCD\北大核心《面向微電網群的云儲能經濟-低碳-可靠多目標優化配置方法》

這篇文章的標題涵蓋了以下關鍵信息&#xff1a; 面向微電網群&#xff1a;研究的重點是微電網群&#xff0c;這可能指的是多個微電網系統的集合&#xff0c;而不僅僅是一個單獨的微電網。微電網是指由分布式能源資源、儲能系統和智能控制組成的小型電力系統&#xff0c;通常能夠…

記錄每日LeetCode 406.根據身高重建隊列 Java實現

題目描述&#xff1a; 假設有打亂順序的一群人站成一個隊列&#xff0c;數組 people 表示隊列中一些人的屬性&#xff08;不一定按順序&#xff09;。每個 people[i] [hi, ki] 表示第 i 個人的身高為 hi &#xff0c;前面 正好 有 ki 個身高大于或等于 hi 的人。 請你重新構…

《C++新經典設計模式》之附錄A 類和對象

《C新經典設計模式》之附錄A 類和對象 A.1 靜態對象的探討與全局對象的構造順序A.1.1 靜態對象的探討A.1.1.cpp A.1.2 全局對象的構造順序問題A.1.2.cpp A.2 拷貝構造函數和拷貝賦值運算符A.2.1 拷貝構造函數和拷貝賦值運算符的書寫A.2.1.cpp A.2.2 對象自我賦值產生的問題A.2.…

實現加鹽加密方法以及java nio中基于MappedByteBuffer操作大文件

自己實現 傳統MD5可通過彩虹表暴力破解&#xff0c; 加鹽加密算法是一種常用的密碼保護方法&#xff0c;它將一個隨機字符串&#xff08;鹽&#xff09;添加到原始密碼中&#xff0c;然后再進行加密處理。 1. 每次調用方法產生一個唯一鹽值&#xff08;UUID &#xff09;密碼…

UDS診斷 10服務

文章目錄 簡介診斷會話切換請求和響應1、請求2、子功能3、肯定響應4、否定響應5、特殊的NRC 為什么劃分不同會話報文示例UDS中常用 NRC參考 簡介 10服務&#xff0c;即 Diagnostic Session Control&#xff08;診斷會話控制&#xff09;服務用于啟用服務器中的不同診斷會話&am…

(四) python門面模式

文章目錄 4.1 結構型設計模式4.1.1 簡介4.1.2 常見的幾種結構型設計模式 4.2 理解門面設計模式4.2.1 門面設計模式概述4.2.2 門面設計模式的作用 4.3 UML類圖4.3.1 門面4.3.2 系統4.3.3 客戶端 4.4 門面模式的代碼實現4.4.1 場景&#xff1a;4.4.2 python實現 4.5 原理&#xf…

Compose for iOS:kotlin 與 swift 互操作

前言 類似于 Android 上的 compose&#xff0c;在 iOS 上的 compose 同樣支持嵌套顯示 compose UI 和 swiftUI 或是 uikit 。 但是不同于 Android 原生就是使用 kotlin 作為開發語言&#xff0c;iOS 的開發語言是 swift 或者 object-c 。雖然大多數業務邏輯都可以直接使用 ko…

渲染(iOS渲染過程解析)

渲染 渲染原理 一個硬核硬件科普視頻 CPU和GPU CPU&#xff08;Central Processing Unit&#xff09;&#xff1a;現代計算機整個系統的運算核心、控制核心&#xff0c;適合串行計算。GPU&#xff08;Graphics Processing Unit&#xff09;&#xff1a;可進行繪圖運算工作的…

安防音頻接口選型的高性能國產芯片分析

在人工智能興起之后&#xff0c;安防市場就成為了其全球最大的市場&#xff0c;也是成功落地的最主要場景之一。對于安防應用而言&#xff0c;智慧攝像頭、智慧交通、智慧城市等概念的不斷涌現&#xff0c;對于芯片產業催生出海量需求。今天&#xff0c;我將為大家梳理GLOBALCH…

springboot_3.2_freemark_基礎環境配置

springboot_3.2_freemark_基礎環境配置 一、前言二、環境三、相關資料四、目標五、默認配置項六、構建springboot 3.2項目6.1 pom.xml 內容&#xff1a;6.2 啟動類6.3 添加ftlh模板6.4 controller內容6.5 bootstrap.yml配置 七、總結 一、前言 FreeMarker 是一款模板引擎&…

Linux——緩沖區與實現C庫的fopen,fwrite,fclose

目錄 一.緩沖區 1緩沖區的概念 2.緩沖區存在的意義 3.緩沖區刷新策略 4.什么是刷新&#xff1f; C語言的緩沖區在哪里&#xff1f; ?編輯 仿寫C庫里的fopen&#xff0c;fclose&#xff0c;fwrite。 mystdio.h mystdio.c main.c(向文件中寫入20次msg) 一.緩沖區 1…

b站pwn的學習總結

寫的很亂 1.c語言的運行過程 了解了c語言需要經過以上2個過程&#xff08;編譯和匯編&#xff09;&#xff0c;才能讓機器按指令運行。機器只能聽得懂機器碼&#xff0c;所以要“匯編”。 那問題就來了&#xff0c;“編譯”這個動作有啥用&#xff0c;c語言這種高級語言&…

玩轉大數據10:深度學習與神經網絡在大數據中的應用

目錄 1. 引言&#xff1a;深度學習和神經網絡在大數據中的重要性和應用場景 2. 深度學習的基本概念和架構 3. Java中的深度學習框架 3.1. Deeplearning4j框架介紹及Java編程模型 3.2. DL4J、Keras和TensorFlow的集成 4. 大數據與深度學習的結合 4.1. 大數據與深度學…