基于springboot的校园跑腿系统

简介: 该系统创作于2022年5月,包含详细数据库设计。基于springboot技术,数据层为MyBatis,mysql数据库,页面使用html,具有完整的业务逻辑,适合选题:校园跑腿、跑腿、校园帮等。

项目介绍:



该系统创作于2022年5月,包含详细数据库设计。基于springboot技术,数据层为MyBatis,mysql数据库,页面使用html,具有完整的业务逻辑,适合选题:校园跑腿、跑腿、校园帮等。


项目功能:



3b0146cea93a463c87773bc9739bf5c1.jpg6c1f9ea0c28a4c3c99c420da16248252.png


数据库表结构文档:



441db3215b7d482186050bd2c7355eb8.png


系统包含技术:



后端:springboot、mybatis

前端:layui,js,css等,html页面

开发工具:idea

数据库:mysql 5.7

JDK版本:jdk1.8


部分截图说明:



下面是用户首页,可以看到部分任务和商品


f6a1b597f78840b9a407df21dd74a45b.png


登录页面如下:


aac70ad57d0c49d5ad9592ab9945b459.png


分页展示商品,可以筛选


01d2edf271954742a0247028b291cb15.png


点击某一个,可以看到商品详情,可以加入购物车


bc552e3b5e3b40fba16b439c823bf39b.png


所有任务


0ef5c46df7294ad5a487c9187157709a.png


任务详情查看


 80c1acc02d78492aa6a9eae37aa267b7.png


商品订单


519bc8a2061a4e48b3f423d159678840.png


管理员-首页


61d9c90075cc483ba3821fcccde9f1d4.png


管理员-商家认证


1ac9eaaed9d240b8b8e6279a5f462f37.png


管理员-骑手认证


d5b7d2a540e54527a6e3b1acec77f908.png


管理员-用户管理


2021a672b3d54bbaab20bd3e1b6870c0.png


商家-添加商品


40c93619fc294014b330af283a01d9e9.png


商家-商品管理


f2e30065f40a447ba89c1cbed31754f7.png


部分代码:



拦截器


@Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        HttpSession session = request.getSession();
        if(session.getAttribute("userInfo") != null){
            return true;
        }
        // 不符合条件的给出提示信息,并转发到主页面
        request.setAttribute("msg", "您还没有登录,请先登录!");
        request.getRequestDispatcher("/logout").forward(request, response);
        //返回true通过,返回false拦截
        return false;
    }


文件上传


/**
     * 文件上传
     * @param dropFile
     * @param request
     * @return
     */
    @ResponseBody
    @RequestMapping(value = "/avatar", method = RequestMethod.POST)
    public Map<String, Object> acticleAvatar(MultipartFile dropFile, HttpServletRequest request) throws IOException {
        Map<String, Object> result = new HashMap<>();
        //获取文件后缀
        String fileName = dropFile.getOriginalFilename();
        String fileSuffix = fileName.substring(fileName.lastIndexOf('.'));
        //文件存放路径
        String fileDirPath = new String(uploadDir);
        File fileDir = new File(fileDirPath);
        //判断文件是否存在
        if (!fileDir.exists()){
            fileDir.mkdirs();
        }
        File file = new File(fileDir.getAbsolutePath()+ File.separator+ UUID.randomUUID() + fileSuffix);
        try {
            dropFile.transferTo(file);
        } catch (IOException e) {
            e.printStackTrace();
        }
        //传到前端
        result.put("fileName", "http://localhost:"+port+"/upload/"+file.getName());
        return result;
    }


首页相关操作


//首页
    @GetMapping("/")
    public String userIframe(Model model){
        Map mp = new HashMap<>();
        mp.put("limit","1");
        mp.put("status","01");
        List<CustomOrder> customOrderList = customOrderService.queryFilter(mp);
        model.addAttribute("customOrderList",customOrderList);
        List<Goods> goods = goodsService.queryFilter(mp);
        model.addAttribute("goods",goods);
        return "show";
    }
    //自定义订单
    @GetMapping("/corder")
    public String corder(Model model, String searchName, Integer pageNum, Integer pageSize){
        Map mp = new HashMap<>();
        mp.put("name",searchName);
        mp.put("status","01");
        if(pageNum==null){
            pageNum =1;
        }
        if(pageSize==null){
            pageSize =10;
        }
        PageHelper.startPage(pageNum,pageSize);
        List<CustomOrder> customOrders = customOrderService.queryFilter(mp);
        PageInfo<CustomOrder> customOrderList = new PageInfo<>(customOrders);
        model.addAttribute("customOrderList",customOrderList);
        return "CustomOrder";
    }
    //商品订单
    @GetMapping("/sorder")
    public String sorder(Model model, String searchName, Integer pageNum, Integer pageSize){
        Map mp = new HashMap<>();
        mp.put("no",searchName);
        mp.put("status","01");
        if(pageNum==null){
            pageNum =1;
        }
        if(pageSize==null){
            pageSize =10;
        }
        PageHelper.startPage(pageNum,pageSize);
        List<Orders> orderss = ordersService.queryFilter(mp);
        PageInfo<Orders> ordersList = new PageInfo<>(orderss);
        model.addAttribute("ordersList",ordersList);
        return "goodsOrder";
    }
    //商品
    @GetMapping("/good")
    public String good(Model model, String storeName, String name, Integer pageNum, Integer pageSize){
        Map mp = new HashMap<>();
        mp.put("storeName",storeName);
        mp.put("name",name);
        mp.put("status","01");
        if(pageNum==null){
            pageNum =1;
        }
        if(pageSize==null){
            pageSize =8;
        }
        PageHelper.startPage(pageNum,pageSize);
        List<Goods> goodsList = goodsService.queryFilter(mp);
        PageInfo<Goods> goods = new PageInfo<>(goodsList);
        model.addAttribute("goods",goods);
        return "good";
    }
    //商品详情
    @GetMapping("/goodDetail")
    public String goodDetail(String id, Model model){
        Goods good = goodsService.selectById(id);
        model.addAttribute("id",id);
        model.addAttribute("good",good);
        return "goodDetail";
    }


