• 基于springboot的校园店铺系统


    博主主页猫头鹰源码

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

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

    文末联系获取

    项目介绍: 

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

    项目功能:

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

    数据库表结构文档: 

    系统包含技术:

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

    部分截图说明:

    下面是首页

    店铺列表

    店铺详情

    书籍详情

    商品详情

    购物车

     订单详情

    登录

    管理员的首页

     管理员对店铺进行管理

     管理员对商品管理

    管理员对分类进行维护

     管理员对用户维护

    商家对商品进行维护

    部分代码:

     分类操作

    1. /**进入列表页面*/
    2. @GetMapping("/cart")
    3. public String userIframe(){
    4. return "CartList";
    5. }
    6. /**列表数据*/
    7. @GetMapping("/list")
    8. @ResponseBody
    9. public PageResultVo findCart(Cart cart, Integer limit, Integer page){
    10. PageHelper.startPage(page,limit);
    11. List<Cart> cartList = cartService.selectByCondition(cart);
    12. PageInfo<Cart> pages = new PageInfo<>(cartList);
    13. return JsonData.table(cartList,pages.getTotal());
    14. }
    15. /**编辑详情*/
    16. @GetMapping("/edit")
    17. @ResponseBody
    18. public Cart edit(Model model, String id){
    19. return cartService.selectById(id);
    20. }
    21. /**编辑*/
    22. @PostMapping("/edit")
    23. @ResponseBody
    24. public JsonData edit(Cart cart){
    25. int a = cartService.updateById(cart);
    26. if (a > 0) {
    27. return JsonData.success(null,"编辑成功!");
    28. } else {
    29. return JsonData.fail("编辑失败");
    30. }
    31. }
    32. /**前台删除删除*/
    33. @GetMapping("/delete")
    34. public String delete(String id){
    35. cartService.deleteById(Integer.parseInt(id));
    36. return "redirect:/index/cart";
    37. }
    38. /**删除*/
    39. @PostMapping("/del")
    40. @ResponseBody
    41. public JsonData del(String id){
    42. try{
    43. cartService.deleteById(Integer.parseInt(id));
    44. }catch(Exception ex){
    45. JsonData.fail("出现错误");
    46. }
    47. return JsonData.success(null,"删除成功");
    48. }
    49. /**新增*/
    50. @PostMapping("/add")
    51. @ResponseBody
    52. public JsonData add(Cart cart, HttpSession session){
    53. Date date = new Date();
    54. cart.setCreateTime(date);
    55. String type = (String)session.getAttribute("type");
    56. if(type.equals("03")){
    57. User user = (User)session.getAttribute("userInfo");
    58. if(user!=null){
    59. cart.setUid(String.valueOf(user.getId()));
    60. }
    61. }
    62. //如果同一个商品继续添加购物车,将数量想加
    63. Cart cart1 = new Cart();
    64. cart1.setGid(cart.getGid());
    65. cart1.setUid(cart.getUid());
    66. List<Cart> carts = cartService.selectByCondition(cart1);
    67. if(carts.size()==1){
    68. Cart cart2 = carts.get(0);
    69. cart2.setNum(String.valueOf(Integer.parseInt(cart2.getNum())+Integer.parseInt(cart.getNum())));
    70. cartService.updateById(cart2);
    71. return JsonData.success(null,"加入购物车成功");
    72. }
    73. int num = cartService.addByCondition(cart);
    74. if(num > 0){
    75. return JsonData.success(null,"加入购物车成功");
    76. }else {
    77. return JsonData.fail("加入购物车失败");
    78. }
    79. }

    拦截器

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

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

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

  • 相关阅读:
    Android [SPI,AutoSerivce,ServiceLoader]
    FastAdmin框架实现数据表的增删改查
    JVM 一张图带你了解内存分配过程 搞懂逃逸分析|标量替换|指针碰撞|空闲列表|TLAB
    按照规则生成括号
    leetcode - 1658. Minimum Operations to Reduce X to Zero
    Docker 哲学 - 容器操作 -cp
    前端开发网站推荐
    经济数据预测 | Python实现机器学习(MLP、XGBoost)金融市场预测
    【剑指offer-牛客网刷题】第一篇-斐波拉契数列-C实现
    一步一步认知机器学习
  • 原文地址:https://blog.csdn.net/mtyedu/article/details/126824405