项目结构:

Java代码实现部分 :

Food.java

package bean;

import java.math.BigDecimal;

public class Food {    private int id;                //  主键    private String foodname;       //  菜名    private int type_id;           //  菜系    private  String descript;      //  描述    private BigDecimal price;             //  价格    private  int saling;           //  在售    private String img;            //图片

    public String getDescript() {        return descript;    }

    public void setDescript(String deccript) {        this.descript = deccript;    }

    public String getFoodname() {        return foodname;    }

    public void setFoodname(String foodname) {        this.foodname = foodname;    }

    public int getId() {        return id;    }

    public void setId(int id) {        this.id = id;    }

    public String getImg() {        return img;    }

    public void setImg(String img) {        this.img = img;    }

    public BigDecimal getPrice() {        return price;    }

    public void setPrice(BigDecimal price) {        this.price = price;    }

    public int getSaling() {        return saling;    }

    public void setSaling(int saling) {        this.saling = saling;    }

    public int getType_id() {        return type_id;    }

    public void setType_id(int type_id) {        this.type_id = type_id;    }}
 

OrderDao.java

package dao;

import bean.Order;

import java.util.List;

public interface OrderDao{

    void addOrder(Order order) throws Exception;

    Order findUF(Order order) throws Exception ;

    List<Order> findUserId(String userId) throws Exception;    Order findById(String id) throws Exception;    void removeOrder(int id) throws Exception;

}
 

O'r'de'r'DaoImpl.java

package dao.daoImpl;

import bean.Food;import bean.Order;import dao.FoodDao;import dao.OrderDao;import util.C3P0Util;

import java.math.BigDecimal;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.util.ArrayList;import java.util.List;

public class OrderDaoImpl implements OrderDao {

    FoodDao  foodDao = new FoodDaoImpl();

