基于springboot的校园店铺系统

博主主页猫头鹰源码

博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万+、专注Java技术领域和毕业设计项目实战

主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询

文末联系获取

项目介绍: 

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

项目功能:

1 主要功能模块有:店铺管理、商品管理、分类管理、用户账号管理、前端展示、图片上传、模糊查询等 2 系统登录模块:用户在输入用户名和密码之后,验证通过后方可登陆,如果登陆信息不正确则会返回登录界面。 3 普通用户前台模块主要功能有:(1)用户注册模块:注册登录、修改密码、商品、店铺查询、商品购买功能 (2)商品 / 商铺查询模块:可以根据每个对应的类查询店铺或商品的分类。 4 商家管理员模块主要功能有:(1)店铺管理:可以自主增加,修改、删除店铺信息;(2)分类管理模块:对商品类别进行增加,修改、删除;(3)商品管理模块:可以自主增加,修改、删除商品,并自由选择上架商品的图片、价格、类别等属性. 5系统管理员模块:管理普通用户账号注册,商家注册及商家商品信息审核功能

数据库表结构文档: 

系统包含技术:

后端:springboot、mybatis
前端:layui,js,css等,html页面
开发工具:idea
数据库:mysql 5.7
JDK版本:jdk1.8

部分截图说明:

下面是首页

店铺列表

店铺详情

书籍详情

商品详情

购物车

 订单详情

登录

管理员的首页

 管理员对店铺进行管理

 管理员对商品管理

管理员对分类进行维护

 管理员对用户维护

商家对商品进行维护

部分代码:

 分类操作

 /**进入列表页面*/     @GetMapping("/cart")     public String userIframe(){         return "CartList";     }      /**列表数据*/     @GetMapping("/list")     @ResponseBody     public PageResultVo findCart(Cart cart, Integer limit, Integer page){         PageHelper.startPage(page,limit);         List<Cart> cartList = cartService.selectByCondition(cart);         PageInfo<Cart> pages = new PageInfo<>(cartList);         return JsonData.table(cartList,pages.getTotal());     }       /**编辑详情*/     @GetMapping("/edit")     @ResponseBody     public Cart edit(Model model, String id){         return cartService.selectById(id);     }       /**编辑*/     @PostMapping("/edit")     @ResponseBody     public JsonData edit(Cart cart){         int a = cartService.updateById(cart);         if (a > 0) {           return JsonData.success(null,"编辑成功!");         } else {           return JsonData.fail("编辑失败");         }     }      /**前台删除删除*/     @GetMapping("/delete")     public String delete(String id){         cartService.deleteById(Integer.parseInt(id));         return "redirect:/index/cart";     }       /**删除*/     @PostMapping("/del")     @ResponseBody     public JsonData del(String id){         try{           cartService.deleteById(Integer.parseInt(id));         }catch(Exception ex){           JsonData.fail("出现错误");         }         return JsonData.success(null,"删除成功");     }      /**新增*/     @PostMapping("/add")     @ResponseBody     public JsonData add(Cart cart, HttpSession session){         Date date = new Date();         cart.setCreateTime(date);         String type = (String)session.getAttribute("type");         if(type.equals("03")){             User user = (User)session.getAttribute("userInfo");             if(user!=null){                 cart.setUid(String.valueOf(user.getId()));             }         }         //如果同一个商品继续添加购物车,将数量想加         Cart cart1 = new Cart();         cart1.setGid(cart.getGid());         cart1.setUid(cart.getUid());         List<Cart> carts = cartService.selectByCondition(cart1);         if(carts.size()==1){             Cart cart2 = carts.get(0);             cart2.setNum(String.valueOf(Integer.parseInt(cart2.getNum())+Integer.parseInt(cart.getNum())));             cartService.updateById(cart2);             return JsonData.success(null,"加入购物车成功");         }         int num = cartService.addByCondition(cart);         if(num > 0){           return JsonData.success(null,"加入购物车成功");         }else {           return JsonData.fail("加入购物车失败");         }     }

拦截器

@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;     }

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值