From 68a40e9e63adb77c61aebbdc6bde0c95eeaf54f7 Mon Sep 17 00:00:00 2001 From: BowWowBow Date: Tue, 17 Dec 2024 17:52:06 +0900 Subject: [PATCH] =?UTF-8?q?=EB=A9=94=EC=9D=B8=ED=8E=98=EC=9D=B4=EC=A7=80?= =?UTF-8?q?=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../stockm8/controller/HomeController.java | 14 + .../stockm8/controller/UserController.java | 80 +++--- .../java/com/stockm8/persistence/UserDAO.java | 4 + .../com/stockm8/persistence/UserDAOImpl.java | 14 +- .../java/com/stockm8/service/UserService.java | 3 + .../com/stockm8/service/UserServiceImpl.java | 8 + .../src/main/resources/mappers/userMapper.xml | 8 + .../main/webapp/WEB-INF/views/howtouse.jsp | 17 +- .../src/main/webapp/WEB-INF/views/intro.jsp | 168 ++++++------ .../src/main/webapp/WEB-INF/views/main.jsp | 239 ++++++++++++------ .../WEB-INF/views/user/findPassword.jsp | 44 +--- 11 files changed, 361 insertions(+), 238 deletions(-) diff --git a/stockMate/src/main/java/com/stockm8/controller/HomeController.java b/stockMate/src/main/java/com/stockm8/controller/HomeController.java index ab38e42..bdd2290 100644 --- a/stockMate/src/main/java/com/stockm8/controller/HomeController.java +++ b/stockMate/src/main/java/com/stockm8/controller/HomeController.java @@ -78,6 +78,20 @@ public String howtouseGET(Model model, HttpSession session) throws Exception { return "howtouse"; } + // 창고위치 - /location (GET) + @RequestMapping(value = "/location", method = RequestMethod.GET) + public String locationGET(Model model, HttpSession session) throws Exception { + Long userId = (Long) session.getAttribute("userId"); +// if (id == null) { +// // 세션에 id가 없으면 에러 처리 +// return "redirect:/user/main"; +// } +// UserVO resultVO = userService.getUser(userId); +// model.addAttribute("resultVO", resultVO); + return "location"; + } + + // 상담하기 - /user/consultation (GET) @RequestMapping(value = "/consultation", method = RequestMethod.GET) public String consultationGET(Model model, HttpSession session) throws Exception { diff --git a/stockMate/src/main/java/com/stockm8/controller/UserController.java b/stockMate/src/main/java/com/stockm8/controller/UserController.java index 9fbfb87..7b7680d 100644 --- a/stockMate/src/main/java/com/stockm8/controller/UserController.java +++ b/stockMate/src/main/java/com/stockm8/controller/UserController.java @@ -142,22 +142,6 @@ public String userLoginPOST(UserVO user, RedirectAttributes rttr, HttpSession se return "redirect:/user/signin"; // 로그인 페이지 이동 } - // 메인페이지 - GET - @RequestMapping(value = "/main", method = RequestMethod.GET) - public void mainGET(HttpServletRequest request, Model model) throws Exception { - logger.info(" mainGET() 호출 "); - - // FlashMap에서 에러 메시지 확인 - Map flashMap = RequestContextUtils.getInputFlashMap(request); - if (flashMap != null) { - String errorMessage = (String) flashMap.get("errorMessage"); - if (errorMessage != null) { - model.addAttribute("errorMessage", errorMessage); - } - } - - logger.info(" /user/main -> /user/main.jsp 연결 "); - } // 대시보드 페이지 - GET @RequestMapping(value = "/dashboard", method = RequestMethod.GET) @@ -269,31 +253,6 @@ public void userUpdatePOST(@ModelAttribute UserVO user, HttpSession session, Htt } - // 비밀번호 찾기 - get - @RequestMapping(value = "/findPassword", method = RequestMethod.GET) - public String findPasswordGet() { - - return "/user/findPassword"; - } - -// // 회원정보 수정 - GET -// // (기존정보를 가져와서 보여주고, 수정할 정보를 입력) -// @RequestMapping(value = "/editinfo1", method = RequestMethod.GET) -// public void userUpdateGET(@SessionAttribute("userId") Long userId, Model model) throws Exception { -// logger.info(" userUpdateGET() 호출 "); -// -// // 사용자의 ID정보를 가져오기(세션) -// logger.info("userId : " + userId); -// -// // 서비스 -> DAO 회원정보 가져오는 동작 호출 -// UserVO resultVO = userService.getUser(userId); -// -// // 연결된 뷰페이지에 출력 -// // => model 객체에 정보 저장 -// model.addAttribute("resultVO", resultVO); -// // /user/update.jsp 뷰페이지 연결 -// } -// // 회원정보 수정 @RequestMapping(value = "/changepassword1", method = RequestMethod.GET) @@ -392,7 +351,7 @@ public void changePasswordPOST( } } - + // 상담하기 email - GET @RequestMapping(value = "/sendConsultation", method = RequestMethod.POST) public String sendConsultation( @RequestParam("company") String company, @@ -474,6 +433,43 @@ protected PasswordAuthentication getPasswordAuthentication() { } + // 비밀번호 찾기 - GET + @RequestMapping(value = "/findPassword", method = RequestMethod.GET) + public String findPasswordGet() { + return "/user/findPassword"; // 비밀번호 찾기 페이지로 이동 + } + + // 비밀번호 찾기 - POST + @RequestMapping(value = "/findPassword", method = RequestMethod.POST) + public String findPasswordPost(@RequestParam("email") String email, + @RequestParam("name") String name, + Model model) { + try { + // 이메일과 이름으로 비밀번호 찾기 + String password = userService.findPassword(email, name); // 비밀번호를 String으로 받음 + + if (password != null) { + // 비밀번호가 일치하면 얼럿창을 통해 비밀번호를 사용자에게 전달 + model.addAttribute("password", password); // 비밀번호를 model에 추가 + model.addAttribute("alertMessage", "입력한 정보에 해당하는 비밀번호는: " + password); + return "/user/showpassword"; // 비밀번호를 보여주는 페이지로 이동 + } else { + // 비밀번호가 일치하지 않으면 오류 메시지 추가 + logger.info("비밀번호 찾기 실패: 이메일 또는 이름이 일치하지 않음"); // 실패 로그 + model.addAttribute("errorMessage", "이메일 또는 이름이 일치하지 않습니다."); + return "/user/findPassword"; // 비밀번호 찾기 페이지로 다시 이동 + } + } catch (Exception e) { + e.printStackTrace(); + logger.error("비밀번호 찾기 처리 중 오류 발생", e); // 예외 로그 추가 + model.addAttribute("errorMessage", "비밀번호 찾기 처리 중 오류가 발생했습니다."); + return "/user/findPassword"; // 오류 발생 시 비밀번호 찾기 페이지로 돌아감 + } + } + + + + // 대시보드사용법 - /howtouse2 (GET) @RequestMapping(value = "/howtouse2", method = RequestMethod.GET) public String howtouseGET2(Model model, HttpSession session) throws Exception { diff --git a/stockMate/src/main/java/com/stockm8/persistence/UserDAO.java b/stockMate/src/main/java/com/stockm8/persistence/UserDAO.java index 469609d..85d296d 100644 --- a/stockMate/src/main/java/com/stockm8/persistence/UserDAO.java +++ b/stockMate/src/main/java/com/stockm8/persistence/UserDAO.java @@ -31,6 +31,10 @@ public interface UserDAO { int updateUserBusinessId(@Param("userId") Long userId, @Param("businessId") int businessId); + // 비밀번호 찾기 동작 + public String findPassword(String email,String name) throws Exception; + + // 회원정보 삭제동작 public int deleteUser (UserVO user); diff --git a/stockMate/src/main/java/com/stockm8/persistence/UserDAOImpl.java b/stockMate/src/main/java/com/stockm8/persistence/UserDAOImpl.java index 8017d22..c81d567 100644 --- a/stockMate/src/main/java/com/stockm8/persistence/UserDAOImpl.java +++ b/stockMate/src/main/java/com/stockm8/persistence/UserDAOImpl.java @@ -89,7 +89,19 @@ public int updateUserBusinessId(Long userId, int businessId) { return sqlSession.update(NAMESPACE + "updateUserBusinessId", params); } - + @Override + public String findPassword(String email, String name) throws Exception { + logger.info("findPassword 실행: 이메일 = " + email + ", 이름 = " + name); + + // 이메일과 이름을 조건으로 사용자 조회 + Map params = new HashMap<>(); + params.put("email", email); + params.put("name", name); + + // DB에서 사용자를 조회 + return sqlSession.selectOne(NAMESPACE + "findPassword", Map.of("email", email, "name", name)); + } + diff --git a/stockMate/src/main/java/com/stockm8/service/UserService.java b/stockMate/src/main/java/com/stockm8/service/UserService.java index 1ecc36f..f41df29 100644 --- a/stockMate/src/main/java/com/stockm8/service/UserService.java +++ b/stockMate/src/main/java/com/stockm8/service/UserService.java @@ -29,6 +29,9 @@ public interface UserService { // 회원정보에서 비밀번호 수정 public void updateUserBusinessId(Long userId, int businessId) throws Exception; + // 비밀번호 찾기 + public String findPassword (String email, String name) throws Exception; + // 회원정보 삭제 public int deleteUser(UserVO user) throws Exception; diff --git a/stockMate/src/main/java/com/stockm8/service/UserServiceImpl.java b/stockMate/src/main/java/com/stockm8/service/UserServiceImpl.java index 321c80b..bf9b4f9 100644 --- a/stockMate/src/main/java/com/stockm8/service/UserServiceImpl.java +++ b/stockMate/src/main/java/com/stockm8/service/UserServiceImpl.java @@ -75,6 +75,14 @@ public void updateUserBusinessId(Long userId, int businessId) throws Exception { userDAO.updateUserBusinessId(userId, businessId); } + @Override + public String findPassword(String email, String name) throws Exception { + logger.info("findPassword 실행: 이메일 = " + email + ", 이름 = " + name); + // userDAO에서 비밀번호를 찾아 반환 + return userDAO.findPassword(email, name); + } + + @Override public int deleteUser(UserVO user) throws Exception { logger.info(" deleteuser(UserVO dvo) 실행 "); diff --git a/stockMate/src/main/resources/mappers/userMapper.xml b/stockMate/src/main/resources/mappers/userMapper.xml index 8e015f2..5d01627 100644 --- a/stockMate/src/main/resources/mappers/userMapper.xml +++ b/stockMate/src/main/resources/mappers/userMapper.xml @@ -107,6 +107,14 @@ AND business_id IS NULL + + + + DELETE FROM users diff --git a/stockMate/src/main/webapp/WEB-INF/views/howtouse.jsp b/stockMate/src/main/webapp/WEB-INF/views/howtouse.jsp index 1c0a7c7..8a26b5a 100644 --- a/stockMate/src/main/webapp/WEB-INF/views/howtouse.jsp +++ b/stockMate/src/main/webapp/WEB-INF/views/howtouse.jsp @@ -22,12 +22,17 @@ box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2); text-align: center; } - .header { - background-color: #007BFF; - color: #fff; - padding: 20px; - border-radius: 15px 15px 0 0; - margin-bottom: 20px; + + .header { + position: relative; + height: 400px; + background: url(resources/css/9950253.jpg) no-repeat center center / cover; + display: flex +; + justify-content: center; + align-items: center; + text-align: center; + color: white; } .header h1 { font-size: 36px; diff --git a/stockMate/src/main/webapp/WEB-INF/views/intro.jsp b/stockMate/src/main/webapp/WEB-INF/views/intro.jsp index 70ac269..d6a0e56 100644 --- a/stockMate/src/main/webapp/WEB-INF/views/intro.jsp +++ b/stockMate/src/main/webapp/WEB-INF/views/intro.jsp @@ -6,112 +6,130 @@ 회사 소개 - -
-
-

