校园二手交易平台

文章目录

  • 校园二手交易平台
    • 一、项目演示
    • 二、项目介绍
    • 三、8000字论文参考
    • 四、系统部分功能截图
    • 五、部分代码展示
    • 六、底部获取项目和8000字论文参考(9.9¥)

校园二手交易平台

一、项目演示

校园二手交易系统

二、项目介绍

基于springboot和vue前后端分离的校园二手物品交易平台

开发语言:java

运行环境:idea或eclipse vscode 数据库:mysql

有三个角色
1、游客:浏览主界面、注册
2、学生:登录、主界面、物品发布、消息模块、物品购买模块、收藏模块、下架模块、售出模块、购买模块、退出模块、个人信息

3、管理员:登录、用户管理、商品管理、订单管理、退出模块

三、8000字论文参考

在这里插入图片描述
在这里插入图片描述

四、系统部分功能截图

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

五、部分代码展示

package com.second.hand.trading.server.controller;import com.second.hand.trading.server.enums.ErrorMsg;
import com.second.hand.trading.server.model.AddressModel;
import com.second.hand.trading.server.service.AddressService;
import com.second.hand.trading.server.vo.ResultVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
@CrossOrigin
@RestController
@RequestMapping("/address")
public class AddressController {@Autowiredprivate AddressService addressService;@GetMapping("/info")public ResultVo  getAddress(@CookieValue("shUserId")@NotNull(message = "登录异常 请重新登录")@NotEmpty(message = "登录异常 请重新登录") String shUserId,@RequestParam(value = "id",required = false) Long id){if(null==id){return ResultVo.success(addressService.getAddressByUser(Long.valueOf(shUserId)));}else {return ResultVo.success(addressService.getAddressById(id,Long.valueOf(shUserId)));}}@PostMapping("/add")public ResultVo addAddress(@CookieValue("shUserId")@NotNull(message = "登录异常 请重新登录")@NotEmpty(message = "登录异常 请重新登录") String shUserId,@RequestBody AddressModel addressModel){addressModel.setUserId(Long.valueOf(shUserId));if(addressService.addAddress(addressModel)){return ResultVo.success(addressModel);}return ResultVo.fail(ErrorMsg.SYSTEM_ERROR);}@PostMapping("/update")public ResultVo updateAddress(@CookieValue("shUserId")@NotNull(message = "登录异常 请重新登录")@NotEmpty(message = "登录异常 请重新登录") String shUserId,@RequestBody AddressModel addressModel){addressModel.setUserId(Long.valueOf(shUserId));if(addressService.updateAddress(addressModel)){return ResultVo.success();}return ResultVo.fail(ErrorMsg.SYSTEM_ERROR);}@PostMapping("/delete")public ResultVo deleteAddress(@CookieValue("shUserId")@NotNull(message = "登录异常 请重新登录")@NotEmpty(message = "登录异常 请重新登录") String shUserId,@RequestBody AddressModel addressModel){addressModel.setUserId(Long.valueOf(shUserId));if(addressService.deleteAddress(addressModel)){return ResultVo.success();}return ResultVo.fail(ErrorMsg.SYSTEM_ERROR);}
}
package com.second.hand.trading.server.controller;import com.second.hand.trading.server.enums.ErrorMsg;
import com.second.hand.trading.server.model.AdminModel;
import com.second.hand.trading.server.model.IdleItemModel;
import com.second.hand.trading.server.model.UserModel;
import com.second.hand.trading.server.service.AdminService;
import com.second.hand.trading.server.service.IdleItemService;
import com.second.hand.trading.server.service.OrderService;
import com.second.hand.trading.server.service.UserService;
import com.second.hand.trading.server.vo.ResultVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;import javax.servlet.http.HttpSession;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
@CrossOrigin
@RestController
@RequestMapping("admin")
public class AdminController {@Autowiredprivate AdminService adminService;@Autowiredprivate IdleItemService idleItemService;@Autowiredprivate OrderService orderService;@Autowiredprivate UserService userService;@GetMapping("login")public ResultVo login(@RequestParam("accountNumber") @NotNull @NotEmpty String accountNumber,@RequestParam("adminPassword") @NotNull @NotEmpty String adminPassword,HttpSession session){AdminModel adminModel=adminService.login(accountNumber,adminPassword);if (null == adminModel) {return ResultVo.fail(ErrorMsg.EMAIL_LOGIN_ERROR);}session.setAttribute("admin",adminModel);return ResultVo.success(adminModel);}@GetMapping("loginOut")public ResultVo loginOut( HttpSession session){session.removeAttribute("admin");return ResultVo.success();}@GetMapping("list")public ResultVo getAdminList(HttpSession session,@RequestParam(value = "page",required = false) Integer page,@RequestParam(value = "nums",required = false) Integer nums){if(session.getAttribute("admin")==null){return ResultVo.fail(ErrorMsg.COOKIE_ERROR);}int p=1;int n=8;if(null!=page){p=page>0?page:1;}if(null!=nums){n=nums>0?nums:8;}return ResultVo.success(adminService.getAdminList(p,n));}@PostMapping("add")public ResultVo addAdmin(HttpSession session,@RequestBody AdminModel adminModel){if(session.getAttribute("admin")==null){return ResultVo.fail(ErrorMsg.COOKIE_ERROR);}if(adminService.addAdmin(adminModel)){return ResultVo.success();}return ResultVo.fail(ErrorMsg.PARAM_ERROR);}@GetMapping("idleList")public ResultVo idleList(HttpSession session,@RequestParam("status") @NotNull @NotEmpty Integer status,@RequestParam(value = "page",required = false) Integer page,@RequestParam(value = "nums",required = false) Integer nums){if(session.getAttribute("admin")==null){return ResultVo.fail(ErrorMsg.COOKIE_ERROR);}int p=1;int n=8;if(null!=page){p=page>0?page:1;}if(null!=nums){n=nums>0?nums:8;}return ResultVo.success(idleItemService.adminGetIdleList(status,p,n));}@GetMapping("updateIdleStatus")public ResultVo updateIdleStatus(HttpSession session,@RequestParam("id") @NotNull @NotEmpty Long id,@RequestParam("status") @NotNull @NotEmpty Integer status){if(session.getAttribute("admin")==null){return ResultVo.fail(ErrorMsg.COOKIE_ERROR);}IdleItemModel idleItemModel=new IdleItemModel();idleItemModel.setId(id);idleItemModel.setIdleStatus(status.byteValue());if(idleItemService.updateIdleItem(idleItemModel)){return ResultVo.success();}return ResultVo.fail(ErrorMsg.SYSTEM_ERROR);}@GetMapping("orderList")public ResultVo orderList(HttpSession session,@RequestParam(value = "page",required = false) Integer page,@RequestParam(value = "nums",required = false) Integer nums){if(session.getAttribute("admin")==null){return ResultVo.fail(ErrorMsg.COOKIE_ERROR);}int p=1;int n=8;if(null!=page){p=page>0?page:1;}if(null!=nums){n=nums>0?nums:8;}return ResultVo.success(orderService.getAllOrder(p,n));}@GetMapping("deleteOrder")public ResultVo deleteOrder(HttpSession session,@RequestParam("id") @NotNull @NotEmpty Long id){if(session.getAttribute("admin")==null){return ResultVo.fail(ErrorMsg.COOKIE_ERROR);}if(orderService.deleteOrder(id)){return ResultVo.success();}return ResultVo.fail(ErrorMsg.SYSTEM_ERROR);}@GetMapping("userList")public ResultVo userList(HttpSession session,@RequestParam(value = "page",required = false) Integer page,@RequestParam(value = "nums",required = false) Integer nums,@RequestParam("status") @NotNull @NotEmpty Integer status){if(session.getAttribute("admin")==null){return ResultVo.fail(ErrorMsg.COOKIE_ERROR);}int p=1;int n=8;if(null!=page){p=page>0?page:1;}if(null!=nums){n=nums>0?nums:8;}return ResultVo.success(userService.getUserByStatus(status,p,n));}@GetMapping("updateUserStatus")public ResultVo updateUserStatus(HttpSession session,@RequestParam("id") @NotNull @NotEmpty Long id,@RequestParam("status") @NotNull @NotEmpty Integer status){if(session.getAttribute("admin")==null){return ResultVo.fail(ErrorMsg.COOKIE_ERROR);}UserModel userModel=new UserModel();userModel.setId(id);userModel.setUserStatus(status.byteValue());if(userService.updateUserInfo(userModel))return ResultVo.success();return ResultVo.fail(ErrorMsg.SYSTEM_ERROR);}}
package com.second.hand.trading.server.controller;import com.second.hand.trading.server.enums.ErrorMsg;
import com.second.hand.trading.server.model.FavoriteModel;
import com.second.hand.trading.server.service.FavoriteService;
import com.second.hand.trading.server.vo.ResultVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.Date;
@CrossOrigin
@RestController
@RequestMapping("/favorite")
public class FavoriteController {@Autowiredprivate FavoriteService favoriteService;@PostMapping("/add")public ResultVo addFavorite(@CookieValue("shUserId")@NotNull(message = "登录异常 请重新登录")@NotEmpty(message = "登录异常 请重新登录") String shUserId,@RequestBody FavoriteModel favoriteModel){favoriteModel.setUserId(Long.valueOf(shUserId));favoriteModel.setCreateTime(new Date());if(favoriteService.addFavorite(favoriteModel)){return ResultVo.success(favoriteModel.getId());}return ResultVo.fail(ErrorMsg.FAVORITE_EXIT);}@GetMapping("/delete")public ResultVo deleteFavorite(@CookieValue("shUserId")@NotNull(message = "登录异常 请重新登录")@NotEmpty(message = "登录异常 请重新登录") String shUserId,@RequestParam Long id){if(favoriteService.deleteFavorite(id)){return ResultVo.success();}return ResultVo.fail(ErrorMsg.SYSTEM_ERROR);}@GetMapping("/check")public ResultVo checkFavorite(@CookieValue("shUserId")@NotNull(message = "登录异常 请重新登录")@NotEmpty(message = "登录异常 请重新登录") String shUserId,@RequestParam Long idleId){return ResultVo.success(favoriteService.isFavorite(Long.valueOf(shUserId),idleId));}@GetMapping("/my")public ResultVo getMyFavorite(@CookieValue("shUserId")@NotNull(message = "登录异常 请重新登录")@NotEmpty(message = "登录异常 请重新登录") String shUserId){return ResultVo.success(favoriteService.getAllFavorite(Long.valueOf(shUserId)));}
}