商品操作


/**列表数据*/
    @GetMapping("/list")
    @ResponseBody
    public PageResultVo findGoods(Goods goods, Integer limit, Integer page, HttpSession session){
        String type = (String)session.getAttribute("type");
        if(type.equals("03")){
            User user = (User)session.getAttribute("userInfo");
            goods.setUid(String.valueOf(user.getId()));
        }
        PageHelper.startPage(page,limit);
        List<Goods> goodsList = goodsService.selectByCondition(goods);
        PageInfo<Goods> pages = new PageInfo<>(goodsList);
        return JsonData.table(goodsList,pages.getTotal());
    }
    /**编辑详情*/
    @GetMapping("/edit")
    @ResponseBody
    public Goods edit(Model model, String id){
        return goodsService.selectById(id);
    }
    /**编辑*/
    @PostMapping("/edit")
    @ResponseBody
    public JsonData edit(Goods goods){
        int a = goodsService.updateById(goods);
        if (a > 0) {
          return JsonData.success(null,"编辑成功!");
        } else {
          return JsonData.fail("编辑失败");
        }
    }
    /**删除*/
    @PostMapping("/del")
    @ResponseBody
    public JsonData del(String id){
        try{
          goodsService.deleteById(Integer.parseInt(id));
        }catch(Exception ex){
          JsonData.fail("出现错误");
        }
        return JsonData.success(null,"删除成功");
    }


以上就是部分功能展示,从整体上来看,本系统功能是十分完整的,界面设计简洁大方,交互友好,数据库设计也很合理,规模适中,代码工整,清晰,适合学习使用。


好了,今天就到这儿吧,小伙伴们点赞、收藏、评论,一键三连走起呀,下期见~~



相关文章
|
3月前
|
监控 安全 JavaScript
2025基于springboot的校车预定全流程管理系统
针对传统校车管理效率低、信息不透明等问题,本研究设计并实现了一套校车预定全流程管理系统。系统采用Spring Boot、Java、Vue和MySQL等技术,实现校车信息管理、在线预定、实时监控等功能,提升学校管理效率,保障学生出行安全,推动教育信息化发展。
|
3月前
|
JavaScript Java 关系型数据库
基于springboot的高校运动会系统
本系统基于Spring Boot、Vue与MySQL,实现高校运动会报名、赛程安排及成绩管理的全流程信息化,提升组织效率,杜绝信息错漏与冒名顶替,推动体育赛事智能化发展。
|
3月前
|
JavaScript 安全 Java
基于springboot的大学生兼职系统
本课题针对大学生兼职信息不对称、权益难保障等问题,研究基于Spring Boot、Vue、MySQL等技术的兼职系统,旨在构建安全、高效、功能完善的平台,提升大学生就业竞争力与兼职质量。
|
3月前
|
JavaScript Java 关系型数据库
基于springboot的美食城服务管理系统
本系统基于Spring Boot、Java、Vue和MySQL技术,构建集消费者服务、商家管理与后台监管于一体的美食城综合管理平台,提升运营效率与用户体验。
|
3月前
|
Java 关系型数据库 MySQL
基于springboot的网咖网吧管理系统
本文探讨了基于Java、MySQL和SpringBoot的网吧管理系统的设计与实现。随着信息化发展,传统管理方式难以满足需求,而该系统通过先进技术提升管理效率、保障数据安全、降低运营成本,具有重要意义。
|
3月前
|
JavaScript Java 关系型数据库
基于springboot的摄影师分享交流社区系统
本系统基于Spring Boot与Vue构建摄影师分享交流平台,旨在打造专业社区,支持作品展示、技术交流与合作互动。采用Java、MySQL等成熟技术,提升摄影爱好者创作水平,推动行业发展。
|
3月前
|
JavaScript Java 关系型数据库
基于springboot的项目管理系统
本文探讨项目管理系统在现代企业中的应用与实现,分析其研究背景、意义及现状,阐述基于SSM、Java、MySQL和Vue等技术构建系统的关键方法,展现其在提升管理效率、协同水平与风险管控方面的价值。
|
3月前
|
搜索推荐 JavaScript Java
基于springboot的儿童家长教育能力提升学习系统
本系统聚焦儿童家长教育能力提升,针对家庭教育中理念混乱、时间不足、个性化服务缺失等问题,构建科学、系统、个性化的在线学习平台。融合Spring Boot、Vue等先进技术,整合优质教育资源,提供高效便捷的学习路径,助力家长掌握科学育儿方法,促进儿童全面健康发展,推动家庭和谐与社会进步。
|
3月前
|
JavaScript Java 关系型数据库
基于springboot的古树名木保护管理系统
本研究针对古树保护面临的严峻挑战,构建基于Java、Vue、MySQL与Spring Boot技术的信息化管理系统,实现古树资源的动态监测、数据管理与科学保护,推动生态、文化与经济可持续发展。