    @Override    public void addOrder(Order order) throws Exception {        //查找是否该用户已经添加了这道菜        Order sc = this.findUF(order);

        if(sc == null){            //该用户还没有添加这道菜            String sql = "INSERT INTO `xiaojungan`.`t_order`(`food_id`,`user_id`,`table_id`,`food_account`) VALUES(?,?,?,?)";

            try(                    Connection conn = C3P0Util.getConnection();                    PreparedStatement ps = conn.prepareStatement(sql);            ) {                ps.setInt(1,order.getFood_id());                ps.setInt(2,order.getUser_id());                ps.setInt(3,order.getTable_id());                ps.setInt(4,order.getFood_account());

                ps.executeUpdate();            } catch (Exception e) {                e.printStackTrace();                throw new RuntimeException("添加失败!");            }        }else{ //已经添加这道菜,则更新数量            String sql = "UPDATE `xiaojungan`.`t_order` SET `food_account` = "+ sc.getFood_account()+"" +                    "+1 WHERE id="+sc.getId();            System.out.println(sql);            try(                    Connection conn = C3P0Util.getConnection();                    PreparedStatement ps = conn.prepareStatement(sql);            ) {                ps.executeUpdate();            } catch (Exception e) {                e.printStackTrace();                throw new RuntimeException("添加失败!");            }        }

    }

    @Override    public Order findUF(Order order) throws Exception {

        String sql = "select * from t_order where user_id=? and food_id=?";

        Order s = null;

        try(                Connection conn = C3P0Util.getConnection();                PreparedStatement ps = conn.prepareStatement(sql);        ) {            ps.setInt(1,order.getUser_id());            ps.setInt(2,order.getFood_id());            try(                    ResultSet rs = ps.executeQuery();            ){                if(rs.next()) {                    s = new Order();

                    s.setId(rs.getInt(1));                    s.setFood_id(rs.getInt(2));                    s.setUser_id(rs.getInt(3));                    s.setFood_account(rs.getInt(4));                    Food b = foodDao.findFood_id(order.getFood_id());                    BigDecimal sellingPrice = b.getPrice();                    String foodName = b.getFoodname();                    s.setPrice(sellingPrice);                    s.setFoodName(foodName);                    //计算总价                    s.setTotalPrice(sellingPrice.multiply(BigDecimal.valueOf(s.getFood_account())));

                    System.out.println("s:" + s);                }            }catch (Exception e){            }        } catch (Exception e) {            e.printStackTrace();        }

        return s;

    }

    @Override    public  List<Order> findUserId(String userId) throws Exception {        String sql = "select * from t_order where user_id=?";        List<Order> shopCartList = new ArrayList<>();        try(                Connection conn = C3P0Util.getConnection();                PreparedStatement ps = conn.prepareStatement(sql)        ) {            ps.setInt(1, Integer.parseInt(userId));            try (                    ResultSet rs = ps.executeQuery()            ) {

                //将查询出的结果数据封装到List对象中                while(rs.next()){                    Order s = new Order();

                    s.setId(rs.getInt(1));                    s.setFood_id(rs.getInt(2));                    s.setUser_id(rs.getInt(3));                    s.setTable_id(rs.getInt(4));                    s.setFood_account(rs.getInt(5));                    Food b = foodDao.findFood_id(s.getFood_id());                    BigDecimal sellingPrice = b.getPrice();                    String foodName = b.getFoodname();                    s.setPrice(sellingPrice);                    s.setFoodName(foodName);                    //计算总价                    s.setTotalPrice(sellingPrice.multiply(BigDecimal.valueOf(s.getFood_account())));

                    shopCartList.add(s);                }            } catch (Exception e) {                e.printStackTrace();            }        }catch (Exception e){            e.printStackTrace();        }        return shopCartList;    }    public Order findById(String id) throws Exception {        String sql = "select * from t_order where id=?";

        Order s = null;

        try(                Connection conn = C3P0Util.getConnection();                PreparedStatement ps = conn.prepareStatement(sql)        ) {            ps.setInt(1, Integer.valueOf(id));

            try (                    ResultSet rs = ps.executeQuery()            ) {                //将查询出的结果数据封装到Order对象中                if(rs.next()){                    s = new Order();                    s.setId(rs.getInt(1));                    s.setFood_id(rs.getInt(2));                    s.setUser_id(rs.getInt(3));                    s.setTable_id(rs.getInt(4));                    s.setFood_account(rs.getInt(5));                    Food b = foodDao.findFood_id(s.getFood_id());                    BigDecimal sellingPrice = b.getPrice();                    String foodName = b.getFoodname();                    s.setPrice(sellingPrice);                    s.setFoodName(foodName);                    //计算总价                    s.setTotalPrice(sellingPrice.multiply(BigDecimal.valueOf(s.getFood_account())));                    return s;                }            } catch (Exception e) {                e.printStackTrace();            }        }catch (Exception e){            e.printStackTrace();        }        return s;    }    @Override    public void removeOrder(int id) throws Exception {        String sql = "DELETE FROM `xiaojungan`.`t_order` WHERE id=?";

        try(                Connection conn = C3P0Util.getConnection();                PreparedStatement ps = conn.prepareStatement(sql);        ) {            ps.setInt(1, id);

            ps.executeUpdate();        } catch (Exception e) {            e.printStackTrace();            throw new RuntimeException("移除失败!");        }    }}
 

OrderService.java

package service;

import bean.Order;

import java.util.List;

public interface OrderService {    void addOrder(Order order) throws Exception ;

    List<Order> findByUserId(String usr_id) throws Exception;    Order findById(String id) throws Exception;

    void clear();

    void removeOrder(String[] orders);

}
 

OrderServiceImpl.java

package service.serviceImpl;

import bean.Order;import dao.OrderDao;import dao.daoImpl.OrderDaoImpl;import service.OrderService;

import java.math.BigDecimal;import java.util.List;

public class OrderServiceImpl implements OrderService {

    BigDecimal totalPrice;    private OrderDao orderDao = new OrderDaoImpl();

    @Override    public void addOrder(Order order) throws Exception {        orderDao.addOrder(order);    }

    @Override    public List<Order> findByUserId(String user_id) throws Exception {        List<Order> orderList = orderDao.findUserId(user_id);        return orderList;    }

    @Override    public void removeOrder(String[] orders) {        //遍历数据        for(int i=0;i<orders.length;i++) {            //移除            int shopId=Integer.valueOf(orders[i]);            try {                orderDao.removeOrder(shopId);            } catch (Exception e) {                e.printStackTrace();            }        }    }

    public Order findById(String id) throws Exception {        Order order = orderDao.findById(id);        return order;    }    @Override    public void clear() {

    }}
 

OrderServlet.java

package servlet;

import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import java.io.IOException;

    @WebServlet("/OrderServlet")    public class OrderServlet  extends HttpServlet {        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {            doGet(request, response);        }

        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

            HttpSession session = request.getSession();            Object user = session.getAttribute("user");

            if(user != null){                //用户登陆                response.sendRedirect("/order.html");

            }else if(user == null){                //未登录                response.getWriter().write("请先登录!!1秒后转到登陆界面");                response.setHeader("refresh", "1;url=" + request.getContextPath()                        + "/login.html");            }

        }

}
 

User.java

package bean;import java.util.Date;public class User  {private int id;private String username;private String password;private int table_id;private int role;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public int getRole() {return role;}public void setRole(int role) {this.role = role;}public int getTable_id() {return table_id;}public void setTable_id(int table_id) {this.table_id = table_id;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}
}

UserDaoImpl.java

package dao.daoImpl;import  bean.User;import  dao.UserDao;
import util.C3P0Util;
import java.sql.ResultSet;
import java.sql.Connection;
import java.sql.PreparedStatement;public class UserDaoImpl implements UserDao {@Overridepublic User login(User user)throws Exception {String sql = "select * from t_user where username=? and password=?";User lo= null;try(Connection conn =  C3P0Util.getConnection();PreparedStatement ps = conn.prepareStatement(sql);) {ps.setString(1, user.getUsername());ps.setString(2, user.getPassword());try(ResultSet rs = ps.executeQuery();){if(rs.next()) {lo = new User();lo.setId(rs.getInt(1));lo.setTable_id(rs.getInt(2));lo.setUsername(rs.getString(3));lo.setPassword(rs.getString(4));lo.setRole(rs.getInt(5));System.out.println("lo:" + lo);}}} catch (Exception e) {e.printStackTrace();}return lo;}@Overridepublic void addUser(User user)  throws Exception {String sql = "INSERT INTO t_user(username,password)  VALUES(?,?)";try (Connection conn = C3P0Util.getConnection();PreparedStatement ps = conn.prepareStatement(sql)) {ps.setString(1, user.getUsername());ps.setString(2, user.getPassword());ps.executeUpdate();} catch (Exception e) {e.printStackTrace();throw new RuntimeException("注册失败!");}}@Overridepublic User findById(int id) throws Exception {String sql = "select * from t_user where id=?";User u = null;try(Connection conn = C3P0Util.getConnection();PreparedStatement ps = conn.prepareStatement(sql)) {ps.setInt(1, id);try (ResultSet rs = ps.executeQuery()) {//将查询出的结果数据封装到Book对象中if(rs.next()){u = new User();u.setId(rs.getInt(1));u.setTable_id(rs.getInt(2));u.setUsername(rs.getString(3));u.setPassword(rs.getString(4));u.setRole(rs.getInt(5));return u;}} catch (Exception e) {e.printStackTrace();}}catch (Exception e){e.printStackTrace();}return u;}}

转载于:https://www.cnblogs.com/luv-letter/p/10944996.html

小郡肝火锅点餐系统代码实现(部分)相关推荐

  1. 小郡肝火锅点餐系统——项目文档

    小组成员:李靖 李凤莲 课程设计报告 学        号           201610411111 姓        名           李  靖 班        级           ...

  2. SSM基于微信小程序的外卖点餐系统 毕业设计-附源码2711704

    基于微信小程序的外卖点餐系统的设计与实现 摘要 立足于当下餐饮行业现有的点餐模式,分析传统APP点餐的运作流程,结合微信小程序的特点设计新型的外卖点餐系统.近几年,人们生活水平日益提升,但工作强度和压 ...

  3. ssm基于微信小程序的外卖点餐系统的设计与实现毕业设计-附源码211704

    摘要 立足于当下餐饮行业现有的点餐模式,分析传统APP点餐的运作流程,结合微信小程序的特点设计新型的外卖点餐系统.近几年,人们生活水平日益提升,但工作强度和压力不断增强,尤其是对于上班族而言,到餐厅吃 ...

  4. 基于SpringBoot和微信小程序的餐馆点餐系统的设计和实现

    作者主页:Designer 小郑 作者简介:Java全栈软件工程师一枚,来自浙江宁波,负责开发管理公司OA项目,专注软件前后端开发(Vue.SpringBoot和微信小程序).系统定制.远程技术指导. ...

  5. 【计算机毕业设计】基于微信小程序的外卖点餐系统

    技术栈:前端微信小程序.后端JAVA语言 SpringBoot框架 Redis缓存技术 MySQL关系型数据库 毕设帮助.技术解答.源码获取(有偿),联系方式见文末. 本课题将设计基于微信小程序的外卖 ...

  6. 微信扫码点餐小程序springboot外卖点餐系统源码和论文

    开发工具: 后端:idea   用户端:微信开发者工具 数据库 :mysql5.7+ 技术:java  springboot  mybatis  微信原生技术 角色:   管理员  多商家    用户 ...

  7. 全新霸王餐小程序、外卖霸王餐程序代码源码|美团/饿了么霸王餐系统 粉丝裂变分销,独立商家端

    小程序界面 [微信扫码]打开小程序,修改定位到湖北省宜昌市夷陵区云计算中心,即可查看演示活动数据 管理后台界面 链接地址: https://www.ab2c.cn. 搭建准备 认证公众号(服务号),需 ...

  8. 微信小程序手机订餐点餐系统(微信小程序,前台,后台)

    后台技术框架: ssm mysql vue 小程序技术框架: wxml   wxss js json 手机订餐点餐(微信小程序,前台,后台) 开发工具: wechat_devtools,  IDEA, ...

  9. python点餐系统代码_Python学习手册(第4版).1

    装饰器就是一个给对象添加额外功能的函数,其本质是函数.它的基本构造:高阶函数+函数嵌套+闭包. 装饰器 即在代码运行期间动态增加功能的方式. 3大条件: 1. 函数可作为对象,赋值给变量,也就是函数可 ...

  10. springboot+mysql+微信小程序点餐系统-计算机毕业设计源码65933

    摘  要 点餐系统小程序采用B/S模式.采用JAVA语言.SSM框架.mysql数据库.小程序框架uniapp等开工具.促进了点餐系统小程序的业务发展.与传统线下点餐相比,点餐微信小程序不但节省了商家 ...

最新文章

  1. 数字图像处理——第五章 图像复原与重建
  2. Vue-员工管理系统
  3. java反射 基本知识
  4. 小结-python连接redis的基本配置-解决远程连接问题
  5. IDEA创建Maven Web 项目
  6. django解决页面跳转问题
  7. 本机web开发环境的搭建--nginx篇
  8. 楷书书法规则_楷书笔画书写八大规律
  9. Fastdfs读取文件内容
  10. 你真的理解this吗
  11. python动画精灵_Python小课堂第18课:如何使用Pygame做动画精灵和碰撞检测
  12. 缓存Cache-Control
  13. AprilTag: A robust and flexible visual fiducial system论文解读
  14. 转 http://wenku.baidu.com/view/8719b5dad15abe23482f4d9e.html
  15. 关于tink的碰撞检测类【1】
  16. 2020年司钻(井下)考试题库及司钻(井下)考试APP
  17. Cydia中几款推荐的app
  18. ffmpeg 为取经而来_清华,那个穿越百年而来的白衣少年
  19. 真正影响光辉的是灯里的油
  20. Hadoop各配置文件详解

热门文章

  1. sap 双计量单位_维护计量单位的描述
  2. Zephry Uart Device详解
  3. 苹果电脑python编译器_Mac版-python环境配置(二):编译器pycharm下载安装
  4. echarts最简单的南丁格尔玫瑰图+图例
  5. NeuSE: A Neural Snapshot Ensemble Method for Collaborative Filtering(阅读论文笔记)
  6. python 分割线_用Python打印分割线练习
  7. android studio拼音转汉字,汉字转拼音,TinyPinyin、Pinyin4j与JPinyin哪个库更快
  8. 能量,功率,能量谱和功率谱密度
  9. 网页进行pdf打印_将多个pdf文档合并为一个pdf
  10. WIN10计算机不支持3D游戏怎么办,教您如何在win10系统中启用3D加速?