基于Java+SSM+MySQL的校园二手物品交易平台

末尾获取源码
作者介绍:大家好,我是何时,本人4年开发经验,专注定制项目开发[python、Java、PHP、大数据、小程序、大屏可视化、爬虫等]

更多项目:CSDN主页曾几何时

我欲乘风归去 又恐琼楼玉宇  高处不胜寒 -苏轼


项目简介

社会和科技的不断进步带来更便利的生活,计算机技术也越来越平民化。二十一世纪是数据时代,各种信息经过统计分析都可以得到想要的结果,所以也可以更好的为人们工作、生活服务。二手物品是学校里最常见的物品,把二手物品再次销售不仅可以节约资源也可以降低经济消费。如果可以把计算机技术和二手商品销售相结合更符合现代、用户的要求,实现更为方便的购买商品的方式。

本基于Java的校园二手物品交易平台采用Java语言和Jsp技术,框架采用SSM,搭配Mysql数据库,运行在Idea里。本系统针对校园二手商品的交易而开发,提供管理员、学生、学生二手三种角色的服务。总的功能包括商品的查询、商品的购买、二手物品资讯管理和订单管理。本系统可以帮助管理员审核商品信息和管理用户(学生二手、学生)信息,帮助用户实现在线的购买方式,并可以实现订单管理。学生二手可以发布商品和管理销售订单等。本系统采用成熟技术开发可以完成网上校园二手物品交易管理的相关工作。


效果图

用户登录功能的详细实现

用户登录界面起到验证身份的作用,本界面采用图片背景进行设计。在用户登录界面里设置了提示词和用户、密码的文本框。在文本框下是登录、学生注册、学生二手注册按钮。用户在信息输入完成后可以使用登录按钮进行相对应的操作。

管理员权限的功能实现

学生管理功能的详细实现

管理员负责学生信息的审核,管理员也可以发布学生信息。管理员添加学生的功能实现如下图4-2所示:

 

二手管理功能的详细实现

管理员可以对二手信息审核和修改、删除。可以查询二手商品评价、订单等信息。查询二手信息功能的实现界面如下图4-3所示:

 

订单管理功能的详细实现

管理员可以管理订单信息,做为第三方可以保证双方的资金安全。订单管理功能的实现界面如下图4-4所示:

 

学生二手管理功能的实现界面

管理员可以查看学生二手和管理、审核学生二手,还可以删除学生二手的资料。学生二手管理功能的实现界面如下图4-5所示:

 

物品类型管理功能的实现界面

管理员可以设置物品的类型。物品类型管理功能的实现界面如下图4-6所示:

 

二手物品资讯管理功能的实现界面

    管理员可以发布资讯和对资讯进行核实。实现界面如下图4-7所示:

 

学生权限的功能详细实现

个人资料管理功能的详细界面实现

当学生登录进系统后可以修改自己的资料,可以使自己信息的保持正确性。学生修改个人资料的实现界面如下图4-8所示:

 

商品查询功能的详细实现

学生可以根据商品名称搜索相对应的商品,学生查询商品的界面实现如下图4-9所示:

 

商品详情功能的详细实现

在商品的详情界面里学生可以评论、点赞、收藏、购买商品。商品详情功能的实现界面如下图4-10所示:

 

在线评论功能的详细实现

学生可以评论商品,以达到对商品咨询的目的,在线评论功能的实现界面如下图4-11所示:

 

订单管理功能的详细实现

学生可以管理自己的订单,在订单管理界面里也可以进行查看详情操作。订单管理功能的实现界面如下图4-12所示:

 

学生注册功能的详细实现

非学生用户可以在注册功能里实现成为学生用户。在注册界面里按照要求填写信息就可以完成。学生注册的实现界面如下图4-13所示:

 

低价急售功能的实现界面

学生在前台可以浏览所有的低价急售的商品,了解商品的具体价格。低价急售功能的实现界面如下图4-14所示:

 

二手物品资讯功能的实现界面

     学生可以浏览资讯信息,实现界面如下图4-15所示:

 

学生二手角色功能的实现界面

学生二手的功能为进行商品发布和管理订单以及管理个人资料、急售订单信息等,实现界面如下图4-16所示:

 


核心代码


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.MD5Util;
import com.utils.MPUtil;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.ValidatorUtils;

/**
 * 登录相关
 */
@RequestMapping("users")
@RestController
public class UserController{
	
	@Autowired
	private UserService userService;
	
	@Autowired
	private 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);
        userService.updateById(user);//全部更新
        return R.ok();
    }

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        userService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
}

文章目录

第1章 绪论  
1.1 研究背景与意义  
1.2 开发现状 
1.3 论文组成结构 
第2章 开发工具及相关技术介绍  
2.1 框架描述 
2.2 MySQL数据库 
2.3 JAVA语言 
第3章 系统分析  
3.1 可行性分析   
3.1.1 经济可行性 
3.1.2 技术可行性 
3.1.3 操作可行性 
3.2 功能性需求分析  
3.3 性能分析 
3.4 系统操作流程 
3.4.1 用户登录流程  
3.4.2 信息添加流程  
3.4.3 信息删除流程  
第4章 系统设计  
4.1 系统架构设计 
4.2 开发流程设计 
4.3 数据库设计   
4.3.1 实体ER图  
4.3.2 数据表 
第5章 系统实现  
5.1 管理员主要功能实现  
5.2 教师用户主要功能实现
5.3 学生用户主要功能实现
5.4 PC端主要功能实现
第6章 系统测试  
6.1 软件测试的概念  
6.2 软件测试过程 
6.3 系统测试阶段 
6.4 测试结果 
第7章 总结与展望
参考文献  
致谢  

  • 22
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值