회사 소개

-
-
-

회사 정보

-

회사명: ㈜stockmate

-

대표이사: 黃仁成

-

설립일: 1999년 8월

-

주사업: 웹 기반 ERP, 그룹웨어, 웹메일 개발 및 서비스

-

사업장: 부산 부산진구 동천로 109 삼한골든게이트 ㈜stockmate

-
-
-

고객 지원팀

-

고객님과의 최접점 고객지원팀이 있습니다.

-

고객지원팀은 고객사와의 상담업무를 주된 업무로 하며 다양한 문의를 처리합니다.

-

전화 상담 요청 및 지정된 전문 상담사를 통해 고객님의 궁금증을 해결합니다.

-

고객의 "고맙습니다"라는 말이 가장 큰 보람입니다.

-
-
-

DB팀

-

DB팀은 프로그램의 기본 뼈대를 튼튼히 잡아주는 중요한 팀입니다.

-

데이터를 설계하고 보안을 유지하며 고객사 자료를 안전하게 관리합니다.

-

DA(Data Architect)와 DBA(DataBase Admin)로 나누어져 있으며, 새로운 기능 기획안을 기반으로 DB 설계와 도면을 작성합니다.

-
-
-

개발팀

-

개발팀은 이카운트 ERP의 모든 기능을 구현합니다.