六、底部获取项目和8000字论文参考(9.9¥)

有问题,或者需要协助调试运行项目的也可以

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/467553.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++提高编程(黑马笔记)

C提高编程 模版 特点&#xff1a; 只是一个框架&#xff0c;不可以直接使用通用并不是万能的 泛型主要利用模版 函数模版 语法&#xff1a; template<typename T> 函数# include<iostream> using namespace std;template<typename T> void MySwap(T&a…

[VulnHub靶机渗透] Nyx

&#x1f36c; 博主介绍&#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 hacker-routing &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【应急响应】 【python】 【VulnHub靶场复现】【面试分析】 &#x1f389;点赞➕评论➕收藏…

LeetCode、452. 用最少数量的箭引爆气球【中等,贪心,区间问题】

文章目录 前言LeetCode、452. 用最少数量的箭引爆气球【中等&#xff0c;贪心&#xff0c;区间问题】题目链接与分类思路贪心&#xff0c;连续区间数量问题 资料获取 前言 博主介绍&#xff1a;✌目前全网粉丝2W&#xff0c;csdn博客专家、Java领域优质创作者&#xff0c;博客…

8868体育助力西甲最新积分榜 皇马4球大胜稳坐榜一

西甲联赛第24轮的四场比赛于2月10日全面收官。其中&#xff0c;皇马在主场迎战吉罗纳队&#xff0c;以4-0的大比分击败对手&#xff0c;将领先优势扩大到5分&#xff0c;稳坐西甲榜首&#xff0c;掌握了争冠的主动权。 威尼修斯的世界波为皇马打开胜利之门&#xff0c;第6分钟就…

