服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - Java实战之校园外卖点餐系统的实现

Java实战之校园外卖点餐系统的实现

2022-10-27 12:20qq_1334611189 Java教程

这篇文章主要介绍了如何利用Java实现简易的校园外卖点餐系统,文中采用的技术有:JSP、Spring、SpringMVC、MyBatis 等,感兴趣的可以了解一下

一、项目简述

环境配置:

Jdk1.8 + Tomcat8.5 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)

项目技术:

JSP +Spring + SpringMVC + MyBatis + css + JavaScript + JQuery + Ajax + layui+ maven等等。

 

二、效果图展示

Java实战之校园外卖点餐系统的实现

Java实战之校园外卖点餐系统的实现

Java实战之校园外卖点餐系统的实现

Java实战之校园外卖点餐系统的实现

Java实战之校园外卖点餐系统的实现

Java实战之校园外卖点餐系统的实现

 

三、核心代码

管理员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<Role> 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<User> us= userService.list();
      int total = (int) new PageInfo<>(us).getTotal();//总条数
      page.setTotal(total);

      model.addAttribute("us", us);//所有用户
      model.addAttribute("total",total);

      Map<User,List<Role>> user_roles = new HashMap<>();
      //每个用户对应的权限
      for (User user : us) {
          List<Role> 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<Role> rs = roleService.list();
      model.addAttribute("rs", rs);      
      User user =userService.get(id);
      model.addAttribute("user", user);
      //当前拥有的角色
      List<Role> 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<Role> rs= roleService.list();
      int total = (int) new PageInfo<>(rs).getTotal();//总条数
      page.setTotal(total);

      model.addAttribute("rs", rs);

      model.addAttribute("roleSize",total);

      Map<Role,List<Permission>> role_permissions = new HashMap<>();
       
      for (Role role : rs) {
          List<Permission> 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<Permission> ps = permissionService.list();
      model.addAttribute("ps", ps);
      //当前管理员拥有的权限
      List<Permission> 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
@RequestMapping("")
public class LoginController {

  @Autowired
  UserService userService;

  @RequestMapping(value="/login",method=RequestMethod.POST)
  public String login(Model model, String name, String password){//throws ParseException
      Subject subject = SecurityUtils.getSubject();
      UsernamePasswordToken token = new UsernamePasswordToken(name,password);
      try {
          subject.login(token);
          User us = userService.getByName(name);
          String lastLoginTime = "";
          if(us!=null){
              SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
              //上次时间
              Date time = us.getLasttime();
              lastLoginTime = sdf.format(time);
              //新时间
              String format = sdf.format(new Date());
              //string转date  不处理时间格式会不理想
              ParsePosition pos = new ParsePosition(0);
              Date strtodate = sdf.parse(format, pos);
              us.setLasttime(strtodate);
              userService.update(us);
          }
          if (us.getStatus()==1){
              Session session=subject.getSession();
              session.setAttribute("subject", subject);
              session.setAttribute("lastLoginTime",lastLoginTime);
              return "redirect:index";
          }else {
              model.addAttribute("error", "账号已被停用!");
              return "/login";
          }

      } catch (AuthenticationException e) {
          model.addAttribute("error", "验证失败!");
          return "/login";
      }
  }


}

订单模块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<Order> 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";
  }

}

以上就是Java实战之校园外卖点餐系统的实现的详细内容,更多关于Java点餐系统的资料请关注服务器之家其它相关文章!

原文链接:https://blog.csdn.net/m0_59687645/article/details/123817559

延伸 · 阅读

精彩推荐