【项目实战】基于javaweb的在线点餐系统-管理员+商家+用户角色

注意:该项目只展示部分功能,如需了解,评论区咨询即可。

1.开发环境

开发语言:Java
数据库:MySQL
编译工具:Idea、Eclipse、MyEclipse (选其一)
其他:jdk1.8、Tomcat

eclipse 下载
mysql 5.7 下载
jdk 1.8 下载
tomcat 8.0 下载
maven 3.5 下载
idea 下载

2 系统设计

2.1 背景意义

随着网络信息的时代到来,自助点餐系统中正处于发展的阶段,所以对系统功能设计的需求是在日新月异的变化之中,所以要从系统的功能和用户实际需求相结合来选择对系统制定开发方式,依靠网络技术的的快速发展和现代通讯定位等技术的结合为用户带来方便,还可以方便商家发展自己的业务,还可以通过这些技术实现订单管理、餐品管理、销量统计管理等过程,使商家用户都得到便利。在当今社会网络的发展下,我国的网络也快速发展起来。在这样的环境下开发一个方便消费者和商家可以操作、简单、便捷的基于javaweb的在线点餐系统的发展前景是非常好的。

2.2 技术路线

基于javaweb的在线点餐系统前端页面可以采CSS+HTML+JavaScript等技术,通过java web进行开发,后端程序可以采用java语言进行编写,数据库采用Mysql。通过上述方法和技术设计出一个功能完备的,稳定的,可用性强的基于javaweb的在线点餐系统。

2.3 主要研究内容

本系统的功能包括管理员、商家和用户的角色,用户登录系统之后可以选择餐品进行点餐,管理自己的收货地址以及对自己的订单进行管理。商家可以对自己的餐品进行添加,修改餐品的信息,删除餐品等,对用户下的订单进行处理,确认完成订单等,并对自己的订单数量进行可视化的统计分析。管理员可以对用户信息以及商家的信息进行管理,管理餐品的信息和订单的信息。

3 系统页面展示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

4 更多推荐

2023年计算机毕业设计选题大全 计算机毕业设计选题推荐
基于微信小程序的在线小说阅读系统SpringBoot
基于微信小程序的大学生心理预约咨询系统
基于协同过滤算法的农特产商城微信小程序
基于SpringBoot疫苗接种反应上报系统

5 部分功能代码