ASCII码和EASCII码对照表

ASCII ASCII&#xff0c;是American Standard Code for Information Interchange的缩写&#xff0c; 是基于拉丁字母的一套电脑编码系统。它主要用于显示现代英语。ASCII的局限在于只能显示26个基本拉丁字母、阿拉伯数字和英式标点符号&#xff0c;因此只能用于显示现代美国英语…

数字图像处理(实践篇)四十六 OpenCV-Python 目标定位(Features2D + Homography)

目录 一 单映射Homography 二 涉及的函数 三 实践 一 单映射Homography 在计算机视觉中,平面的单应性被定义为一个平面到另外一个平面的投影映射。 单映射Homography 就是将一张图像上的点映射到另一张图像上的对应点的3x3变换矩阵。从下图中可以看出&#x

23种计模式之Python/Go实现

目录 设计模式what?why?设计模式&#xff1a;设计模式也衍生出了很多的新的种类&#xff0c;不局限于这23种创建类设计模式&#xff08;5种&#xff09;结构类设计模式&#xff08;7种&#xff09;行为类设计模式&#xff08;11种&#xff09; 六大设计原则开闭原则里氏替换原…

第2讲投票系统后端架构搭建

创建项目时&#xff0c;随机选择一个&#xff0c;后面会生成配置properties文件 生成文件 maven-3.3.3 设置阿里云镜像 <?xml version"1.0" encoding"UTF-8"?><!-- Licensed to the Apache Software Foundation (ASF) under one or more cont…

数据结构与算法:单链表

朋友们大家好&#xff0c;本节来到数据结构与算法的新内容&#xff1a;单链表 在上篇文章中&#xff0c;我们知道顺序表通常需要预分配一个固定大小的内存空间&#xff0c; 通常以二倍的大小进行增容&#xff0c;可能会造成空间的浪费&#xff0c;本篇文章我们介绍的链表可以解…

Linux-进程信号

Linux进程信号 初步认识信号信号的存储结构信号的处理方式信号的产生硬件异常产生的信号核心转储sigset_t信号集信号集的操作函数对block表的操作对pending表的操作对handler表的操作信号的捕捉用户态和内核态 信号的处理过程可重入函数volatile关键字 初步认识信号 生活中有哪…

本地搭建three.js官方文档

因为three.js官网文档是国外的网站&#xff0c;所以你没有魔法的情况下打开会很慢&#xff0c;这时我们需要在本地搭建一个官方文档便于我们学习查看。 第一步&#xff1a;首先我们先访问GitHub地址 GitHub - mrdoob/three.js: JavaScript 3D Library. 下载不下来的小伙伴们私…

Docker笔记-搭建Python环境、安装依赖、打包镜像、导入镜像、编写bash脚本灵活调用

说明 适合无联网的机器及多Python的机器进行部署。 制作docker版Python环境 有网络及有docker的&#xff0c;拉取指定版本的python如&#xff1a; docker pull python:3.7 安装好后进入容器&#xff1a; docker run -it <name> /bin/bash 使用pip安装各种依赖&…