1、系统概述

基于ssm的图书管理系统是为学校或者工作单位的图书馆开发的,为了使图书馆的工作人员在管理图书馆时更加方便快捷,统计图书馆的书籍,为图书馆的书籍进行合理的分类,当读者在查找某类书籍的时候可以最快的找到,作为图书馆的管理人员有对图书馆的书籍、用户以及其他方面的管理权限,作为学生或者用户可以对图书馆进行查询的操作,通过注册自己的账号,图书馆管理系统使管理人员管理更加方便,使用户查找书籍更加快捷。

2、需求分析

2.1 系统功能分析


2.2 非功能性需求

用户界面要求

客户端采用IE等主流浏览器,平台的界面风格遵循网页设计规范,直观清晰,大部分操作只需轻点鼠标即可。并且,界面设计风格与综合应用平台基本保持一致。

对于系统数据的采集和平台输出的相关资料,如订单数据、用户信息数据和密码修改界面,图书管理和进行各种必要的数据统计处理

3、系统设计

3.1 数据库和表设计

用户信息表:

收藏信息表:

订单信息表:

历史订单信息表:

商品基本信息表:

商品功能属性表:

图片信息表:

3.2系统框架设计

建设方案从用户实际应用需求出发,采用目前业界流行使用、功能强大的新技术,结合可实现先进信息处理、高效业务处理、保证良好的业务可扩展、高度安全应用平台的要求,从而确定出整个系统的设计思路,系统的结构图如下:

4、系统实现及测试

4.1登录模块
功能描述:用户或者管理员输入账号和密码,判断账号密码是否正确,若正确则判断是管理员还是用户并跳转到相应的主页,若密码错误则出现提示信息。

