feat: Implement web reservation functionality with new controllers, services, data access objects, mappers, and UI components.

This commit is contained in:
pjs
2026-02-16 01:24:50 +09:00
parent f7e00b745f
commit ce39cc5c99
14 changed files with 2371 additions and 4672 deletions

View File

@@ -0,0 +1,209 @@
package com.madeuhome.controller.web.reservation;
import java.util.HashMap;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import com.madeuhome.constants.Constants;
import com.madeuhome.service.web.reservation.ReservationService;
import com.madeuhome.util.HttpUtil;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpSession;
import lombok.extern.slf4j.Slf4j;
/**
* 예약 컨트롤러
*/
@Controller
@Slf4j
public class ReservationController {
@Autowired
private ReservationService reservationService;
/**
* 예약 페이지 이동
*/
@RequestMapping(value = "/webservice/selectMakeReservation.do")
public String selectMakeReservation(HttpSession session, HttpServletRequest request, Model model) {
log.debug("ReservationController selectMakeReservation START");
HashMap<String, Object> paramMap = HttpUtil.getParameterMap(request);
model.addAttribute("CATEGORY_DIV_CD", paramMap.get("CATEGORY_DIV_CD"));
model.addAttribute("CATEGORY_NO", paramMap.get("CATEGORY_NO"));
model.addAttribute("POST_NO", paramMap.get("POST_NO"));
model.addAttribute("PROCEDURE_ID", paramMap.get("PROCEDURE_ID"));
log.debug("ReservationController selectMakeReservation END");
return "/web/service/makeReservation";
}
/**
* 예약 시술 정보 조회
*/
@RequestMapping(value = "/webservice/selectReservation.do")
public ModelAndView selectReservation(HttpSession session, HttpServletRequest request,
HttpServletResponse response) {
log.debug("ReservationController selectReservation START");
HashMap<String, Object> paramMap = HttpUtil.getParameterMap(request);
HashMap<String, Object> map = new HashMap<>();
StringBuffer errorMsg = new StringBuffer();
try {
map = reservationService.selectReservation(paramMap);
} catch (Exception e) {
e.printStackTrace();
errorMsg.append(e);
return null;
} finally {
if (Constants.OK == map.get("msgCode")) {
} else {
if (null == map.get("msgCode") || ("").equals(map.get("msgCode"))) {
map.put("msgCode", Constants.FAIL);
}
map.put("success", false);
if (null == map.get("msgDesc") || ("").equals(map.get("msgDesc"))) {
map.put("msgDesc", "정상적으로 수행되지 않았습니다. 관리자에게 문의하시기 바랍니다.");
}
}
}
log.debug("ReservationController selectReservation END");
return HttpUtil.makeHashToJsonModelAndView(map);
}
/**
* 병원 휴일 조회 (달력 표출용)
*/
@RequestMapping(value = "/webservice/selectHospitalHolidayList.do")
public ModelAndView selectHospitalHolidayList(HttpSession session, HttpServletRequest request,
HttpServletResponse response) {
log.debug("ReservationController selectHospitalHolidayList START");
HashMap<String, Object> paramMap = HttpUtil.getParameterMap(request);
HashMap<String, Object> map = new HashMap<>();
try {
map = reservationService.selectHospitalHolidayList(paramMap);
} catch (Exception e) {
e.printStackTrace();
return null;
} finally {
if (Constants.OK != map.get("msgCode")) {
map.put("msgCode", Constants.FAIL);
map.put("success", false);
if (null == map.get("msgDesc") || ("").equals(map.get("msgDesc"))) {
map.put("msgDesc", "정상적으로 수행되지 않았습니다. 관리자에게 문의하시기 바랍니다.");
}
}
}
log.debug("ReservationController selectHospitalHolidayList END");
return HttpUtil.makeHashToJsonModelAndView(map);
}
/**
* 특정 날짜 운영시간 조회
*/
@RequestMapping(value = "/webservice/selectHospitalWorkTime.do")
public ModelAndView selectHospitalWorkTime(HttpSession session, HttpServletRequest request,
HttpServletResponse response) {
log.debug("ReservationController selectHospitalWorkTime START");
HashMap<String, Object> paramMap = HttpUtil.getParameterMap(request);
HashMap<String, Object> map = new HashMap<>();
try {
map = reservationService.selectHospitalWorkTime(paramMap);
} catch (Exception e) {
e.printStackTrace();
return null;
} finally {
if (Constants.OK != map.get("msgCode")) {
map.put("msgCode", Constants.FAIL);
map.put("success", false);
if (null == map.get("msgDesc") || ("").equals(map.get("msgDesc"))) {
map.put("msgDesc", "정상적으로 수행되지 않았습니다. 관리자에게 문의하시기 바랍니다.");
}
}
}
log.debug("ReservationController selectHospitalWorkTime END");
return HttpUtil.makeHashToJsonModelAndView(map);
}
/**
* 예약 카운트 조회
*/
@RequestMapping(value = "/webservice/selectReservationCnt.do")
public ModelAndView selectReservationCnt(HttpSession session, HttpServletRequest request,
HttpServletResponse response) {
log.debug("ReservationController selectReservationCnt START");
HashMap<String, Object> paramMap = HttpUtil.getParameterMap(request);
HashMap<String, Object> map = new HashMap<>();
StringBuffer errorMsg = new StringBuffer();
try {
map = reservationService.selectReservationCnt(paramMap);
} catch (Exception e) {
e.printStackTrace();
errorMsg.append(e);
return null;
} finally {
if (Constants.OK == map.get("msgCode")) {
} else {
if (null == map.get("msgCode") || ("").equals(map.get("msgCode"))) {
map.put("msgCode", Constants.FAIL);
}
map.put("success", false);
if (null == map.get("msgDesc") || ("").equals(map.get("msgDesc"))) {
map.put("msgDesc", "정상적으로 수행되지 않았습니다. 관리자에게 문의하시기 바랍니다.");
}
}
}
log.debug("ReservationController selectReservationCnt END");
return HttpUtil.makeHashToJsonModelAndView(map);
}
/**
* 예약 저장
*/
@RequestMapping(value = "/webservice/insertReservation.do")
public ModelAndView insertReservation(HttpSession session, HttpServletRequest request,
HttpServletResponse response) {
log.debug("ReservationController insertReservation START");
HashMap<String, Object> paramMap = HttpUtil.getParameterMap(request);
HashMap<String, Object> map = new HashMap<>();
StringBuffer errorMsg = new StringBuffer();
try {
map = reservationService.insertReservation(paramMap);
} catch (Exception e) {
e.printStackTrace();
errorMsg.append(e);
return null;
} finally {
if (Constants.OK == map.get("msgCode")) {
} else {
if (null == map.get("msgCode") || ("").equals(map.get("msgCode"))) {
map.put("msgCode", Constants.FAIL);
}
map.put("success", false);
if (null == map.get("msgDesc") || ("").equals(map.get("msgDesc"))) {
map.put("msgDesc", "정상적으로 수행되지 않았습니다. 관리자에게 문의하시기 바랍니다.");
}
}
}
log.debug("ReservationController insertReservation END");
return HttpUtil.makeHashToJsonModelAndView(map);
}
}

View File

