基于SpringBoot实现的零食销售商城设计与实现【源码+文档】

系统介绍

基于Springboot+Vue实现的零食销售商城采用前后端分离架构方式,系统设计了管理员、用户、商家三种角色,系统实现了用户登录与注册、个人中心、用户管理、商家管理、零食种类管理、零食信息管理、论坛管理、在线客服、公告信息管理、公告信息分类管理、订单管理、轮播图管理等功能。

技术选型

开发工具:idea2020.3+Webstorm2020.3

运行环境:jdk1.8+maven3.6.0+MySQL5.7+nodejs14.21.3

服务端技术:Springboot+Mybatis-Plus

前端技术:html+css+Vue+axios+Element-UI

成果展示

文档展示

管理端页面

用户登录

首页

用户管理

商家管理

零食种类管理

零食信息管理

论坛管理

公告信息管理

公告信息分类管理

订单管理

轮播图管理

用户端页面

用户登录

首页

商家信息

零食信息

论坛

公告信息

购物车

个人中心

源码展示

复制代码
@RequestMapping("users")
@RestController
publicclass UsersController{

@Autowired
private UsersService userService;

@Autowired
private TokenService tokenService;

/**
  * 登录
  */
@IgnoreAuth
@RequestMapping(value = "/login")
public R login(String username, String password, String captcha, HttpServletRequest request) {
  UsersEntity user = userService.selectOne(new EntityWrapper<UsersEntity>().eq("username", username));
if(user==null || !user.getPassword().equals(password)) {
   return R.error("账号或密码不正确");
  }
  String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
return R.ok().put("token", token);
 }

/**
  * 注册
  */
@IgnoreAuth
@PostMapping(value = "/register")
public R register(@RequestBody UsersEntity user){
     if(userService.selectOne(new EntityWrapper<UsersEntity>().eq("username", user.getUsername())) !=null) {
      return R.error("用户已存在");
     }
        userService.insert(user);
        return R.ok();
    }

/**
  * 退出
  */
@GetMapping(value = "logout")
public R logout(HttpServletRequest request) {
  request.getSession().invalidate();
return R.ok("退出成功");
 }

/**
     * 密码重置
     */
    @IgnoreAuth
@RequestMapping(value = "/resetPass")
    public R resetPass(String username, HttpServletRequest request){
     UsersEntity user = userService.selectOne(new EntityWrapper<UsersEntity>().eq("username", username));
     if(user==null) {
      return R.error("账号不存在");
     }
     user.setPassword("123456");
        userService.update(user,null);
        return R.ok("密码已重置为:123456");
    }

/**
     * 列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,UsersEntity user){
        EntityWrapper<UsersEntity> ew = new EntityWrapper<UsersEntity>();
     PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
        return R.ok().put("data", page);
    }

/**
     * 列表
     */
    @RequestMapping("/list")
    public R list( UsersEntity user){
        EntityWrapper<UsersEntity> ew = new EntityWrapper<UsersEntity>();
       ew.allEq(MPUtil.allEQMapPre( user, "user")); 
        return R.ok().put("data", userService.selectListView(ew));
    }

    /**
     * 信息
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") String id){
        UsersEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }
    
    /**
     * 获取用户的session用户信息
     */
    @RequestMapping("/session")
    public R getCurrUser(HttpServletRequest request){
     Long id = (Long)request.getSession().getAttribute("userId");
        UsersEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }

    /**
     * 保存
     */
    @PostMapping("/save")
    public R save(@RequestBody UsersEntity user){
     if(userService.selectOne(new EntityWrapper<UsersEntity>().eq("username", user.getUsername())) !=null) {
      return R.error("用户已存在");
     }
        userService.insert(user);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody UsersEntity user){
     UsersEntity u = userService.selectOne(new EntityWrapper<UsersEntity>().eq("username", user.getUsername()));
     if(u!=null && u.getId()!=user.getId() && u.getUsername().equals(user.getUsername())) {
      return R.error("用户名已存在。");
     }
        userService.updateById(user);//全部更新
        return R.ok();
    }
}

账号地址及其他说明

1、地址说明

管理端登录页面 http://localhost:8081/#/login

用户端登录页面 http://localhost:8080/springbootau72407e/front/dist/index.html#/login

2、账号说明

管理员 账户:admin 密码:admin

用户 账户:用户账号1 密码:123456

商家 账户:商家号1 密码:123456

3、目录结构展示

4、项目结构展示

5、以上系统源码,经过博主整理与调试,确保能正常运行!

6、制作不易,点赞、在看、分享再走吧,您的支持永远是我最大的动力!

7、运行步骤

1、创建数据库、导入sql脚本

2、修改application.yml中的数据库配置文件,启动服务端

3、在前端根目录下打开cmd,执行npm install或者yarn install下载依赖

4、下载完毕后启动前端npm run serve,访问端口

相关推荐
咩咩啃树皮10 小时前
第40篇:Vue3组件化开发精讲——组件拆分、复用、父子通信、工程化架构
java·前端·架构
阳光是sunny10 小时前
LangGraph中的Reducer是什么
前端·人工智能·后端
灯澜忆梦10 小时前
GO_并发编程---定时器
开发语言·后端·golang
阳光是sunny10 小时前
从链到图:LangGraph 入门基础全解析
前端·人工智能·后端
鱟鲥鳚10 小时前
Spring Boot 集成 LangChain4j:从模型调用到 Tool Calling(Demo版)
java·spring boot
皮皮林55110 小时前
开源实力派,给本地 AI 装上深度调研能力,一张 3090 跑到 95.7 分!
后端
努力的小雨11 小时前
把 Windows 桌面图标做成一个会自己运转的小世界
后端
武子康11 小时前
Search Console Platform Properties 扩大 SEO 资产边界:从 Page Ranking 到 Topic Coverage(5 类误读边界 + 3 表数据层设计)
前端·人工智能·后端
大模型码小白11 小时前
【Python零基础教程】继承、多态与魔法函数:面向对象编程三大核心特性详解
java·大数据·开发语言·人工智能·python·ai编程
腾渊信息科技公司12 小时前
Spring Boot对接MES实战:视觉检测数据自动同步方案
java·人工智能·spring boot·后端·计算机视觉·ai·软件需求