218 lines
8.8 KiB
Java

package com.interplug.qcast.biz.login;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpMethod;
import org.springframework.stereotype.Service;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.interplug.qcast.biz.login.dto.JoinUser;
import com.interplug.qcast.biz.login.dto.LoginUser;
import com.interplug.qcast.biz.login.dto.UserLoginResponse;
import com.interplug.qcast.biz.login.dto.UserPassword;
import com.interplug.qcast.biz.login.dto.UserResponse;
import com.interplug.qcast.config.Exception.ErrorCode;
import com.interplug.qcast.config.Exception.QcastException;
import com.interplug.qcast.config.message.Messages;
import com.interplug.qcast.util.DefaultResponse;
import com.interplug.qcast.util.InterfaceQsp;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@Slf4j
@Service
@RequiredArgsConstructor
public class LoginService {
// @Autowired LoginMapper loginMapper;
private final LoginMapper loginMapper;
private final InterfaceQsp interfaceQsp;
@Value("${qsp.url}")
private String qspUrl;
@Autowired
Messages message;
/**
* 로그인 처리
*
* @param loginUser LoginUser
* @return UserLoginResponse
* @throws Exception
*/
public UserLoginResponse getLogin(LoginUser loginUser) throws Exception {
if (loginUser.getLoginId() == null || "".equals(loginUser.getLoginId()))
throw new QcastException(ErrorCode.INVALID_INPUT_VALUE,
message.getMessage("common.message.required.data", "Login Id"));
if (loginUser.getPwd() == null || "".equals(loginUser.getPwd()))
throw new QcastException(ErrorCode.INVALID_INPUT_VALUE,
message.getMessage("common.message.required.data", "Password"));
UserLoginResponse userLoginResponse = null;
// QSP API Call..
// Q.CAST 로그인
// post
// /api/user/login
String strResponse =
interfaceQsp.callApi(HttpMethod.POST, qspUrl + "/api/user/login", loginUser);
if (!"".equals(strResponse)) {
ObjectMapper om =
new ObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
userLoginResponse = om.readValue(strResponse, UserLoginResponse.class);
}
return userLoginResponse;
}
public UserResponse getUser(LoginUser loginUser) {
return loginMapper.getUser(loginUser);
}
/**
* 가입 신청 등록
*
* @param joinUser JoinUser
* @return DefaultResponse
* @throws Exception
*/
public DefaultResponse joinUser(JoinUser joinUser) throws Exception {
if (joinUser.getStoreQcastNm() == null || "".equals(joinUser.getStoreQcastNm()))
throw new QcastException(ErrorCode.INVALID_INPUT_VALUE,
message.getMessage("common.message.required.data", "Store QCast Name"));
if (joinUser.getStoreQcastNmKana() == null || "".equals(joinUser.getStoreQcastNmKana()))
throw new QcastException(ErrorCode.INVALID_INPUT_VALUE,
message.getMessage("common.message.required.data", "Store QCast Name Kana"));
if (joinUser.getPostCd() == null || "".equals(joinUser.getPostCd()))
throw new QcastException(ErrorCode.INVALID_INPUT_VALUE,
message.getMessage("common.message.required.data", "Postal Code"));
if (joinUser.getAddr() == null || "".equals(joinUser.getAddr()))
throw new QcastException(ErrorCode.INVALID_INPUT_VALUE,
message.getMessage("common.message.required.data", "Address"));
if (joinUser.getTelNo() == null || "".equals(joinUser.getTelNo()))
throw new QcastException(ErrorCode.INVALID_INPUT_VALUE,
message.getMessage("common.message.required.data", "Telephone"));
if (joinUser.getBizNo() == null || "".equals(joinUser.getBizNo()))
throw new QcastException(ErrorCode.INVALID_INPUT_VALUE,
message.getMessage("common.message.required.data", "Business Registration No"));
// if (joinUser.getFax() == null || "".equals(joinUser.getFax()))
// throw new QcastException(
// ErrorCode.INVALID_INPUT_VALUE, message.getMessage("common.message.required.data", "Fax"));
if (joinUser.getUserInfo().getUserId() == null || "".equals(joinUser.getUserInfo().getUserId()))
throw new QcastException(ErrorCode.INVALID_INPUT_VALUE,
message.getMessage("common.message.required.data", "User Id"));
if (joinUser.getUserInfo().getUserNm() == null || "".equals(joinUser.getUserInfo().getUserNm()))
throw new QcastException(ErrorCode.INVALID_INPUT_VALUE,
message.getMessage("common.message.required.data", "Name"));
if (joinUser.getUserInfo().getUserNmKana() == null
|| "".equals(joinUser.getUserInfo().getUserNmKana()))
throw new QcastException(ErrorCode.INVALID_INPUT_VALUE,
message.getMessage("common.message.required.data", "Name Kana"));
if (joinUser.getUserInfo().getTelNo() == null || "".equals(joinUser.getUserInfo().getTelNo()))
throw new QcastException(ErrorCode.INVALID_INPUT_VALUE,
message.getMessage("common.message.required.data", "Telephone"));
// if (joinUser.getUserInfo().getFax() == null || "".equals(joinUser.getUserInfo().getFax()))
// throw new QcastException(
// ErrorCode.INVALID_INPUT_VALUE, message.getMessage("common.message.required.data", "Fax"));
if (joinUser.getUserInfo().getEmail() == null || "".equals(joinUser.getUserInfo().getEmail()))
throw new QcastException(ErrorCode.INVALID_INPUT_VALUE,
message.getMessage("common.message.required.data", "E-Mail"));
// QSP API Call..
// Q.CAST 신규 사용자 요청
// post
// /api/user/newUserIdReq
DefaultResponse defaultResponse = null;
String strResponse =
interfaceQsp.callApi(HttpMethod.POST, qspUrl + "/api/user/newUserIdReq", joinUser);
if (!"".equals(strResponse)) {
ObjectMapper om =
new ObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
defaultResponse = om.readValue(strResponse, DefaultResponse.class);
}
return defaultResponse;
}
/**
* 비밀번호 초기화
*
* @param userPassword UserPassword
* @return DefaultResponse
* @throws Exception
*/
public DefaultResponse initPassword(UserPassword userPassword) throws Exception {
if (userPassword.getLoginId() == null || "".equals(userPassword.getLoginId()))
throw new QcastException(ErrorCode.INVALID_INPUT_VALUE,
message.getMessage("common.message.required.data", "Login Id"));
if (userPassword.getEmail() == null || "".equals(userPassword.getEmail()))
throw new QcastException(ErrorCode.INVALID_INPUT_VALUE,
message.getMessage("common.message.required.data", "E-Mail"));
// QSP API Call..
// Q.CAST 비밀번호 초기화
// post
// /api/user/initUserPwd
DefaultResponse defaultResponse = null;
String strResponse =
interfaceQsp.callApi(HttpMethod.POST, qspUrl + "/api/user/initUserPwd", userPassword);
if (!"".equals(strResponse)) {
ObjectMapper om =
new ObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
defaultResponse = om.readValue(strResponse, DefaultResponse.class);
}
return defaultResponse;
}
/**
* 비밀번호 변경
*
* @param userPassword UserPassword
* @return DefaultResponse
* @throws Exception
*/
public DefaultResponse changePassword(UserPassword userPassword) throws Exception {
if (userPassword.getLoginId() == null || "".equals(userPassword.getLoginId()))
throw new QcastException(ErrorCode.INVALID_INPUT_VALUE,
message.getMessage("common.message.required.data", "Login Id"));
if (userPassword.getChgType() == null || "".equals(userPassword.getChgType()))
throw new QcastException(ErrorCode.INVALID_INPUT_VALUE,
message.getMessage("common.message.required.data", "Change Type (I :Init , C: Change)"));
if (userPassword.getChgPwd() == null || "".equals(userPassword.getChgPwd()))
throw new QcastException(ErrorCode.INVALID_INPUT_VALUE,
message.getMessage("common.message.required.data", "Change Password"));
// QSP API Call..
// Q.CAST 비밀번호 변경
// post
// /api/user/userPwdChg
DefaultResponse defaultResponse = null;
String strResponse =
interfaceQsp.callApi(HttpMethod.POST, qspUrl + "/api/user/userPwdChg", userPassword);
if (!"".equals(strResponse)) {
ObjectMapper om =
new ObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
defaultResponse = om.readValue(strResponse, DefaultResponse.class);
}
return defaultResponse;
}
}