@@ -18,10 +18,9 @@ import org.springframework.web.servlet.ModelAndView;
import java.util.HashMap; import java.util.HashMap;
@Slf4j @Slf4j
@Controller @Controller
public class WebEventController extends ManagerDraftAction{ public class WebEventController extends ManagerDraftAction {
@Autowired @Autowired
private WebEventService webEventService; private WebEventService webEventService;
@@ -36,8 +35,8 @@ public class WebEventController extends ManagerDraftAction{
* @param response * @param response
* @return * @return
*/ */
@RequestMapping(value="/webevent/selectListWebEventIntro.do") @RequestMapping(value = "/webevent/selectListWebEventIntro.do")
public String selectListWebEventIntro(HttpSession session,HttpServletRequest request) { public String selectListWebEventIntro(HttpSession session, HttpServletRequest request) {
log.debug("WebEventController selectListWebEventIntro START"); log.debug("WebEventController selectListWebEventIntro START");
@@ -52,8 +51,9 @@ public class WebEventController extends ManagerDraftAction{
* @param response * @param response
* @return * @return
*/ */
@RequestMapping(value="/webevent/selectListWebEvent.do") @RequestMapping(value = "/webevent/selectListWebEvent.do")
public ModelAndView selectListWebEvent(HttpSession session,HttpServletRequest request, HttpServletResponse response) { public ModelAndView selectListWebEvent(HttpSession session, HttpServletRequest request,
HttpServletResponse response) {
log.debug("WebEventController selectListWebEvent START"); log.debug("WebEventController selectListWebEvent START");
@@ -61,24 +61,24 @@ public class WebEventController extends ManagerDraftAction{
HashMap<String, Object> map = new HashMap<String, Object>(); HashMap<String, Object> map = new HashMap<String, Object>();
StringBuffer errorMsg = new StringBuffer(); StringBuffer errorMsg = new StringBuffer();
try{ try {
map = webEventService.selectListWebEvent(paramMap); map = webEventService.selectListWebEvent(paramMap);
log.debug(map + ""); log.debug(map + "");
}catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
errorMsg.append(e); errorMsg.append(e);
return null; return null;
}finally { } finally {
if(Constants.OK == map.get("msgCode")) { if (Constants.OK == map.get("msgCode")) {
}else{ } else {
if(null == map.get("msgCode") || ("").equals(map.get("msgCode"))) { if (null == map.get("msgCode") || ("").equals(map.get("msgCode"))) {
map.put("msgCode", Constants.FAIL); map.put("msgCode", Constants.FAIL);
} }
map.put("success", false); map.put("success", false);
if(null == map.get("msgDesc") || ("").equals(map.get("msgDesc"))) { if (null == map.get("msgDesc") || ("").equals(map.get("msgDesc"))) {
map.put("msgDesc","정상적으로 수행되지 않았습니다. 관리자에게 문의하시기 바랍니다. (E0029)"); map.put("msgDesc", "정상적으로 수행되지 않았습니다. 관리자에게 문의하시기 바랍니다. (E0029)");
} }
} }
@@ -94,16 +94,16 @@ public class WebEventController extends ManagerDraftAction{
insertMap.put("requestValue", String.valueOf(paramMap)); insertMap.put("requestValue", String.valueOf(paramMap));
insertMap.put("responseValue", String.valueOf(map)); insertMap.put("responseValue", String.valueOf(map));
; ;
if(("true").equals(String.valueOf(map.get("success")))){ if (("true").equals(String.valueOf(map.get("success")))) {
insertMap.put("resultCode", "SUCCESS"); insertMap.put("resultCode", "SUCCESS");
}else{ } else {
insertMap.put("resultCode", "ERROR"); insertMap.put("resultCode", "ERROR");
} }
insertMap.put("resultMsg", String.valueOf(errorMsg)); insertMap.put("resultMsg", String.valueOf(errorMsg));
insertMap.put("muMemberId", paramMap.get("muMemberId")); insertMap.put("muMemberId", paramMap.get("muMemberId"));
// logHistoryService.insertLogHistory(insertMap, visitLogParamMap); // logHistoryService.insertLogHistory(insertMap, visitLogParamMap);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
@@ -111,7 +111,6 @@ public class WebEventController extends ManagerDraftAction{
log.debug("WebEventController selectListWebEvent END"); log.debug("WebEventController selectListWebEvent END");
return HttpUtil.makeHashToJsonModelAndView(map); return HttpUtil.makeHashToJsonModelAndView(map);
} }
@@ -122,8 +121,8 @@ public class WebEventController extends ManagerDraftAction{
* @param response * @param response
* @return * @return
*/ */
@RequestMapping(value="/webevent/selectListEvent.do") @RequestMapping(value = "/webevent/selectListEvent.do")
public ModelAndView selectListEvent(HttpSession session,HttpServletRequest request, HttpServletResponse response) { public ModelAndView selectListEvent(HttpSession session, HttpServletRequest request, HttpServletResponse response) {
log.debug("WebEventController selectListEvent START"); log.debug("WebEventController selectListEvent START");
@@ -131,24 +130,24 @@ public class WebEventController extends ManagerDraftAction{
HashMap<String, Object> map = new HashMap<String, Object>(); HashMap<String, Object> map = new HashMap<String, Object>();
StringBuffer errorMsg = new StringBuffer(); StringBuffer errorMsg = new StringBuffer();
try{ try {
map = webEventService.selectListEvent(paramMap); map = webEventService.selectListEvent(paramMap);
log.debug(map + ""); log.debug(map + "");
}catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
errorMsg.append(e); errorMsg.append(e);
return null; return null;
}finally { } finally {
if(Constants.OK == map.get("msgCode")) { if (Constants.OK == map.get("msgCode")) {
}else{ } else {
if(null == map.get("msgCode") || ("").equals(map.get("msgCode"))) { if (null == map.get("msgCode") || ("").equals(map.get("msgCode"))) {
map.put("msgCode", Constants.FAIL); map.put("msgCode", Constants.FAIL);
} }
map.put("success", false); map.put("success", false);
if(null == map.get("msgDesc") || ("").equals(map.get("msgDesc"))) { if (null == map.get("msgDesc") || ("").equals(map.get("msgDesc"))) {
map.put("msgDesc","정상적으로 수행되지 않았습니다. 관리자에게 문의하시기 바랍니다. (E0029)"); map.put("msgDesc", "정상적으로 수행되지 않았습니다. 관리자에게 문의하시기 바랍니다. (E0029)");
} }
} }
@@ -164,15 +163,15 @@ public class WebEventController extends ManagerDraftAction{
insertMap.put("requestValue", String.valueOf(paramMap)); insertMap.put("requestValue", String.valueOf(paramMap));
insertMap.put("responseValue", String.valueOf(map)); insertMap.put("responseValue", String.valueOf(map));
; ;
if(("true").equals(String.valueOf(map.get("success")))){ if (("true").equals(String.valueOf(map.get("success")))) {
insertMap.put("resultCode", "SUCCESS"); insertMap.put("resultCode", "SUCCESS");
}else{ } else {
insertMap.put("resultCode", "ERROR"); insertMap.put("resultCode", "ERROR");
} }
insertMap.put("resultMsg", String.valueOf(errorMsg)); insertMap.put("resultMsg", String.valueOf(errorMsg));
// logHistoryService.insertLogHistory(insertMap, visitLogParamMap); // logHistoryService.insertLogHistory(insertMap, visitLogParamMap);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
@@ -180,7 +179,6 @@ public class WebEventController extends ManagerDraftAction{
log.debug("WebEventController selectListEvent END"); log.debug("WebEventController selectListEvent END");
return HttpUtil.makeHashToJsonModelAndView(map); return HttpUtil.makeHashToJsonModelAndView(map);
} }
@@ -191,7 +189,7 @@ public class WebEventController extends ManagerDraftAction{
* @param response * @param response
* @return * @return
*/ */
@RequestMapping(value="/webevent/selectEventDetailIntro.do") @RequestMapping(value = "/webevent/selectEventDetailIntro.do")
public String selectEventDetailIntro(HttpSession session, HttpServletRequest request, Model model) { public String selectEventDetailIntro(HttpSession session, HttpServletRequest request, Model model) {
log.debug("WebEventController selectEventDetailIntro START"); log.debug("WebEventController selectEventDetailIntro START");
@@ -211,8 +209,9 @@ public class WebEventController extends ManagerDraftAction{
* @param response * @param response
* @return * @return
*/ */
@RequestMapping(value="/webevent/selectEventDetail.do") @RequestMapping(value = "/webevent/selectEventDetail.do")
public ModelAndView selectEventDetail(HttpSession session, HttpServletRequest request, HttpServletResponse response) { public ModelAndView selectEventDetail(HttpSession session, HttpServletRequest request,
HttpServletResponse response) {
log.debug("WebEventController selectEventDetail START"); log.debug("WebEventController selectEventDetail START");
@@ -220,24 +219,24 @@ public class WebEventController extends ManagerDraftAction{
HashMap<String, Object> map = new HashMap<String, Object>(); HashMap<String, Object> map = new HashMap<String, Object>();
StringBuffer errorMsg = new StringBuffer(); StringBuffer errorMsg = new StringBuffer();
try{ try {
map = webEventService.selectEventDetail(paramMap); map = webEventService.selectEventDetail(paramMap);
log.debug(map + ""); log.debug(map + "");
}catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
errorMsg.append(e); errorMsg.append(e);
return null; return null;
}finally { } finally {
if(Constants.OK == map.get("msgCode")) { if (Constants.OK == map.get("msgCode")) {
}else{ } else {
if(null == map.get("msgCode") || ("").equals(map.get("msgCode"))) { if (null == map.get("msgCode") || ("").equals(map.get("msgCode"))) {
map.put("msgCode", Constants.FAIL); map.put("msgCode", Constants.FAIL);
} }
map.put("success", false); map.put("success", false);
if(null == map.get("msgDesc") || ("").equals(map.get("msgDesc"))) { if (null == map.get("msgDesc") || ("").equals(map.get("msgDesc"))) {
map.put("msgDesc","정상적으로 수행되지 않았습니다. 관리자에게 문의하시기 바랍니다. (E0029)"); map.put("msgDesc", "정상적으로 수행되지 않았습니다. 관리자에게 문의하시기 바랍니다. (E0029)");
} }
} }
@@ -253,15 +252,15 @@ public class WebEventController extends ManagerDraftAction{
insertMap.put("requestValue", String.valueOf(paramMap)); insertMap.put("requestValue", String.valueOf(paramMap));
insertMap.put("responseValue", String.valueOf(map)); insertMap.put("responseValue", String.valueOf(map));
; ;
if(("true").equals(String.valueOf(map.get("success")))){ if (("true").equals(String.valueOf(map.get("success")))) {
insertMap.put("resultCode", "SUCCESS"); insertMap.put("resultCode", "SUCCESS");
}else{ } else {
insertMap.put("resultCode", "ERROR"); insertMap.put("resultCode", "ERROR");
} }
insertMap.put("resultMsg", String.valueOf(errorMsg)); insertMap.put("resultMsg", String.valueOf(errorMsg));
// logHistoryService.insertLogHistory(insertMap, visitLogParamMap); // logHistoryService.insertLogHistory(insertMap, visitLogParamMap);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
@@ -269,11 +268,10 @@ public class WebEventController extends ManagerDraftAction{
log.debug("WebEventController selectEventDetail END"); log.debug("WebEventController selectEventDetail END");
return HttpUtil.makeHashToJsonModelAndView(map); return HttpUtil.makeHashToJsonModelAndView(map);
} }
@RequestMapping(value="/webevent/selectMakeReservation.do") @RequestMapping(value = "/webevent/selectMakeReservation.do")
public String selectMakeReservation(HttpSession session, HttpServletRequest request, Model model) { public String selectMakeReservation(HttpSession session, HttpServletRequest request, Model model) {
log.debug("WebServiceController selectMakeReservation START"); log.debug("WebServiceController selectMakeReservation START");
@@ -285,211 +283,6 @@ public class WebEventController extends ManagerDraftAction{
log.debug("WebServiceController selectMakeReservation END"); log.debug("WebServiceController selectMakeReservation END");
return "/web/webevent/makeReservation"; return "/web/service/makeReservation";
}
/**
* 시술 목록 상세 조회
*
* @param request
* @param response
* @return
*/
@RequestMapping(value="/webevent/selectReservation.do")
public ModelAndView selectReservation(HttpSession session, HttpServletRequest request, HttpServletResponse response) {
log.debug("WebServiceController selectReservation START");
HashMap<String, Object> paramMap = HttpUtil.getParameterMap(request);
HashMap<String, Object> map = new HashMap<String, Object>();
StringBuffer errorMsg = new StringBuffer();
try{
map = webEventService.selectReservation(paramMap);
}catch (Exception e) {
e.printStackTrace();
errorMsg.append(e);
return null;
}finally {
if(Constants.OK == map.get("msgCode")) {
}else{
if(null == map.get("msgCode") || ("").equals(map.get("msgCode"))) {
map.put("msgCode", Constants.FAIL);
}
map.put("success", false);
if(null == map.get("msgDesc") || ("").equals(map.get("msgDesc"))) {
map.put("msgDesc","정상적으로 수행되지 않았습니다. 관리자에게 문의하시기 바랍니다. (E0029)");
}
}
try {
HashMap<String, Object> visitLogParamMap = RequestLogUtil.getVisitLogParameterMap(request);
HashMap<String, Object> insertMap = new HashMap<String, Object>();
insertMap.put("url", "/webevent/selectReservation.do");
insertMap.put("func", "selectListService");
insertMap.put("funcName", "예약 조회");
insertMap.put("service", "webEventService");
insertMap.put("serviceName", "예약 상세");
insertMap.put("requestValue", String.valueOf(paramMap));
insertMap.put("responseValue", String.valueOf(map));
;
if(("true").equals(String.valueOf(map.get("success")))){
insertMap.put("resultCode", "SUCCESS");
}else{
insertMap.put("resultCode", "ERROR");
}
insertMap.put("resultMsg", String.valueOf(errorMsg));
// logHistoryService.insertLogHistory(insertMap, visitLogParamMap);
} catch (Exception e) {
e.printStackTrace();
}
}
log.debug("WebServiceController selectReservation END");
return HttpUtil.makeHashToJsonModelAndView(map);
}
/**
* 시술 목록 상세 조회
*
* @param request
* @param response
* @return
*/
@RequestMapping(value="/webevent/selectReservationCnt.do")
public ModelAndView selectReservationCnt(HttpSession session, HttpServletRequest request, HttpServletResponse response) {
log.debug("WebServiceController selectReservationCnt START");
HashMap<String, Object> paramMap = HttpUtil.getParameterMap(request);
HashMap<String, Object> map = new HashMap<String, Object>();
StringBuffer errorMsg = new StringBuffer();
try{
map = webEventService.selectReservationCnt(paramMap);
}catch (Exception e) {
e.printStackTrace();
errorMsg.append(e);
return null;
}finally {
if(Constants.OK == map.get("msgCode")) {
}else{
if(null == map.get("msgCode") || ("").equals(map.get("msgCode"))) {
map.put("msgCode", Constants.FAIL);
}
map.put("success", false);
if(null == map.get("msgDesc") || ("").equals(map.get("msgDesc"))) {
map.put("msgDesc","정상적으로 수행되지 않았습니다. 관리자에게 문의하시기 바랍니다. (E0029)");
}
}
try {
HashMap<String, Object> visitLogParamMap = RequestLogUtil.getVisitLogParameterMap(request);
HashMap<String, Object> insertMap = new HashMap<String, Object>();
insertMap.put("url", "/webevent/selectReservationCnt.do");
insertMap.put("func", "selectReservationCnt");
insertMap.put("funcName", "예약 조회");
insertMap.put("service", "webEventService");
insertMap.put("serviceName", "예약 상세");
insertMap.put("requestValue", String.valueOf(paramMap));
insertMap.put("responseValue", String.valueOf(map));
;
if(("true").equals(String.valueOf(map.get("success")))){
insertMap.put("resultCode", "SUCCESS");
}else{
insertMap.put("resultCode", "ERROR");
}
insertMap.put("resultMsg", String.valueOf(errorMsg));
// logHistoryService.insertLogHistory(insertMap, visitLogParamMap);
} catch (Exception e) {
e.printStackTrace();
}
}
log.debug("WebServiceController selectReservationCnt END");
return HttpUtil.makeHashToJsonModelAndView(map);
}
/**
* 예약 저장
*
* @param request
* @param response
* @return
*/
@RequestMapping(value="/webevent/insertReservation.do")
public ModelAndView insertReservation(HttpSession session, HttpServletRequest request, HttpServletResponse response) {
log.debug("WebServiceController insertReservation START");
HashMap<String, Object> paramMap = HttpUtil.getParameterMap(request);
HashMap<String, Object> map = new HashMap<String, Object>();
StringBuffer errorMsg = new StringBuffer();
try{
map = webEventService.insertReservation(paramMap);
log.debug(map + "TEST");
}catch (Exception e) {
e.printStackTrace();
errorMsg.append(e);
return null;
}finally {
if(Constants.OK == map.get("msgCode")) {
}else{
if(null == map.get("msgCode") || ("").equals(map.get("msgCode"))) {
map.put("msgCode", Constants.FAIL);
}
map.put("success", false);
if(null == map.get("msgDesc") || ("").equals(map.get("msgDesc"))) {
map.put("msgDesc","정상적으로 수행되지 않았습니다. 관리자에게 문의하시기 바랍니다. (E0029)");
}
}
try {
HashMap<String, Object> visitLogParamMap = RequestLogUtil.getVisitLogParameterMap(request);
HashMap<String, Object> insertMap = new HashMap<String, Object>();
insertMap.put("url", "/webevent/insertReservation.do");
insertMap.put("func", "selectReservationCnt");
insertMap.put("funcName", "예약 저장");
insertMap.put("service", "webEventService");
insertMap.put("serviceName", "예약 저장");
insertMap.put("requestValue", String.valueOf(paramMap));
insertMap.put("responseValue", String.valueOf(map));
;
if(("true").equals(String.valueOf(map.get("success")))){
insertMap.put("resultCode", "SUCCESS");
}else{
insertMap.put("resultCode", "ERROR");
}
insertMap.put("resultMsg", String.valueOf(errorMsg));
// logHistoryService.insertLogHistory(insertMap, visitLogParamMap);
} catch (Exception e) {
e.printStackTrace();
}
}
log.debug("WebServiceController insertReservation END");
return HttpUtil.makeHashToJsonModelAndView(map);
} }
} }

View File

@@ -25,10 +25,9 @@ import jakarta.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpSession; import jakarta.servlet.http.HttpSession;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@Slf4j @Slf4j
@Controller @Controller
public class WebServiceController extends ManagerDraftAction{ public class WebServiceController extends ManagerDraftAction {
@Autowired @Autowired
private WebServiceService webServiceService; private WebServiceService webServiceService;
@@ -39,8 +38,8 @@ public class WebServiceController extends ManagerDraftAction{
* @param response * @param response
* @return * @return
*/ */
@RequestMapping(value="/webservice/selectServiceIntro.do") @RequestMapping(value = "/webservice/selectServiceIntro.do")
public String selectListServiceIntro(HttpSession session,HttpServletRequest request) { public String selectListServiceIntro(HttpSession session, HttpServletRequest request) {
log.debug("WebServiceController selectListServiceIntro START"); log.debug("WebServiceController selectListServiceIntro START");
@@ -56,8 +55,9 @@ public class WebServiceController extends ManagerDraftAction{
* @param response * @param response
* @return * @return
*/ */
@RequestMapping(value="/webservice/selectListCategory.do") @RequestMapping(value = "/webservice/selectListCategory.do")
public ModelAndView selectListCategory(HttpSession session,HttpServletRequest request, HttpServletResponse response) { public ModelAndView selectListCategory(HttpSession session, HttpServletRequest request,
HttpServletResponse response) {
log.debug("WebServiceController selectListCategory START"); log.debug("WebServiceController selectListCategory START");
@@ -65,24 +65,24 @@ public class WebServiceController extends ManagerDraftAction{
HashMap<String, Object> map = new HashMap<String, Object>(); HashMap<String, Object> map = new HashMap<String, Object>();
StringBuffer errorMsg = new StringBuffer(); StringBuffer errorMsg = new StringBuffer();
try{ try {
map = webServiceService.selectListWebCategory(paramMap); map = webServiceService.selectListWebCategory(paramMap);
log.debug(map + ""); log.debug(map + "");
}catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
errorMsg.append(e); errorMsg.append(e);
return null; return null;
}finally { } finally {
if(Constants.OK == map.get("msgCode")) { if (Constants.OK == map.get("msgCode")) {
}else{ } else {
if(null == map.get("msgCode") || ("").equals(map.get("msgCode"))) { if (null == map.get("msgCode") || ("").equals(map.get("msgCode"))) {
map.put("msgCode", Constants.FAIL); map.put("msgCode", Constants.FAIL);
} }
map.put("success", false); map.put("success", false);
if(null == map.get("msgDesc") || ("").equals(map.get("msgDesc"))) { if (null == map.get("msgDesc") || ("").equals(map.get("msgDesc"))) {
map.put("msgDesc","정상적으로 수행되지 않았습니다. 관리자에게 문의하시기 바랍니다. (E0029)"); map.put("msgDesc", "정상적으로 수행되지 않았습니다. 관리자에게 문의하시기 바랍니다. (E0029)");
} }
} }
@@ -98,16 +98,16 @@ public class WebServiceController extends ManagerDraftAction{
insertMap.put("requestValue", String.valueOf(paramMap)); insertMap.put("requestValue", String.valueOf(paramMap));
insertMap.put("responseValue", String.valueOf(map)); insertMap.put("responseValue", String.valueOf(map));
; ;
if(("true").equals(String.valueOf(map.get("success")))){ if (("true").equals(String.valueOf(map.get("success")))) {
insertMap.put("resultCode", "SUCCESS"); insertMap.put("resultCode", "SUCCESS");
}else{ } else {
insertMap.put("resultCode", "ERROR"); insertMap.put("resultCode", "ERROR");
} }
insertMap.put("resultMsg", String.valueOf(errorMsg)); insertMap.put("resultMsg", String.valueOf(errorMsg));
insertMap.put("muMemberId", paramMap.get("muMemberId")); insertMap.put("muMemberId", paramMap.get("muMemberId"));
// logHistoryService.insertLogHistory(insertMap, visitLogParamMap); // logHistoryService.insertLogHistory(insertMap, visitLogParamMap);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
@@ -115,7 +115,6 @@ public class WebServiceController extends ManagerDraftAction{
log.debug("WebServiceController selectListCategory END"); log.debug("WebServiceController selectListCategory END");
return HttpUtil.makeHashToJsonModelAndView(map); return HttpUtil.makeHashToJsonModelAndView(map);
} }
@@ -126,26 +125,26 @@ public class WebServiceController extends ManagerDraftAction{
* @param response * @param response
* @return * @return
*/ */
@PostMapping(value="/webservice/selectListService.do") @PostMapping(value = "/webservice/selectListService.do")
@ResponseBody @ResponseBody
public ResponseEntity<Map<String, Object>> selectListService(@RequestParam("categoryNo") String categoryNo) { public ResponseEntity<Map<String, Object>> selectListService(@RequestParam("categoryNo") String categoryNo) {
Map<String, Object> response = new HashMap<>(); Map<String, Object> response = new HashMap<>();
try { try {
HashMap<String, Object> paramMap = new HashMap<>(); HashMap<String, Object> paramMap = new HashMap<>();
paramMap.put("categoryNo", categoryNo); paramMap.put("categoryNo", categoryNo);
Map<String, Object> result = webServiceService.selectListWebService(paramMap); Map<String, Object> result = webServiceService.selectListWebService(paramMap);
return ResponseEntity.ok(result); return ResponseEntity.ok(result);
} catch (Exception e) { } catch (Exception e) {
log.error("서비스 조회 실패", e); log.error("서비스 조회 실패", e);
response.put("msgCode", Constants.FAIL); response.put("msgCode", Constants.FAIL);
response.put("msgDesc", e.getMessage()); response.put("msgDesc", e.getMessage());
response.put("rows", new ArrayList<>()); response.put("rows", new ArrayList<>());
return ResponseEntity.ok(response); return ResponseEntity.ok(response);
} }
} }
/** /**
@@ -155,7 +154,7 @@ public class WebServiceController extends ManagerDraftAction{
* @param response * @param response
* @return * @return
*/ */
@RequestMapping(value="/webservice/selectServiceDetailIntro.do") @RequestMapping(value = "/webservice/selectServiceDetailIntro.do")
public String selectServiceDetailIntro(HttpSession session, HttpServletRequest request, Model model) { public String selectServiceDetailIntro(HttpSession session, HttpServletRequest request, Model model) {
log.debug("WebServiceController selectServiceDetailIntro START"); log.debug("WebServiceController selectServiceDetailIntro START");
@@ -175,8 +174,9 @@ public class WebServiceController extends ManagerDraftAction{
* @param response * @param response
* @return * @return
*/ */
@RequestMapping(value="/webservice/selectServiceDetail.do") @RequestMapping(value = "/webservice/selectServiceDetail.do")
public ModelAndView selectServiceDetail(HttpSession session, HttpServletRequest request, HttpServletResponse response) { public ModelAndView selectServiceDetail(HttpSession session, HttpServletRequest request,
HttpServletResponse response) {
log.debug("WebServiceController selectServiceDetail START"); log.debug("WebServiceController selectServiceDetail START");
@@ -184,23 +184,23 @@ public class WebServiceController extends ManagerDraftAction{
HashMap<String, Object> map = new HashMap<String, Object>(); HashMap<String, Object> map = new HashMap<String, Object>();
StringBuffer errorMsg = new StringBuffer(); StringBuffer errorMsg = new StringBuffer();
try{ try {
map = webServiceService.selectServiceDetail(paramMap); map = webServiceService.selectServiceDetail(paramMap);
}catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
errorMsg.append(e); errorMsg.append(e);
return null; return null;
}finally { } finally {
if(Constants.OK == map.get("msgCode")) { if (Constants.OK == map.get("msgCode")) {
}else{ } else {
if(null == map.get("msgCode") || ("").equals(map.get("msgCode"))) { if (null == map.get("msgCode") || ("").equals(map.get("msgCode"))) {
map.put("msgCode", Constants.FAIL); map.put("msgCode", Constants.FAIL);
} }
map.put("success", false); map.put("success", false);
if(null == map.get("msgDesc") || ("").equals(map.get("msgDesc"))) { if (null == map.get("msgDesc") || ("").equals(map.get("msgDesc"))) {
map.put("msgDesc","정상적으로 수행되지 않았습니다. 관리자에게 문의하시기 바랍니다. (E0029)"); map.put("msgDesc", "정상적으로 수행되지 않았습니다. 관리자에게 문의하시기 바랍니다. (E0029)");
} }
} }
@@ -216,15 +216,15 @@ public class WebServiceController extends ManagerDraftAction{
insertMap.put("requestValue", String.valueOf(paramMap)); insertMap.put("requestValue", String.valueOf(paramMap));
insertMap.put("responseValue", String.valueOf(map)); insertMap.put("responseValue", String.valueOf(map));
; ;
if(("true").equals(String.valueOf(map.get("success")))){ if (("true").equals(String.valueOf(map.get("success")))) {
insertMap.put("resultCode", "SUCCESS"); insertMap.put("resultCode", "SUCCESS");
}else{ } else {
insertMap.put("resultCode", "ERROR"); insertMap.put("resultCode", "ERROR");
} }
insertMap.put("resultMsg", String.valueOf(errorMsg)); insertMap.put("resultMsg", String.valueOf(errorMsg));
// logHistoryService.insertLogHistory(insertMap, visitLogParamMap); // logHistoryService.insertLogHistory(insertMap, visitLogParamMap);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
@@ -232,227 +232,7 @@ public class WebServiceController extends ManagerDraftAction{
log.debug("WebServiceController selectServiceDetail END"); log.debug("WebServiceController selectServiceDetail END");
return HttpUtil.makeHashToJsonModelAndView(map); return HttpUtil.makeHashToJsonModelAndView(map);
} }
@RequestMapping(value="/webservice/selectMakeReservation.do")
public String selectMakeReservation(HttpSession session, HttpServletRequest request, Model model) {
log.debug("WebServiceController selectMakeReservation START");
HashMap<String, Object> paramMap = HttpUtil.getParameterMap(request);
model.addAttribute("CATEGORY_DIV_CD", paramMap.get("CATEGORY_DIV_CD"));
model.addAttribute("CATEGORY_NO", paramMap.get("CATEGORY_NO"));
model.addAttribute("POST_NO", paramMap.get("POST_NO"));
model.addAttribute("PROCEDURE_ID", paramMap.get("PROCEDURE_ID"));
log.debug("WebServiceController selectMakeReservation END");
return "/web/service/makeReservation";
}
/**
* 시술 목록 상세 조회
*
* @param request
* @param response
* @return
*/
@RequestMapping(value="/webservice/selectReservation.do")
public ModelAndView selectReservation(HttpSession session, HttpServletRequest request, HttpServletResponse response) {
log.debug("WebServiceController selectReservation START");
HashMap<String, Object> paramMap = HttpUtil.getParameterMap(request);
HashMap<String, Object> map = new HashMap<String, Object>();
StringBuffer errorMsg = new StringBuffer();
try{
map = webServiceService.selectReservation(paramMap);
}catch (Exception e) {
e.printStackTrace();
errorMsg.append(e);
return null;
}finally {
if(Constants.OK == map.get("msgCode")) {
}else{
if(null == map.get("msgCode") || ("").equals(map.get("msgCode"))) {
map.put("msgCode", Constants.FAIL);
}
map.put("success", false);
if(null == map.get("msgDesc") || ("").equals(map.get("msgDesc"))) {
map.put("msgDesc","정상적으로 수행되지 않았습니다. 관리자에게 문의하시기 바랍니다. (E0029)");
}
}
try {
HashMap<String, Object> visitLogParamMap = RequestLogUtil.getVisitLogParameterMap(request);
HashMap<String, Object> insertMap = new HashMap<String, Object>();
insertMap.put("url", "/webservice/selectReservation.do");
insertMap.put("func", "selectListService");
insertMap.put("funcName", "예약 조회");
insertMap.put("service", "webServiceService");
insertMap.put("serviceName", "예약 상세");
insertMap.put("requestValue", String.valueOf(paramMap));
insertMap.put("responseValue", String.valueOf(map));
;
if(("true").equals(String.valueOf(map.get("success")))){
insertMap.put("resultCode", "SUCCESS");
}else{
insertMap.put("resultCode", "ERROR");
}
insertMap.put("resultMsg", String.valueOf(errorMsg));
// logHistoryService.insertLogHistory(insertMap, visitLogParamMap);
} catch (Exception e) {
e.printStackTrace();
}
}
log.debug("WebServiceController selectReservation END");
return HttpUtil.makeHashToJsonModelAndView(map);
}
/**
* 시술 목록 상세 조회
*
* @param request
* @param response
* @return
*/
@RequestMapping(value="/webservice/selectReservationCnt.do")
public ModelAndView selectReservationCnt(HttpSession session, HttpServletRequest request, HttpServletResponse response) {
log.debug("WebServiceController selectReservationCnt START");
HashMap<String, Object> paramMap = HttpUtil.getParameterMap(request);
HashMap<String, Object> map = new HashMap<String, Object>();
StringBuffer errorMsg = new StringBuffer();
try{
map = webServiceService.selectReservationCnt(paramMap);
}catch (Exception e) {
e.printStackTrace();
errorMsg.append(e);
return null;
}finally {
if(Constants.OK == map.get("msgCode")) {
}else{
if(null == map.get("msgCode") || ("").equals(map.get("msgCode"))) {
map.put("msgCode", Constants.FAIL);
}
map.put("success", false);
if(null == map.get("msgDesc") || ("").equals(map.get("msgDesc"))) {
map.put("msgDesc","정상적으로 수행되지 않았습니다. 관리자에게 문의하시기 바랍니다. (E0029)");
}
}
try {
HashMap<String, Object> visitLogParamMap = RequestLogUtil.getVisitLogParameterMap(request);
HashMap<String, Object> insertMap = new HashMap<String, Object>();
insertMap.put("url", "/webservice/selectReservationCnt.do");
insertMap.put("func", "selectReservationCnt");
insertMap.put("funcName", "예약 조회");
insertMap.put("service", "webServiceService");
insertMap.put("serviceName", "예약 상세");
insertMap.put("requestValue", String.valueOf(paramMap));
insertMap.put("responseValue", String.valueOf(map));
;
if(("true").equals(String.valueOf(map.get("success")))){
insertMap.put("resultCode", "SUCCESS");
}else{
insertMap.put("resultCode", "ERROR");
}
insertMap.put("resultMsg", String.valueOf(errorMsg));
// logHistoryService.insertLogHistory(insertMap, visitLogParamMap);
} catch (Exception e) {
e.printStackTrace();
}
}
log.debug("WebServiceController selectReservationCnt END");
return HttpUtil.makeHashToJsonModelAndView(map);
}
/**
* 예약 저장
*
* @param request
* @param response
* @return
*/
@RequestMapping(value="/webservice/insertReservation.do")
public ModelAndView insertReservation(HttpSession session, HttpServletRequest request, HttpServletResponse response) {
log.debug("WebServiceController insertReservation START");
HashMap<String, Object> paramMap = HttpUtil.getParameterMap(request);
HashMap<String, Object> map = new HashMap<String, Object>();
StringBuffer errorMsg = new StringBuffer();
try{
map = webServiceService.insertReservation(paramMap);
log.debug(map + "TEST");
}catch (Exception e) {
e.printStackTrace();
errorMsg.append(e);
return null;
}finally {
if(Constants.OK == map.get("msgCode")) {
}else{
if(null == map.get("msgCode") || ("").equals(map.get("msgCode"))) {
map.put("msgCode", Constants.FAIL);
}
map.put("success", false);
if(null == map.get("msgDesc") || ("").equals(map.get("msgDesc"))) {
map.put("msgDesc","정상적으로 수행되지 않았습니다. 관리자에게 문의하시기 바랍니다. (E0029)");
}
}
try {
HashMap<String, Object> visitLogParamMap = RequestLogUtil.getVisitLogParameterMap(request);
HashMap<String, Object> insertMap = new HashMap<String, Object>();
insertMap.put("url", "/webservice/insertReservation.do");
insertMap.put("func", "selectReservationCnt");
insertMap.put("funcName", "예약 저장");
insertMap.put("service", "webServiceService");
insertMap.put("serviceName", "예약 저장");
insertMap.put("requestValue", String.valueOf(paramMap));
insertMap.put("responseValue", String.valueOf(map));
;
if(("true").equals(String.valueOf(map.get("success")))){
insertMap.put("resultCode", "SUCCESS");
}else{
insertMap.put("resultCode", "ERROR");
}
insertMap.put("resultMsg", String.valueOf(errorMsg));
// logHistoryService.insertLogHistory(insertMap, visitLogParamMap);
} catch (Exception e) {
e.printStackTrace();
}
}
log.debug("WebServiceController insertReservation END");
return HttpUtil.makeHashToJsonModelAndView(map);
}
} }

View File

@@ -13,7 +13,7 @@ import org.springframework.stereotype.Repository;
import jakarta.annotation.PostConstruct; import jakarta.annotation.PostConstruct;
@Repository @Repository
public class WebServiceSqlMapDAO extends SqlSessionDaoSupport{ public class WebServiceSqlMapDAO extends SqlSessionDaoSupport {
@Autowired @Autowired
private SqlSessionTemplate sqlSessionTemplate; private SqlSessionTemplate sqlSessionTemplate;
@@ -30,7 +30,8 @@ public class WebServiceSqlMapDAO extends SqlSessionDaoSupport{
* @return * @return
* @throws DataAccessException * @throws DataAccessException
*/ */
public List<Map<String, Object>> selectListWebCategory(HashMap<String, Object> paramMap) throws DataAccessException { public List<Map<String, Object>> selectListWebCategory(HashMap<String, Object> paramMap)
throws DataAccessException {
logger.debug("WebServiceSqlMapDAO selectListWebCategory START"); logger.debug("WebServiceSqlMapDAO selectListWebCategory START");
String sqlId = "WebService.selectListWebCategory"; String sqlId = "WebService.selectListWebCategory";
@@ -47,7 +48,7 @@ public class WebServiceSqlMapDAO extends SqlSessionDaoSupport{
* @return * @return
* @throws DataAccessException * @throws DataAccessException
*/ */
public List<Map<String, Object>> selectListWebService(HashMap<String, Object> paramMap) throws DataAccessException { public List<Map<String, Object>> selectListWebService(HashMap<String, Object> paramMap) throws DataAccessException {
logger.debug("WebServiceSqlMapDAO selectListWebService START"); logger.debug("WebServiceSqlMapDAO selectListWebService START");
String sqlId = "WebService.selectListWebService"; String sqlId = "WebService.selectListWebService";
@@ -64,7 +65,7 @@ public class WebServiceSqlMapDAO extends SqlSessionDaoSupport{
* @return * @return
* @throws DataAccessException * @throws DataAccessException
*/ */
public Map<String, Object> selectServiceDetail(HashMap<String, Object> paramMap) throws DataAccessException { public Map<String, Object> selectServiceDetail(HashMap<String, Object> paramMap) throws DataAccessException {
logger.debug("WebServiceSqlMapDAO selectServiceDetail START"); logger.debug("WebServiceSqlMapDAO selectServiceDetail START");
String sqlId = "WebService.selectServiceDetail"; String sqlId = "WebService.selectServiceDetail";
@@ -81,7 +82,7 @@ public class WebServiceSqlMapDAO extends SqlSessionDaoSupport{
* @return * @return
* @throws DataAccessException * @throws DataAccessException
*/ */
public List<Map<String, Object>> selectListService(HashMap<String, Object> paramMap) throws DataAccessException { public List<Map<String, Object>> selectListService(HashMap<String, Object> paramMap) throws DataAccessException {
logger.debug("WebServiceSqlMapDAO selectListService START"); logger.debug("WebServiceSqlMapDAO selectListService START");
String sqlId = "WebService.selectListService"; String sqlId = "WebService.selectListService";
@@ -91,55 +92,4 @@ public class WebServiceSqlMapDAO extends SqlSessionDaoSupport{
return getSqlSession().selectList(sqlId, paramMap); return getSqlSession().selectList(sqlId, paramMap);
} }
/**
* 예약 상세 조회
*
* @param Map
* @return
* @throws DataAccessException
*/
public Map<String, Object> selectReservationCnt(HashMap<String, Object> paramMap) throws DataAccessException {
logger.debug("WebServiceSqlMapDAO selectReservationCnt START");
String sqlId = "WebService.selectReservationCnt";
logger.debug("WebServiceSqlMapDAO selectReservationCnt END");
return getSqlSession().selectOne(sqlId, paramMap);
}
/**
* 예약 시술 정보 조회
*
* @param Map
* @return
* @throws DataAccessException
*/
public Map<String, Object> selectReservationService(HashMap<String, Object> paramMap) throws DataAccessException {
logger.debug("WebServiceSqlMapDAO selectReservationService START");
String sqlId = "WebService.selectReservationService";
logger.debug("WebServiceSqlMapDAO selectReservationService END");
return getSqlSession().selectOne(sqlId, paramMap);
}
/**
* 예약 정보 저장
*
* @param Map
* @return
* @throws DataAccessException
*/
public Map<String, Object> insertReservation(HashMap<String, Object> paramMap) throws DataAccessException {
logger.debug("WebServiceSqlMapDAO insertReservation START");
String sqlId = "WebService.insertReservation";
logger.debug("WebServiceSqlMapDAO insertReservation END");
getSqlSession().insert(sqlId, paramMap);
return null;
}
} }

View File

@@ -0,0 +1,40 @@
package com.madeuhome.dto;
import lombok.Data;
/**
* 예약 관련 DTO
*/
@Data
public class ReservationDto {
// 예약 기본 정보
private String muReserveId;
private String userName;
private String phoneNumber;
private String birthDate;
private String selectedDate;
private String time;
private String etc;
// 시술 정보
private String categoryDivCd;
private String categoryNo;
private String postNo;
private String procedureId;
private String treatmentId;
private String treatmentName;
private String treatmentProcedureId;
private String treatmentProcedureName;
private String treatmentInfos;
// 병원 운영 정보
private String muHospitalId;
private String hospitalName;
private String searchDate;
private String openYn;
private String holidayYn;
private String openStartTime;
private String openEndTime;
private String breakStartTime;
private String breakEndTime;
}

View File

@@ -0,0 +1,211 @@
package com.madeuhome.service.web.reservation;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import org.mybatis.spring.SqlSessionTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.madeuhome.constants.Constants;
import com.madeuhome.util.OkHttpService;
import lombok.extern.slf4j.Slf4j;
/**
* 예약 서비스 (구현체 포함)
*/
@Service
@Slf4j
public class ReservationService {
@Autowired
private SqlSessionTemplate sqlSession;
@Value("${url.old-crm-php}")
private String ocp;
/**
* 예약 시술 정보 조회
*/
public HashMap<String, Object> selectReservation(HashMap<String, Object> paramMap) throws Exception {
log.debug("ReservationService selectReservation START");
HashMap<String, Object> map = new HashMap<>();
try {
List<Map<String, Object>> listMap2 = new ArrayList<>();
if (paramMap.get("PROCEDURE_ID").toString().indexOf(",") != -1) {
String[] PROCEDURE_ID = paramMap.get("PROCEDURE_ID").toString().split(",");
for (int i = 0; i < PROCEDURE_ID.length; i++) {
HashMap<String, Object> map2 = new HashMap<>();
map2.put("PROCEDURE_ID", PROCEDURE_ID[i]);
listMap2.add(sqlSession.selectOne("Reservation.selectReservationService", map2));
}
} else {
listMap2.add(sqlSession.selectOne("Reservation.selectReservationService", paramMap));
}
map.put("reservation", listMap2);
map.put("msgCode", Constants.OK);
map.put("success", "true");
} catch (Exception e) {
e.printStackTrace();
throw e;
}
log.debug("ReservationService selectReservation END");
return map;
}
/**
* 병원 휴일 조회 (달력 표출용)
*/
public HashMap<String, Object> selectHospitalHolidayList(HashMap<String, Object> paramMap) throws Exception {
log.debug("ReservationService selectHospitalHolidayList START");
HashMap<String, Object> map = new HashMap<>();
try {
List<Map<String, Object>> listMap = sqlSession.selectList("Reservation.selectHospitalHolidayList",
paramMap);
map.put("rows", listMap);
map.put("msgCode", Constants.OK);
map.put("success", "true");
} catch (Exception e) {
e.printStackTrace();
throw e;
}
log.debug("ReservationService selectHospitalHolidayList END");
return map;
}
/**
* 특정 날짜 운영시간 조회
*/
public HashMap<String, Object> selectHospitalWorkTime(HashMap<String, Object> paramMap) throws Exception {
log.debug("ReservationService selectHospitalWorkTime START");
HashMap<String, Object> map = new HashMap<>();
try {
Map<String, Object> result = sqlSession.selectOne("Reservation.selectHospitalWorkTime", paramMap);
if (result != null) {
map.put("rows", result);
} else {
map.put("rows", new HashMap<>());
}
map.put("msgCode", Constants.OK);
map.put("success", "true");
} catch (Exception e) {
e.printStackTrace();
throw e;
}
log.debug("ReservationService selectHospitalWorkTime END");
return map;
}
/**
* 예약 카운트 조회
*/
public HashMap<String, Object> selectReservationCnt(HashMap<String, Object> paramMap) throws Exception {
log.debug("ReservationService selectReservationCnt START");
HashMap<String, Object> map = new HashMap<>();
try {
Map<String, Object> result = sqlSession.selectOne("Reservation.selectReservationCnt", paramMap);
map.put("rows", result);
map.put("msgCode", Constants.OK);
map.put("success", "true");
} catch (Exception e) {
e.printStackTrace();
throw e;
}
log.debug("ReservationService selectReservationCnt END");
return map;
}
/**
* 예약 저장
*/
public HashMap<String, Object> insertReservation(HashMap<String, Object> paramMap) throws Exception {
log.debug("ReservationService insertReservation START");
HashMap<String, Object> map = new HashMap<>();
try {
String muReserveId = ("R").concat(String.valueOf(System.currentTimeMillis()));
paramMap.put("muReserveId", muReserveId);
ArrayList<String> userRequest = new ArrayList<>();
// TREATMENT_INFOS 파라미터가 있으면 파싱하여 P_변수명으로 세팅 후 insertReservation 호출
if (paramMap.get("TREATMENT_INFOS") != null) {
ObjectMapper objectMapper = new ObjectMapper();
List<Map<String, Object>> treatmentList = objectMapper.readValue(
paramMap.get("TREATMENT_INFOS").toString(),
new TypeReference<List<Map<String, Object>>>() {
});
for (Map<String, Object> t : treatmentList) {
paramMap.put("P_TREATMENT_ID", t.get("MU_TREATMENT_ID"));
paramMap.put("P_TREATMENT_NM", t.get("TREATMENT_NAME"));
paramMap.put("P_PROCEDURE_ID", t.get("MU_TREATMENT_PROCEDURE_ID"));
paramMap.put("P_PROCEDURE_NM", t.get("TREATMENT_PROCEDURE_NAME"));
userRequest.add((String) t.get("TREATMENT_PROCEDURE_NAME"));
sqlSession.insert("Reservation.insertReservation", paramMap);
}
} else {
// 기존 방식대로 단일 시술 정보로 처리
paramMap.put("P_TREATMENT_ID", paramMap.get("MU_TREATMENT_ID"));
paramMap.put("P_TREATMENT_NM", paramMap.get("TREATMENT_NAME"));
paramMap.put("P_PROCEDURE_ID", paramMap.get("MU_TREATMENT_PROCEDURE_ID"));
paramMap.put("P_PROCEDURE_NM", paramMap.get("TREATMENT_PROCEDURE_NAME"));
userRequest.add((String) paramMap.get("TREATMENT_PROCEDURE_NAME"));
sqlSession.insert("Reservation.insertReservation", paramMap);
}
Map<String, String> formData = new HashMap<>();
formData.put("visitorName", (String) paramMap.get("NAME"));
formData.put("visitorPhone", (String) paramMap.get("PHONE_NUMBER"));
String strUserRequest = "[선택시술]:" + userRequest.stream().collect(Collectors.joining(", "));
String birthDate = "[생년월일]:" + paramMap.get("BIRTH_DATE");
String reqTxt = "[요청사항]:" + (String) paramMap.get("ETC");
formData.put("userRequest", strUserRequest + "\\n" + birthDate + "\\n" + reqTxt);
String time = (String) paramMap.get("TIME");
String date = (String) paramMap.get("SELECTED_DATE");
String dateTime = date + " " + time;
formData.put("datetime", dateTime);
Map<String, Object> detailMap = sqlSession.selectOne("Reservation.selectServiceDetail", paramMap);
formData.put("itemName", "[홈페이지] 다이어트센터");
// 구CRM 연동ID가 없을 경우 기본값
String oldCrmItemId = (String) detailMap.get("oldCrmItemId") == null
? "NBI-2WlrXQdl-esws-5aA5-al7z-d7HwxL9tX0YF"
: (String) detailMap.get("oldCrmItemId");
formData.put("itemID", oldCrmItemId);
formData.put("etcText", "[진료]:" + (String) detailMap.get("CATEGORY_NM"));
// OLD CRM으로 예약정보 POST
OkHttpService.postFormData(ocp, formData);
map.put("msgCode", Constants.OK);
map.put("success", "true");
} catch (Exception e) {
e.printStackTrace();
throw e;
}
log.debug("ReservationService insertReservation END");
return map;
}
}

View File

@@ -4,9 +4,9 @@ import java.util.HashMap;
public interface WebServiceService { public interface WebServiceService {
public HashMap<String, Object> selectListWebCategory(HashMap<String, Object> paramMap) throws Exception; public HashMap<String, Object> selectListWebCategory(HashMap<String, Object> paramMap) throws Exception;
public HashMap<String, Object> selectListWebService(HashMap<String, Object> paramMap) throws Exception; public HashMap<String, Object> selectListWebService(HashMap<String, Object> paramMap) throws Exception;
public HashMap<String, Object> selectServiceDetail(HashMap<String, Object> paramMap) throws Exception; public HashMap<String, Object> selectServiceDetail(HashMap<String, Object> paramMap) throws Exception;
public HashMap<String, Object> selectReservation(HashMap<String, Object> paramMap) throws Exception;
public HashMap<String, Object> selectReservationCnt(HashMap<String, Object> paramMap) throws Exception;
public HashMap<String, Object> insertReservation(HashMap<String, Object> paramMap) throws Exception;
} }

View File

@@ -1,34 +1,24 @@
package com.madeuhome.service.web.webservice.impl; package com.madeuhome.service.web.webservice.impl;
import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.madeuhome.constants.Constants; import com.madeuhome.constants.Constants;
import com.madeuhome.dao.web.webservice.WebServiceSqlMapDAO; import com.madeuhome.dao.web.webservice.WebServiceSqlMapDAO;
import com.madeuhome.service.web.webservice.WebServiceService; import com.madeuhome.service.web.webservice.WebServiceService;
import com.madeuhome.util.OkHttpService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@Slf4j @Slf4j
@Service("WebServiceService") @Service("WebServiceService")
public class WebServiceServiceImpl implements WebServiceService{ public class WebServiceServiceImpl implements WebServiceService {
@Autowired @Autowired
private WebServiceSqlMapDAO webServiceSqlMapDAO; private WebServiceSqlMapDAO webServiceSqlMapDAO;
@Value("${url.old-crm-php}")
private String ocp;
/** /**
* 시술 정보 카테고리 리스트 조회 (List) * 시술 정보 카테고리 리스트 조회 (List)
@@ -43,16 +33,16 @@ public class WebServiceServiceImpl implements WebServiceService{
HashMap<String, Object> map = new HashMap<String, Object>(); HashMap<String, Object> map = new HashMap<String, Object>();
try{ try {
List<Map<String, Object>> listMap = webServiceSqlMapDAO.selectListWebCategory(paramMap); List<Map<String, Object>> listMap = webServiceSqlMapDAO.selectListWebCategory(paramMap);
map.put("rows",listMap); map.put("rows", listMap);
map.put("msgCode", Constants.OK); map.put("msgCode", Constants.OK);
map.put("success","true"); map.put("success", "true");
}catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
throw e; throw e;
} }
log.debug("WebServiceServiceImpl selectListWebCategory END"); log.debug("WebServiceServiceImpl selectListWebCategory END");
@@ -72,17 +62,17 @@ public class WebServiceServiceImpl implements WebServiceService{
HashMap<String, Object> map = new HashMap<String, Object>(); HashMap<String, Object> map = new HashMap<String, Object>();
try{ try {
List<Map<String, Object>> listMap = webServiceSqlMapDAO.selectListWebService(paramMap); List<Map<String, Object>> listMap = webServiceSqlMapDAO.selectListWebService(paramMap);
map.put("rows",listMap); map.put("rows", listMap);
map.put("msgCode", Constants.OK); map.put("msgCode", Constants.OK);
map.put("success","true"); map.put("success", "true");
}catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
throw e; throw e;
} }
log.debug("WebServiceServiceImpl selectListWebService END"); log.debug("WebServiceServiceImpl selectListWebService END");
@@ -102,194 +92,23 @@ public class WebServiceServiceImpl implements WebServiceService{
HashMap<String, Object> map = new HashMap<String, Object>(); HashMap<String, Object> map = new HashMap<String, Object>();
try{ try {
//상세 내용 // 상세 내용
Map<String, Object> listMap = webServiceSqlMapDAO.selectServiceDetail(paramMap); Map<String, Object> listMap = webServiceSqlMapDAO.selectServiceDetail(paramMap);
map.put("rows",listMap); map.put("rows", listMap);
//시술 목록 // 시술 목록
List<Map<String, Object>> listServiceMap = webServiceSqlMapDAO.selectListService(paramMap); List<Map<String, Object>> listServiceMap = webServiceSqlMapDAO.selectListService(paramMap);
map.put("price",listServiceMap); map.put("price", listServiceMap);
map.put("msgCode", Constants.OK); map.put("msgCode", Constants.OK);
map.put("success","true"); map.put("success", "true");
}catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
throw e; throw e;
} }
log.debug("WebServiceServiceImpl selectServiceDetail END"); log.debug("WebServiceServiceImpl selectServiceDetail END");
return map; return map;
} }
/**
* 예약 정보 조회
*
* @param paramMap
* @return
* @throws Exception
*/
@Override
public HashMap<String, Object> selectReservation(HashMap<String, Object> paramMap) throws Exception {
log.debug("WebServiceServiceImpl selectReservation START");
HashMap<String, Object> map = new HashMap<String, Object>();
try{
//예약 목록
List<Map<String, Object>> listMap2 = new ArrayList<Map<String, Object>>();
if(paramMap.get("PROCEDURE_ID").toString().indexOf(",") != -1) {
String[] PROCEDURE_ID = paramMap.get("PROCEDURE_ID").toString().split(",");
for(int i = 0; i < PROCEDURE_ID.length; i++) {
HashMap<String, Object> map2 = new HashMap<String, Object>();
map2.put("PROCEDURE_ID", PROCEDURE_ID[i]);
listMap2.add(webServiceSqlMapDAO.selectReservationService(map2));
}
}else {
listMap2.add(webServiceSqlMapDAO.selectReservationService(paramMap));
}
map.put("reservation",listMap2);
map.put("msgCode", Constants.OK);
map.put("success","true");
}catch (Exception e) {
e.printStackTrace();
throw e;
}
log.debug("WebServiceServiceImpl selectReservation END");
return map;
}
/**
* 예약 정보 조회
*
* @param paramMap
* @return
* @throws Exception
*/
@Override
public HashMap<String, Object> selectReservationCnt(HashMap<String, Object> paramMap) throws Exception {
log.debug("WebServiceServiceImpl selectReservationCnt START");
HashMap<String, Object> map = new HashMap<String, Object>();
try{
//상세 내용
Map<String, Object> listMap = webServiceSqlMapDAO.selectReservationCnt(paramMap);
map.put("rows",listMap);
map.put("msgCode", Constants.OK);
map.put("success","true");
}catch (Exception e) {
e.printStackTrace();
throw e;
}
log.debug("WebServiceServiceImpl selectReservationCnt END");
return map;
}
/**
* 예약 정보 저장
*
* @param paramMap
* @return
* @throws Exception
*/
@Override
public HashMap<String, Object> insertReservation(HashMap<String, Object> paramMap) throws Exception {
log.debug("WebServiceServiceImpl insertReservation START");
HashMap<String, Object> map = new HashMap<String, Object>();
try{
String muReserveId = ("R").concat(String.valueOf(System.currentTimeMillis()));
paramMap.put("muReserveId",muReserveId);
ArrayList<String> userRequest = new ArrayList<String>();
// TREATMENT_INFOS 파라미터가 있으면 파싱하여 P_변수명으로 세팅 후 insertReservation 호출
if(paramMap.get("TREATMENT_INFOS") != null) {
ObjectMapper objectMapper = new ObjectMapper();
List<Map<String, Object>> treatmentList = objectMapper.readValue(paramMap.get("TREATMENT_INFOS").toString(), new TypeReference<List<Map<String, Object>>>(){});
for(Map<String, Object> t : treatmentList) {
paramMap.put("P_TREATMENT_ID", t.get("MU_TREATMENT_ID"));
paramMap.put("P_TREATMENT_NM", t.get("TREATMENT_NAME"));
paramMap.put("P_PROCEDURE_ID", t.get("MU_TREATMENT_PROCEDURE_ID"));
paramMap.put("P_PROCEDURE_NM", t.get("TREATMENT_PROCEDURE_NAME"));
userRequest.add((String) t.get("TREATMENT_PROCEDURE_NAME"));
webServiceSqlMapDAO.insertReservation(paramMap);
}
} else {
// 기존 방식대로 단일 시술 정보로 처리
paramMap.put("P_TREATMENT_ID", paramMap.get("MU_TREATMENT_ID"));
paramMap.put("P_TREATMENT_NM", paramMap.get("TREATMENT_NAME"));
paramMap.put("P_PROCEDURE_ID", paramMap.get("MU_TREATMENT_PROCEDURE_ID"));
paramMap.put("P_PROCEDURE_NM", paramMap.get("TREATMENT_PROCEDURE_NAME"));
userRequest.add((String) paramMap.get("TREATMENT_PROCEDURE_NAME"));
webServiceSqlMapDAO.insertReservation(paramMap);
}
Map<String, String> formData = new HashMap<>();
formData.put("visitorName", (String) paramMap.get("NAME"));
formData.put("visitorPhone", (String) paramMap.get("PHONE_NUMBER"));
String strUserRequest = "[선택시술]:" + userRequest.stream().collect(Collectors.joining(", "));
String birthDate = "[생년월일]:" + paramMap.get("BIRTH_DATE");
String reqTxt = "[요청사항]:" + (String) paramMap.get("ETC");
formData.put("userRequest", strUserRequest + "\n" + birthDate + "\n" + reqTxt);
String time = (String) paramMap.get("TIME");
String date = (String) paramMap.get("SELECTED_DATE");
String dateTime = date + " " + time;
formData.put("datetime", dateTime);
Map<String, Object> detailMap = webServiceSqlMapDAO.selectServiceDetail(paramMap);
formData.put("itemName", "[홈페이지] 다이어트센터");
// 구CRM 연동ID가 없을 경우 모두 (재방문) 다이어트 센터
String oldCrmItemId = (String) detailMap.get("oldCrmItemId") == null ? "NBI-2WlrXQdl-esws-5aA5-al7z-d7HwxL9tX0YF" : (String) detailMap.get("oldCrmItemId");
formData.put("itemID", oldCrmItemId);
formData.put("etcText", "[진료]:" + (String) detailMap.get("CATEGORY_NM"));
// OLD CRM으로 예약정보 POST
/**
* //시술정보(상품명 , 상품ID)
상품명 : 메쉬다주사(지방분해주사)
상품 ID : NBI-1M0JEq5C-b8LM-4W0V-9YxZ-Z5r9XWJpIVEZ
피부 & 쁘띠센터
NBI-4aJSJ67P-f0ID-4xds-aReQ-MnhfErLts0HP
프리미엄 레이저 리프팅
NBI-1iPCWjih-2TDk-4NG3-ci56-tK7dgxxAT6dU
(첫방문) 다이어트 센터
NBI-1Q8doiCm-qzTh-4imi-9lsK-6YDslUzIK2OO
(재방문) 다이어트 센터
NBI-2WlrXQdl-esws-5aA5-al7z-d7HwxL9tX0YF
탈모약
NBI-Nz00si0r-DkGc-5hdd-bs27-SLn0KHlHflS8
비만치료제 위고비
NBI-2nJnTFVm-ieDy-4TNQ-czDK-Ll9FyixFr7zn
**/
OkHttpService.postFormData(ocp, formData);
map.put("msgCode", Constants.OK);
map.put("success","true");
}catch (Exception e) {
e.printStackTrace();
throw e;
}
System.out.println("[insertReservation] paramMap: " + paramMap);
log.debug("WebServiceServiceImpl insertReservation END");
return map;
}
} }

View File

@@ -0,0 +1,240 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="Reservation">
<!-- 병원 휴일 조회 (달력 표출용) -->
<select id="selectHospitalHolidayList" parameterType="hashmap" resultType="hashmap">
SELECT 'hospitalHoliday' AS "dateType"
, HOSPITAL_HOLIDAY_NAME AS "hospitalHolidayName"
, DATE_FORMAT(LOC_DATE, '%Y-%m-%d') AS "locDate"
FROM MU_HOSPITAL_HOLIDAY MH
WHERE MH.USE_YN = 'Y'
AND MH.MU_HOSPITAL_ID = (SELECT MU_HOSPITAL_ID FROM MU_HOSPITAL WHERE USE_YN='Y' AND CENTER_DIV_CD='DIET' LIMIT 1)
AND (
(MH.REPEAT_YN = 'Y')
OR
(MH.REPEAT_YN = 'N' AND DATE_FORMAT( MH.LOC_DATE, '%Y' ) >= DATE_FORMAT( CURDATE( ), '%Y' ))
)
UNION ALL
(
SELECT 'publicHoliday' AS "dateType"
, MPH.PUBLIC_HOLIDAY_NAME AS "publicHolidayName"
, DATE_FORMAT(MPH.LOC_DATE, '%Y-%m-%d') AS "locDate"
FROM MU_PUBLIC_HOLIDAY MPH
JOIN MU_HOSPITAL MH
ON MH.MU_HOSPITAL_ID = (SELECT MU_HOSPITAL_ID FROM MU_HOSPITAL WHERE USE_YN='Y' AND CENTER_DIV_CD='DIET' LIMIT 1)
AND MH.PUBLIC_HOLIDAY_USE_YN = 'Y'
WHERE MPH.USE_YN = 'Y'
AND DATE_FORMAT( MPH.LOC_DATE, '%Y' ) >= DATE_FORMAT( CURDATE( ), '%Y' )
)
UNION ALL
(
SELECT CASE WHEN OPEN_YN = 'Y' THEN 'hospitalScheduleOpen' ELSE 'hospitalSchedule' END AS "dateType"
, CASE WHEN OPEN_YN = 'Y' THEN '운영' ELSE '휴무' END AS "hospitalHolidayName"
, DATE_FORMAT(SCHEDULE_DATE, '%Y-%m-%d') AS "locDate"
FROM MU_HOSPITAL_SCHEDULE
WHERE MU_HOSPITAL_ID = (SELECT MU_HOSPITAL_ID FROM MU_HOSPITAL WHERE USE_YN='Y' AND CENTER_DIV_CD='DIET' LIMIT 1)
AND USE_YN = 'Y'
AND DATE_FORMAT( SCHEDULE_DATE, '%Y' ) >= DATE_FORMAT( CURDATE( ), '%Y' )
)
</select>
<!-- 특정 날짜 운영시간 조회 -->
<select id="selectHospitalWorkTime" parameterType="hashmap" resultType="hashmap">
SELECT MH.MU_HOSPITAL_ID AS "muHospitalId"
,MH.HOSPITAL_NAME AS "hospitalName"
,CASE
WHEN MHS.MU_HOSPITAL_SCHEDULE_ID IS NOT NULL THEN MHS.OPEN_YN
ELSE
CASE DAYOFWEEK(#{searchDate})
WHEN 2 THEN MH.MON_OPEN_YN
WHEN 3 THEN MH.TUE_OPEN_YN
WHEN 4 THEN MH.WED_OPEN_YN
WHEN 5 THEN MH.THU_OPEN_YN
WHEN 6 THEN MH.FRI_OPEN_YN
WHEN 7 THEN MH.SAT_OPEN_YN
WHEN 1 THEN MH.SUN_OPEN_YN
END
END AS "openYn"
,CASE
WHEN MHS.MU_HOSPITAL_SCHEDULE_ID IS NOT NULL AND MHS.OPEN_YN = 'Y' THEN 'N'
WHEN MHS.MU_HOSPITAL_SCHEDULE_ID IS NOT NULL AND MHS.OPEN_YN = 'N' THEN 'Y'
WHEN EXISTS (
SELECT 1
FROM MU_HOSPITAL_HOLIDAY HH
WHERE HH.USE_YN = 'Y'
AND HH.MU_HOSPITAL_ID = MH.MU_HOSPITAL_ID
AND (
(HH.REPEAT_YN = 'Y' AND DATE_FORMAT(HH.LOC_DATE, '%m-%d') = DATE_FORMAT(#{searchDate}, '%m-%d'))
OR
(HH.REPEAT_YN = 'N' AND HH.LOC_DATE = #{searchDate})
)) OR
EXISTS (
SELECT 1
FROM MU_PUBLIC_HOLIDAY MPH
WHERE MPH.USE_YN = 'Y'
AND MH.PUBLIC_HOLIDAY_USE_YN='Y'
AND MPH.LOC_DATE = #{searchDate}
)
THEN 'Y'
ELSE 'N'
END AS "holidayYn"
,CASE
WHEN MHS.MU_HOSPITAL_SCHEDULE_ID IS NOT NULL THEN MHS.OPEN_START_TIME
ELSE
CASE DAYOFWEEK(#{searchDate})
WHEN 2 THEN MH.MON_OPEN_START_TIME
WHEN 3 THEN MH.TUE_OPEN_START_TIME
WHEN 4 THEN MH.WED_OPEN_START_TIME
WHEN 5 THEN MH.THU_OPEN_START_TIME
WHEN 6 THEN MH.FRI_OPEN_START_TIME
WHEN 7 THEN MH.SAT_OPEN_START_TIME
WHEN 1 THEN MH.SUN_OPEN_START_TIME
END
END AS "openStartTime"
,CASE
WHEN MHS.MU_HOSPITAL_SCHEDULE_ID IS NOT NULL THEN MHS.OPEN_END_TIME
ELSE
CASE DAYOFWEEK(#{searchDate})
WHEN 2 THEN MH.MON_OPEN_END_TIME
WHEN 3 THEN MH.TUE_OPEN_END_TIME
WHEN 4 THEN MH.WED_OPEN_END_TIME
WHEN 5 THEN MH.THU_OPEN_END_TIME
WHEN 6 THEN MH.FRI_OPEN_END_TIME
WHEN 7 THEN MH.SAT_OPEN_END_TIME
WHEN 1 THEN MH.SUN_OPEN_END_TIME
END
END AS "openEndTime"
,CASE
WHEN MHS.MU_HOSPITAL_SCHEDULE_ID IS NOT NULL THEN MHS.BREAK_START_TIME
ELSE
CASE DAYOFWEEK(#{searchDate})
WHEN 2 THEN MH.MON_BREAK_START_TIME
WHEN 3 THEN MH.TUE_BREAK_START_TIME
WHEN 4 THEN MH.WED_BREAK_START_TIME
WHEN 5 THEN MH.THU_BREAK_START_TIME
WHEN 6 THEN MH.FRI_BREAK_START_TIME
WHEN 7 THEN MH.SAT_BREAK_START_TIME
WHEN 1 THEN MH.SUN_BREAK_START_TIME
END
END AS "breakStartTime"
,CASE
WHEN MHS.MU_HOSPITAL_SCHEDULE_ID IS NOT NULL THEN MHS.BREAK_END_TIME
ELSE
CASE DAYOFWEEK(#{searchDate})
WHEN 2 THEN MH.MON_BREAK_END_TIME
WHEN 3 THEN MH.TUE_BREAK_END_TIME
WHEN 4 THEN MH.WED_BREAK_END_TIME
WHEN 5 THEN MH.THU_BREAK_END_TIME
WHEN 6 THEN MH.FRI_BREAK_END_TIME
WHEN 7 THEN MH.SAT_BREAK_END_TIME
WHEN 1 THEN MH.SUN_BREAK_END_TIME
END
END AS "breakEndTime"
,MH.PUBLIC_HOLIDAY_USE_YN AS "publicHolidayUseYn"
FROM MU_HOSPITAL AS MH
LEFT JOIN MU_HOSPITAL_SCHEDULE MHS
ON MH.MU_HOSPITAL_ID = MHS.MU_HOSPITAL_ID
AND MHS.SCHEDULE_DATE = #{searchDate}
AND MHS.USE_YN = 'Y'
WHERE MH.USE_YN = 'Y'
AND MH.CENTER_DIV_CD = 'DIET'
LIMIT 0, 1
</select>
<!-- 예약 카운트 조회 -->
<select id="selectReservationCnt" resultType="hashmap" parameterType="hashmap">
SELECT COUNT(*) AS RES_CNT
FROM MU_RESERVE
WHERE RESERVE_DATE = #{SELECTED_DATE}
AND RESERVE_TIME = #{TIME}
</select>
<!-- 예약 시술 정보 조회 -->
<select id="selectReservationService" resultType="hashmap" parameterType="hashmap">
SELECT A.TREATMENT_PROCEDURE_NAME, (B.PRICE + B.VAT) AS PRICE, B.VAT, B.DISCOUNT_PRICE, C.MU_TREATMENT_ID, C.TREATMENT_NAME, B.MU_TREATMENT_PROCEDURE_ID
FROM MU_TREATMENT_PROCEDURE A
LEFT OUTER JOIN MU_TREATMENT_PROCEDURE_PRICE B ON A.MU_TREATMENT_PROCEDURE_ID = B.MU_TREATMENT_PROCEDURE_ID AND B.USE_YN = 'Y'
LEFT OUTER JOIN MU_TREATMENT C ON A.MU_TREATMENT_ID = C.MU_TREATMENT_ID
WHERE A.MU_TREATMENT_PROCEDURE_ID = #{PROCEDURE_ID}
</select>
<!-- 시술 상세 조회 (CRM 연동용) -->
<select id="selectServiceDetail" resultType="hashmap" parameterType="hashmap">
SELECT A.CATEGORY_DIV_CD
, A.CATEGORY_NO
, A.POST_NO
, C.CATEGORY_NM
, A.TITLE
, A.CONTENT
, A.THUMBNAIL_BOTTOM_TXT
, A.HASHTAG
, A.OLD_CRM_ITEM_ID as oldCrmItemId
, D.FILE_PATH AS THUMBNAIL_PATH
, E.FILE_PATH AS CONTENTS_PATH
, (SELECT MIN(PRICE + VAT) FROM MU_TREATMENT_PROCEDURE_PRICE C
LEFT OUTER JOIN HP_CONTENTS_BBS_PROCEDURE B ON A.POST_NO = B.POST_NO AND A.CATEGORY_DIV_CD = B.CATEGORY_DIV_CD AND A.CATEGORY_NO = B.CATEGORY_NO AND B.USE_YN = 'Y'
WHERE B.MU_TREATMENT_PROCEDURE_ID = C.MU_TREATMENT_PROCEDURE_ID AND C.USE_YN = 'Y') AS PRICE
, (SELECT MIN(DISCOUNT_PRICE) FROM MU_TREATMENT_PROCEDURE_PRICE C
LEFT OUTER JOIN HP_CONTENTS_BBS_PROCEDURE B ON A.POST_NO = B.POST_NO AND A.CATEGORY_DIV_CD = B.CATEGORY_DIV_CD AND A.CATEGORY_NO = B.CATEGORY_NO AND B.USE_YN = 'Y'
WHERE B.MU_TREATMENT_PROCEDURE_ID = C.MU_TREATMENT_PROCEDURE_ID AND C.USE_YN = 'Y') AS DISCOUNT_PRICE
FROM HP_CONTENTS_BBS A
LEFT OUTER JOIN HP_CATEGORY C ON A.CATEGORY_NO = C.CATEGORY_NO AND A.CATEGORY_DIV_CD = C.CATEGORY_DIV_CD
LEFT OUTER JOIN HP_ATTACH_FILE D ON A.THUMBNAIL_ATTACHFILE_ID = D.ATTACHFILE_ID
LEFT OUTER JOIN HP_ATTACH_FILE E ON A.CONTENTS_ATTACHFILE_ID = E.ATTACHFILE_ID
WHERE A.USE_YN = 'Y'
AND A.CATEGORY_DIV_CD = #{CATEGORY_DIV_CD}
AND A.CATEGORY_NO = #{CATEGORY_NO}
AND A.POST_NO = #{POST_NO}
</select>
<!-- 예약 저장 -->
<insert id="insertReservation" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{muReserveId},LPAD((SELECT NEXTVAL(MU_RESERVE_SEQ)), 11, 0))
</selectKey>
INSERT INTO MU_RESERVE(
MU_RESERVE_ID
,USER_NAME
,PHONE_NUMBER
,RESERVE_DATE
,RESERVE_TIME
,MU_TREATMENT_ID
,TREATMENT_NAME
,MU_TREATMENT_PROCEDURE_ID
,TREATMENT_PROCEDURE_NAME
,ETC
,STATUS
,STATUS2
,WRITE_DATE
,WRITE_TIME
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
)VALUES(
#{id}
,#{NAME}
,#{PHONE_NUMBER}
,#{SELECTED_DATE}
,#{TIME}
,#{P_TREATMENT_ID}
,#{P_TREATMENT_NM}
,#{P_PROCEDURE_ID}
,#{P_PROCEDURE_NM}
,#{ETC,jdbcType=VARCHAR}
,'T'
,'N'
,CURDATE()
,CURTIME()
,'C'
,'Y'
,'customer'
,NOW()
,'customer'
,NOW()
)
</insert>
</mapper>

View File

@@ -70,70 +70,4 @@
AND A.POST_NO = #{POST_NO} AND A.POST_NO = #{POST_NO}
</select> </select>
<!-- 예약 조회 -->
<select id="selectReservationCnt" resultType="hashmap" parameterType="hashmap">
SELECT COUNT(*) AS RES_CNT
FROM MU_RESERVE
WHERE RESERVE_DATE = #{SELECTED_DATE}
AND RESERVE_TIME = #{TIME}
</select>
<!-- 시술 목록 조회 -->
<select id="selectReservationService" resultType="hashmap" parameterType="hashmap">
SELECT A.TREATMENT_PROCEDURE_NAME, (B.PRICE + B.VAT) AS PRICE, B.VAT, B.DISCOUNT_PRICE, C.MU_TREATMENT_ID, C.TREATMENT_NAME, B.MU_TREATMENT_PROCEDURE_ID
FROM MU_TREATMENT_PROCEDURE A
LEFT OUTER JOIN MU_TREATMENT_PROCEDURE_PRICE B ON A.MU_TREATMENT_PROCEDURE_ID = B.MU_TREATMENT_PROCEDURE_ID AND B.USE_YN = 'Y'
LEFT OUTER JOIN MU_TREATMENT C ON A.MU_TREATMENT_ID = C.MU_TREATMENT_ID
WHERE A.MU_TREATMENT_PROCEDURE_ID = #{PROCEDURE_ID}
</select>
<!-- 예약 저장 -->
<insert id="insertReservation" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{muReserveId},LPAD((SELECT NEXTVAL(MU_RESERVE_SEQ)), 11, 0))
</selectKey>
INSERT INTO MU_RESERVE(
MU_RESERVE_ID
,USER_NAME
,PHONE_NUMBER
,RESERVE_DATE
,RESERVE_TIME
,MU_TREATMENT_ID
,TREATMENT_NAME
,MU_TREATMENT_PROCEDURE_ID
,TREATMENT_PROCEDURE_NAME
,ETC
,STATUS
,STATUS2
,WRITE_DATE
,WRITE_TIME
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
)VALUES(
#{id}
,#{NAME}
,#{PHONE_NUMBER}
,#{SELECTED_DATE}
,#{TIME}
,#{P_TREATMENT_ID}
,#{P_TREATMENT_NM}
,#{P_PROCEDURE_ID}
,#{P_PROCEDURE_NM}
,#{ETC,jdbcType=VARCHAR}
,'T'
,'N'
,CURDATE()
,CURTIME()
,'C'
,'Y'
,'customer'
,NOW()
,'customer'
,NOW()
)
</insert>
</mapper> </mapper>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff