基于ssm的校园二手电子交易平台

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

1、系统概述

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

2、需求分析

2.1 系统功能分析

在这里插入图片描述
2.2 非功能性需求

用户界面要求

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

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

3、系统设计

3.1 数据库和表设计

用户信息表:
在这里插入图片描述
收藏信息表:
在这里插入图片描述
订单信息表:
在这里插入图片描述
历史订单信息表:
在这里插入图片描述
商品基本信息表:
在这里插入图片描述
商品功能属性表:
在这里插入图片描述
图片信息表:
在这里插入图片描述
3.2系统框架设计

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

4、系统实现及测试

4.1登录模块
功能描述:用户或者管理员输入账号和密码,判断账号密码是否正确,若正确则判断是管理员还是用户并跳转到相应的主页,若密码错误则出现提示信息。
在这里插入图片描述
后端实现:根据前端传来的id和密码进行校验,并用Session进行存储管理员或者用户对象,最后返回登录成功或失败的信息。
关键代码:

    @RequestMapping("/checklogin")
    @ResponseBody
    public 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;
    }

源代码(含数据库)

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值