基于javaweb+mysql的ssm校园二手交易系统(java+ssm+layui+jsp+jquery+mysql)

本文介绍了基于Java、SSM框架、MySQL、JSP、jQuery和Layui开发的校园二手交易系统,包括用户、管理员和卖家的功能,以及开发环境、技术栈和使用步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基于javaweb+mysql的ssm校园二手交易系统(java+ssm+layui+jsp+jquery+mysql)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

基于javaweb+mysql的SSM校园二手交易系统(java+ssm+layui+jsp+jquery+mysql)

项目介绍

基于SSM的校园二手交易系统

用户:首页、二手商品、求购信息、交流论坛、公告信息、个人中心、后台管理、购物车、售后客服

管理员:个人中心、用户管理、卖家管理、二手商品管理、求购信息管理、商品分类管理、用户警告管理、卖家警告管理、信誉评价管理、卖家沟通管理、用户沟通管理、交流论坛、系统管理

卖家:个人中心、二手商品管理、求购信息管理 、卖家警告管理、信誉评价管理、卖家沟通管理、用户沟通管理、订单管理

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 4.数据库:MySql 5.7/8.0版本均可; 5.是否Maven项目:是;

技术栈

后端:SSM(Spring+SpringMVC+Mybatis) 前端:JSP+CSS+JS+JQUERY+Layui

使用说明

项目运行: 1. 使用Navicat或者其它工具,在mysql中创建对应sql文件名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,导入成功后请执行maven clean;maven install命令,然后运行; 3. 将项目中application.yml配置文件中的数据库配置改为自己的配置;

image.setUrl(filePath + "/" + name);

