Spring boot/위니아에이드 클론코딩 프로젝트
[위니아에이드] 팀 프로젝트 - 비회원 서비스 조회 로직
코딩딩코
2022. 10. 25. 21:26
비회원 조회를 하게 되면 이름과 접수번호를 통해서 데이터를 가져와서 사용자에게 보여줘야 합니다.
하지만 서비스는 방문서비스와 김치냉장고 리콜 서비스로 두가지로 나누어져 있으며
DB 테이블 또한 나누어져 있습니다.
그렇다면 DB에서 어떤 테이블에 접근해서 해당 접수번호와 이름으로 신청 되어 있는지 확인을 할 수 있는지
생각을 해봤습니다.
SELECT
IFNULL(
IFNULL(
(select
service_type_code
from
repair_service_table rst
LEFT OUTER JOIN non_member_service_table nmst ON(nmst.user_code = rst.user_code)
WHERE
service_code = '20205602'
AND user_name = '빵대경')
,
(select
service_type_code
from
recall_service_table rst
LEFT OUTER JOIN non_member_service_table nmst ON(nmst.user_code = rst.user_code)
WHERE
service_code = '20205602'
AND user_name = '빵대경')
)
, 0) AS service_type_code;
이렇게 해준다면 repair_service_table 과 recall_service_table 중에서 null아닌 결과값을 IFNULL에서 보여 줄 것이고
둘 다 NULL 이라면 0을 반환해 주어서 0이 아니라면 디테일 페이지로 넘겨주고 0이라면 정보가 올바르지 않다는
alert창을 보여 주면 됩니다.
success: (response) => {
let serivceTypeCode = response.data;
if(serivceTypeCode != 0) {
localStorage.serviceAuthenticationInfo = JSON.stringify(authenticationInfo);
if(serivceTypeCode == 2) {
location.replace(`/service/visit/inquiry/detail/${authenticationInfo.serviceCode}`);
}else if(serivceTypeCode == 3) {
location.replace(`/service/recall/inquiry/detail/${authenticationInfo.serviceCode}`);
}
}else {
alert("정보를 올바르게 입력해주세요.");
}
}