java毕业设计基于ssm的校园闲置物品交易平台

前言

  互联网日益成熟,走进千家万户,改变多个行业传统的工作方式。校园闲置物品交易管理以校园闲置物品交易和用户需求为基础,借由发展迅猛的互联网平台实现校园闲置物品交易管理的信息化,简化旧时校园闲置物品交易管理所需的纸质记录这一繁杂过程,从而大幅提高校园闲置物品交易信息获取与传播速度。
基于此背景,本研究结合管理员即时发布校园闲置物品交易平台与用户的需求,设计并实现了校园闲置物品交易平台。系统采用B/S架构,java语言作为主要开发语言,MySQL技术创建和管理数据库。系统主要分为管理员和用户两大功能模块。通过系统,管理员使用日常浏览器即可随时完成校园闲置物品交易平台信息发布,契合校园闲置物品交易管理对时效性需求的同时提高工作效率。最终,根据各个功能模块的测试结果可知校园闲置物品交易平台功能基本完善。

关键词:java语言;校园闲置物品交易; B/S结构; MySQL

一、项目介绍

  根据日常实际需要,一方面需要在系统中实现基础信息的管理,同时还需要结合实际情况的需要,提供校园闲置物品交易管理功能,方便校园闲置物品交易管理工作的展开,综合考虑,本套系统应该满足如下要求:
首先,在系统中需要实现对基础信息,包括登录注册、个人信息修改等信息的管理,这些是系统的基础信息,和系统中其他内容密切相关。
然后,系统中需要实现对用户信息的管理,允许管理员对用户信息进行必要的设置,同时要避免管理员对个人信息进行操作,保障用户的信息安全。

二、开发环境

开发语言:Java
框架:ssm
JDK版本:JDK1.8
服务器:tomcat7
数据库:mysql
数据库工具:Navicat11
开发软件:eclipse/myeclipse/idea
Maven包:Maven
————————————————

三、功能介绍

  (1)系统的通用功能包括用户登录和密码修改,是两个角色共同需要使用的功能,用例分析如图3-1所示。
在这里插入图片描述

图3-1 系统通用功能用例分析图

(2)管理员可以对首页,个人中心,用户管理,商品类型管理,闲置物品管理,系统管理,订单管理等进行基本的信息管理。其用例分析如图3-2所示。
在这里插入图片描述

图3-2 管理员用例图

(3) 用户进入系统可以对首页,闲置物品,校园资讯,个人中心,后台管理等功能进行操作,用例分析如图3-3所示。
在这里插入图片描述

图3-3用户用例图

四、核心代码

部分代码:

package com.example.controller;

import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.SecureUtil;
import com.example.common.Result;
import com.example.common.ResultCode;
import com.example.entity.Caiwu;
import com.example.exception.CustomException;
import com.example.service.CaiwuService;
import com.example.utils.MapWrapperUtils;
import com.example.utils.jwt.JwtUtil;
import com.example.vo.CaiwuVo;
import org.springframework.beans.BeanUtils;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@RestController
@RequestMapping(value = "/caiwu")
public class CaiwuController {

    @Resource
    private CaiwuService caiwuService;

    @PostMapping
    public Result<Caiwu> add(@RequestBody CaiwuVo caiwu) {
        caiwuService.add(caiwu);
           return Result.success(caiwu);
    }
	
	

    @PostMapping("/deleteList")
    public Result<Caiwu> deleteList(@RequestBody CaiwuVo caiwu) {
        caiwuService.deleteList(caiwu.getList());
        return Result.success();
    }

    @DeleteMapping("/{id}")
    public Result delete(@PathVariable Long id) {
        caiwuService.delete(id);
        return Result.success();
    }

    @PutMapping
    public Result update(@RequestBody CaiwuVo caiwu) {
        caiwuService.update(caiwu);
        return Result.success();
    }

    @GetMapping("/{id}")
    public Result<Caiwu> detail(@PathVariable Integer id) {
        Caiwu caiwu = caiwuService.findById(id);
        return Result.success(caiwu);
    }

    @GetMapping
    public Result<List<Caiwu>> all() {
        return Result.success(caiwuService.list());
    }

    @PostMapping("/page")
    public Result<CaiwuVo> page(@RequestBody CaiwuVo caiwuVo) {
        return Result.success(caiwuService.findPage(caiwuVo));
    }
	    @PostMapping("/login")
    public Result login(@RequestBody Caiwu caiwu, HttpServletRequest request) {
        if (StrUtil.isBlank(caiwu.getZhanghao()) || StrUtil.isBlank(caiwu.getMima())) {
            throw new CustomException(ResultCode.PARAM_LOST_ERROR);
        }
        Caiwu login = caiwuService.login(caiwu);
//        if(!login.getStatus()){
//            return Result.error("1001","状态限制,无法登录系统");
//        }
        if(login != null) {
            HashMap hashMap = new HashMap();
            hashMap.put("user", login);
            Map<String, Object> map = MapWrapperUtils.builder(MapWrapperUtils.KEY_USER_ID,caiwu.getId());
            String token = JwtUtil.creatToken(map);
            hashMap.put("token", token);
            return Result.success(hashMap);
        }else {
            return Result.error();
        }
    }
    @PutMapping("/updatePassword")
    public Result updatePassword(@RequestBody Caiwu info, HttpServletRequest request) {
        Caiwu caiwu = caiwuService.findById(info.getId());
        String oldPassword = SecureUtil.md5(info.getMima());
        if (!oldPassword.equals(caiwu.getMima())) {
            return Result.error(ResultCode.PARAM_PASSWORD_ERROR.code, ResultCode.PARAM_PASSWORD_ERROR.msg);
        }
        info.setMima(SecureUtil.md5(info.getNewPassword()));
        Caiwu caiwu1 = new Caiwu();
        BeanUtils.copyProperties(info, caiwu1);
        caiwuService.update(caiwu1);
        return Result.success();
    }
}

五、效果图

请添加图片描述

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

六、文章目录

目 录
第一章 绪 论 1
1.1研究背景 1
1.2系统研究现状 1
1.3 研究意义 2
1.4 研究方法和设计思路 2
1.4.1研究方法 2
1.4.2设计思路 2
第二章 开发工具和开发技术 3
2.1开发工具 3
2.2 开发技术 3
2.2.1 Java语言 3
2.2.2 JSP技术介绍 3
2.2.3 SSM框架 4
2.2.4 B/S架构 4
第三章 需求分析 6
3.1 需求描述 6
3.2可行性分析 6
3.2.1技术可行性分析 6
3.2.2 经济可行性分析 6
3.2.3 环境运行可行性分析 7
3.2.4 法律可行性分析 7
3.3 系统功能需求分析 7
3.4 非功能性需求分析 8
3.5 系统流程分析 9
3.5.1 登录流程 9
3.5.2 添加信息流程 9
3.5.3 删除流程 10
3.6 本章小结 11
第四章 系统设计 12
4.1 系统总体设计 12
4.2 数据库设计 12
4.2.1 数据库逻辑设计 13
4.2.2 数据库表设计 14
4.3 本章小结 20
第五章 详细设计与实现 21
5.1系统功能实现 21
5.2管理员模块实现 23
5.3用户模块实现 26
5.4 本章小结 26
第六章 系统测试 28
6.1 测试目的 28
6.2 测试用例 28
6.3 本章小结 29
结 论 30
参考文献 31
致 谢 32

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值