feat: 모바일 페이지 조회시 기존 URL 사용을 위한 클래스 추가

main
Jonguk. Lim 1 year ago
parent c075af8106
commit 5848b23b61

@ -1,9 +1,9 @@
package kr.xit.biz.mbl.mapper;
import org.egovframe.rte.psl.dataaccess.mapper.Mapper;
import org.egovframe.rte.psl.dataaccess.mapper.*;
import kr.xit.biz.mbl.model.MobilePageDTO;
import kr.xit.biz.mbl.model.MobilePageDTO.MobilePageManage;
import kr.xit.biz.mbl.model.*;
import kr.xit.biz.mbl.model.MobilePageDTO.*;
/**
* <pre>
@ -27,4 +27,5 @@ public interface IMobilePageMapper {
<T> MobilePageManage selectKtBcMobilePage(final T t);
<T> MobilePageManage selectKtGbsMobilePage(final T t);
<T> MobilePageManage selectKtGbsSignguCode(final T t);
}

@ -1,8 +1,8 @@
package kr.xit.biz.mbl.service;
import kr.xit.biz.ens.model.kt.KtTokenDTO.KtTokenConfirmRequest;
import kr.xit.biz.ens.model.ktgbs.KtGbsDTO;
import kr.xit.biz.mbl.model.MobilePageDTO;
import kr.xit.biz.ens.model.kt.KtTokenDTO.*;
import kr.xit.biz.ens.model.ktgbs.*;
import kr.xit.biz.mbl.model.*;
/**
* <pre>
@ -25,4 +25,5 @@ public interface IMobilePageService {
String findKtBcMblPage(final KtTokenConfirmRequest reqDTO);
String findKtGbsMblPage(final KtGbsDTO.TokenConfirmRequest reqDTO);
MobilePageDTO.MobilePageManage findKtGbsSignguCode(final String signguCode);
}

@ -216,4 +216,9 @@ public class MobilePageService extends AbstractService implements IMobilePageSer
}
throw BizRuntimeException.create(cfmRes.getResultCd(), cfmRes.toStringErrorMsg());
}
@Override
public MobilePageDTO.MobilePageManage findKtGbsSignguCode(final String signguCode){
return mapper.selectKtGbsSignguCode(signguCode);
}
}

@ -0,0 +1,169 @@
package kr.xit.biz.mbl.web;
import java.util.*;
import org.apache.commons.lang.*;
import org.springframework.stereotype.*;
import org.springframework.ui.*;
import org.springframework.web.bind.annotation.*;
import io.swagger.v3.oas.annotations.*;
import io.swagger.v3.oas.annotations.tags.*;
import kr.xit.biz.ens.model.ktgbs.*;
import kr.xit.biz.mbl.model.*;
import kr.xit.biz.mbl.service.*;
import kr.xit.core.exception.*;
import lombok.*;
/**
* <pre>
* description : API Controller
* - ens-web
* packageName : kr.xit.biz.mbl.web
* fileName : MobilePageController
* author : limju
* date : 2023-08-31
* ======================================================================
*
* ----------------------------------------------------------------------
* 2023-08-31 limju
*
* </pre>
*/
@Tag(name = "MobilePageAsIsController", description = "전자문서 중개자 모바일 페이지 API Controller")
@RequiredArgsConstructor
@Controller
public class MobilePageAsIsController {
private final IMobilePageService service;
/**
* <pre>
*
* - web : JSP page
* @param map
* @return String return
* </pre>
*/
@Operation(summary = "모바일 데이타 요청(모바일 페이지에서 호출)", description = "모바일 데이타 요청(모바일 페이지에서 호출)")
@GetMapping(
value = {"/intgrn/noti/page/prnt"})
public String mobilePage(@RequestParam Map<String,String> map, Model model) {
final String documentBinderUuid = map.get("document_binder_uuid");
final String envelopeId = map.get("envelopeId");
final String srcKey = map.get("src_key");
final String token = map.get("token");
try {
if ((StringUtils.isEmpty(documentBinderUuid) && StringUtils.isEmpty(envelopeId))
|| StringUtils.isEmpty(srcKey)) {
throw BizRuntimeException.create("정상적인 요청이 아닙니다. 재인증 후 시도하시기 바랍니다.");
}
if (!StringUtils.isEmpty(documentBinderUuid) || !StringUtils.isEmpty(envelopeId)) {
return findKkoReadyAndMblData(
MobilePageDTO.KakaoValidTokenRequest.builder()
.document_binder_uuid(documentBinderUuid)
.envelopeId(envelopeId)
.external_document_uuid(map.get("external_document_uuid"))
.externalId(map.get("externalId"))
.token(token)
.build(),
model
);
}else{
return findKtMblPage(token, srcKey, model);
}
} catch (BizRuntimeException e) {
model.addAttribute("errCode", e.getErrorCode());
model.addAttribute("errMsg", e.getMessage());
return "notiprnt";
} catch (Exception e) {
model.addAttribute("errCode", e.getMessage());
model.addAttribute("errMsg", e.getMessage());
return "notiprnt";
}
}
private String findKkoReadyAndMblData(final MobilePageDTO.KakaoValidTokenRequest reqDTO, Model model) {
if ((StringUtils.isEmpty(reqDTO.getDocument_binder_uuid()) && StringUtils.isEmpty(reqDTO.getEnvelopeId()))
|| StringUtils.isEmpty(reqDTO.getToken())) {
throw BizRuntimeException.create("정상적인 요청이 아닙니다. 재인증 후 시도하시기 바랍니다.");
}
try {
if (StringUtils.isNotEmpty(reqDTO.getDocument_binder_uuid())) {
model.addAttribute("details", service.findKkopayReadyAndMblPage(reqDTO));
} else {
model.addAttribute("details", service.findKkotalkReadyAndMblPage(reqDTO));
}
model.addAttribute("payButtonLinks", "{}");
} catch (BizRuntimeException e) {
model.addAttribute("errCode", e.getErrorCode());
model.addAttribute("errMsg", e.getMessage());
model.addAttribute("details", "{}");
} catch (Exception e) {
model.addAttribute("errCode", e.getMessage());
model.addAttribute("errMsg", e.getMessage());
model.addAttribute("details", "{}");
}
return "notiPrnt";
}
public String findKtMblPage(final String token, final String srcKey, Model model) {
try {
final MobilePageDTO.MobilePageManage mobilePageManage = service.findKtGbsSignguCode(srcKey);
if(mobilePageManage == null) {
throw BizRuntimeException.create(
String.format("정상적인 요청이 아닙니다. src_key를 확인해 주세요.\n(요청 src_key: %s)", srcKey));
}
/*
case "/api/biz/mbl/kt/mblPage/old":
String signguCode = "";
if (("CDO01").equals(request.getParameter("service_cd"))) {
signguCode = SignguCode.CHEONAN_ES.getCode();
} else if (("CSO01").equals(request.getParameter("service_cd"))) {
signguCode = SignguCode.CHEONAN_WN.getCode();
} else {
throw BizRuntimeException.create(
String.format("정상적인 요청이 아닙니다. 요청 url을 확인해 주세요.\n(요청 URL: %s)", uri));
}
mblCnts = service.findKtGbsMblPage(
KtGbsDTO.TokenConfirmRequest.builder()
.signguCode(signguCode)
.ffnlgCode(ApiConstants.FFNLN_CODE)
.token(token)
.srcKey(src_key)
.build()
);
*/
model.addAttribute("details",
service.findKtGbsMblPage(
KtGbsDTO.TokenConfirmRequest.builder()
.signguCode(mobilePageManage.getSignguCode())
.ffnlgCode(mobilePageManage.getFfnlgCode())
.token(token)
.srcKey(srcKey)
.build()
)
);
} catch (BizRuntimeException e) {
model.addAttribute("errCode", e.getErrorCode());
model.addAttribute("errMsg", e.getMessage());
model.addAttribute("details", "{}");
} catch (Exception e) {
model.addAttribute("errCode", e.getMessage());
model.addAttribute("errMsg", e.getMessage());
model.addAttribute("details", "{}");
}
return "notiPrnt";
}
}

@ -128,7 +128,7 @@ public class MobilePageController {
);
break;
case "/api/biz/mbl//kt/mblPage/canWN":
case "/api/biz/mbl/kt/mblPage/canWN":
mblCnts = service.findKtGbsMblPage(
KtGbsDTO.TokenConfirmRequest.builder()
.signguCode(SignguCode.CHEONAN_WN.getCode())

@ -53,4 +53,12 @@
ON tekg.sndng_detail_id = tempm.sndng_detail_id
WHERE tekg.src_key = #{srcKey}
</select>
<select id="selectKtGbsSignguCode" resultType="kr.xit.biz.mbl.model.MobilePageDTO$MobilePageManage">
/** ens-mbl-mysql-mapper|selectKtGbsSignguCode-KT GIBIS 시군구코드 조회|julim */
SELECT tekg.signgu_code
, tekg.ffnlg_code
FROM tb_ens_kt_gbs tekg
WHERE tekg.src_key = #{srcKey}
</select>
</mapper>

Loading…
Cancel
Save