基于 SpringBoot 的舊物置換網站

收藏關注不迷路!!

🌟文末獲取源碼+數據庫🌟

感興趣的可以先收藏起來,還有大家在畢設選題(免費咨詢指導選題),項目以及論文編寫等相關問題都可以給我留言咨詢,希望幫助更多的人

文章目錄
  • 摘要
  • 一、開發技術介紹
  • 二、功能介紹
  • 三、代碼展示
  • 四、效果圖
  • 五 、源碼獲取

摘要

隨著時代在一步一步在進步,舊物也成人們的煩惱,許多平臺網站都在推廣自已的產品像天貓、咸魚、京東。所以開發出一套關于舊物置換網站成為必需。舊物置換網站主要是借助計算機,通過對用戶進行管理。為減少管理員的工作,同時也方便廣大用戶對個人所需舊物置換的及時查詢以及管理。
舊物置換網站的開發過程中,采用B / S架構,主要使用Java技術進行開發,結合最新流行的
springboot框架。中間件服務器是Tomcat服務器,使用Mysql數據庫和Eclipse開發 環境。該舊物置換網站包括管理員、用戶、賣家。其主要功能包括管理員:首頁、個人中心、用戶管理、賣家管理、舊物類型管理、舊物信息管理、置換交易管理、系統管理等,賣家后臺:首頁、個人中心、舊物類型管理、舊物信息管理、置換交易管理。前臺首頁;首頁、舊物信息、網站公告、個人中心、后臺管理等,用戶后臺:首頁、個人中心、舊物信息管理、置換交易管理等功能。

本論文對舊物置換網站的發展背景進行詳細的介紹,并且對系統開發技術進行介紹,然后對系統進行需求分析,對舊物置換網站業務信息、系統結構以及數據都進行詳細說明。用戶可根據關鍵字進行信息的查找自己心儀的信息等。

關鍵詞:舊物置換網站,Mysql數據庫,Java技術 springboot框架

一、開發技術介紹

  • B/S 架構
  • Java
  • MySQL
  • SpringBoot

二、功能介紹

該舊物置換網站功能結構圖如圖4-1所示

在這里插入圖片描述

三、代碼展示

package com.controller;import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
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.RestController;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;import com.entity.MaijiaEntity;
import com.entity.view.MaijiaView;import com.service.MaijiaService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;/*** 賣家* 后端接口* @author * @email */
@RestController
@RequestMapping("/maijia")
public class MaijiaController {@Autowiredprivate MaijiaService maijiaService;@Autowiredprivate TokenService tokenService;/*** 登錄*/@IgnoreAuth@RequestMapping(value = "/login")public R login(String username, String password, String captcha, HttpServletRequest request) {MaijiaEntity user = maijiaService.selectOne(new EntityWrapper<MaijiaEntity>().eq("maijiaming", username));if(user==null || !user.getMima().equals(password)) {return R.error("賬號或密碼不正確");}String token = tokenService.generateToken(user.getId(), username,"maijia",  "賣家" );return R.ok().put("token", token);}/*** 注冊*/@IgnoreAuth@RequestMapping("/register")public R register(@RequestBody MaijiaEntity maijia){//ValidatorUtils.validateEntity(maijia);MaijiaEntity user = maijiaService.selectOne(new EntityWrapper<MaijiaEntity>().eq("maijiaming", maijia.getMaijiaming()));if(user!=null) {return R.error("注冊用戶已存在");}Long uId = new Date().getTime();maijia.setId(uId);maijiaService.insert(maijia);return R.ok();}/*** 退出*/@RequestMapping("/logout")public R logout(HttpServletRequest request) {request.getSession().invalidate();return R.ok("退出成功");}/*** 獲取用戶的session用戶信息*/@RequestMapping("/session")public R getCurrUser(HttpServletRequest request){Long id = (Long)request.getSession().getAttribute("userId");MaijiaEntity user = maijiaService.selectById(id);return R.ok().put("data", user);}/*** 密碼重置*/@IgnoreAuth@RequestMapping(value = "/resetPass")public R resetPass(String username, HttpServletRequest request){MaijiaEntity user = maijiaService.selectOne(new EntityWrapper<MaijiaEntity>().eq("maijiaming", username));if(user==null) {return R.error("賬號不存在");}user.setMima("123456");maijiaService.updateById(user);return R.ok("密碼已重置為:123456");}/*** 后端列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,MaijiaEntity maijia, HttpServletRequest request){EntityWrapper<MaijiaEntity> ew = new EntityWrapper<MaijiaEntity>();PageUtils page = maijiaService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, maijia), params), params));return R.ok().put("data", page);}/*** 前端列表*/@RequestMapping("/list")public R list(@RequestParam Map<String, Object> params,MaijiaEntity maijia, HttpServletRequest request){EntityWrapper<MaijiaEntity> ew = new EntityWrapper<MaijiaEntity>();PageUtils page = maijiaService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, maijia), params), params));return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/lists")public R list( MaijiaEntity maijia){EntityWrapper<MaijiaEntity> ew = new EntityWrapper<MaijiaEntity>();ew.allEq(MPUtil.allEQMapPre( maijia, "maijia")); return R.ok().put("data", maijiaService.selectListView(ew));}/*** 查詢*/@RequestMapping("/query")public R query(MaijiaEntity maijia){EntityWrapper< MaijiaEntity> ew = new EntityWrapper< MaijiaEntity>();ew.allEq(MPUtil.allEQMapPre( maijia, "maijia")); MaijiaView maijiaView =  maijiaService.selectView(ew);return R.ok("查詢賣家成功").put("data", maijiaView);}/*** 后端詳情*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") Long id){MaijiaEntity maijia = maijiaService.selectById(id);return R.ok().put("data", maijia);}/*** 前端詳情*/@RequestMapping("/detail/{id}")public R detail(@PathVariable("id") Long id){MaijiaEntity maijia = maijiaService.selectById(id);return R.ok().put("data", maijia);}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody MaijiaEntity maijia, HttpServletRequest request){maijia.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(maijia);MaijiaEntity user = maijiaService.selectOne(new EntityWrapper<MaijiaEntity>().eq("maijiaming", maijia.getMaijiaming()));if(user!=null) {return R.error("用戶已存在");}maijia.setId(new Date().getTime());maijiaService.insert(maijia);return R.ok();}/*** 前端保存*/@RequestMapping("/add")public R add(@RequestBody MaijiaEntity maijia, HttpServletRequest request){maijia.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(maijia);MaijiaEntity user = maijiaService.selectOne(new EntityWrapper<MaijiaEntity>().eq("maijiaming", maijia.getMaijiaming()));if(user!=null) {return R.error("用戶已存在");}maijia.setId(new Date().getTime());maijiaService.insert(maijia);return R.ok();}/*** 修改*/@RequestMapping("/update")public R update(@RequestBody MaijiaEntity maijia, HttpServletRequest request){//ValidatorUtils.validateEntity(maijia);maijiaService.updateById(maijia);//全部更新return R.ok();}/*** 刪除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){maijiaService.deleteBatchIds(Arrays.asList(ids));return R.ok();}/*** 提醒接口*/@RequestMapping("/remind/{columnName}/{type}")public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, @PathVariable("type") String type,@RequestParam Map<String, Object> map) {map.put("column", columnName);map.put("type", type);if(type.equals("2")) {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");Calendar c = Calendar.getInstance();Date remindStartDate = null;Date remindEndDate = null;if(map.get("remindstart")!=null) {Integer remindStart = Integer.parseInt(map.get("remindstart").toString());c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindStart);remindStartDate = c.getTime();map.put("remindstart", sdf.format(remindStartDate));}if(map.get("remindend")!=null) {Integer remindEnd = Integer.parseInt(map.get("remindend").toString());c.setTime(new Date());c.add(Calendar.DAY_OF_MONTH,remindEnd);remindEndDate = c.getTime();map.put("remindend", sdf.format(remindEndDate));}}Wrapper<MaijiaEntity> wrapper = new EntityWrapper<MaijiaEntity>();if(map.get("remindstart")!=null) {wrapper.ge(columnName, map.get("remindstart"));}if(map.get("remindend")!=null) {wrapper.le(columnName, map.get("remindend"));}int count = maijiaService.selectCount(wrapper);return R.ok().put("count", count);}}

四、效果圖

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

五 、源碼獲取

下方名片聯系我即可!!


大家點贊、收藏、關注、評論啦 、查看👇🏻獲取聯系方式👇🏻

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

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

相關文章

ELK 通過 logstash 收集單個/多個日志文件

一、收集單個日志文件 注意事項&#xff1a; logstah 服務默認啟動用戶和組是 logstash被收集的日志文件有讀的權限并對寫入的文件有寫權限而 logstash 是普通用戶 1.1 編輯 logstash 配置文件 vim /etc/logstash/conf.d/test.conf input {file {path > "/var/log/…

分享一個Drools規則引擎微服務Docker部署

通常我們都是把Drools作為嵌入式使用&#xff0c;但在微服務泛濫時代&#xff0c;還在老套的嵌入式顯然不符合微服務架構要求&#xff0c;本文分享一個把Drools作為微服務獨立部署的方案。 本方案基于Drools引擎微服務&#xff0c;提供REST接口。 1、可以動態部署Drools規則2…

Mac 本地化部署 dify

Macbook 本地化部署 dify 目錄 Macbook 本地化部署 dify安裝dockerdocker下載地址 安裝dify下載dify到本地github可能遇到的問題: github打開超時在本地解壓dify.zip文件本地化部署docker部署可能遇到的問題: 部署超時登錄體驗 dify 安裝docker docker下載地址 根據電腦芯片選…

串口中斷接收與環形緩沖實例(apollo3 blue plus)

#define DEV_UART1 1 #define GPS_POWER_PIN 13 #define GPS_LOG_ENABLE 1 #define MAX_UART1_SIZE 1024 #define AM_BSP_GPIO_COM_UART1_TX 8 #define AM_BSP_GPIO_COM_UART1_RX 9 // 定義環形緩沖區結構 typed…

操作系統高頻(五)linux命令

操作系統高頻&#xff08;五&#xff09;linux命令 1.Linux中查看進程運行狀態的指令、tar解壓文件的參數。??? 在Linux中&#xff0c;可以使用以下指令查看進程的運行狀態&#xff1a; top&#xff1a; 用于實時監視系統的進程活動和系統資源使用情況。在終端中運行top…

Spring Boot 快速入手

前言&#xff1a;為什么選擇 Spring Boot&#xff1f; &#x1f680; 在現代 Java 開發中&#xff0c;Spring Boot 已成為最流行的后端框架之一。無論是小型 Web 應用、企業級系統&#xff0c;還是微服務架構&#xff0c;Spring Boot 都能提供快速開發、自動配置、輕量級部署的…

oracle-blob導出,在ob導入失敗

導出&#xff1a; [oraclelncs dmp]$ /home/oracle/sqluldr2 gistar/res#pwd192.168.205.58:1521/lndb query"select * from an_odn_picture where length(PIC_CONTENT)<25000" filean_odn_picture.csv Charsetutf8 textCSV 0 rows exported at 2025-…

RK3568 pinctrl內容講解

文章目錄 一、pinctrl的概念`pinctrl` 的作用設備樹中的 `pinctrl` 節點典型的 `pinctrl` 節點結構例子`pinctrl` 的重要性總結二、RK3568的pinctrl講解1. `pinctrl` 節點2. `gpio0` 至 `gpio4` 子節點每個 `gpioX` 子節點的結構和作用3. `gpio1` 到 `gpio4` 子節點總結1. `aco…

北京南文觀點:后糖酒會營銷,以戰略傳播重構品牌信心坐標

第112屆全國糖酒會落下帷幕&#xff0c;參展品牌面臨一個關鍵命題。如何在流量洪流中沉淀品牌價值&#xff1f;北京南文&#xff08;全稱&#xff1a;南文樂園科技文化&#xff08;北京&#xff09;有限公司&#xff09;認為&#xff0c;糖酒會的結束恰是算法時代品牌認知戰的真…

html5時鐘升級!支持切換深淺模式 Canvas實現現代化動態時鐘

HTML5 Canvas實現現代化動態時鐘 這里寫目錄標題 HTML5 Canvas實現現代化動態時鐘項目介紹技術實現1. 項目架構2. Canvas繪圖實現2.1 表盤繪制2.2 刻度繪制2.3 指針繪制 3. 動畫效果4. 主題切換 項目亮點技術要點總結項目收獲改進方向結語 項目介紹 本項目使用HTML5 Canvas技術…

《SRv6 網絡編程:開啟IP網絡新時代》第2章、第3章:SRv6基本原理和基礎協議

背景 根據工作要求、本人掌握的知識情況&#xff0c;僅針對《SRv6 網絡編程&#xff1a;開啟IP網絡新時代》書籍中涉及的部分知識點進行總結梳理&#xff0c;并與工作小組進行分享&#xff0c;不涉及對原作的逐字搬運。 問題 組內同事提出的問題&#xff1a;本文缺擴展頭描述…

衛星電話究竟是“錦上添花”?還是“剛需之選”?

在萬物互聯的時代浪潮中&#xff0c;衛星電話究竟是可有可無的“錦上添花”&#xff0c;還是至關重要的“剛需之選”&#xff1f;隨著通信技術的持續進步與應用場景的日益拓展&#xff0c;這一問題的答案正逐漸明晰。 在5G基站覆蓋99%行政村的今天&#xff0c;人類依然要直面自…

C語言復習筆記--指針(1)

今天我們進入指針的復習了.這部分有很多知識,話不多說,讓我們進入指針的世界吧. 內存和地址 要想學指針就不能不學內存和地址. 內存 其中&#xff0c;每個內存單元&#xff0c;相當于?個學?宿舍&#xff0c;? 個字節空間??能放8個?特位&#xff0c;就好?同學們 住的??…

【藍橋杯每日一題】4.1

&#x1f3dd;?專欄&#xff1a; 【藍橋杯備篇】 &#x1f305;主頁&#xff1a; f狐o貍x "今日禿頭刷題&#xff0c;明日榮耀加冕&#xff01;" 今天我們來練習二分算法 不熟悉二分算法的朋友可以看&#xff1a;【C語言刷怪篇】二分法_編程解決算術問題-CSDN博客 …

【設計模式】過濾器模式

過濾器顧名思義&#xff0c;定義一些過濾規則&#xff0c;將符合要求的內容篩選&#xff0c;就比如過濾不同大小或者不同顏色的水果&#xff0c;需要顏色和大小過濾器&#xff0c;篩選條件獨立為對象&#xff0c;可以通過靈活組合形成過濾鏈條。避免大量使用判斷語句。 案例代…

STM32 CAN學習(一)

CAN總線應用最多的是汽車領域。 CAN&#xff08;Controller Area Network&#xff09;控制器 局域 網 局域網&#xff1a;把幾臺電腦連接到一臺路由器上&#xff0c;這幾臺電腦就可以進行通訊了。 控制器在汽車中的專業術語叫做ECU&#xff08;Electronic Control Unit&…

多線程開發中List的使用

由于ArrayList在多線程高并發情況下是不安全的&#xff0c;因此要慎用&#xff0c;那么此時如果涉及到集合操作&#xff0c;應該怎么選&#xff1a; 方案一&#xff1a;Vector: 特點&#xff1a;通過給所有方法都用 synchronized 修飾從而保證線程安全&#xff0c; 缺點&…

論文閱讀筆記:Denoising Diffusion Implicit Models (2)

0、快速訪問 論文閱讀筆記&#xff1a;Denoising Diffusion Implicit Models &#xff08;1&#xff09; 論文閱讀筆記&#xff1a;Denoising Diffusion Implicit Models &#xff08;2&#xff09; 論文閱讀筆記&#xff1a;Denoising Diffusion Implicit Models &#xff08…

人工智能在醫療領域的前沿應用與挑戰

在當今數字化時代&#xff0c;人工智能&#xff08;AI&#xff09;技術正以前所未有的速度改變著我們的生活&#xff0c;其中醫療領域無疑是受益最為顯著的行業之一。從疾病診斷、治療方案制定到患者護理&#xff0c;AI的應用不僅提高了醫療服務的效率和質量&#xff0c;還為醫…

【計算機網絡】HTTP與HTTPS

文章目錄 1. HTTP定義2. HTTP交互3. HTTP報文格式3.1 抓包工具-fiddler3.2 抓包操作3.3 報文格式3.3.1 請求報文3.3.2 響應報文 4. URL5. 請求頭中的方法6. GET和POST的區別7. HTTP報頭7.1 Host7.2 Content_Length7.3 Content_Type7.4 User-Agent(UA)7.5 Referer7.6 Cookie 8 狀…