diff --git a/ppt/Java_ppt.pdf b/ppt/Java_ppt.pdf new file mode 100644 index 0000000..2e95aa4 Binary files /dev/null and b/ppt/Java_ppt.pdf differ diff --git a/ppt/Java_ppt.pptx b/ppt/Java_ppt.pptx new file mode 100644 index 0000000..70d4537 Binary files /dev/null and b/ppt/Java_ppt.pptx differ diff --git a/ppt/Java_ppt.zip b/ppt/Java_ppt.zip new file mode 100644 index 0000000..eddba29 Binary files /dev/null and b/ppt/Java_ppt.zip differ diff --git a/project01/bin/main/menu/black_tea_lemonade.jpg b/project01/bin/main/manual/menu/black_tea_lemonade.jpg similarity index 100% rename from project01/bin/main/menu/black_tea_lemonade.jpg rename to project01/bin/main/manual/menu/black_tea_lemonade.jpg diff --git a/project01/bin/main/menu/brewed_coffee.jpg b/project01/bin/main/manual/menu/brewed_coffee.jpg similarity index 100% rename from project01/bin/main/menu/brewed_coffee.jpg rename to project01/bin/main/manual/menu/brewed_coffee.jpg diff --git a/project01/bin/main/menu/caffe_americano.jpg b/project01/bin/main/manual/menu/caffe_americano.jpg similarity index 100% rename from project01/bin/main/menu/caffe_americano.jpg rename to project01/bin/main/manual/menu/caffe_americano.jpg diff --git a/project01/bin/main/menu/caffe_latte.jpg b/project01/bin/main/manual/menu/caffe_latte.jpg similarity index 100% rename from project01/bin/main/menu/caffe_latte.jpg rename to project01/bin/main/manual/menu/caffe_latte.jpg diff --git a/project01/bin/main/menu/caffe_mocha.jpg b/project01/bin/main/manual/menu/caffe_mocha.jpg similarity index 100% rename from project01/bin/main/menu/caffe_mocha.jpg rename to project01/bin/main/manual/menu/caffe_mocha.jpg diff --git a/project01/bin/main/menu/caramel_macchiato.jpg b/project01/bin/main/manual/menu/caramel_macchiato.jpg similarity index 100% rename from project01/bin/main/menu/caramel_macchiato.jpg rename to project01/bin/main/manual/menu/caramel_macchiato.jpg diff --git a/project01/bin/main/menu/chamomile_blend_tea.jpg b/project01/bin/main/manual/menu/chamomile_blend_tea.jpg similarity index 100% rename from project01/bin/main/menu/chamomile_blend_tea.jpg rename to project01/bin/main/manual/menu/chamomile_blend_tea.jpg diff --git a/project01/bin/main/menu/coffee.jpg b/project01/bin/main/manual/menu/coffee.jpg similarity index 100% rename from project01/bin/main/menu/coffee.jpg rename to project01/bin/main/manual/menu/coffee.jpg diff --git a/project01/bin/main/menu/cold_brew.jpg b/project01/bin/main/manual/menu/cold_brew.jpg similarity index 100% rename from project01/bin/main/menu/cold_brew.jpg rename to project01/bin/main/manual/menu/cold_brew.jpg diff --git a/project01/bin/main/menu/cool_lime.jpg b/project01/bin/main/manual/menu/cool_lime.jpg similarity index 100% rename from project01/bin/main/menu/cool_lime.jpg rename to project01/bin/main/manual/menu/cool_lime.jpg diff --git a/project01/bin/main/menu/dolce_cold_brew.jpg b/project01/bin/main/manual/menu/dolce_cold_brew.jpg similarity index 100% rename from project01/bin/main/menu/dolce_cold_brew.jpg rename to project01/bin/main/manual/menu/dolce_cold_brew.jpg diff --git a/project01/bin/main/menu/earl_grey_tea.jpg b/project01/bin/main/manual/menu/earl_grey_tea.jpg similarity index 100% rename from project01/bin/main/menu/earl_grey_tea.jpg rename to project01/bin/main/manual/menu/earl_grey_tea.jpg diff --git a/project01/bin/main/menu/espresso_roast.jpg b/project01/bin/main/manual/menu/espresso_roast.jpg similarity index 100% rename from project01/bin/main/menu/espresso_roast.jpg rename to project01/bin/main/manual/menu/espresso_roast.jpg diff --git a/project01/bin/main/menu/guatemala_antigua.jpg b/project01/bin/main/manual/menu/guatemala_antigua.jpg similarity index 100% rename from project01/bin/main/menu/guatemala_antigua.jpg rename to project01/bin/main/manual/menu/guatemala_antigua.jpg diff --git a/project01/bin/main/menu/hibiscus_blend_tea.jpg b/project01/bin/main/manual/menu/hibiscus_blend_tea.jpg similarity index 100% rename from project01/bin/main/menu/hibiscus_blend_tea.jpg rename to project01/bin/main/manual/menu/hibiscus_blend_tea.jpg diff --git a/project01/bin/main/menu/lime_passion_tea.jpg b/project01/bin/main/manual/menu/lime_passion_tea.jpg similarity index 100% rename from project01/bin/main/menu/lime_passion_tea.jpg rename to project01/bin/main/manual/menu/lime_passion_tea.jpg diff --git a/project01/bin/main/menu/mint_blend_tea.jpg b/project01/bin/main/manual/menu/mint_blend_tea.jpg similarity index 100% rename from project01/bin/main/menu/mint_blend_tea.jpg rename to project01/bin/main/manual/menu/mint_blend_tea.jpg diff --git a/project01/bin/main/menu/passion_fruit_tea.jpg b/project01/bin/main/manual/menu/passion_fruit_tea.jpg similarity index 100% rename from project01/bin/main/menu/passion_fruit_tea.jpg rename to project01/bin/main/manual/menu/passion_fruit_tea.jpg diff --git a/project01/bin/main/menu/passion_tango_tea_lemonade.jpg b/project01/bin/main/manual/menu/passion_tango_tea_lemonade.jpg similarity index 100% rename from project01/bin/main/menu/passion_tango_tea_lemonade.jpg rename to project01/bin/main/manual/menu/passion_tango_tea_lemonade.jpg diff --git a/project01/bin/main/menu/pink_grapefruit.jpg b/project01/bin/main/manual/menu/pink_grapefruit.jpg similarity index 100% rename from project01/bin/main/menu/pink_grapefruit.jpg rename to project01/bin/main/manual/menu/pink_grapefruit.jpg diff --git a/project01/src/login/FrameLogin.java b/project01/src/login/FrameLogin.java index aa56e44..ba4a293 100644 --- a/project01/src/login/FrameLogin.java +++ b/project01/src/login/FrameLogin.java @@ -18,6 +18,7 @@ import main.CreateBasket; import main.MainFrame; +import main.manager.ManagerFrame; import signup.FrameSignup; import java.awt.Font; @@ -103,7 +104,31 @@ public void keyPressed(KeyEvent e) { if (new CheckSuccessInput().check(userId, encryptionPwd) == "success") { lblLoginMessage.setText(""); - JOptionPane.showMessageDialog(null, "Login Successful"); + JOptionPane.showMessageDialog(null, "·Î±×Àο¡ ¼º°øÇß½À´Ï´Ù."); + FrameLogin.this.dispose(); + if (userId.equals("admin")) { + EventQueue.invokeLater(new Runnable() { + public void run() { + try { + ManagerFrame frame = new ManagerFrame(); + frame.setVisible(true); + } catch (Exception e) { + e.printStackTrace(); + } + } + }); + } else { + EventQueue.invokeLater(new Runnable() { + public void run() { + try { + MainFrame frame = new MainFrame(userId); + frame.setVisible(true); + } catch (Exception e) { + e.printStackTrace(); + } + } + }); + } } else if(txtUsername.getText().equals("") || txtUsername.getText().equals("Username") || txtPassword.getText().equals("") || txtPassword.getText().equals("Password")) { lblLoginMessage.setText("¾ÆÀ̵ð, ºñ¹Ð¹øÈ£¸¦ ÀÔ·ÂÇØÁÖ¼¼¿ä."); @@ -151,6 +176,8 @@ public void focusLost(FocusEvent e) { txtPassword.addKeyListener(new KeyAdapter() { @Override public void keyPressed(KeyEvent e) { + Cursor cursor = new Cursor(Cursor.WAIT_CURSOR); + setCursor(cursor); int key = e.getKeyCode(); if (key == KeyEvent.VK_ENTER) { String userId = txtUsername.getText(); @@ -159,22 +186,41 @@ public void keyPressed(KeyEvent e) { if (new CheckSuccessInput().check(userId, encryptionPwd) == "success") { lblLoginMessage.setText(""); JOptionPane.showMessageDialog(null, "·Î±×Àο¡ ¼º°øÇß½À´Ï´Ù."); + Cursor normalCursor = new Cursor(Cursor.DEFAULT_CURSOR); + setCursor(normalCursor); FrameLogin.this.dispose(); - EventQueue.invokeLater(new Runnable() { - public void run() { - try { - MainFrame frame = new MainFrame(userId); - frame.setVisible(true); - } catch (Exception e) { - e.printStackTrace(); + if (userId.equals("admin")) { + EventQueue.invokeLater(new Runnable() { + public void run() { + try { + ManagerFrame frame = new ManagerFrame(); + frame.setVisible(true); + } catch (Exception e) { + e.printStackTrace(); + } } - } - }); + }); + } else { + EventQueue.invokeLater(new Runnable() { + public void run() { + try { + MainFrame frame = new MainFrame(userId); + frame.setVisible(true); + } catch (Exception e) { + e.printStackTrace(); + } + } + }); + } } else if(txtUsername.getText().equals("") || txtUsername.getText().equals("Username") || txtPassword.getText().equals("") || txtPassword.getText().equals("Password")) { lblLoginMessage.setText("¾ÆÀ̵ð, ºñ¹Ð¹øÈ£¸¦ ÀÔ·ÂÇØÁÖ¼¼¿ä."); + Cursor normalCursor = new Cursor(Cursor.DEFAULT_CURSOR); + setCursor(normalCursor); } else { lblLoginMessage.setText("¾ÆÀ̵ð ȤÀº ºñ¹Ð¹øÈ£¸¦ À߸øÀÔ·ÂÇϼ̽À´Ï´Ù."); + Cursor normalCursor = new Cursor(Cursor.DEFAULT_CURSOR); + setCursor(normalCursor); } } } @@ -192,26 +238,47 @@ public void run() { public void mouseClicked(MouseEvent e) { String userId = txtUsername.getText(); String encryptionPwd = new Encryption().encryptionPwd(txtPassword.getText()); + Cursor cursor = new Cursor(Cursor.WAIT_CURSOR); + setCursor(cursor); if (new CheckSuccessInput().check(userId, encryptionPwd) == "success") { lblLoginMessage.setText(""); JOptionPane.showMessageDialog(null, "·Î±×Àο¡ ¼º°øÇß½À´Ï´Ù."); + Cursor normalCursor = new Cursor(Cursor.DEFAULT_CURSOR); + setCursor(normalCursor); FrameLogin.this.dispose(); - EventQueue.invokeLater(new Runnable() { - public void run() { - try { - MainFrame frame = new MainFrame(userId); - frame.setVisible(true); - } catch (Exception e) { - e.printStackTrace(); + if (userId.equals("admin")) { + EventQueue.invokeLater(new Runnable() { + public void run() { + try { + ManagerFrame frame = new ManagerFrame(); + frame.setVisible(true); + } catch (Exception e) { + e.printStackTrace(); + } } - } - }); + }); + } else { + EventQueue.invokeLater(new Runnable() { + public void run() { + try { + MainFrame frame = new MainFrame(userId); + frame.setVisible(true); + } catch (Exception e) { + e.printStackTrace(); + } + } + }); + } } else if(txtUsername.getText().equals("") || txtUsername.getText().equals("Username") || txtPassword.getText().equals("") || txtPassword.getText().equals("Password")) { lblLoginMessage.setText("¾ÆÀ̵ð, ºñ¹Ð¹øÈ£¸¦ ÀÔ·ÂÇØÁÖ¼¼¿ä."); + Cursor normalCursor = new Cursor(Cursor.DEFAULT_CURSOR); + setCursor(normalCursor); } else { lblLoginMessage.setText("¾ÆÀ̵ð ȤÀº ºñ¹Ð¹øÈ£¸¦ À߸øÀÔ·ÂÇϼ̽À´Ï´Ù."); + Cursor normalCursor = new Cursor(Cursor.DEFAULT_CURSOR); + setCursor(normalCursor); } } @@ -263,10 +330,18 @@ public void mouseEntered(MouseEvent e) { } @Override public void mouseExited(MouseEvent e) { - lblX.setForeground(Color.WHITE); + lblX.setForeground(Color.BLACK); Cursor normalCursor = new Cursor(Cursor.DEFAULT_CURSOR); setCursor(normalCursor); } + @Override + public void mousePressed(MouseEvent e) { + lblX.setForeground(Color.BLACK); + } + @Override + public void mouseReleased(MouseEvent e) { + lblX.setForeground(Color.GRAY); + } }); lblX.setForeground(Color.BLACK); lblX.setFont(new Font("Comic Sans MS", Font.BOLD, 14)); @@ -313,6 +388,14 @@ public void mouseExited(MouseEvent e) { Cursor normalCursor = new Cursor(Cursor.DEFAULT_CURSOR); setCursor(normalCursor); } + @Override + public void mousePressed(MouseEvent e) { + lblSignUp.setForeground(Color.BLACK); + } + @Override + public void mouseReleased(MouseEvent e) { + lblSignUp.setForeground(Color.GRAY); + } }); lblSignUp.setBounds(279, 358, 42, 15); contentPane.add(lblSignUp); diff --git a/project01/src/main/CreateBasket.java b/project01/src/main/CreateBasket.java index 3f64a20..563aa41 100644 --- a/project01/src/main/CreateBasket.java +++ b/project01/src/main/CreateBasket.java @@ -34,7 +34,7 @@ public CreateBasket(String id) { int row = pstmt.executeUpdate(); - System.out.printf("%dÇàÀÌ ¾÷µ¥ÀÌÆ® µÇ¾ú½À´Ï´Ù.", row); + System.out.printf("%dÇàÀÌ ¾÷µ¥ÀÌÆ® µÇ¾ú½À´Ï´Ù.\n", row); System.out.println("Å×ÀÌºí »ý¼º ¿Ï·á"); insert(id); diff --git a/project01/src/main/MainFrame.java b/project01/src/main/MainFrame.java index 3947397..b222314 100644 --- a/project01/src/main/MainFrame.java +++ b/project01/src/main/MainFrame.java @@ -16,6 +16,11 @@ import javax.swing.SwingConstants; import javax.swing.border.LineBorder; +import login.FrameLogin; +import main.manual.ManualFrame; +import main.order.GetTotalPrice; +import main.order.OrderFrame; + public class MainFrame extends JFrame { @@ -23,7 +28,7 @@ public class MainFrame extends JFrame { private Image black_tea_lemonade = new ImageIcon(ManualFrame.class.getResource("menu/black_tea_lemonade.jpg")).getImage().getScaledInstance(360, 376, Image.SCALE_SMOOTH); private Image cool_lime = new ImageIcon(ManualFrame.class.getResource("menu/cool_lime.jpg")).getImage().getScaledInstance(360, 376, Image.SCALE_SMOOTH); - private Image passion_tango_tea_lemonade = new ImageIcon(ManualFrame.class.getResource("menu/passion_tango.jpg")).getImage().getScaledInstance(360, 376, Image.SCALE_SMOOTH); + private Image passion_tango_tea_lemonade = new ImageIcon(ManualFrame.class.getResource("menu/passion_tango_tea_lemonade.jpg")).getImage().getScaledInstance(360, 376, Image.SCALE_SMOOTH); private Image pink_grapefruit = new ImageIcon(ManualFrame.class.getResource("menu/pink_grapefruit.jpg")).getImage().getScaledInstance(360, 376, Image.SCALE_SMOOTH); private Image lime_passion_tea = new ImageIcon(ManualFrame.class.getResource("menu/lime_passion_tea.jpg")).getImage().getScaledInstance(360, 376, Image.SCALE_SMOOTH); private Image mint_blend_tea = new ImageIcon(ManualFrame.class.getResource("menu/mint_blend_tea.jpg")).getImage().getScaledInstance(360, 376, Image.SCALE_SMOOTH); @@ -43,9 +48,7 @@ public class MainFrame extends JFrame { private Image guatemala_antigua = new ImageIcon(ManualFrame.class.getResource("menu/guatemala_antigua.jpg")).getImage().getScaledInstance(360, 376, Image.SCALE_SMOOTH); private JPanel contentPane; - - private int total = 0; - + public MainFrame(String id) { new CreateBasket(id); @@ -82,6 +85,14 @@ public void mouseExited(MouseEvent e) { Cursor normalCursor = new Cursor(Cursor.DEFAULT_CURSOR); setCursor(normalCursor); } + @Override + public void mousePressed(MouseEvent e) { + lblX.setForeground(Color.WHITE); + } + @Override + public void mouseReleased(MouseEvent e) { + lblX.setForeground(Color.GRAY); + } }); lblX.setForeground(Color.WHITE); @@ -1427,5 +1438,50 @@ public void mouseReleased(MouseEvent e) { lblRefresh.setFont(new Font("¸¼Àº °íµñ", Font.BOLD, 12)); lblRefresh.setBounds(914, 42, 48, 15); contentPane.add(lblRefresh); + + JLabel lblLogout = new JLabel("\uB85C\uADF8\uC544\uC6C3"); + lblLogout.addMouseListener(new MouseAdapter() { + @Override + public void mouseClicked(MouseEvent e) { + if (JOptionPane.showConfirmDialog(null, "·Î±×¾Æ¿ô ÇϽðڽÀ´Ï±î?", "Confirmation", JOptionPane.YES_NO_OPTION) == 0) { + new DeleteBasket(); + MainFrame.this.dispose(); + EventQueue.invokeLater(new Runnable() { + public void run() { + try { + FrameLogin frame = new FrameLogin(); + frame.setVisible(true); + } catch (Exception e) { + e.printStackTrace(); + } + } + }); + } + } + @Override + public void mouseEntered(MouseEvent e) { + lblLogout.setForeground(Color.GRAY); + Cursor cursor = new Cursor(Cursor.HAND_CURSOR); + setCursor(cursor); + } + @Override + public void mouseExited(MouseEvent e) { + lblLogout.setForeground(Color.WHITE); + Cursor normalCursor = new Cursor(Cursor.DEFAULT_CURSOR); + setCursor(normalCursor); + } + @Override + public void mousePressed(MouseEvent e) { + lblLogout.setForeground(Color.WHITE); + } + @Override + public void mouseReleased(MouseEvent e) { + lblLogout.setForeground(Color.GRAY); + } + }); + lblLogout.setForeground(Color.WHITE); + lblLogout.setFont(new Font("¸¼Àº °íµñ", Font.BOLD, 19)); + lblLogout.setBounds(1001, 79, 79, 27); + contentPane.add(lblLogout); } } diff --git a/project01/src/main/manager/Get_order_list.java b/project01/src/main/manager/Get_order_list.java new file mode 100644 index 0000000..b2e2515 --- /dev/null +++ b/project01/src/main/manager/Get_order_list.java @@ -0,0 +1,50 @@ +package main.manager; + +import java.io.PrintWriter; +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.Properties; + +import com.zaxxer.hikari.HikariConfig; +import com.zaxxer.hikari.HikariDataSource; + +public class Get_order_list { + + public String order_list() { + String result = ""; + Properties props = new Properties(); + props.setProperty("dataSourceClassName", "oracle.jdbc.pool.OracleDataSource"); + props.setProperty("dataSource.url", "jdbc:oracle:thin:@localhost:1521/XEPDB1"); + props.setProperty("dataSource.user", "hr"); + props.setProperty("dataSource.password", "1234"); + props.put("dataSource.logWriter", new PrintWriter(System.out)); + + HikariConfig config = new HikariConfig(props); + HikariDataSource ds = new HikariDataSource(config); + + try { + Connection conn = ds.getConnection(); + + String sql = "SELECT * FROM order_list"; + + PreparedStatement pstmt = + conn.prepareStatement(sql); + + ResultSet rs = pstmt.executeQuery(); + while (rs.next()) { + result += (String.format("[%s] - ÁÖ¹®³¯Â¥ : %s, ÁÖ¹® ÃѾ×: %d\n%s\n\n", rs.getString("user_name"), rs.getString("order_date"), rs.getInt("payment"), rs.getString("user_order"))); + } + + rs.close(); + pstmt.close(); + conn.close(); + + } catch (SQLException e) { + e.printStackTrace(); + } + return result; + } + +} diff --git a/project01/src/main/manager/Lookup_user_frame.java b/project01/src/main/manager/Lookup_user_frame.java new file mode 100644 index 0000000..76af49b --- /dev/null +++ b/project01/src/main/manager/Lookup_user_frame.java @@ -0,0 +1,87 @@ +package main.manager; + +import java.awt.BorderLayout; +import java.awt.Color; +import java.awt.Cursor; +import java.awt.EventQueue; +import java.awt.Font; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; + +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.SwingConstants; +import javax.swing.border.EmptyBorder; +import javax.swing.border.LineBorder; + +public class Lookup_user_frame extends JFrame { + + private JPanel contentPane; + + /** + * Launch the application. + */ + public static void main(String[] args) { + EventQueue.invokeLater(new Runnable() { + public void run() { + try { + Lookup_user_frame frame = new Lookup_user_frame(); + frame.setVisible(true); + } catch (Exception e) { + e.printStackTrace(); + } + } + }); + } + + /** + * Create the frame. + */ + public Lookup_user_frame() { + setUndecorated(true); + setBounds(800, 321, 330, 398); + contentPane = new JPanel(); + contentPane.setBackground(Color.WHITE); + contentPane.setBorder(new LineBorder(Color.BLACK)); + setContentPane(contentPane); + contentPane.setLayout(new BorderLayout(0, 0)); + + JPanel panel = new JPanel(); + panel.setBorder(null); + panel.setBackground(Color.WHITE); + contentPane.add(panel, BorderLayout.CENTER); + panel.setLayout(null); + + JLabel lblNewLabel = new JLabel("\uACE0\uAC1D \uC870\uD68C"); + lblNewLabel.setBounds(127, 28, 77, 25); + lblNewLabel.setFont(new Font("¸¼Àº °íµñ", Font.BOLD, 16)); + panel.add(lblNewLabel); + + JLabel lblX = new JLabel("X"); + lblX.addMouseListener(new MouseAdapter() { + @Override + public void mouseClicked(MouseEvent e) { + Lookup_user_frame.this.dispose(); + } + @Override + public void mouseEntered(MouseEvent e) { + lblX.setForeground(Color.GRAY); + Cursor cursor = new Cursor(Cursor.HAND_CURSOR); + setCursor(cursor); + } + @Override + public void mouseExited(MouseEvent e) { + lblX.setForeground(Color.BLACK); + Cursor normalCursor = new Cursor(Cursor.DEFAULT_CURSOR); + setCursor(normalCursor); + } + }); + lblX.setForeground(Color.BLACK); + lblX.setFont(new Font("Comic Sans MS", Font.BOLD, 14)); + lblX.setHorizontalAlignment(SwingConstants.CENTER); + lblX.setBounds(310, 0, 18, 15); + panel.add(lblX); + } + +} diff --git a/project01/src/main/manager/ManagerFrame.java b/project01/src/main/manager/ManagerFrame.java new file mode 100644 index 0000000..96ee2ad --- /dev/null +++ b/project01/src/main/manager/ManagerFrame.java @@ -0,0 +1,247 @@ +package main.manager; + +import java.awt.BorderLayout; +import java.awt.Color; +import java.awt.Cursor; +import java.awt.EventQueue; +import java.awt.Font; +import java.awt.Image; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; + +import javax.swing.ImageIcon; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JOptionPane; +import javax.swing.JPanel; +import javax.swing.SwingConstants; +import javax.swing.border.EmptyBorder; +import javax.swing.border.LineBorder; + +import login.FrameLogin; +import main.MainFrame; + +public class ManagerFrame extends JFrame { + + private Image img_logo = new ImageIcon(MainFrame.class.getResource("res/logo3.png")).getImage().getScaledInstance(100, 100, Image.SCALE_SMOOTH); + + private JPanel contentPane; + + public ManagerFrame() { + setUndecorated(true); + setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + setBounds(360, 150, 1200, 800); + contentPane = new JPanel(); + contentPane.setBackground(Color.BLACK); + contentPane.setBorder(new LineBorder(Color.BLACK, 2)); + setContentPane(contentPane); + contentPane.setLayout(null); + + JLabel lblX = new + JLabel("X"); + lblX.addMouseListener(new MouseAdapter() { + @Override + public void mouseClicked(MouseEvent e) { + if (JOptionPane.showConfirmDialog(null, "¾îÇø®ÄÉÀ̼ÇÀ» Á¾·áÇϽðڽÀ´Ï±î?", "Confirmation", JOptionPane.YES_NO_OPTION) == 0) { + ManagerFrame.this.dispose(); + } + } + @Override + public void mouseEntered(MouseEvent e) { + lblX.setForeground(Color.GRAY); + Cursor cursor = new Cursor(Cursor.HAND_CURSOR); + setCursor(cursor); + } + @Override + public void mouseExited(MouseEvent e) { + lblX.setForeground(Color.WHITE); + Cursor normalCursor = new Cursor(Cursor.DEFAULT_CURSOR); + setCursor(normalCursor); + } + @Override + public void mousePressed(MouseEvent e) { + lblX.setForeground(Color.WHITE); + } + @Override + public void mouseReleased(MouseEvent e) { + lblX.setForeground(Color.GRAY); + } + + }); + lblX.setForeground(Color.WHITE); + lblX.setFont(new Font("Comic Sans MS", Font.BOLD, 14)); + lblX.setHorizontalAlignment(SwingConstants.CENTER); + lblX.setBounds(1180, 0, 20, 20); + contentPane.add(lblX); + + JLabel lblIconLogo = new JLabel(""); + lblIconLogo.setHorizontalAlignment(SwingConstants.CENTER); + lblIconLogo.setBounds(500, 30, 200, 100); + contentPane.add(lblIconLogo); + lblIconLogo.setIcon(new ImageIcon(img_logo)); + + JLabel lblLookupOrder = new JLabel("\uC8FC\uBB38 \uC870\uD68C"); + lblLookupOrder.addMouseListener(new MouseAdapter() { + @Override + public void mouseClicked(MouseEvent e) { + Cursor cursor = new Cursor(Cursor.WAIT_CURSOR); + setCursor(cursor); + EventQueue.invokeLater(new Runnable() { + public void run() { + try { + Order_list_frame frame = new Order_list_frame(); + frame.setVisible(true); + } catch (Exception e) { + e.printStackTrace(); + } + } + }); + } + @Override + public void mouseEntered(MouseEvent e) { + lblLookupOrder.setForeground(Color.GRAY); + Cursor cursor = new Cursor(Cursor.HAND_CURSOR); + setCursor(cursor); + } + @Override + public void mouseExited(MouseEvent e) { + lblLookupOrder.setForeground(Color.WHITE); + Cursor normalCursor = new Cursor(Cursor.DEFAULT_CURSOR); + setCursor(normalCursor); + } + }); + lblLookupOrder.setBounds(350, 447, 139, 43); + contentPane.add(lblLookupOrder); + lblLookupOrder.setForeground(Color.WHITE); + lblLookupOrder.setFont(new Font("¸¼Àº °íµñ", Font.BOLD, 32)); + + JLabel lblLookupSales = new JLabel("\uB9E4\uCD9C \uC870\uD68C"); + lblLookupSales.addMouseListener(new MouseAdapter() { + @Override + public void mouseClicked(MouseEvent e) { + Cursor cursor = new Cursor(Cursor.WAIT_CURSOR); + setCursor(cursor); + JOptionPane.showMessageDialog(null, new get_total_sales().result()); + } + @Override + public void mouseEntered(MouseEvent e) { + lblLookupSales.setForeground(Color.GRAY); + Cursor cursor = new Cursor(Cursor.HAND_CURSOR); + setCursor(cursor); + } + @Override + public void mouseExited(MouseEvent e) { + lblLookupSales.setForeground(Color.WHITE); + Cursor normalCursor = new Cursor(Cursor.DEFAULT_CURSOR); + setCursor(normalCursor); + } + }); + lblLookupSales.setForeground(Color.WHITE); + lblLookupSales.setFont(new Font("¸¼Àº °íµñ", Font.BOLD, 32)); + lblLookupSales.setBounds(350, 319, 139, 43); + contentPane.add(lblLookupSales); + + JLabel lblLookup = new JLabel("\uC870\uD68C \uAE30\uB2A5"); + lblLookup.setBounds(350, 185, 154, 49); + contentPane.add(lblLookup); + lblLookup.setForeground(new Color(0, 102, 0)); + lblLookup.setFont(new Font("¸¼Àº °íµñ", Font.BOLD, 33)); + + JLabel lblNewLabel_6_3 = new JLabel("\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"); + lblNewLabel_6_3.setForeground(new Color(245, 245, 245)); + lblNewLabel_6_3.setFont(new Font("¸¼Àº °íµñ", Font.PLAIN, 12)); + lblNewLabel_6_3.setBounds(350, 227, 144, 15); + contentPane.add(lblNewLabel_6_3); + + JLabel lblModify = new JLabel("\uC218\uC815 \uAE30\uB2A5"); + lblModify.setForeground(new Color(0, 102, 0)); + lblModify.setFont(new Font("¸¼Àº °íµñ", Font.BOLD, 33)); + lblModify.setBounds(700, 185, 154, 49); + contentPane.add(lblModify); + + JLabel lblNewLabel_6_3_1 = new JLabel("\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"); + lblNewLabel_6_3_1.setForeground(new Color(245, 245, 245)); + lblNewLabel_6_3_1.setFont(new Font("¸¼Àº °íµñ", Font.PLAIN, 12)); + lblNewLabel_6_3_1.setBounds(700, 227, 144, 15); + contentPane.add(lblNewLabel_6_3_1); + + JLabel lblModifyPoint = new JLabel("\uD3EC\uC778\uD2B8 \uC218\uC815"); + lblModifyPoint.addMouseListener(new MouseAdapter() { + @Override + public void mouseClicked(MouseEvent e) { + Cursor cursor = new Cursor(Cursor.WAIT_CURSOR); + setCursor(cursor); + EventQueue.invokeLater(new Runnable() { + public void run() { + try { + Modify_point_frame frame = new Modify_point_frame(); + frame.setVisible(true); + } catch (Exception e) { + e.printStackTrace(); + } + } + }); + } + @Override + public void mouseEntered(MouseEvent e) { + lblModifyPoint.setForeground(Color.GRAY); + Cursor cursor = new Cursor(Cursor.HAND_CURSOR); + setCursor(cursor); + } + @Override + public void mouseExited(MouseEvent e) { + lblModifyPoint.setForeground(Color.WHITE); + Cursor normalCursor = new Cursor(Cursor.DEFAULT_CURSOR); + setCursor(normalCursor); + } + }); + lblModifyPoint.setForeground(Color.WHITE); + lblModifyPoint.setFont(new Font("¸¼Àº °íµñ", Font.BOLD, 32)); + lblModifyPoint.setBounds(690, 319, 174, 43); + contentPane.add(lblModifyPoint); + + JLabel lblLogout = new JLabel("\uB85C\uADF8\uC544\uC6C3"); + lblLogout.addMouseListener(new MouseAdapter() { + @Override + public void mouseClicked(MouseEvent e) { + if (JOptionPane.showConfirmDialog(null, "·Î±×¾Æ¿ô ÇϽðڽÀ´Ï±î?", "Confirmation", JOptionPane.YES_NO_OPTION) == 0) { + ManagerFrame.this.dispose(); + EventQueue.invokeLater(new Runnable() { + public void run() { + try { + FrameLogin frame = new FrameLogin(); + frame.setVisible(true); + } catch (Exception e) { + e.printStackTrace(); + } + } + }); + } + } + @Override + public void mouseEntered(MouseEvent e) { + lblLogout.setForeground(Color.GRAY); + Cursor cursor = new Cursor(Cursor.HAND_CURSOR); + setCursor(cursor); + } + @Override + public void mouseExited(MouseEvent e) { + lblLogout.setForeground(Color.WHITE); + Cursor normalCursor = new Cursor(Cursor.DEFAULT_CURSOR); + setCursor(normalCursor); + } + @Override + public void mousePressed(MouseEvent e) { + lblLogout.setForeground(Color.WHITE); + } + @Override + public void mouseReleased(MouseEvent e) { + lblLogout.setForeground(Color.GRAY); + } + }); + lblLogout.setForeground(Color.WHITE); + lblLogout.setFont(new Font("¸¼Àº °íµñ", Font.BOLD, 24)); + lblLogout.setBounds(919, 58, 96, 27); + contentPane.add(lblLogout); + } +} diff --git a/project01/src/main/manager/Modify_point.java b/project01/src/main/manager/Modify_point.java new file mode 100644 index 0000000..4fb9dea --- /dev/null +++ b/project01/src/main/manager/Modify_point.java @@ -0,0 +1,48 @@ +package main.manager; + +import java.io.PrintWriter; +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.SQLException; +import java.util.Properties; + +import com.zaxxer.hikari.HikariConfig; +import com.zaxxer.hikari.HikariDataSource; + +public class Modify_point { + + public Modify_point(String id, int num) { + + Properties props = new Properties(); + props.setProperty("dataSourceClassName", "oracle.jdbc.pool.OracleDataSource"); + props.setProperty("dataSource.url", "jdbc:oracle:thin:@localhost:1521/XEPDB1"); + props.setProperty("dataSource.user", "hr"); + props.setProperty("dataSource.password", "1234"); + props.put("dataSource.logWriter", new PrintWriter(System.out)); + + HikariConfig config = new HikariConfig(props); + HikariDataSource ds = new HikariDataSource(config); + + try { + Connection conn = ds.getConnection(); + + PreparedStatement pstmt = + conn.prepareStatement("UPDATE users SET membership_point = membership_point + ? WHERE user_name = ?"); + + pstmt.setInt(1, num); + pstmt.setString(2, id); + + int row = pstmt.executeUpdate(); + + System.out.printf("Æ÷ÀÎÆ®¸¦ ¼öÁ¤ ¿Ï·á\n"); + + if (pstmt != null) pstmt.close(); + if (conn != null) conn.close(); + + } catch (SQLException e) { + e.printStackTrace(); + } + + } + +} diff --git a/project01/src/main/manager/Modify_point_frame.java b/project01/src/main/manager/Modify_point_frame.java new file mode 100644 index 0000000..c3d9ab0 --- /dev/null +++ b/project01/src/main/manager/Modify_point_frame.java @@ -0,0 +1,206 @@ +package main.manager; + +import java.awt.BorderLayout; +import java.awt.Color; +import java.awt.Cursor; +import java.awt.EventQueue; +import java.awt.Font; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; + +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JOptionPane; +import javax.swing.JPanel; + +import javax.swing.SwingConstants; + +import javax.swing.border.LineBorder; +import javax.swing.JTextField; + + +public class Modify_point_frame extends JFrame { + + private JPanel contentPane; + private JTextField id; + private JTextField point; + + /** + * Launch the application. + */ + public static void main(String[] args) { + EventQueue.invokeLater(new Runnable() { + public void run() { + try { + Modify_point_frame frame = new Modify_point_frame(); + frame.setVisible(true); + } catch (Exception e) { + e.printStackTrace(); + } + } + }); + } + + /** + * Create the frame. + */ + public Modify_point_frame() { + setUndecorated(true); + setBounds(800, 321, 330, 398); + contentPane = new JPanel(); + contentPane.setBackground(Color.WHITE); + contentPane.setBorder(new LineBorder(Color.BLACK)); + setContentPane(contentPane); + contentPane.setLayout(new BorderLayout(0, 0)); + + JPanel panel = new JPanel(); + panel.setBorder(null); + panel.setBackground(Color.WHITE); + contentPane.add(panel, BorderLayout.CENTER); + panel.setLayout(null); + + JLabel lblNewLabel = new JLabel("\uD3EC\uC778\uD2B8 \uC218\uC815"); + lblNewLabel.setBounds(121, 37, 86, 25); + lblNewLabel.setFont(new Font("¸¼Àº °íµñ", Font.BOLD, 16)); + panel.add(lblNewLabel); + + JLabel lblX = new JLabel("X"); + lblX.addMouseListener(new MouseAdapter() { + @Override + public void mouseClicked(MouseEvent e) { + Modify_point_frame.this.dispose(); + } + @Override + public void mouseEntered(MouseEvent e) { + lblX.setForeground(Color.GRAY); + Cursor cursor = new Cursor(Cursor.HAND_CURSOR); + setCursor(cursor); + } + @Override + public void mouseExited(MouseEvent e) { + lblX.setForeground(Color.BLACK); + Cursor normalCursor = new Cursor(Cursor.DEFAULT_CURSOR); + setCursor(normalCursor); + } + }); + lblX.setForeground(Color.BLACK); + lblX.setFont(new Font("Comic Sans MS", Font.BOLD, 14)); + lblX.setHorizontalAlignment(SwingConstants.CENTER); + lblX.setBounds(310, 0, 18, 15); + panel.add(lblX); + + JLabel lblId = new JLabel("ID"); + lblId.setFont(new Font("¸¼Àº °íµñ", Font.PLAIN, 14)); + lblId.setBounds(46, 130, 57, 15); + panel.add(lblId); + + id = new JTextField(); + id.setBounds(152, 129, 116, 21); + panel.add(id); + id.setColumns(10); + + JLabel lblPlusPoint = new JLabel("\uD3EC\uC778\uD2B8"); + lblPlusPoint.setBounds(46, 224, 57, 15); + panel.add(lblPlusPoint); + + point = new JTextField(); + point.setColumns(10); + point.setBounds(152, 221, 116, 21); + panel.add(point); + + JPanel plus_panel = new JPanel(); + plus_panel.addMouseListener(new MouseAdapter() { + @Override + public void mouseClicked(MouseEvent e) { + String user_id = id.getText(); + String overlap = new signup.CheckOverlapId().checkOverlap(user_id); + if (user_id.equals("")) { + JOptionPane.showMessageDialog(null, "¼öÁ¤À» ¿øÇÏ´Â ID¸¦ ÀÔ·ÂÇØÁÖ¼¼¿ä."); + } else if (overlap == null) { + JOptionPane.showMessageDialog(null, "Á¸ÀçÇÏÁö ¾Ê´Â »ç¿ëÀÚÀÔ´Ï´Ù."); + } else if (point.getText().equals("") || Integer.parseInt(point.getText()) <= 0) { + JOptionPane.showMessageDialog(null, "Æ÷ÀÎÆ®¸¦ Á¤È®È÷ ÀÔ·ÂÇØÁÖ¼¼¿ä."); + } else { + new Modify_point(user_id, Integer.parseInt(point.getText())); + JOptionPane.showMessageDialog(null, "Æ÷ÀÎÆ® ¼öÁ¤ÀÌ ¿Ï·áµÇ¾ú½À´Ï´Ù."); + } + } + @Override + public void mouseEntered(MouseEvent e) { + plus_panel.setBackground(Color.GRAY); + Cursor cursor = new Cursor(Cursor.HAND_CURSOR); + setCursor(cursor); + } + @Override + public void mouseExited(MouseEvent e) { + plus_panel.setBackground(Color.LIGHT_GRAY); + Cursor normalCursor = new Cursor(Cursor.DEFAULT_CURSOR); + setCursor(normalCursor); + } + @Override + public void mousePressed(MouseEvent e) { + plus_panel.setBackground(Color.LIGHT_GRAY); + } + @Override + public void mouseReleased(MouseEvent e) { + plus_panel.setBackground(Color.GRAY); + } + }); + plus_panel.setBackground(Color.LIGHT_GRAY); + plus_panel.setBounds(46, 311, 86, 30); + panel.add(plus_panel); + + JLabel lblNewLabel_2 = new JLabel("\uCD94\uAC00"); + lblNewLabel_2.setFont(new Font("¸¼Àº °íµñ", Font.BOLD, 14)); + plus_panel.add(lblNewLabel_2); + + JPanel minus_panel = new JPanel(); + minus_panel.addMouseListener(new MouseAdapter() { + @Override + public void mouseClicked(MouseEvent e) { + String user_id = id.getText(); + String overlap = new signup.CheckOverlapId().checkOverlap(user_id); + if (user_id.equals("")) { + JOptionPane.showMessageDialog(null, "¼öÁ¤À» ¿øÇÏ´Â ID¸¦ ÀÔ·ÂÇØÁÖ¼¼¿ä."); + } + else if (overlap == null) { + JOptionPane.showMessageDialog(null, "Á¸ÀçÇÏÁö ¾Ê´Â »ç¿ëÀÚÀÔ´Ï´Ù."); + } else if (point.getText().equals("") || Integer.parseInt(point.getText()) <= 0) { + JOptionPane.showMessageDialog(null, "Æ÷ÀÎÆ®¸¦ Á¤È®È÷ ÀÔ·ÂÇØÁÖ¼¼¿ä."); + }else { + new Modify_point(user_id, (Integer.parseInt(point.getText()) * -1)); + JOptionPane.showMessageDialog(null, "Æ÷ÀÎÆ® ¼öÁ¤ÀÌ ¿Ï·áµÇ¾ú½À´Ï´Ù."); + } + + } + @Override + public void mouseEntered(MouseEvent e) { + minus_panel.setBackground(Color.GRAY); + Cursor cursor = new Cursor(Cursor.HAND_CURSOR); + setCursor(cursor); + } + @Override + public void mouseExited(MouseEvent e) { + minus_panel.setBackground(Color.LIGHT_GRAY); + Cursor normalCursor = new Cursor(Cursor.DEFAULT_CURSOR); + setCursor(normalCursor); + } + @Override + public void mousePressed(MouseEvent e) { + minus_panel.setBackground(Color.LIGHT_GRAY); + } + @Override + public void mouseReleased(MouseEvent e) { + minus_panel.setBackground(Color.GRAY); + } + }); + minus_panel.setBackground(Color.LIGHT_GRAY); + minus_panel.setBounds(193, 311, 86, 30); + panel.add(minus_panel); + + JLabel lblNewLabel_2_1 = new JLabel("\uCC28\uAC10"); + lblNewLabel_2_1.setFont(new Font("¸¼Àº °íµñ", Font.BOLD, 14)); + minus_panel.add(lblNewLabel_2_1); + + } +} diff --git a/project01/src/main/manager/Order_list_frame.java b/project01/src/main/manager/Order_list_frame.java new file mode 100644 index 0000000..b97537c --- /dev/null +++ b/project01/src/main/manager/Order_list_frame.java @@ -0,0 +1,68 @@ +package main.manager; + +import java.awt.BorderLayout; +import java.awt.Color; +import java.awt.Cursor; +import java.awt.EventQueue; +import java.awt.Font; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; + +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.SwingConstants; +import javax.swing.border.EmptyBorder; +import javax.swing.border.LineBorder; +import javax.swing.JTextArea; +import javax.swing.JTextPane; +import javax.swing.JScrollPane; + +public class Order_list_frame extends JFrame { + + private JPanel contentPane; + + /** + * Launch the application. + */ + public static void main(String[] args) { + EventQueue.invokeLater(new Runnable() { + public void run() { + try { + Order_list_frame frame = new Order_list_frame(); + frame.setVisible(true); + } catch (Exception e) { + e.printStackTrace(); + } + } + }); + } + + /** + * Create the frame. + */ + public Order_list_frame() { + setBounds(800, 321, 330, 398); + contentPane = new JPanel(); + contentPane.setBackground(Color.WHITE); + contentPane.setBorder(new LineBorder(Color.BLACK)); + setContentPane(contentPane); + contentPane.setLayout(new BorderLayout(0, 0)); + + JPanel panel = new JPanel(); + panel.setBorder(null); + panel.setBackground(Color.WHITE); + contentPane.add(panel, BorderLayout.CENTER); + panel.setLayout(null); + + JTextPane textPane = new JTextPane(); + textPane.setBounds(12, 40, 304, 346); + panel.add(textPane); + JScrollPane scrollPane = new JScrollPane(textPane); + contentPane.add(scrollPane); + textPane.setText(new Get_order_list().order_list()); + + setVisible(true); + setLocationRelativeTo(null); + } +} diff --git a/project01/src/main/manager/get_total_sales.java b/project01/src/main/manager/get_total_sales.java new file mode 100644 index 0000000..b4344bb --- /dev/null +++ b/project01/src/main/manager/get_total_sales.java @@ -0,0 +1,51 @@ +package main.manager; + +import java.io.PrintWriter; +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.Properties; + +import com.zaxxer.hikari.HikariConfig; +import com.zaxxer.hikari.HikariDataSource; + +public class get_total_sales { + + public String result() { + int sum = 0; + Properties props = new Properties(); + props.setProperty("dataSourceClassName", "oracle.jdbc.pool.OracleDataSource"); + props.setProperty("dataSource.url", "jdbc:oracle:thin:@localhost:1521/XEPDB1"); + props.setProperty("dataSource.user", "hr"); + props.setProperty("dataSource.password", "1234"); + props.put("dataSource.logWriter", new PrintWriter(System.out)); + + HikariConfig config = new HikariConfig(props); + HikariDataSource ds = new HikariDataSource(config); + + try { + Connection conn = ds.getConnection(); + + String sql = "SELECT SUM(payment) FROM order_list"; + + PreparedStatement pstmt = + conn.prepareStatement(sql); + + ResultSet rs = pstmt.executeQuery(); + while (rs.next()) { + sum = rs.getInt("SUM(payment)"); + } + + rs.close(); + pstmt.close(); + conn.close(); + + } catch (SQLException e) { + e.printStackTrace(); + } + + return String.format("¸ÅÃâÀº ÃÑ %d¿ø ÀÔ´Ï´Ù.",sum); + } + +} diff --git a/project01/src/main/GetPrice.java b/project01/src/main/manual/GetPrice.java similarity index 95% rename from project01/src/main/GetPrice.java rename to project01/src/main/manual/GetPrice.java index 7d6e80e..e472546 100644 --- a/project01/src/main/GetPrice.java +++ b/project01/src/main/manual/GetPrice.java @@ -1,4 +1,4 @@ -package main; +package main.manual; import java.io.PrintWriter; import java.sql.Connection; diff --git a/project01/src/main/ManualFrame.java b/project01/src/main/manual/ManualFrame.java similarity index 93% rename from project01/src/main/ManualFrame.java rename to project01/src/main/manual/ManualFrame.java index 988efaa..ad1df91 100644 --- a/project01/src/main/ManualFrame.java +++ b/project01/src/main/manual/ManualFrame.java @@ -1,4 +1,4 @@ -package main; +package main.manual; import java.awt.Color; import java.awt.Cursor; @@ -19,6 +19,7 @@ import javax.swing.border.LineBorder; import login.FrameLogin; +import main.UpdateBasket; import javax.swing.JTextPane; import javax.swing.JRadioButton; @@ -70,10 +71,22 @@ public void mouseClicked(MouseEvent e) { @Override public void mouseEntered(MouseEvent e) { lblX.setForeground(Color.GRAY); + Cursor cursor = new Cursor(Cursor.HAND_CURSOR); + setCursor(cursor); } @Override public void mouseExited(MouseEvent e) { lblX.setForeground(Color.WHITE); + Cursor normalCursor = new Cursor(Cursor.DEFAULT_CURSOR); + setCursor(normalCursor); + } + @Override + public void mousePressed(MouseEvent e) { + lblX.setForeground(Color.WHITE); + } + @Override + public void mouseReleased(MouseEvent e) { + lblX.setForeground(Color.GRAY); } }); @@ -138,10 +151,14 @@ public void mouseClicked(MouseEvent e) { @Override public void mouseEntered(MouseEvent e) { lblX.setForeground(Color.GRAY); + Cursor cursor = new Cursor(Cursor.HAND_CURSOR); + setCursor(cursor); } @Override public void mouseExited(MouseEvent e) { lblX.setForeground(Color.WHITE); + Cursor normalCursor = new Cursor(Cursor.DEFAULT_CURSOR); + setCursor(normalCursor); } }); diff --git a/project01/src/main/menu/black_tea_lemonade.jpg b/project01/src/main/manual/menu/black_tea_lemonade.jpg similarity index 100% rename from project01/src/main/menu/black_tea_lemonade.jpg rename to project01/src/main/manual/menu/black_tea_lemonade.jpg diff --git a/project01/src/main/menu/brewed_coffee.jpg b/project01/src/main/manual/menu/brewed_coffee.jpg similarity index 100% rename from project01/src/main/menu/brewed_coffee.jpg rename to project01/src/main/manual/menu/brewed_coffee.jpg diff --git a/project01/src/main/menu/caffe_americano.jpg b/project01/src/main/manual/menu/caffe_americano.jpg similarity index 100% rename from project01/src/main/menu/caffe_americano.jpg rename to project01/src/main/manual/menu/caffe_americano.jpg diff --git a/project01/src/main/menu/caffe_latte.jpg b/project01/src/main/manual/menu/caffe_latte.jpg similarity index 100% rename from project01/src/main/menu/caffe_latte.jpg rename to project01/src/main/manual/menu/caffe_latte.jpg diff --git a/project01/src/main/menu/caffe_mocha.jpg b/project01/src/main/manual/menu/caffe_mocha.jpg similarity index 100% rename from project01/src/main/menu/caffe_mocha.jpg rename to project01/src/main/manual/menu/caffe_mocha.jpg diff --git a/project01/src/main/menu/caramel_macchiato.jpg b/project01/src/main/manual/menu/caramel_macchiato.jpg similarity index 100% rename from project01/src/main/menu/caramel_macchiato.jpg rename to project01/src/main/manual/menu/caramel_macchiato.jpg diff --git a/project01/src/main/menu/chamomile_blend_tea.jpg b/project01/src/main/manual/menu/chamomile_blend_tea.jpg similarity index 100% rename from project01/src/main/menu/chamomile_blend_tea.jpg rename to project01/src/main/manual/menu/chamomile_blend_tea.jpg diff --git a/project01/src/main/menu/coffee.jpg b/project01/src/main/manual/menu/coffee.jpg similarity index 100% rename from project01/src/main/menu/coffee.jpg rename to project01/src/main/manual/menu/coffee.jpg diff --git a/project01/src/main/menu/cold_brew.jpg b/project01/src/main/manual/menu/cold_brew.jpg similarity index 100% rename from project01/src/main/menu/cold_brew.jpg rename to project01/src/main/manual/menu/cold_brew.jpg diff --git a/project01/src/main/menu/cool_lime.jpg b/project01/src/main/manual/menu/cool_lime.jpg similarity index 100% rename from project01/src/main/menu/cool_lime.jpg rename to project01/src/main/manual/menu/cool_lime.jpg diff --git a/project01/src/main/menu/dolce_cold_brew.jpg b/project01/src/main/manual/menu/dolce_cold_brew.jpg similarity index 100% rename from project01/src/main/menu/dolce_cold_brew.jpg rename to project01/src/main/manual/menu/dolce_cold_brew.jpg diff --git a/project01/src/main/menu/earl_grey_tea.jpg b/project01/src/main/manual/menu/earl_grey_tea.jpg similarity index 100% rename from project01/src/main/menu/earl_grey_tea.jpg rename to project01/src/main/manual/menu/earl_grey_tea.jpg diff --git a/project01/src/main/menu/espresso_roast.jpg b/project01/src/main/manual/menu/espresso_roast.jpg similarity index 100% rename from project01/src/main/menu/espresso_roast.jpg rename to project01/src/main/manual/menu/espresso_roast.jpg diff --git a/project01/src/main/menu/guatemala_antigua.jpg b/project01/src/main/manual/menu/guatemala_antigua.jpg similarity index 100% rename from project01/src/main/menu/guatemala_antigua.jpg rename to project01/src/main/manual/menu/guatemala_antigua.jpg diff --git a/project01/src/main/menu/hibiscus_blend_tea.jpg b/project01/src/main/manual/menu/hibiscus_blend_tea.jpg similarity index 100% rename from project01/src/main/menu/hibiscus_blend_tea.jpg rename to project01/src/main/manual/menu/hibiscus_blend_tea.jpg diff --git a/project01/src/main/menu/lime_passion_tea.jpg b/project01/src/main/manual/menu/lime_passion_tea.jpg similarity index 100% rename from project01/src/main/menu/lime_passion_tea.jpg rename to project01/src/main/manual/menu/lime_passion_tea.jpg diff --git a/project01/src/main/menu/mint_blend_tea.jpg b/project01/src/main/manual/menu/mint_blend_tea.jpg similarity index 100% rename from project01/src/main/menu/mint_blend_tea.jpg rename to project01/src/main/manual/menu/mint_blend_tea.jpg diff --git a/project01/src/main/menu/passion_fruit_tea.jpg b/project01/src/main/manual/menu/passion_fruit_tea.jpg similarity index 100% rename from project01/src/main/menu/passion_fruit_tea.jpg rename to project01/src/main/manual/menu/passion_fruit_tea.jpg diff --git a/project01/src/main/menu/passion_tango_tea_lemonade.jpg b/project01/src/main/manual/menu/passion_tango_tea_lemonade.jpg similarity index 100% rename from project01/src/main/menu/passion_tango_tea_lemonade.jpg rename to project01/src/main/manual/menu/passion_tango_tea_lemonade.jpg diff --git a/project01/src/main/menu/pink_grapefruit.jpg b/project01/src/main/manual/menu/pink_grapefruit.jpg similarity index 100% rename from project01/src/main/menu/pink_grapefruit.jpg rename to project01/src/main/manual/menu/pink_grapefruit.jpg diff --git a/project01/src/main/order/AddOrder.java b/project01/src/main/order/AddOrder.java new file mode 100644 index 0000000..55b50e4 --- /dev/null +++ b/project01/src/main/order/AddOrder.java @@ -0,0 +1,47 @@ +package main.order; + +import java.io.PrintWriter; +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.SQLException; +import java.util.Properties; + +import com.zaxxer.hikari.HikariConfig; +import com.zaxxer.hikari.HikariDataSource; + +public class AddOrder { + + public AddOrder(String id, String order, int payment) { + Properties props = new Properties(); + props.setProperty("dataSourceClassName", "oracle.jdbc.pool.OracleDataSource"); + props.setProperty("dataSource.url", "jdbc:oracle:thin:@localhost:1521/XEPDB1"); + props.setProperty("dataSource.user", "hr"); + props.setProperty("dataSource.password", "1234"); + props.put("dataSource.logWriter", new PrintWriter(System.out)); + + HikariConfig config = new HikariConfig(props); + HikariDataSource ds = new HikariDataSource(config); + + try { + Connection conn = ds.getConnection(); + + PreparedStatement pstmt = + conn.prepareStatement("INSERT INTO order_list(user_name, user_order, payment, order_date) VALUES(?, ?, ?, sysdate)"); + + pstmt.setString(1, id); + pstmt.setString(2, order); + pstmt.setInt(3, payment); + + int row = pstmt.executeUpdate(); + + System.out.printf("%dÇàÀÌ ¾÷µ¥ÀÌÆ® µÇ¾ú½À´Ï´Ù.\n", row); + + if (pstmt != null) pstmt.close(); + if (conn != null) conn.close(); + + } catch (SQLException e) { + e.printStackTrace(); + } + } + +} diff --git a/project01/src/main/GetTotalPrice.java b/project01/src/main/order/GetTotalPrice.java similarity index 94% rename from project01/src/main/GetTotalPrice.java rename to project01/src/main/order/GetTotalPrice.java index 7e72c2f..a21d3d2 100644 --- a/project01/src/main/GetTotalPrice.java +++ b/project01/src/main/order/GetTotalPrice.java @@ -1,4 +1,4 @@ -package main; +package main.order; import java.io.PrintWriter; import java.sql.Connection; diff --git a/project01/src/main/GetUserOrder.java b/project01/src/main/order/GetUserOrder.java similarity index 94% rename from project01/src/main/GetUserOrder.java rename to project01/src/main/order/GetUserOrder.java index 5a35f02..1a1e74c 100644 --- a/project01/src/main/GetUserOrder.java +++ b/project01/src/main/order/GetUserOrder.java @@ -1,4 +1,4 @@ -package main; +package main.order; import java.io.PrintWriter; import java.sql.Connection; diff --git a/project01/src/main/OrderFrame.java b/project01/src/main/order/OrderFrame.java similarity index 78% rename from project01/src/main/OrderFrame.java rename to project01/src/main/order/OrderFrame.java index a6a1585..62bedaa 100644 --- a/project01/src/main/OrderFrame.java +++ b/project01/src/main/order/OrderFrame.java @@ -1,9 +1,7 @@ -package main; +package main.order; -import java.awt.BorderLayout; import java.awt.Color; import java.awt.Cursor; -import java.awt.EventQueue; import java.awt.Font; import java.awt.Image; import java.awt.event.MouseAdapter; @@ -16,16 +14,20 @@ import javax.swing.JPanel; import javax.swing.SwingConstants; import javax.swing.border.LineBorder; + +import main.CreateBasket; +import main.DeleteBasket; +import main.LookupPoint; + import javax.swing.JTextPane; public class OrderFrame extends JFrame { - + int usedPoint = 0; private Image img_logo = new ImageIcon(OrderFrame.class.getResource("res/logo3.png")).getImage().getScaledInstance(100, 100, Image.SCALE_SMOOTH); - private JPanel contentPane; public OrderFrame(String id) { - LookupPoint lp = new LookupPoint(); + int point = new LookupPoint().point(id); setUndecorated(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(650, 150, 600, 800 @@ -89,84 +91,100 @@ public void mouseExited(MouseEvent e) { lblTotalPrice.setText(String.format("ÃÑ °áÁ¦ ±Ý¾× : %d¿ø", new GetTotalPrice().totalPrice())); contentPane.add(lblTotalPrice); - JLabel lblPayment = new JLabel("\uACB0\uC81C\uD558\uAE30"); - lblPayment.addMouseListener(new MouseAdapter() { + JLabel lblPoint = new JLabel("\uC0AC\uC6A9 \uAC00\uB2A5\uD55C \uD3EC\uC778\uD2B8 : 0\uC6D0"); + lblPoint.setForeground(Color.WHITE); + lblPoint.setFont(new Font("¸¼Àº °íµñ", Font.BOLD, 15)); + lblPoint.setBounds(100, 569, 355, 32); + if (point > 5000) { + lblPoint.setText(String.format("»ç¿ë °¡´ÉÇÑ Æ÷ÀÎÆ® : %d¿ø", point)); + } + contentPane.add(lblPoint); + + JLabel lblUsePoint = new JLabel("\uC0AC\uC6A9\uD558\uAE30"); + lblUsePoint.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { + if (point >= 5000) { + if (new GetTotalPrice().totalPrice() < point) { + lblTotalPrice.setText("ÃÑ °áÁ¦ ±Ý¾× : 0¿ø"); + usedPoint = new GetTotalPrice().totalPrice(); + if (point - new GetTotalPrice().totalPrice() >= 5000) { + lblPoint.setText(String.format("»ç¿ë °¡´ÉÇÑ Æ÷ÀÎÆ® : %d¿ø", point - new GetTotalPrice().totalPrice())); + } else { + lblPoint.setText(String.format("»ç¿ë °¡´ÉÇÑ Æ÷ÀÎÆ® : %d¿ø", 0)); + } + } else { + usedPoint = point; + lblTotalPrice.setText(String.format("ÃÑ °áÁ¦ ±Ý¾× : %d¿ø", new GetTotalPrice().totalPrice() - point)); + lblPoint.setText(String.format("»ç¿ë °¡´ÉÇÑ Æ÷ÀÎÆ® : %d¿ø", 0)); + } + } else { + JOptionPane.showMessageDialog(null, "Æ÷ÀÎÆ®´Â 5000Á¡ ÀÌ»óºÎÅÍ »ç¿ë °¡´ÉÇÕ´Ï´Ù."); + } } @Override public void mouseEntered(MouseEvent e) { - lblPayment.setForeground(Color.GRAY); + lblUsePoint.setForeground(Color.GRAY); Cursor cursor = new Cursor(Cursor.HAND_CURSOR); setCursor(cursor); } @Override public void mouseExited(MouseEvent e) { - lblPayment.setForeground(Color.WHITE); + lblUsePoint.setForeground(Color.WHITE); Cursor normalCursor = new Cursor(Cursor.DEFAULT_CURSOR); setCursor(normalCursor); } @Override public void mousePressed(MouseEvent e) { - lblPayment.setForeground(Color.WHITE); + lblUsePoint.setForeground(Color.WHITE); } @Override public void mouseReleased(MouseEvent e) { - lblPayment.setForeground(Color.GRAY); + lblUsePoint.setForeground(Color.GRAY); } }); - lblPayment.setForeground(Color.WHITE); - lblPayment.setHorizontalAlignment(SwingConstants.CENTER); - lblPayment.setFont(new Font("¸¼Àº °íµñ", Font.BOLD, 20)); - lblPayment.setBounds(200, 682, 200, 20); - contentPane.add(lblPayment); - - int point = new LookupPoint().point(id); - - JLabel lblPoint = new JLabel("\uC0AC\uC6A9 \uAC00\uB2A5\uD55C \uD3EC\uC778\uD2B8 : 0\uC6D0"); - lblPoint.setForeground(Color.WHITE); - lblPoint.setFont(new Font("¸¼Àº °íµñ", Font.BOLD, 15)); - lblPoint.setBounds(100, 569, 355, 32); - if (point > 5000) { - lblPoint.setText(String.format("»ç¿ë °¡´ÉÇÑ Æ÷ÀÎÆ® : %d¿ø", point)); - } - contentPane.add(lblPoint); + lblUsePoint.setForeground(Color.WHITE); + lblUsePoint.setFont(new Font("¸¼Àº °íµñ", Font.BOLD, 15)); + lblUsePoint.setBounds(467, 576, 60, 20); + contentPane.add(lblUsePoint); - JLabel lblUsePoint = new JLabel("\uC0AC\uC6A9\uD558\uAE30"); - lblUsePoint.addMouseListener(new MouseAdapter() { + JLabel lblPayment = new JLabel("\uC8FC\uBB38\uD558\uAE30"); + lblPayment.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { - if (new GetTotalPrice().totalPrice() < point) { - lblTotalPrice.setText("ÃÑ °áÁ¦ ±Ý¾× : 0¿ø"); - } else { - lblTotalPrice.setText(String.format("ÃÑ °áÁ¦ ±Ý¾× : %d¿ø", new GetTotalPrice().totalPrice() - point)); - } + new AddOrder(id, new GetUserOrder().order(), new GetTotalPrice().totalPrice() - usedPoint); + JOptionPane.showMessageDialog(null, "ÁÖ¹®ÀÌ ¿Ï·áµÇ¾ú½À´Ï´Ù."); + new UpdatePoint(usedPoint, id); + new DeleteBasket(); + new CreateBasket(id); + OrderFrame.this.dispose(); } @Override public void mouseEntered(MouseEvent e) { - lblUsePoint.setForeground(Color.GRAY); + lblPayment.setForeground(Color.GRAY); Cursor cursor = new Cursor(Cursor.HAND_CURSOR); setCursor(cursor); } @Override public void mouseExited(MouseEvent e) { - lblUsePoint.setForeground(Color.WHITE); + lblPayment.setForeground(Color.WHITE); Cursor normalCursor = new Cursor(Cursor.DEFAULT_CURSOR); setCursor(normalCursor); } @Override public void mousePressed(MouseEvent e) { - lblUsePoint.setForeground(Color.WHITE); + lblPayment.setForeground(Color.WHITE); } @Override public void mouseReleased(MouseEvent e) { - lblUsePoint.setForeground(Color.GRAY); + lblPayment.setForeground(Color.GRAY); } }); - lblUsePoint.setForeground(Color.WHITE); - lblUsePoint.setFont(new Font("¸¼Àº °íµñ", Font.BOLD, 15)); - lblUsePoint.setBounds(467, 576, 60, 20); - contentPane.add(lblUsePoint); + lblPayment.setForeground(Color.WHITE); + lblPayment.setHorizontalAlignment(SwingConstants.CENTER); + lblPayment.setFont(new Font("¸¼Àº °íµñ", Font.BOLD, 20)); + lblPayment.setBounds(261, 681, 80, 20); + contentPane.add(lblPayment); } } diff --git a/project01/src/main/UpdatePoint.java b/project01/src/main/order/UpdatePoint.java similarity index 80% rename from project01/src/main/UpdatePoint.java rename to project01/src/main/order/UpdatePoint.java index 448ef77..2f98081 100644 --- a/project01/src/main/UpdatePoint.java +++ b/project01/src/main/order/UpdatePoint.java @@ -1,4 +1,4 @@ -package main; +package main.order; import java.io.PrintWriter; import java.sql.Connection; @@ -10,7 +10,7 @@ import com.zaxxer.hikari.HikariDataSource; public class UpdatePoint { - public UpdatePoint(int point, String id) { + public UpdatePoint(int usedPoint, String id) { Properties props = new Properties(); props.setProperty("dataSourceClassName", "oracle.jdbc.pool.OracleDataSource"); props.setProperty("dataSource.url", "jdbc:oracle:thin:@localhost:1521/XEPDB1"); @@ -25,13 +25,14 @@ public UpdatePoint(int point, String id) { Connection conn = ds.getConnection(); PreparedStatement pstmt = - conn.prepareStatement("UPDATE users SET membership_point = ? WHERE user_name = ?"); + conn.prepareStatement("UPDATE users SET membership_point = membership_point - ? WHERE user_name = ?"); + + pstmt.setInt(1, usedPoint); + pstmt.setString(2, id); - pstmt.setInt(1, point); - pstmt.setString(1, id); int row = pstmt.executeUpdate(); - System.out.printf("%s: ¸É¹ö½± Æ÷ÀÎÆ® 1000¿øÀÌ Ãß°¡µÇ¾ú½À´Ï´Ù.\n", id); + System.out.printf("Æ÷ÀÎÆ®¸¦ »ç¿ë ¿Ï·á\n"); if (pstmt != null) pstmt.close(); if (conn != null) conn.close(); diff --git a/project01/src/signup/FrameSignup.java b/project01/src/signup/FrameSignup.java index 2868164..3aad03d 100644 --- a/project01/src/signup/FrameSignup.java +++ b/project01/src/signup/FrameSignup.java @@ -10,8 +10,8 @@ import login.Encryption; import login.FrameLogin; -import main.ManualFrame; -import main.OrderFrame; +import main.manual.ManualFrame; +import main.order.OrderFrame; import java.awt.FlowLayout; import java.awt.SystemColor; diff --git a/project01/startbucks.sql b/project01/startbucks.sql new file mode 100644 index 0000000..879abe0 --- /dev/null +++ b/project01/startbucks.sql @@ -0,0 +1,88 @@ +-- ȸ¿øÁ¤º¸ Å×À̺í +CREATE TABLE users ( + user_name VARCHAR2(25) + CONSTRAINT user_name_pk PRIMARY KEY, + pwd VARCHAR2(100) + CONSTRAINT user_name_nn NOT NULL, + membership_point NUMBER(8), + sign_up_date DATE +); + +-- Å×ÀÌºí »èÁ¦ +DROP TABLE users PURGE; + +-- Å×À̺í Á¶È¸ +select * from users; + +-- °ü¸®ÀÚ ¾ÆÀ̵ð »ý¼º +INSERT INTO users(user_name, pwd, membership_point, sign_up_date) VALUES('admin', '9ba5fed71c61fbe478cbf4d1a0f6fc266edb5ebdcd104aa57b0c1b85aa2553e0', 1000, sysdate); + +SELECT pwd FROM users WHERE user_name = 'admin'; + +-- ¸Þ´º Å×À̺í +CREATE TABLE menu ( + menu_name VARCHAR2(40) + CONSTRAINT menu_name_pk PRIMARY KEY, + tall_price NUMBER (5) + CONSTRAINT tall_price_nn NOT NULL, + grande_price NUMBER (5) + CONSTRAINT grande_price_nn NOT NULL, + venti_price NUMBER (5) + CONSTRAINT venti_price_nn NOT NULL +); + +-- ¸Þ´º Å×ÀÌºí »èÁ¦ +DROP TABLE menu PURGE; + +INSERT INTO menu(menu_name, tall_price, grande_price, venti_price) VALUES('black_tea_lemonade', 6100, 6600, 7100); +INSERT INTO menu(menu_name, tall_price, grande_price, venti_price) VALUES('passion_tango_tea_lemonade', 6100, 6600, 7100); +INSERT INTO menu(menu_name, tall_price, grande_price, venti_price) VALUES('pink_grapefruit', 6100, 6600, 7100); +INSERT INTO menu(menu_name, tall_price, grande_price, venti_price) VALUES('cool_lime', 5900, 6400, 6900); +INSERT INTO menu(menu_name, tall_price, grande_price, venti_price) VALUES('lime_passion_tea', 5900, 6400, 6900); +INSERT INTO menu(menu_name, tall_price, grande_price, venti_price) VALUES('mint_blend_tea', 5900, 6400, 6900); +INSERT INTO menu(menu_name, tall_price, grande_price, venti_price) VALUES('earl_grey_tea', 5300, 5800, 6300); +INSERT INTO menu(menu_name, tall_price, grande_price, venti_price) VALUES('chamomile_blend_tea', 5300, 5800, 6300); +INSERT INTO menu(menu_name, tall_price, grande_price, venti_price) VALUES('hibiscus_blend_tea', 5300, 5800, 6300); +INSERT INTO menu(menu_name, tall_price, grande_price, venti_price) VALUES('passion_fruit_tea', 5300, 5800, 6300); +INSERT INTO menu(menu_name, tall_price, grande_price, venti_price) VALUES('coffee', 5800, 6300, 6800); +INSERT INTO menu(menu_name, tall_price, grande_price, venti_price) VALUES('brewed_coffee', 3800, 4300, 4800); +INSERT INTO menu(menu_name, tall_price, grande_price, venti_price) VALUES('caramel_macchiato', 5800, 6300, 6800); +INSERT INTO menu(menu_name, tall_price, grande_price, venti_price) VALUES('caffe_latte', 4600, 5100, 5600); +INSERT INTO menu(menu_name, tall_price, grande_price, venti_price) VALUES('caffe_americano', 4100, 4600, 5100); +INSERT INTO menu(menu_name, tall_price, grande_price, venti_price) VALUES('caffe_mocha', 4100, 4600, 5100); +INSERT INTO menu(menu_name, tall_price, grande_price, venti_price) VALUES('cold_brew', 3800, 4300, 4800); +INSERT INTO menu(menu_name, tall_price, grande_price, venti_price) VALUES('dolce_cold_brew', 3800, 4300, 4800); + +SELECT Tall_price FROM menu WHERE menu_name = 'coffee'; +SELECT * FROM menu; + +-- Àå¹Ù±¸´Ï ½ÃÄö½º +CREATE SEQUENCE basket_seq START WITH 1 INCREMENT BY 1; + +-- ½ÃÄö½º »èÁ¦ +DROP SEQUENCE basket_seq; + +-- Àå¹Ù±¸´Ï +CREATE TABLE basket ( + user_name VARCHAR2(40), + user_order VARCHAR2 (200), + total_price NUMBER (7) +); + +-- +UPDATE coffees SET cprice = cprice + 200 WHERE cfid = 2; + +DROP TABLE basket PURGE; +SELECT * FROM basket; + +-- ÁÖ¹® °ü¸® +CREATE TABLE order_list ( + user_name VARCHAR2(40), + user_order VARCHAR2 (200), + payment number (7), + order_date DATE +); + +SELECT * FROM order_list; + +