imageService.insertImage(image);

} else {

System.out.println("文件为空!");

return "redirect:/goods/goodInfo?goodId=" + goodId;

@RequestMapping(value = "/goods/userGoods", method = RequestMethod.GET)

public String getUserGoods(ModelMap model,

@RequestParam(value = "userId", required = false) Integer userId) {

User user = userService.getUserById(userId);

List<Good> userGoods = goodService.getGoodStatusByUserId(userId);

List<Good> goods = goodService.getAllGoods(0, 4);

model.addAttribute("user", user);

model.addAttribute("userGoods", userGoods);

model.addAttribute("goods", goods);


photo.transferTo(new File(pathRoot + name));

String photoUrl = filePath + "/" + name;

user.setPhotoUrl(photoUrl);

} else {

String photoUrl = userService.getUserById(user.getId())

.getPhotoUrl();

user.setPhotoUrl(photoUrl);

insertSuccess = userService.updateUser(user);

if (insertSuccess) {

session.removeAttribute("user");

session.setAttribute("user", user);


@Autowired

public GoodController(GoodService goodService, TypeService typeService,

ReviewService reviewService, UserService userService,

ImageService imageService, CollectService collectService) {

this.goodService = goodService;

this.typeService = typeService;

this.reviewService = reviewService;

this.userService = userService;

this.imageService = imageService;

this.collectService = collectService;

@RequestMapping(value = "/", method = RequestMethod.GET)

public String getHomeGoods(

ModelMap model,
model.addAttribute("status", status);

return "user/userEdit";

@RequestMapping(value = "/password/edit", method = RequestMethod.POST)

public ResponseEntity editPassword(@RequestBody Password password) {

User user = userService.getUserById(password.getUserId());

String oldPass = DigestUtils

.md5DigestAsHex((password.getOldPassword() + user.getCode())

.getBytes());

if (oldPass.equals(user.getPassword())) {

RandomString randomString = new RandomString();

String code = (randomString.getRandomString(5));

String md5Pass = DigestUtils.md5DigestAsHex((password

.getNewPassword() + code).getBytes());

Boolean success = userService.updatePassword(md5Pass, code,


List<Order> orders = orderService.getOrderByCustomerId(user.getId());

List<Review> reviews = reviewService.gerReviewByToUserId(user.getId());

List<Reply> replies = reviewService.gerReplyByToUserId(user.getId());

List<Order> sellGoods = orderService.getOrderBySellerId(user.getId());

model.addAttribute("collects", collects);

model.addAttribute("goods", goods);

model.addAttribute("orders", orders);

model.addAttribute("reviews", reviews);

model.addAttribute("replies", replies);

model.addAttribute("sellGoods", sellGoods);


} else {

orderService.deleteOrderById(order.getId());

return ResponseEntity.ok(success);

return ResponseEntity.ok(success);

@RequestMapping(value = "/user/order/allOrder", method = RequestMethod.GET)

public ResponseEntity getAllOrders() {

List<Order> orderList = orderService.getOrderList();

return ResponseEntity.ok(orderList);

商品管理控制层:

@Controller

@RequestParam(required = false, defaultValue = "40") int limit) {

List<Good> goods = goodService.getGoodsBySearchAndType(searchText,

secondTypeId, offset, limit);

double goodsNum = goodService.getGoodsBySearchAndTypeCount(searchText,

secondTypeId);

List<FirstType> firstTypes = typeService.getAllFirstType();

for (FirstType firstType : firstTypes) {

firstType.setSecondType(typeService

.getSecondTypeByFirstTypeId(firstType.getId()));

model.addAttribute("firstTypes", firstTypes);

model.addAttribute("goods", goods);

model.addAttribute("pages", Math.ceil(goodsNum / limit));

model.addAttribute("goodsNum", goodsNum);


if (sessionUser == null) {

return "redirect:/";

Order orderInfo = orderService.getOrderById(orderId);

List<Order> orders = orderService.getOtherOrderBySellerId(

sessionUser.getId(), orderId);

model.addAttribute("orderInfo", orderInfo);

model.addAttribute("orders", orders);

System.out.println("sellerInfo.size:" + orders.size());

return "user/sellerInfo";

@RequestMapping(value = "/user/order/delete/{orderId}", method = RequestMethod.GET)

public ResponseEntity deleteOrderById(@PathVariable Integer orderId) {


return "goods/goodInfo";

@RequestMapping(value = "/goods/goodInfo", method = RequestMethod.POST)

public String putReview(

@RequestParam(value = "goodId", required = false) Integer goodId,

@RequestParam(value = "reviewId", required = false) Integer reviewId,

@RequestParam(value = "fromUserId", required = false) Integer fromUserId,

@RequestParam(value = "toUserId", required = false) Integer toUserId,

@RequestParam(value = "fromUser", required = false) String fromUser,

@RequestParam(value = "toUser", required = false) String toUser,

@RequestParam(value = "replyText", required = false, defaultValue = "") String replyText,

@RequestParam(value = "reviewText", required = false, defaultValue = "") String reviewText) {

if (reviewText.equals("")) {

if (replyText.equals("")) {

@RequestParam(value = "fromUser", required = false) String fromUser,

@RequestParam(value = "toUser", required = false) String toUser,

@RequestParam(value = "replyText", required = false, defaultValue = "") String replyText,

@RequestParam(value = "reviewText", required = false, defaultValue = "") String reviewText) {

if (reviewText.equals("")) {

if (replyText.equals("")) {

message = "内容不能为空!";

return "redirect:/goods/goodInfo?goodId=" + goodId;

} else {

Reply reply = new Reply();

reply.setReviewId(reviewId);


this.collectService = collectService;

@RequestMapping(value = "userProfile", method = RequestMethod.GET)

public String getMyProfile(ModelMap model, HttpSession session) {

User user = (User) session.getAttribute("user");

if (user == null) {

return "redirect:/";

List<Collect> collects = collectService

.getCollectByUserId(user.getId());

for (Collect collect : collects) {

collect.setGood(goodService.getGoodById(collect.getGoodId()));

List<Good> goods = goodService.getGoodByUserId(user.getId());

} else {

status = "修改失败!";

model.addAttribute("user", user);

model.addAttribute("status", status);

return "user/userEdit";

System.out.println(user.getMobile());

System.out.println(status);

model.addAttribute("user", user);

model.addAttribute("status", status);

return "user/userEdit";

@RequestMapping(value = "/password/edit", method = RequestMethod.POST)

public ResponseEntity editPassword(@RequestBody Password password) {

User user = userService.getUserById(password.getUserId());

return ResponseEntity.ok(success);

@RequestMapping(value = "/user/sellerOrder/delete/{orderId}&{goodId}", method = RequestMethod.GET)

public ResponseEntity deleteSellerOrderById(@PathVariable Integer orderId,

@PathVariable Integer goodId) {

Boolean success;

success = goodService.updateGoodStatusId(1, goodId) > 0;

if (success) {

success = orderService.deleteOrderById(orderId) > 0;

return ResponseEntity.ok(success);

@RequestMapping(value = "/user/order/update/status/{orderId}&{statusId}", method = RequestMethod.GET)

public ResponseEntity updateOrderStatus(@PathVariable Integer orderId,


private final CollectService collectService;

private static String message = "";

@Autowired

public GoodController(GoodService goodService, TypeService typeService,

ReviewService reviewService, UserService userService,

ImageService imageService, CollectService collectService) {

this.goodService = goodService;

this.typeService = typeService;

this.reviewService = reviewService;

this.userService = userService;

this.imageService = imageService;

this.collectService = collectService;

@RequestMapping(value = "/", method = RequestMethod.GET)
public class GoodController {

private final GoodService goodService;

private final TypeService typeService;

private final ReviewService reviewService;

private final UserService userService;

private final ImageService imageService;

private final CollectService collectService;

private static String message = "";

@Autowired

public GoodController(GoodService goodService, TypeService typeService,

ReviewService reviewService, UserService userService,

ImageService imageService, CollectService collectService) {


User user = (User) session.getAttribute("user");

if (user == null) {

return "redirect:/";

Good good = new Good();

List<FirstType> firstTypes = typeService.getAllFirstType();

List<Good> goods = goodService.getAllGoods(0, 5);

model.addAttribute("goods", goods);

model.addAttribute("good", good);

model.addAttribute("firstTypes", firstTypes);

return "goods/publishGood";

@RequestMapping(value = "/goods/publishGood", method = RequestMethod.POST)

public String getGoodId(ModelMap model, HttpSession session,

@Valid Good good) {


if (collectService.getCollect(goodId, user.getId())) {

collect = 2;

List<Image> images = imageService.getImageByGoodId(goodId);

User goodUser = userService.getUserById(goodInfo.getUserId());

goodInfo.setGoodUser(userService.getUserById(goodInfo.getUserId()));

goodInfo.setGoodSecondType(typeService.getSecondTypeById(goodInfo

.getSecondTypeId()));

List<Review> reviews = reviewService.gerReviewByGoodId(goodId);

for (Review review : reviews) {

review.setReplys(reviewService.gerReplyByReviewId(review.getId()));

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值