基于javaweb的在线点餐系统(java+springboot+mybatis+vue+mysql+redis)

运行环境

Java≥8、MySQL≥5.7、Node.js≥10

开发工具

后端:eclipse/idea/myeclipse/sts等均可配置运行

前端:WebStorm/VSCode/HBuilderX等均可

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

基于javaweb+mysql的在线点餐系统(java+Springboot+Maven+mybatis+Vue+mysql+Redis)

项目描述:

这是一个基于SpringBoot+Vue框架开发的在线点餐系统。首先,这是一个前后端分离的项目。具有一个在线点餐系统该有的所有功能。

项目功能:

此项目分为两个角色:普通用户和管理员。普通用户有登录注册、浏览商品信息、添加购物车、结算订单、查看个人信息、查看个人订单详情等等功能。管理员有管理所有商品信息、管理所有订单信息、管理所有用户信息、查看收益数据图表等等功能。

应用技术:SpringBoot + VueCli + MySQL + MyBatis + Redis + ElementUI

运行环境:IntelliJ IDEA2019.3.5 + MySQL5.7+ Redis5.0.5 + JDK1.8 + Maven3.6.3+ Node14.16.1

管理员controller:

/**

  • 管理员controller

*/

@Controller

@RequestMapping(“/config”)

public class UserController {

@Autowired

UserRoleService userRoleService;

@Autowired

UserService userService;

@Autowired

RoleService roleService;

@RequestMapping(“/enableStatus”)

@ResponseBody

public String enableStatus(@RequestParam(value = “name”) String name){

return userService.enableStatus(name);

@RequestMapping(“/stopStatus”)

@ResponseBody

public String stopStatus(@RequestParam(value = “name”) String name){

return userService.stopStatus(name);

@RequestMapping(“/adminAdd”)

public String adminadd(Model model){

List list = roleService.list();

model.addAttribute(“rolelist”,list);

return “syspage/admin-add”;

@RequestMapping(“/listUser”)

public String list(Model model, Page page){

PageHelper.offsetPage(page.getStart(),page.getCount());//分页查询

List us= userService.list();

int total = (int) new PageInfo<>(us).getTotal();//总条数

page.setTotal(total);

model.addAttribute(“us”, us);//所有用户

model.addAttribute(“total”,total);

Map<User,List> user_roles = new HashMap<>();

//每个用户对应的权限

for (User user : us) {

List roles=roleService.listRoles(user);

user_roles.put(user, roles);

model.addAttribute(“user_roles”, user_roles);

return “syspage/admin-list”;

/**

  • 修改管理员角色

  • @param model

  • @param id

  • @return

*/

@RequestMapping(“/editUser”)

public String edit(Model model,Long id){

List rs = roleService.list();

model.addAttribute(“rs”, rs);

User user =userService.get(id);

model.addAttribute(“user”, user);

//当前拥有的角色

List roles =roleService.listRoles(user);

model.addAttribute(“currentRoles”, roles);

return “syspage/admin-edit”;

@RequestMapping(“deleteUser”)

public String delete(Model model,long id){

userService.delete(id);

return “redirect:listUser”;

@RequestMapping(“updateUser”)

public String update(User user, long[] roleIds){

userRoleService.setRoles(user,roleIds);

String password=user.getPassword();

//如果在修改的时候没有设置密码,就表示不改动密码

if(user.getPassword().length()!=0) {

String salt = new SecureRandomNumberGenerator().nextBytes().toString();

int times = 2;

String algorithmName = “md5”;

String encodedPassword = new SimpleHash(algorithmName,password,salt,times).toString();

user.setSalt(salt);

user.setPassword(encodedPassword);

else

user.setPassword(null);

userService.update(user);

return “redirect:listUser”;

@RequestMapping(“addUser”)

public String add(User user,long[] roleIds){

String salt = new SecureRandomNumberGenerator().nextBytes().toString();//生成随机数

int times = 2;

String algorithmName = “md5”;

String encodedPassword = new SimpleHash(algorithmName,user.getPassword(),salt,times).toString();

User u = new User();

u.setName(user.getName());

u.setPassword(encodedPassword);

u.setSalt(salt);

u.setStatus(1);

u.setAddress(user.getAddress());

u.setPhone(user.getPhone());

userService.add(u);

userRoleService.setRoles(u,roleIds);

return “redirect:listUser”;

管理员角色controler:

/**

  • 管理员角色controler

*/

@Controller

@RequestMapping(“/config”)

public class RoleController {

@Autowired

RoleService roleService;

@Autowired

RolePermissionService rolePermissionService;

@Autowired

PermissionService permissionService;

@RequestMapping(“/addRoleUI”)

public String addRole(){

return “syspage/admin-role-add”;

@RequestMapping(“/listRole”)

public String list(Model model, Page page){

PageHelper.offsetPage(page.getStart(),page.getCount());//分页查询

List rs= roleService.list();

int total = (int) new PageInfo<>(rs).getTotal();//总条数

page.setTotal(total);

model.addAttribute(“rs”, rs);

model.addAttribute(“roleSize”,total);

Map<Role,List> role_permissions = new HashMap<>();

for (Role role : rs) {

List ps = permissionService.list(role);

role_permissions.put(role, ps);

model.addAttribute(“role_permissions”, role_permissions);

return “syspage/admin-role”;

@RequestMapping(“/editRole”)

public String list(Model model,long id){

Role role =roleService.get(id);

model.addAttribute(“role”, role);

//所有权限

List ps = permissionService.list();

model.addAttribute(“ps”, ps);

//当前管理员拥有的权限

List currentPermissions = permissionService.list(role);

model.addAttribute(“currentPermissions”, currentPermissions);

return “syspage/admin-role-edit”;

@RequestMapping(“/updateRole”)

public String update(Role role,long[] permissionIds){

rolePermissionService.setPermissions(role, permissionIds);

roleService.update(role);

return “redirect:listRole”;

@RequestMapping(“/addRole”)

public String list(Model model,Role role){

roleService.add(role);

return “redirect:listRole”;

@RequestMapping(“/deleteRole”)

public String delete(Model model,long id){

roleService.delete(id);

return “redirect:listRole”;

订单模块controller:

/**

  • 订单模块controller

*/

@Controller

@RequestMapping(“/order”)

public class OrderController {

@Autowired

OrderService orderService;

@Autowired

OrderItemService orderItemService;

/**

  • 所有订单

  • @param model

  • @param page

  • @return

*/

@RequestMapping(“/list”)

public String list(Model model, Page page){

PageHelper.offsetPage(page.getStart(),page.getCount());

List os= orderService.list();

int total = (int) new PageInfo<>(os).getTotal();

page.setTotal(total);

//为订单添加订单项数据

orderItemService.fill(os);

model.addAttribute(“os”, os);

model.addAttribute(“page”, page);

model.addAttribute(“totals”, total);

return “ordermodule/order-list”;

/**

  • 订单发货

  • @param o

  • @return

*/

@RequestMapping(“/orderDelivery”)

public String delivery(Order o){

o.setStatus(2);

orderService.update(o);

return “redirect:list”;

/**

  • 查看当前订单的订单项

  • @param oid

  • @param model

  • @return

*/

@RequestMapping(“/seeOrderItem”)

public String seeOrderItem(int oid,Model model){

Order o = orderService.get(oid);

orderItemService.fill(o);

model.addAttribute(“orderItems”,o.getOrderItems());

model.addAttribute(“total”,o.getOrderItems().size());

model.addAttribute(“totalPrice”,o.getTotal());

return “ordermodule/orderItem-list”;


基于javaweb的在线点餐系统(java+springboot+mybatis+vue+mysql+redis)相关推荐

  1. 基于javaweb的水果生鲜商城系统(java+springboot+mybatis+vue+mysql)

    基于javaweb的水果生鲜商城系统(java+springboot+mybatis+vue+mysql) 运行环境 Java≥8.MySQL≥5.7.Node.js≥10 开发工具 后端:eclip ...

  2. 基于javaweb的在线奶茶店系统(java+jsp+javascript+servlet+mysql)

    基于javaweb的在线奶茶店系统(java+jsp+javascript+servlet+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/ide ...

  3. 基于javaweb的在线甜品商城系统(java+ssm+jsp+javascript+mysql)

    基于javaweb的在线甜品商城系统(java+ssm+jsp+javascript+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/m ...

  4. 基于javaweb的在线宠物商店系统(java+ssm+mysql+tomcat)

    基于javaweb的在线宠物商店系统(java+ssm+mysql+tomcat) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/myeclipse ...

  5. 基于javaweb的在线蛋糕商城系统(java+jsp+jdbc+mysql)

    基于javaweb的在线蛋糕商城系统(java+jsp+jdbc+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/myeclipse/s ...

  6. 基于javaweb的在线车队货车管理系统(java+ssm+jsp+bootstrap+mysql)

    基于javaweb的在线车队货车管理系统(java+ssm+jsp+bootstrap+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/ ...

  7. 基于javaweb的学生综合素质评价系统(java+ssm+thymeleaf+layui+mysql)

    基于javaweb的学生综合素质评价系统(java+ssm+thymeleaf+layui+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/ide ...

  8. 基于javaweb+jsp的家庭理财系统(java+SSM+JSP+Tomcat8+Mysql)

    基于javaweb+jsp的家庭理财系统(java+SSM+JSP+Tomcat8+Mysql) 一.项目简述 功能:家庭理财,财务分析,统计等等. 二.项目运行 运行环境: jdk8+tomcat8 ...

  9. 基于javaweb的音乐专辑商城系统(java+ssm+jsp+jquery+mysql)

    基于javaweb的音乐专辑商城系统(java+ssm+jsp+jquery+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/myecl ...

最新文章

  1. 如何在mac终端上使用python3.5
  2. 图灵赠书——程序员12月书讯
  3. docker 建mysql
  4. 【codevs1425】最小的N个和,如何像煞笔一样地写堆
  5. 吉利汽车终止科创板IPO
  6. 将美化进行到底,把 PowerShell 做成 oh-my-zsh 的样子
  7. 转换运行时获取DTP语义组
  8. windows优化大师怎么用_软件不能用又卸载不掉怎么办——用Windows自家的卸载工具吧(dos级卸载)...
  9. Spring框架IOC容器,依赖注入,控制反转
  10. Matlab函数——crandn
  11. ul阻燃标准有几个等级_UL阻燃等级
  12. 利用MPU6050 + OLED屏显示3D矩形效果
  13. pytorch 常用目标检测评价指标总结
  14. 大数据专业就业前景及就业方向
  15. 使用topGO进行GO富集分析
  16. python中break的用法
  17. BIOS入门基础------TXT
  18. oracle 重启命令
  19. DataGridView列的宽度、行的高度自动调整
  20. html5 判断获取定位,HTML5利用Geolocation API获取地理位置定位功能

热门文章

  1. 前端必会的图片懒加载,你造吗?
  2. 6531S安装XP系统的方法——解决安装XP蓝屏及硬盘无法使用AHCI模式
  3. 肘关节附属运动测试软件,肘关节功能锻炼方法
  4. presto 提取json数组中的json对象
  5. 道法自然一:初来乍到
  6. 使用hammer.js实现移动端手指滑动切换轮播图教程
  7. 醋都之争,是谁胆敢打翻山西人的“醋坛子”?
  8. keil突然烧录不进去了解决记录
  9. 游承超:钢化玻璃膜和普通膜有什么不一样呢?(2P)
  10. 微软服务器连接失败,Win10更新导致TLS连接失败或连接超时 微软已解决