1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > Java项目:外卖订餐管理系统(java+SSM+JSP+jQuery+Ajax+mysql)

Java项目:外卖订餐管理系统(java+SSM+JSP+jQuery+Ajax+mysql)

时间:2023-12-01 11:11:39

相关推荐

Java项目:外卖订餐管理系统(java+SSM+JSP+jQuery+Ajax+mysql)

源码获取:俺的博客首页 "资源" 里下载!

项目介绍

该项目为前后台项目,分为普通用户与管理员两种角色,前台普通用户登录,后台管理员登录;

普通用户主要功能包括:

登录注册,查看商品,提交订单,然后留言,查看购物车,购买商品等等。

管理员主要功能包括:

添加商品,管理用户,添加类目,管理留言等等。

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。

2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;

3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可

4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;

5.数据库:MySql 5.7版本;

6.是否Maven项目:否;

技术栈

1. 后端:Spring+SpringMVC+Mybatis

2. 前端:JSP+jQuery+Ajax

使用说明

1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;

2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;

3. 将项目中jdbc.properties配置文件中的数据库配置改为自己的配置;

4. 运行项目,输入localhost:8080/ 登录

用户账号/密码: user/123456

管理员账号/密码:admin/admin

用户管理控制层:

@Controllerpublic class TbUserController {@ResourceTbUserServiceImpl tbUserService;@GetMapping("/toLogin")public String toLogin(){return "user/login";}@PostMapping("/register")public String register(String uUsername, String uPassword, String uRole,Model model){List<TbUser> users = tbUserService.selectAllUser();for (TbUser temp : users){ //验证成功,直接登录if(uUsername.equals(temp.getUUsername())){model.addAttribute("msg","刚刚:注册失败,该用户已存在!");return "user/login";}}TbUser user = new TbUser();user.setUUsername(uUsername);user.setUPassword(uPassword);user.setURole(uRole);tbUserService.insertUser(user);model.addAttribute("msg","刚刚:注册成功,赶快登录进行登录吧~");return "user/login";}/*插入用户数据,返回字符串信息*/@ResponseBody@RequestMapping("/insertUserInfo")public String insertUserInfo(String uUsername, String uPassword, String uRole){//查询是否存在用户名了String msg = "未知错误!";List<TbUser> users = tbUserService.selectUserByName(uUsername);if(users.size() == 0){TbUser user = new TbUser();user.setUUsername(uUsername);user.setUPassword(uPassword);user.setURole(uRole); //字符串转化为intint i = tbUserService.insertUser(user);if(i != 0){msg = "新添用户成功!";}}else {msg = "该用户名已存在,插入失败!";}return msg;}/*编辑用户信息,返回字符串信息*/@ResponseBody@RequestMapping("/edUserInfo")public String edUserInfo(TbUser user){tbUserService.updateUserByUser(user);return "用户数据已更新!";}/*跳转用户信息页面 + 分页*/@RequestMapping("/userInfo")//从1开始public String userInfo(Model model,@RequestParam(value = "pageNum",defaultValue = "1")Integer pageNum){List<TbUser> users = tbUserService.selectAllUser();Page<TbUser> page = new Page<>(pageNum,5);tbUserService.selectPage(page);model.addAttribute("users",users);model.addAttribute("page",page);return "user/userInfo";}/*删除用户*/@RequestMapping("/deleteUser/{uId}")public String deleteUser(@PathVariable("uId")int uId, Model model){tbUserService.deleteUserById(uId);model.addAttribute("msg","删除成功!");return "redirect:/userInfo";}@GetMapping("/myInfo")public String myInfo(Principal principal,Model model){String str = principal.getName();List<TbUser> list = tbUserService.selectAllUser();for(TbUser tbUser:list) {if(tbUser.getUUsername().equals(str)){model.addAttribute("Member",tbUser.getMember());}}return "user/myInfo";}/*上传头像*/@RequestMapping("/updateMyImg")public String updateMyImg(@RequestParam(value = "updateHeadImg") MultipartFile updateHeadImg,int uId, Model model, HttpSession session){String imgPath = FileUpload.uploadFile(updateHeadImg);//更新操作TbUser user = tbUserService.selectUserById(uId);user.setUUrl(imgPath);tbUserService.updateUserByUser(user);user = tbUserService.selectUserById(uId);UpdateSession.reloadUserAuthority(session,user);return "redirect:/myInfo";}/*更新我的信息*/@RequestMapping("/updateMyInfo")public String updateMyInfo(TbUser user, HttpSession session){//更新操作TbUser tbUser = tbUserService.selectUserById(user.getUId()); //保存新数据,避免被原数据覆盖System.out.println("tbUser = " + tbUser);user.setUUsername(tbUser.getUUsername());user.setUPassword(tbUser.getPassword());user.setUMoney(tbUser.getUMoney());tbUserService.updateUserByUser(user);user = tbUserService.selectUserById(user.getUId());UpdateSession.reloadUserAuthority(session,user);return "redirect:/myInfo";}@RequestMapping("/shenqinghuiyuan")public String shenqinghuiyuan(Integer uId, HttpSession session,Model model){//更新操作//保存新数据,避免被原数据覆盖TbUser tbUser = tbUserService.selectUserById(uId);if(tbUser.getUMoney()>200){tbUserService.updateMeber(uId);model.addAttribute("Member",2);model.addAttribute("error","申请成功,请重新登录后方可生效");}else{model.addAttribute("error","未满足条件");model.addAttribute("Member",1);}return "user/myInfo";}// @GetMapping("/outLogin")// public String outLogin(HttpSession session){// session.removeAttribute("user");// return "user/login";// }// @PostMapping("/login") 添加了安全策略不在需要手动验证,只需要提供个请求路径// public void login(String uUsername, String uPassword, Model model, HttpSession session){// List<TbUser> users = tbUserService.selectAllUser();// for (TbUser temp : users){ //验证成功,直接登录// if(uUsername.equals(temp.getUUsername()) && uPassword.equals(temp.getUPassword())){//session.setAttribute("user",temp);//return "redirect:/";// }// if(uUsername.equals(temp.getUUsername()) && !uPassword.equals(temp.getUPassword())){//model.addAttribute("msg","刚刚:密码错误,登录失败!");//return "user/login";// }// }// model.addAttribute("msg","刚刚:该用户不存在,请重新输入!");// return "user/login";// }}

订单详情管理控制层:

@Controllerpublic class OrderDetailController {@ResourceOrderDetailServiceImpl orderDetailService;@ResourceShoppingCartServiceImpl shoppingCartService;@ResourceMenuDetailServiceImpl menuDetailService;@ResourceTbUserServiceImpl tbUserService;//修改订单状态,从0到1,由商家更新@ResponseBody@RequestMapping("/changeStatusToOne")public String changeStatusToOne(int odId){OrderDetail one = orderDetailService.selectOneByOdId(odId);one.setOdStatus(1);orderDetailService.updateOrder(one); //更新订单return "已接单,尽快送餐吧~";}//修改订单状态,从1到2,由用户更新@ResponseBody@RequestMapping("/changeStatusToTwo")public String changeStatusToTwo(int odId){OrderDetail one = orderDetailService.selectOneByOdId(odId);one.setOdStatus(2);orderDetailService.updateOrder(one); //更新订单//同时更新商家的账户TbUser adminUser = tbUserService.selectUserById(1);int updateMoney = one.getOdTotal()+adminUser.getUMoney();adminUser.setUMoney(updateMoney);tbUserService.updateUserByUser(adminUser);return "您已确认送达,钱已入商家商户,订单已完结~";}@RequestMapping("/orderManage")public String orderManage(Model model,@RequestParam(value = "pageNum",defaultValue = "1")Integer pageNum){List<OrderDetail> orders = orderDetailService.selectAll();Collections.reverse(orders); //倒叙Page<TbUser> page = new Page<>(pageNum,10);orderDetailService.selectPage(page); //分页int allCount = orders.size(); //总数int pendingCount = 0; //待处理单数int receivedCount = 0;//待已接单数int finishCount = 0; //已完结for (OrderDetail order : orders){if(order.getOdStatus() == 0){pendingCount += 1;}else if(order.getOdStatus() == 1){receivedCount += 1;}else{finishCount += 1;}}TbUser adminUser = tbUserService.selectUserById(1);model.addAttribute("total",adminUser.getUMoney());model.addAttribute("page",page);model.addAttribute("orders",orders);model.addAttribute("allCount",allCount);model.addAttribute("pendingCount",pendingCount);model.addAttribute("receivedCount",receivedCount);model.addAttribute("finishCount",finishCount);return "menu/orderManage";}@RequestMapping("/myOrder")public String myOrder(Model model,int uId){List<OrderDetail> myOrders = orderDetailService.selectAllOrderByUId(uId);TbUser user = tbUserService.selectUserById(uId);model.addAttribute("myOrders",myOrders);model.addAttribute("total",user.getUMoney());return "user/myOrder";}@ResponseBody@PostMapping("/toOrder")public String toOrder(OrderDetail orderDetail){TbUser user = tbUserService.selectUserById(orderDetail.getUId());//查询当前用户的所以购物车List<ShoppingCart> carts = shoppingCartService.selectAllByUId(orderDetail.getUId());//获取到具体商品String odDetail = "【";int odTotal = 0;for (ShoppingCart cart : carts){odDetail += cart.getScName()+" × "+cart.getScAmount()+";"; //拼接成:米饭 × 1;格式odTotal += cart.getScPrice()*cart.getScAmount(); //数量×价格}odDetail += "】";//赋值orderDetail.setOdDetail(odDetail);if(user.getMember()==2){orderDetail.setOdTotal((int)(odTotal * 0.88));}else{orderDetail.setOdTotal(odTotal);}orderDetail.setOdStatus(0);orderDetail.setOdNo(RandomNo.getRandomNo());//完成插入orderDetailService.insertOrder(orderDetail);//清空购物车 + 更新商品数据for (ShoppingCart cart : carts){shoppingCartService.deleteById(cart.getScId());//删除购物车数据MenuDetail menuDetail = menuDetailService.selectById(cart.getMdId()); //通过产品id获得产品menuDetail.setMdAmount(menuDetail.getMdAmount()-cart.getScAmount()); //减去下单数量menuDetailService.updateMenu(menuDetail); //更新产品数据}TbUser User= tbUserService.selectUserById(orderDetail.getUId()); //用户更新支付金额System.out.println(odTotal+"=============");System.out.println(user.getMember()+"====="+odTotal);if(user.getMember()==1 && odTotal>200) {//当会员为1时,说明不是会员,并且支付的金额大于200user.setMember(2);System.out.println("进入方法后"+user.getMember());}user.setUMoney(user.getUMoney()+odTotal);System.out.println(user.getMember());tbUserService.updateUserByUser(user);List<OrderDetail> details = orderDetailService.selectAllOrderByUId(orderDetail.getUId());for (OrderDetail detail : details){System.out.println("detail = " + detail.getOdCreateTime());}return "下单成功~";}}

购物车管理控制层:

@Controllerpublic class ShoppingCartController {@ResourceShoppingCartServiceImpl shoppingCartService;@ResourceTbUserServiceImpl tbUserService;/*去我的购物车页面*/@RequestMapping("/shoppingCart")public String shoppingCart(Model model,int uId){//查询购物车的商品List<ShoppingCart> products = shoppingCartService.selectAllByUId(uId);int total = 0;for (ShoppingCart cart : products){total += cart.getScPrice()*cart.getScAmount();}model.addAttribute("products",products);model.addAttribute("total",total);TbUser tbUser = tbUserService.selectUserById(uId);if(tbUser.getMember()==2){int youhuitotal =(int) (total* 0.88);model.addAttribute("youhuitotal",youhuitotal);}model.addAttribute("Member",tbUser.getMember());return "user/shoppingCart";}@RequestMapping("/shoppingCart-plus")public String shoppingCartPlus(int uId,int mdId){//把数量+1ShoppingCart one = shoppingCartService.selectOneByMdIdAndUId(mdId, uId);one.setScAmount(one.getScAmount()+1);shoppingCartService.updateProduct(one);System.out.println("数量+1成功");return "redirect:/shoppingCart?uId="+uId;}@RequestMapping("/shoppingCart-minus")public String shoppingCartMinus(int uId,int mdId){/*如果 数量== 1,直接删除*/ShoppingCart one = shoppingCartService.selectOneByMdIdAndUId(mdId, uId);if (one.getScAmount() == 1 ) {//删除数据shoppingCartService.deleteById(one.getScId());return "redirect:/shoppingCart?uId="+uId;}else{//数量-1one.setScAmount(one.getScAmount()-1);shoppingCartService.updateProduct(one);System.out.println("数量-1成功");return "redirect:/shoppingCart?uId="+uId;}}@ResponseBody@RequestMapping("/addShoppingCart")public String addShoppingCart(ShoppingCart shoppingCart){//插入一条数据if (shoppingCartService.selectExist(shoppingCart.getMdId(), shoppingCart.getUId()) == 0 ) {shoppingCartService.insertProduct(shoppingCart);return "新加入成功!";}else{/*如果已经存在了,直接加一*/ShoppingCart one = shoppingCartService.selectOneByMdIdAndUId(shoppingCart.getMdId(), shoppingCart.getUId());one.setScAmount(one.getScAmount()+1);shoppingCartService.updateProduct(one);return "数量加+1成功!";}}}

源码获取:俺的博客首页 "资源" 里下载!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。