后端实现:根据前端传来的id和密码进行校验,并用Session进行存储管理员或者用户对象,最后返回登录成功或失败的信息。
关键代码:

    @RequestMapping("/checklogin")@ResponseBodypublic String checkLogin(HttpSession session,HttpServletRequest request) throws IOException {User user = loginService.checkLogin(request.getParameter("username"), MD5Util.encode2hex(request.getParameter("password")));
//        String user = user1.getUid();if (user != null) {//            HttpSession session=request.getSession();session.setAttribute("user",user.getUid());System.out.println("UCK:"+user);return "success";} else { return "fail";}}

4.2用户管理模块
功能描述:查看用户ID、用户名、年龄、性别、Email、电话、状态、角色等信息,并可以修改、删除信息,以及添加新的用户
效果图:

后端实现:根据前端传来的id和密码进行校验,并用Session进行存储管理员或者用户对象,最后返回登录成功或失败的信息。

@RequestMapping("/all")
public ModelAndView all(@RequestParam(value = "page",defaultValue="1")int page, @RequestParam(value = "size",defaultValue="8")int size) throws Exception {ModelAndView modelAndView = new ModelAndView();PageInfo<User> pageInfo =userService.listUser(page, size);modelAndView.addObject("pageInfo",pageInfo);modelAndView.setViewName("admin/allusers");return modelAndView;
}

4.3用户管理模块
功能描述:查看商品的ID、品牌、商品名称、颜色、工作范围、工作时长、净重、尺寸、蓝牙协议、电池容量、状态、买家ID,以及审核商品和删除商品。
效果图:

后端实现:利用PageHelper进行分页处理,根据商品Id进行修改信息和删除,根据审核表单属性添加修改商品信息,当商品的状态为“可出售”时,商品检索处才会出现该商品。
关键代码:

@RequestMapping(value = "/audited",method = RequestMethod.POST)
@ResponseBody
public String editlala(String carId,String level,String engine,String gearbox,String bodyStructure,String size,String maximumspeed,String cargoVolume,String islocked)  {CarInfo carInfo=carInfoService.selectByPrimaryKey(carId);carInfo.setLevel(level);carInfo.setEngine(engine);carInfo.setGearbox(gearbox);carInfo.setBodyStructure(bodyStructure);carInfo.setSize(size);carInfo.setMaximumspeed(maximumspeed);carInfo.setCargoVolume(cargoVolume);carInfo.setIslocked(islocked);carInfoService.updateByPrimaryKey(carInfo);return "success";
}
@RequestMapping("/editgood/{id}")
public ModelAndView editgood(@PathVariable("id") String id)  {ModelAndView modelAndView = new ModelAndView();CarInfo carInfo= carInfoService.selectByPrimaryKey(id);modelAndView.addObject("Good",carInfo);modelAndView.setViewName("admin/audited");return modelAndView;
}

4.4订单管理模块
功能描述:根据订单的状态来分类显示,如未确认、已确认、已取消、已完成。显示订单ID、商品ID、款式、价格、定金、卖家ID、验货地址、买家Id、下单时间、订单状态,以及可以删除订单。
效果图:

后端实现:利用PageHelper进行分页处理,根据商品Id进行删除,将订单状态作为关键字,进行条件查询,然后分类显示所有订单。
关键代码:

@RequestMapping("/allorders")
public ModelAndView allorders(@RequestParam(value = "page",defaultValue="1")int page, @RequestParam(value = "size",defaultValue="8")int size) throws Exception {ModelAndView modelAndView = new ModelAndView();PageInfo<Order> pageInfo =orderService.listOrders(page,size);modelAndView.addObject("pageInfo",pageInfo);modelAndView.setViewName("admin/allorders");return modelAndView;
}
@RequestMapping("/cancel")
public ModelAndView cancel() throws Exception {ModelAndView modelAndView = new ModelAndView();List<Order> OrderList =orderService.selectByStatus("已取消");modelAndView.addObject("CancelList",OrderList);modelAndView.setViewName("admin/cancel");return modelAndView;
}
@RequestMapping("/finish")
public ModelAndView finish() throws Exception {ModelAndView modelAndView = new ModelAndView();List<Order> OrderList =orderService.selectByStatus("已完成");modelAndView.addObject("FinishList",OrderList);modelAndView.setViewName("admin/finish");return modelAndView;
}

4.5预约商品模块
功能描述:用户点击“预约商品”按钮,前台返回“预约成功”或“您已经下单”的信息,后台会根据前台传来的商品ID,用户ID生成订单。
效果图

String user_id = (String) session.getAttribute("user");
//对已有订单处理
List<Order> orders = orderMapper.selectByBid(user_id);
for (Order order: orders) {if(order.getCarId().equals(id)) return "fail";
}
//添加新订单
Random random = new Random();
int result = random.nextInt(60000) % 30001 + 30000;
String order_id = String.valueOf(result);
CarInfo carInfo = carInfoService.selectByPrimaryKey(id);
String seller_id = carInfo.getUid();
//获取系统时间测试
Date dt=new Date();//如果不需要格式,可直接用dt,dt就是当前系统时间Order  order = new Order(order_id,id,carInfo.getConfName(),carInfo.getPrice(),carInfo.getPrice()*0.1,seller_id,carInfo.getAddress(),user_id,dt,"未确认");
orderMapper.insert(order);

4.5预约商品模块
功能描述:用户点击“收藏商品”按钮,前台返回“添加收藏成功”或“您已添加收藏”的信息,后台会根据前台传来的商品ID,用户ID记录到收藏列表中。
效果图:

后端实现:利用Session获取当前用户的所有收藏,若用户已经对某商品添加收藏,就会返回fail,前台提示用户已经对此商品进行收藏。否则会记录用户的Id和商品的ID到收藏列表中。
关键代码:

@RequestMapping("/collection")public ModelAndView collection(HttpSession session){String user_id = (String) session.getAttribute("user");ModelAndView modelAndView = new ModelAndView();List<FavKey> favKeyList = fdavMapper.selectByUid(user_id);List<CarInfo> itemsList = new ArrayList<CarInfo>();for (FavKey favKey:favKeyList) {CarInfo carInfo;String car_id=favKey.getCarId();carInfo=carInfoService.selectByPrimaryKey(car_id);itemsList.add(carInfo);}
//        System.out.println("SSS:"+itemsList);modelAndView.addObject("itemsList",itemsList);modelAndView.setViewName("user/collection");return modelAndView;}

源代码(含数据库)

基于ssm的校园二手电子交易平台相关推荐

  1. 基于ssm的校园二手物品交易平台(idea+spring+springmvc+mybatis+jsp)

    一.系统简介 本项目采用idea工具开发,jsp+spring+spring-mvc+mybatis+jquery技术编写,数据库采用的是mysql,navicat开发工具. 系统一共分为2个角色分别 ...

  2. 计算机毕业设计 校园二手书籍交易系统 基于SSM的校园二手图书交易平台 二手交易网站 校园二手交易网站 校园二手交易平台源码 闲置物品交易系统 网上跳蚤市场 二手图书交易系统 二手书籍交易网站

  3. 基于ssm的校园二手物品交换系统

    1 简介 今天向大家介绍一个帮助往届学生完成的毕业设计项目,基于ssm的校园二手物品交换系统. 计算机毕业生设计,课程设计需要帮助的可以找我 2 设计概要 21世纪是信息化时代,随着信息技术和网络技术 ...

  4. (附源码)基于java的校园二手书籍交易平台 毕业设计131558

    校园二手书籍交易平台的设计与实现 摘要 随着计算机技术和网络技术的迅速发展,网上购物已经融入了人们的日常生活中,电子商务也因此流行起来.国内的京东商城.天猫.苏宁易购等大型网站在图书销售等商品零售领域 ...

  5. (附源码)springboot基于java的校园二手书籍交易平台 毕业设计131558

    校园二手书籍交易平台的设计与实现 摘要 随着计算机技术和网络技术的迅速发展,网上购物已经融入了人们的日常生活中,电子商务也因此流行起来.国内的京东商城.天猫.苏宁易购等大型网站在图书销售等商品零售领域 ...

  6. 基于Python的校园二手物品交易平台的设计与实现

     源码获取:https://www.bilibili.com/video/BV1Ne4y1g7dC/ 由于科学技术的快速进步,社会的每个领域都离不开电脑技术.随着电脑技术的不断进步,互联网的领域也不断 ...

  7. 基于asp.net校园二手物品交易平台-计算机毕业设计

    项目介绍 通过校园二手物品交易平台这个平台,可以使用户足不出户就可以了解现今的流行趋势和丰富的商品信息,为用户提供了极大的方便,校园二手物品交易平台的主要功能包含:商品类别管理.商品的信息管理.订单管 ...

  8. 计算机毕业设计基于asp.net校园二手物品交易平台

    通过校园二手物品交易平台这个平台,可以使用户足不出户就可以了解现今的流行趋势和丰富的商品信息,为用户提供了极大的方便,校园二手物品交易平台的主要功能包含:商品类别管理.商品的信息管理.订单管理.用户的 ...

  9. 精品基于SSM的校园二手交易平台

    <基于SSM校园二手交易平台>该项目含有源码.论文等资料.配套开发软件.软件安装教程.项目发布教程等 使用技术: 开发语言:Java 框架:ssm 技术:JSP JDK版本:JDK1.8 ...

最新文章

  1. 【剑指offer】面试题四:替换空格
  2. C++中extern “C”含义深层探索(zz)
  3. 1.21 方法的可变参数(String...names)
  4. tcpdump抓包实例
  5. 工作中常用到的ES6语法
  6. 动手学习数据分析(一)——数据探索性分析
  7. 公司规定所有接口都用 POST请求,看不起 get ?这是为什么?
  8. Mac: Failed to connect to raw.githubusercontent.com port 443: Connection refused error:
  9. linux基础命令(一)
  10. 剪辑神器,分享一个可以批量修改大量视频MD5值的工具
  11. Android平台车牌识别开发手册
  12. 导数与微分常用公式(基础)
  13. 元旦给计算机老师发贺词,给老师的元旦祝福语
  14. python中print的用法_Python中print用法里面% ,%s 和 % d 代表的意思
  15. 桂电深信服CTF之MSC真假压缩包
  16. PBR来龙去脉九:继续Unreal的IBL部分
  17. 算法【二叉树】学习笔记 - 已知结点数计算可构建出多少种二叉树
  18. Get Offer —— 工作态度考核训练
  19. 《信息化项目文档模板十三——研发项目申报书 》
  20. WSL Ubuntu guile命令报错Wrong __data_start/_end pair及guile-gi等相关编译错误的解决方法

热门文章

  1. android studio 根目录,AS 根目录结构说明
  2. 哈!他们的“自我修养” 穆穆-movno1
  3. 使用antV-G6在angualr中画树形关系图
  4. 用前端代码编写一个动态的罗盘时钟
  5. 【JavaWeb篇】快速上手Tomcat|实战项目详解
  6. TI C2000 刷flash意外锁芯片的解决办法
  7. 论文笔记(八):360 VR Based Robot Teleoperation Interface for Virtual Tour
  8. 听说蝴蝶国的小公主可漂亮了!黑亮的头发
  9. python manager 共享数据访问_python 进程间数据共享multiProcess.Manger实现解析
  10. 【每天学点管理】——RACI责任制(快速解决责任分配问题)