//分页查询
    private void recommendedList(HttpServletRequest request, HttpServletResponse response) {
        Integer bid = 0;
        Object flag = request.getSession().getAttribute("flag");
        if(flag != null && flag.toString().equals("3")){
            Business bu = (Business)request.getSession().getAttribute("business");
            if(bu != null){
                bid = bu.getId();
            }
        }
        List<Business> businesses = bs.selectAll();
        String p=request.getParameter("p");//接收页码
        int pageSize=4;//每页显示5条
        int pageNum=1; //默认第一页
        if(p!=null && !"".equals(p)){
            pageNum= Integer.parseInt(p);
        }
        String name = request.getParameter("name");
        String bidStr = request.getParameter("shop");
        System.out.println("数据:"+bidStr);
        if(bidStr != null){
            bid = Integer.parseInt(bidStr);
        }
        System.out.println(pageNum+"--"+pageSize+"--"+bid+"--"+name);
        List<Recommended> recommendedListPage = r.getRecommendedListPage(pageNum, pageSize, bid, name);
        //携带参数到页面
        int nums=r.queryRecommendedCount(bid, name); //查询总数
        //计算总页数
        int totalPage=(nums%pageSize==0)? (nums/pageSize):(nums/pageSize+1);
        request.setAttribute("cp",pageNum); //当前页
        request.setAttribute("tp",totalPage); //总页数
        try {
            request.removeAttribute("msg");
            request.setAttribute("list" ,recommendedListPage);
            request.setAttribute("shop" ,bid);
            request.setAttribute("name" ,name);
            request.setAttribute("businesses" ,businesses);
            request.getRequestDispatcher("/WEB-INF/views/tea/recommendedList.jsp").forward(request, response);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    //删除
    private void deleteRecommended(HttpServletRequest request, HttpServletResponse response){
        String id = request.getParameter("id");
        System.out.println("获取的id"+id);
        try {
            r.deleteRecommended(id);
            //返回的页面路径
            response.sendRedirect(request.getContextPath()+"/RecommendedServlet?action=recommendedList");
        } catch (Exception e) {
            e.printStackTrace();
        }

    }
    private void addRecommended(HttpServletRequest request, HttpServletResponse response) {
        Recommended recommended = new Recommended();
        recommended.setAddtime(new SimpleDateFormat("yyyy-MM-dd HH:mm").format(new Date()));
        String tea_Id = request.getParameter("tea_id");
        System.out.println("获取的id"+tea_Id);
        System.out.println("获取的id"+request.getParameter("shop"));

        recommended.setTea_id(Integer.valueOf(tea_Id));
        try {
            r.saveRecommended(recommended);
            //返回的途径
            response.sendRedirect(request.getContextPath()+"/RecommendedServlet?action=recommendedList");
        } catch (Exception e) {
            e.printStackTrace();
        }
    };
    //添加页面跳转
    private void toAddRecommended(HttpServletRequest request, HttpServletResponse response) {
        //获取所有店家
        List<Business> businesses = bs.selectAll();
        int bid=businesses.get(0).getId();
        //获取该店家所有商品
        List<Tea> teas = ts.selectNoTeaList(null, 0);
        try {
            request.setAttribute("bid" ,bid);
            request.setAttribute("teas" ,teas);
            request.setAttribute("businesses" ,businesses);
            request.getRequestDispatcher("/WEB-INF/views/tea/addRecommended.jsp").forward(request,response);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    //跳入二维码
    public  void toadd(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("跳入二维码");
//        String id = request.getParameter("id");
//        String mode = request.getParameter("mode");
//        request.setAttribute("id" ,id);
//        request.setAttribute("mode" ,mode);
        request.getRequestDispatcher("/WEB-INF/views/tea/qrcode.jsp").forward(request,response);
    };

/**
	 * 购买奶茶
	 * @param request
	 * @param response
	 */
	private void buyTea(HttpServletRequest request, HttpServletResponse response) {
		String id =request.getParameter("id");
		int mode = Integer.parseInt(request.getParameter("mode"));
		String note =request.getParameter("note");
		Tea tea = rs.selectTea(id);
		// 查询最新未支付订单
		Customer cus = (Customer)request.getSession().getAttribute("customer");
		Record record = rs.selectLastRecord(mode, cus.getId(), tea.getBusiness_id());
		if (record == null) {
			Record recordEntity = new Record();
			String uuid = Constant.generateUID();
			recordEntity.setNo(uuid);
			recordEntity.setUserName(cus.getCustomer_name());
			recordEntity.setUserId(cus.getId());
			recordEntity.setMode(mode);
			recordEntity.setPrice(tea.getPrice());
			recordEntity.setBusiness_id(tea.getBusiness_id());
			recordEntity.setBusiness(tea.getBusiness_name());
			if (mode == 0) {
				recordEntity.setState("1");
			} else {
				recordEntity.setState("0");
			}
			recordEntity.setTime(new SimpleDateFormat("yyyy-MM-dd HH:mm").format(new Date()));
			recordEntity.setNote(note);
			rs.buyTea(recordEntity);
			RecordDetails rd = new RecordDetails();
			rd.setRecord_no(uuid);
			rd.setBusiness_name(tea.getBusiness_cp());
			rd.setNum(1);
			rd.setBusiness(tea.getBusiness_name());
			rd.setPrice(tea.getPrice());
			rd.setBusiness_id(tea.getId());
			rd.setNote(note);
			rs.addDetails(rd);
		} else {
			// 不等于空则更新订单及详情信息
			record.setPrice(record.getPrice().add(tea.getPrice()));
			record.setNote(note);
			rs.updateRecord(record);
			// 查询订单中是否存在该商品,存在则更新数据,不存在则添加
			RecordDetails rd = rs.selectRecordDetailsByBid(record.getNo(), tea.getId());
			if (rd == null || rd.getId() == null) {
				rd = new RecordDetails();
				rd.setRecord_no(record.getNo());
				rd.setBusiness_name(tea.getBusiness_cp());
				rd.setBusiness_id(tea.getId());
				rd.setNum(1);
				rd.setBusiness(tea.getBusiness_name());
				rd.setPrice(tea.getPrice());
				rd.setNote(note);
				rs.addDetails(rd);
			} else {
				rd.setPrice(rd.getPrice().add(tea.getPrice()));
				rd.setNum(rd.getNum() + 1);
				rs.updateDetails(rd);
			}
		}

		/*try {
	 		response.sendRedirect(request.getContextPath()+"/RecordServlet?action=recordList&temp=1");
		} catch (Exception e) {
			e.printStackTrace();
		}*/
	}

	/**
	 * 商家接单
	 * @param request
	 * @param response
	 */
	private void businessJd(HttpServletRequest request, HttpServletResponse response) {
		String id = request.getParameter("id");
		try {
			rs.businessJd(id);
	 		response.sendRedirect(request.getContextPath()+"/RecordServlet?action=recordList");
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	private void recordList(HttpServletRequest request, HttpServletResponse response) {
		try {
			Integer bid = 0;
			Object flag = request.getSession().getAttribute("flag");
			String temp = request.getParameter("temp");
			if(temp != null && temp.equals("1")){
				flag = "10";//顾客订单页面展示
				Customer c = (Customer)request.getSession().getAttribute("customer");
				bid = c.getId();

			}
			if(flag != null && flag.toString().equals("3")){
				Business bu = (Business)request.getSession().getAttribute("business");
				if(bu != null){
					bid = bu.getId();
				}
			}
			if(flag != null && flag.toString().equals("4")){
				Psr psr = (Psr)request.getSession().getAttribute("psr");
				if(psr != null){
					bid = psr.getId();
				}
			}
   		    String name = request.getParameter("name");
            List<Record> list=rs.selectRecordList(name,bid,flag);
            request.setAttribute("list" ,list);
            request.getRequestDispatcher("/WEB-INF/views/record/recordList.jsp").forward(request, response);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	private void details(HttpServletRequest request, HttpServletResponse response) {
		try {
			String no = request.getParameter("no");
			List<RecordDetails> list=rs.selectRecordDetails(no);
			request.setAttribute("list" ,list);
			request.getRequestDispatcher("/WEB-INF/views/record/recordDetails.jsp").forward(request, response);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	private void toUpdateRecord(HttpServletRequest request, HttpServletResponse response) {
		try {
			String idStr = request.getParameter("id");
			int id = 0;
			if (idStr != null && !"".equals(idStr)) {
				id = Integer.parseInt(idStr);
			}
			Record record = rs.selectRecordById(id);
			request.setAttribute("record" ,record);
			List<Address> addresses = as.getAddressListPage(1, 100, record.getUserId());
			request.setAttribute("addresses" ,addresses);
			request.getRequestDispatcher("/WEB-INF/views/record/updateRecord.jsp").forward(request, response);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	private void updateRecord(HttpServletRequest request, HttpServletResponse response) {
		try {
			String idStr = request.getParameter("id");
			int id = 0;
			if (idStr != null && !"".equals(idStr)) {
				id = Integer.parseInt(idStr);
			}
			String address = request.getParameter("address");
			Record record = rs.selectRecordById(id);
			if (record != null) {
				record.setAddress(address);
				record.setState("1");
				rs.updateRecord(record);
			}
			request.getRequestDispatcher("RecordServlet?action=recordList").forward(request, response);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	private void toUpdatePsr(HttpServletRequest request, HttpServletResponse response) {
		try {
			String idStr = request.getParameter("id");
			int id = 0;
			if (idStr != null && !"".equals(idStr)) {
				id = Integer.parseInt(idStr);
			}
			Record record = rs.selectRecordById(id);
			request.setAttribute("record" ,record);
			request.getRequestDispatcher("/WEB-INF/views/record/updatePsr.jsp").forward(request, response);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	private void updatePsr(HttpServletRequest request, HttpServletResponse response) {
		try {
			String idStr = request.getParameter("id");
			int id = 0;
			if (idStr != null && !"".equals(idStr)) {
				id = Integer.parseInt(idStr);
			}
			String psrName = request.getParameter("psrName");
			String psrPhone = request.getParameter("psrPhone");
			Record record = rs.selectRecordById(id);
			if (record != null) {
				record.setPsrName(psrName);
				record.setPsrPhone(psrPhone);
				record.setState("2");
				rs.updateRecord(record);
			}
			request.getRequestDispatcher("RecordServlet?action=recordList").forward(request, response);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	private void finishState(HttpServletRequest request, HttpServletResponse response) {
		try {
			String idStr = request.getParameter("id");
			int id = 0;
			if (idStr != null && !"".equals(idStr)) {
				id = Integer.parseInt(idStr);
			}
			Record record = rs.selectRecordById(id);
			if (record != null) {
				record.setState("3");
				rs.updateRecord(record);
			}
			request.getRequestDispatcher("RecordServlet?action=recordList").forward(request, response);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}
private void addTea(HttpServletRequest request, HttpServletResponse response) {
		// TODO Auto-generated method stub
		Tea tea = new Tea();
		tea.setTime(new SimpleDateFormat("yyyy-MM-dd HH:mm").format(new Date()));
		String resultPath = "";
		String storePath = getServletContext().getRealPath("/static/img");
		try {
			DiskFileItemFactory factory = new DiskFileItemFactory();
			ServletFileUpload upload = new ServletFileUpload(factory);
			//解析请求
			List<FileItem> items = upload.parseRequest(request);
			for(FileItem item:items){
				if(!item.isFormField()){
					//处理文件上传
					InputStream in = item.getInputStream();
					String fileName = item.getName();//   c:\dsf\a.jpg
					fileName = UUID.randomUUID()+fileName.substring(fileName.lastIndexOf("\\")+1);
					//设置存取的图片文件名
					tea.setImg(fileName);
					OutputStream out = new FileOutputStream(storePath+"\\"+fileName);
					byte b[] = new byte[1024];
					int len = -1;
					while((len=in.read(b))!=-1){
						out.write(b, 0, len);
					}
					out.close();
					in.close();
					item.delete();//删除临时文件
				} else {
					String fieldName = item.getFieldName();//字段名,即javabean的属性名,除了图片
					String fieldValue = item.getString(request.getCharacterEncoding());
					BeanUtils.setProperty(tea, fieldName, fieldValue);
				}
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		try {
			ts.saveTea(tea);
 			response.sendRedirect(request.getContextPath()+"/TeaServlet?action=teaList");
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	private void toAddTea(HttpServletRequest request, HttpServletResponse response) {
		try {
			request.getRequestDispatcher("/WEB-INF/views/tea/addTea.jsp").forward(request,response);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	private void teaList(HttpServletRequest request, HttpServletResponse response) {
		Integer bid = 0;
		Object flag = request.getSession().getAttribute("flag");
		if(flag != null && flag.toString().equals("3")){
			Business bu = (Business)request.getSession().getAttribute("business");
			if(bu != null){
				bid = bu.getId();
			}
		}
		List<Business> businesses = bs.selectAll();
		if(flag != null && (flag.toString().equals("2") || flag.toString().equals("1"))){
			bid = businesses.get(0).getId();
		}
		String p=request.getParameter("p");//接收页码
        int pageSize=4;//每页显示5条
        int pageNum=1; //默认第一页
        if(p!=null && !"".equals(p)){
            pageNum= Integer.parseInt(p);
        }
		String name = request.getParameter("name");
		String bidStr = request.getParameter("shop");
		if(bidStr != null && (flag.toString().equals("2") || flag.toString().equals("1"))){
			bid = Integer.parseInt(bidStr);
		}
        //调用分页查询
        List<Tea> list=ts.getTeaListPage(pageNum,pageSize,bid, name);
        //携带参数到页面
        int nums=ts.queryTeaCount(bid, name); //查询总数
        //计算总页数
        int totalPage=(nums%pageSize==0)? (nums/pageSize):(nums/pageSize+1);
        request.setAttribute("cp",pageNum); //当前页
        request.setAttribute("tp",totalPage); //总页数
		try {
         request.removeAttribute("msg");
         request.setAttribute("list" ,list);
         request.setAttribute("shop" ,bid);
         request.setAttribute("name" ,name);
			request.setAttribute("businesses" ,businesses);
         request.getRequestDispatcher("/WEB-INF/views/tea/teaList.jsp").forward(request, response);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	/**
	 * 模糊查询奶茶商品
	 * @param request
	 * @param response
	 */
	private void teaLike(HttpServletRequest request, HttpServletResponse response) {
		try {
			Integer bid = 0;
			Object flag = request.getSession().getAttribute("flag");
			if(flag != null && flag.toString().equals("3")){
				Business bu = (Business)request.getSession().getAttribute("business");
				if(bu != null){
					bid = bu.getId();
				}
			}
			List<Business> businesses = bs.selectAll();
			if(flag != null && flag.toString().equals("2")){
				bid = Integer.parseInt(request.getParameter("shop"));
			}
   		    String name = request.getParameter("name");
            List<Tea> list=ts.selectTeaList(name,bid);
            request.setAttribute("list" ,list);
			request.setAttribute("businesses" ,businesses);
            request.getRequestDispatcher("/WEB-INF/views/tea/teaList.jsp").forward(request, response);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

源码项目、定制开发、代码讲解、答辩辅导
希望和大家多多交流!!


版权声明:本文为IT_YQG_原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
THE END
< <上一篇
下一篇>>