-

고객사 제안과 전략적 개발 기능을 기반으로 개발 스케줄을 잡고 기능을 개발합니다.

-

완성된 기능이 무사히 업그레이드되었을 때의 뿌듯함을 느끼며, 고객 만족도를 위해 지속적으로 노력하고 있습니다.

-
- + +
+

회사 소개

+
+ + +
+

회사 정보

+

회사명: ㈜stockmate

+

대표이사: 黃仁成

+

설립일: 1999년 8월

+

주사업: 웹 기반 ERP, 그룹웨어, 웹메일 개발 및 서비스

+

사업장: 부산 부산진구 동천로 109 삼한골든게이트 ㈜stockmate

+
+ + +
+

고객 지원팀

+

고객님과의 최접점 고객지원팀이 있습니다.

+

고객지원팀은 고객사와의 상담업무를 주된 업무로 하며 다양한 문의를 처리합니다.

+

전화 상담 요청 및 지정된 전문 상담사를 통해 고객님의 궁금증을 해결합니다.

+

고객의 "고맙습니다"라는 말이 가장 큰 보람입니다.

+
+ + +
+

DB팀

+

DB팀은 프로그램의 기본 뼈대를 튼튼히 잡아주는 중요한 팀입니다.

+

데이터를 설계하고 보안을 유지하며 고객사 자료를 안전하게 관리합니다.

+

DA(Data Architect)와 DBA(DataBase Admin)로 나누어져 있으며, 새로운 기능 기획안을 기반으로 DB 설계와 도면을 작성합니다.

+
+ + +
+

개발팀

+

개발팀은 이카운트 ERP의 모든 기능을 구현합니다.

+

고객사 제안과 전략적 개발 기능을 기반으로 개발 스케줄을 잡고 기능을 개발합니다.

+

완성된 기능이 무사히 업그레이드되었을 때의 뿌듯함을 느끼며, 고객 만족도를 위해 지속적으로 노력하고 있습니다.

+
+ + + diff --git a/stockMate/src/main/webapp/WEB-INF/views/main.jsp b/stockMate/src/main/webapp/WEB-INF/views/main.jsp index cafcfb2..fcd8658 100644 --- a/stockMate/src/main/webapp/WEB-INF/views/main.jsp +++ b/stockMate/src/main/webapp/WEB-INF/views/main.jsp @@ -1,5 +1,4 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" - pageEncoding="UTF-8"%> +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> @@ -9,112 +8,173 @@ 메인 페이지 - +
- About Us Logo -

최초 메인 페이지 - 데모

+

Warehouse Management Solutions

+

스마트한 재고 관리와 최적화된 물류 시스템을 제공합니다.

- - - -
${errorMessage}
-
- +
-

고퀄리티 교회 현수막을 제작합니다.

-

현수막은 다양한 곳에 홍보물로 많이 사용되고 있습니다.
- 홀리라이프 현수막을 통해 고퀄리티 디자인을 경험해보세요.

+

20년 노하우의 지산그룹이 만든 안성창고

+

긍정 마인드를 통해 끊임없이 새로운 변화를 추구하고 있습니다

+ + +

걸림돌을 디딤돌로 긍정의 끝은 무한한 가능성!

+

지산그룹은 지난 1999년 창립 이후 오늘에 이르기까지 물류센터 개발, 운영 등 물류분야와 국내 PC업계 최초의 스마트 팩토리 구현 등 +축적된 기술력과 차별화된 경영전략 및 인적구성으로 최고의 서비스를 제공해 왔습니다. +특히 건설전문가 집단의 역량을 살려 폭 넓은 지식과 경험을 바탕으로 분야별 전문 인력으로 구성되어 설계, 생산, 조립, 건설사업관리, +프로젝트관리 등 부동산 개발의 전 분양에 걸쳐 자부심을 가지며 국내 최고의 물류센터와 PC개발 전문기업으로 앞서 나아가고 있습니다. +어떠한 난관도 불가능한 것이 없다는 긍정 마인드를 통해 끊임없이 새로운 변화를 추구하는 지산그룹은 고객 여러분과 함께 하겠습니다.

+ + + +
- Example Banner + Warehouse Exterior
- World Map + Warehouse Interior
+
-
-

대시보드 사용법

-
    -
  • gif 영상
  • -
  • jpg 이미지
  • -
-
+ +
+

회사 약도

+ 회사 약도 +
+ + + + + + - \ No newline at end of file + diff --git a/stockMate/src/main/webapp/WEB-INF/views/user/findPassword.jsp b/stockMate/src/main/webapp/WEB-INF/views/user/findPassword.jsp index 17bc389..1eabd8c 100644 --- a/stockMate/src/main/webapp/WEB-INF/views/user/findPassword.jsp +++ b/stockMate/src/main/webapp/WEB-INF/views/user/findPassword.jsp @@ -111,48 +111,24 @@ ← 뒤로 가기

비밀번호 찾기

-
+ - - + +
- - -
-

비밀번호 확인
1234

- -
- - -
-

이메일 또는 이름이 존재하지 않습니다.
다시 한 번 확인해주세요.

- -
- + + + + + -