fo bo 머지작업 - 오류수정

This commit is contained in:
jazz
2025-12-01 12:04:52 +09:00
parent 99eb2d1e58
commit 23028a50fe
7 changed files with 170 additions and 152 deletions

View File

@@ -45,7 +45,6 @@ public class BOAdScriptController {
Map<String, Object> content = new HashMap<>(); Map<String, Object> content = new HashMap<>();
//광고 스크립트 목록조회 //광고 스크립트 목록조회
List<DataMap> selectAdScriptList = service.selectBOAdScriptList(vo); List<DataMap> selectAdScriptList = service.selectBOAdScriptList(vo);

View File

@@ -507,7 +507,7 @@ public class GoodsController {
// sendToResrc.ofGetWithParam(RESRC.GCONEBO, "/gcone/ordr/npay/config/loadNpayConfigDetail", param) // sendToResrc.ofGetWithParam(RESRC.GCONEBO, "/gcone/ordr/npay/config/loadNpayConfigDetail", param)
// ); // );
Map<String,Object> naverMap = (Map<String, Object>) naverKey.get("npayConfigDetail"); BONpayConfigVO naverMap = (BONpayConfigVO) naverKey.get("npayConfigDetail");
model.addAttribute("kakaoKey", kakaoKey); model.addAttribute("kakaoKey", kakaoKey);
@@ -515,9 +515,9 @@ public class GoodsController {
// 네이버 페이 사용 여부 // 네이버 페이 사용 여부
model.addAttribute("naverPayYn", naverKey.get("naverPayYn").toString()); model.addAttribute("naverPayYn", naverKey.get("naverPayYn").toString());
// 네이버 페이 공통인증키 // 네이버 페이 공통인증키
model.addAttribute("commonCertiKey", naverMap.get("commonCertiKey").toString()); model.addAttribute("commonCertiKey", naverMap.getCommonCertiKey());
// 네이버 페이 BUTTON_KEY // 네이버 페이 BUTTON_KEY
model.addAttribute("buttonKey", naverMap.get("buttonKey").toString()); model.addAttribute("buttonKey", naverMap.getButtonKey());
return Util.getDeviceType(request)+"/goods/GoodsDtlR"; return Util.getDeviceType(request)+"/goods/GoodsDtlR";
} }

View File

@@ -622,16 +622,14 @@ public class MainController {
String kakaoKey = ""; String kakaoKey = "";
if(resultMap.containsKey("paramVO")){ if(resultMap.containsKey("paramVO")){
Map<String, Object> paramVO = (Map<String, Object>) resultMap.get("paramVO"); BOItrntStrVO paramVO = (BOItrntStrVO) resultMap.get("paramVO");
if(!ObjectUtils.isEmpty(paramVO.get("sopmalCd"))){ if(!ObjectUtils.isEmpty(paramVO.getSopmalCd())){
kakaoKey = kakaoProperties.getKeyForDomain(paramVO.get("sopmalCd").toString()); kakaoKey = kakaoProperties.getKeyForDomain(paramVO.getSopmalCd());
} }
} }
model.addAttribute("kakaoKey", kakaoKey);
model.addAttribute("kakaoKey", kakaoKey);
model.addAttribute("resultMap", resultMap); model.addAttribute("resultMap", resultMap);
// return "sopmal/main/StrDtlInqireR"; // return "sopmal/main/StrDtlInqireR";
return Util.getDeviceType(request) + "/main/StrDtlInqireR"; return Util.getDeviceType(request) + "/main/StrDtlInqireR";

View File

@@ -18,6 +18,7 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@ComponentScan(basePackages = { @ComponentScan(basePackages = {
"com.wb.domainserver.domain.mngr" "com.wb.domainserver.domain.mngr"
, "com.wb.domainserver.domain.admin" , "com.wb.domainserver.domain.admin"
, "com.wb.domainserver.domain.crm"
, "com.wb.domainserver.interceptor.mngr" , "com.wb.domainserver.interceptor.mngr"
, "com.wb.domainserver.util.file" , "com.wb.domainserver.util.file"
// , "com.wb.domainserver.domain.mq.controller" /*ERP batch Controller 위치*/ // , "com.wb.domainserver.domain.mq.controller" /*ERP batch Controller 위치*/

View File

@@ -40,6 +40,7 @@ import org.springframework.security.authorization.method.AuthorizationManagerBef
import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer; import org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer;
import org.springframework.security.config.annotation.web.configurers.HeadersConfigurer;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.security.web.SecurityFilterChain; import org.springframework.security.web.SecurityFilterChain;
import org.springframework.security.web.authentication.logout.LogoutFilter; import org.springframework.security.web.authentication.logout.LogoutFilter;
@@ -112,8 +113,9 @@ public class ResourceServerConfig {
OrRequestMatcher resourceMatchers = new OrRequestMatcher(resourcePath); OrRequestMatcher resourceMatchers = new OrRequestMatcher(resourcePath);
return http return http
.csrf(AbstractHttpConfigurer::disable)
.securityMatcher("/sopmal/**", "/oauth2/**", "/login/oauth2/**") .securityMatcher("/sopmal/**", "/oauth2/**", "/login/oauth2/**")
.headers((headers)->headers.frameOptions(HeadersConfigurer.FrameOptionsConfig::sameOrigin))
.csrf(AbstractHttpConfigurer::disable)
.authorizeHttpRequests(authorize -> .authorizeHttpRequests(authorize ->
authorize authorize
.requestMatchers(authMatchers).authenticated() .requestMatchers(authMatchers).authenticated()
@@ -144,7 +146,6 @@ public class ResourceServerConfig {
.deleteCookies("JSESSIONID") .deleteCookies("JSESSIONID")
.logoutSuccessHandler(new CustomLogoutSuccessHandler()) .logoutSuccessHandler(new CustomLogoutSuccessHandler())
) )
.build(); .build();
} }

View File

@@ -8,40 +8,59 @@
</head> </head>
<body> <body>
<style> <style>
#layout_config { #layout_config {
width: 1200px; width: 1200px;
margin: auto; margin: auto;
} }
</style> </style>
<div id="layout_config"> <div id="layout_config">
<div id="layout_config_full"> <div id="layout_config_full">
<div class="catalog_nav relative mb60" style="margin-top: 60px;"> <div class="catalog_nav relative mb60" style="margin-top: 60px;">
<c:choose> <c:choose>
<c:when test = "${empty dv}"> <c:when test = "${empty dv}">
<c:set var = "dv" value = "company"/> <c:set var = "dv" value = "company"/>
</c:when> </c:when>
<c:otherwise> <c:otherwise>
<c:set var = "dv" value = "${dv}"/> <c:set var = "dv" value = "${dv}"/>
</c:otherwise> </c:otherwise>
</c:choose> </c:choose>
<ul> <ul>
<li <c:if test = "${dv eq 'company'}">class="on"</c:if> id ="company"><a href="/sopmal/main/selectiframeBrandStroyForm?dv=company">참다한 소개</a></li><!-- 활성화 class="on" --> <!-- 활성화 class="on" -->
<li <c:if test = "${dv eq 'ceo'}">class="on"</c:if> id ="ceo"><a href="/sopmal/main/selectiframeBrandStroyForm?dv=ceo">CEO인사</a></li> <li <c:if test = "${dv eq 'company'}">class="on"</c:if> id ="company">
<li <c:if test = "${dv eq 'technology'}">class="on"</c:if> id ="technology"><a href="/sopmal/main/selectiframeBrandStroyForm?dv=technology">참다한의 기술</a></li> <a href="/sopmal/main/selectiframeBrandStroyForm?dv=company">참다한 소개</a>
<li <c:if test = "${dv eq 'history'}">class="on"</c:if> id ="history"><a href="/sopmal/main/selectiframeBrandStroyForm?dv=history">회사연혁</a></li> </li>
<li <c:if test = "${dv eq 'map'}">class="on"</c:if> id ="map"><a href="/sopmal/main/selectiframeBrandStroyForm?dv=map">조직도</a></li> <li <c:if test = "${dv eq 'ceo'}">class="on"</c:if> id ="ceo">
<%--<li <c:if test = "${dv eq 'company'}">class="on"</c:if> id ="company"><a href="chamdahan_tab6.html">언론속의 참다한</a></li>--%> <a href="/sopmal/main/selectiframeBrandStroyForm?dv=ceo">CEO인사</a>
<li <c:if test = "${dv eq 'way'}">class="on"</c:if> id ="way"><a href="/sopmal/main/selectiframeBrandStroyForm?dv=way">오시는길</a></li> </li>
<li <c:if test = "${dv eq 'script'}">class="on"</c:if> id ="script"><a href="/sopmal/main/selectiframeBrandStroyForm?dv=script">온체식참다한</a></li> <li <c:if test = "${dv eq 'technology'}">class="on"</c:if> id ="technology">
</ul> <a href="/sopmal/main/selectiframeBrandStroyForm?dv=technology">참다한의 기술</a>
</div> </li>
<li <c:if test = "${dv eq 'history'}">class="on"</c:if> id ="history">
<a href="/sopmal/main/selectiframeBrandStroyForm?dv=history">회사연혁</a>
</li>
<%--
<li <c:if test = "${dv eq 'map'}">class="on"</c:if> id ="map">
<a href="/sopmal/main/selectiframeBrandStroyForm?dv=map">조직도</a>
</li>
--%>
<%--<li <c:if test = "${dv eq 'company'}">class="on"</c:if> id ="company"><a href="chamdahan_tab6.html">언론속의 참다한</a></li>--%>
<%--
<li <c:if test = "${dv eq 'way'}">class="on"</c:if> id ="way">
<a href="/sopmal/main/selectiframeBrandStroyForm?dv=way">오시는길</a>
</li>
--%>
<li <c:if test = "${dv eq 'script'}">class="on"</c:if> id ="script">
<a href="/sopmal/main/selectiframeBrandStroyForm?dv=script">온체식참다한</a>
</li>
</ul>
</div>
<%--참다한 소개--%> <%--참다한 소개--%>
<div id = "companyDv" style="display:none;"> <div id = "companyDv" style="display:none;">
<img src="/pc/brand/CH/images/img_introduces01.jpg" title=" 좋은 재료로 건강하게 만드는 옳은 홍삼, 참다한 -참다한은 귀한 홍삼의 영양을 가장 많이 담을 수 있는 ‘전체식 홍삼’ 기술을 바탕으로 탄생한 브랜드로써 홍삼을 가장 건강하게, 온전하게 섭취할 수 있는 새로운 방법을 제안하고 있습니다‘참된 마음으로 정성을 다한다’는 뜻의 참다한은 보다 많은 분들이 몸에 해로운 그 어떤 유해물질 없이 건강한 홍삼을 만날 수 있도록 늘 정성을 다하고 있습니다 " alt=" 좋은 재료로 건강하게 만드는 옳은 홍삼, 참다한 -참다한은 귀한 홍삼의 영양을 가장 많이 담을 수 있는 ‘전체식 홍삼’ 기술을 바탕으로 탄생한 브랜드로써 홍삼을 가장 건강하게, 온전하게 섭취할 수 있는 새로운 방법을 제안하고 있습니다‘참된 마음으로 정성을 다한다’는 뜻의 참다한은 보다 많은 분들이 몸에 해로운 그 어떤 유해물질 없이 건강한 홍삼을 만날 수 있도록 늘 정성을 다하고 있습니다 "> <img src="/pc/brand/CH/images/img_introduces01.jpg" title=" 좋은 재료로 건강하게 만드는 옳은 홍삼, 참다한 -참다한은 귀한 홍삼의 영양을 가장 많이 담을 수 있는 ‘전체식 홍삼’ 기술을 바탕으로 탄생한 브랜드로써 홍삼을 가장 건강하게, 온전하게 섭취할 수 있는 새로운 방법을 제안하고 있습니다‘참된 마음으로 정성을 다한다’는 뜻의 참다한은 보다 많은 분들이 몸에 해로운 그 어떤 유해물질 없이 건강한 홍삼을 만날 수 있도록 늘 정성을 다하고 있습니다 " alt=" 좋은 재료로 건강하게 만드는 옳은 홍삼, 참다한 -참다한은 귀한 홍삼의 영양을 가장 많이 담을 수 있는 ‘전체식 홍삼’ 기술을 바탕으로 탄생한 브랜드로써 홍삼을 가장 건강하게, 온전하게 섭취할 수 있는 새로운 방법을 제안하고 있습니다‘참된 마음으로 정성을 다한다’는 뜻의 참다한은 보다 많은 분들이 몸에 해로운 그 어떤 유해물질 없이 건강한 홍삼을 만날 수 있도록 늘 정성을 다하고 있습니다 ">
<div class="img_con introduces_bg" style="position: relative; width: 1652px; left: -226px; margin-bottom: -50px; overflow: hidden;"> <div class="img_con introduces_bg" style="position: relative; width: 1652px; left: -226px; margin-bottom: -50px; overflow: hidden;">
<img src="/pc/brand/CH/images/img_introduces01_2.png" alt="참다한 BI-식품 속에 조성된 자연 그대로의 참 영양을 모두 다해 고객에게 전달하는 <img src="/pc/brand/CH/images/img_introduces01_2.png" alt="참다한 BI-식품 속에 조성된 자연 그대로의 참 영양을 모두 다해 고객에게 전달하는
올바른 건강식품 기업으로써의 참다한의 뜻을 담았습니다. ,RED- 따뜻한 햇빛 속에 조성된 참 자연,BROWN-대 자연을 품으며 건강하게 숨 쉬는 땅,BLUE-청명한 대기와 바람 " style="position: relative; left: 50%; margin-left: -600px;"> 올바른 건강식품 기업으로써의 참다한의 뜻을 담았습니다. ,RED- 따뜻한 햇빛 속에 조성된 참 자연,BROWN-대 자연을 품으며 건강하게 숨 쉬는 땅,BLUE-청명한 대기와 바람 " style="position: relative; left: 50%; margin-left: -600px;">
</div> </div>
</div> </div>
@@ -91,42 +110,42 @@
<%--참다한기술--%> <%--참다한기술--%>
<style> <style>
#layout_config { #layout_config {
width: 1200px; width: 1200px;
margin: auto; margin: auto;
} }
div[class^="inner_tab_"] {display: none;} div[class^="inner_tab_"] {display: none;}
div[class^="inner_tab_"].view { div[class^="inner_tab_"].view {
display: block; display: block;
} }
</style> </style>
<script type="text/javascript"> <script type="text/javascript">
$(function(){ $(function(){
$('.detail_tab3 > li').removeClass('active');
$('.detail_tab3 > li.tab_1').addClass('active');
$('div[class^="inner_tab_"]').removeClass('view');
$('.inner_tab_1').addClass('view');
$('.detail_tab3 > li').on('click', function () {
var class_name = $(this)[0].className;
$('.detail_tab3 > li').removeClass('active'); $('.detail_tab3 > li').removeClass('active');
$(this).closest("li").addClass('active'); $('.detail_tab3 > li.tab_1').addClass('active');
$('div[class^="inner_tab_"]').removeClass('view'); $('div[class^="inner_tab_"]').removeClass('view');
$('.inner_' + class_name + '').addClass('view'); $('.inner_tab_1').addClass('view');
$('.detail_tab3 > li').on('click', function () {
var class_name = $(this)[0].className;
$('.detail_tab3 > li').removeClass('active');
$(this).closest("li").addClass('active');
$('div[class^="inner_tab_"]').removeClass('view');
$('.inner_' + class_name + '').addClass('view');
});
}); });
}); const fn_change_image = (dv) => {
const fn_change_image = (dv) => { $(".tech").hide();
$(".tech").hide(); if(dv === '1'){
if(dv === '1'){ $(".inner_tab_1").show();
$(".inner_tab_1").show(); }else if (dv === '2'){
}else if (dv === '2'){ $(".inner_tab_2").show();
$(".inner_tab_2").show(); }else {
}else { $(".inner_tab_3").show();
$(".inner_tab_3").show(); }
} }
}
</script> </script>
<div id = "technologyDv" style="display:none;"> <div id = "technologyDv" style="display:none;">
<ul class="detail_tab3"> <ul class="detail_tab3">
@@ -167,29 +186,29 @@
<%--조직도--%> <%--조직도--%>
<script type="text/javascript"> <script type="text/javascript">
$(function(){ $(function(){
function imgPosition() { function imgPosition() {
var winW = $(window).width(); var winW = $(window).width();
var imgW = $('.img_con img').width(); var imgW = $('.img_con img').width();
if(winW > 1200) { if(winW > 1200) {
$('.img_con').css({'position':'relative','width':winW,'left':(1200 - winW) / 2,'margin-bottom':'-50px','overflow':'hidden'}); $('.img_con').css({'position':'relative','width':winW,'left':(1200 - winW) / 2,'margin-bottom':'-50px','overflow':'hidden'});
$('.img_con img').css({'position':'relative','left':'50%','margin-left':(imgW / 2) - imgW}); $('.img_con img').css({'position':'relative','left':'50%','margin-left':(imgW / 2) - imgW});
} else { } else {
$('.img_con').css({'position':'relative','width':1200,'left':0,'overflow':'hidden'}); $('.img_con').css({'position':'relative','width':1200,'left':0,'overflow':'hidden'});
$('.img_con img').css({'position':'relative','left':'50%','margin-left':(imgW / 2) - imgW}); $('.img_con img').css({'position':'relative','left':'50%','margin-left':(imgW / 2) - imgW});
} }
} }
imgPosition(); imgPosition();
$(window).resize(function() { $(window).resize(function() {
imgPosition() imgPosition()
}); });
}); });
</script> </script>
<div id = "mapDv" style="display:none;"> <div id = "mapDv" style="display:none;">
<img src="/pc/brand/CH/images/img_organization.jpg" alt=""> <img src="/pc/brand/CH/images/img_organization.jpg" alt="">
</div> </div>
<%--오시는길--%> <%--오시는길--%>
@@ -231,22 +250,22 @@
<script> <script>
/*높이 설정*/ /*높이 설정*/
const fn_change_img = (dv) => { const fn_change_img = (dv) => {
window.parent.postMessage(dv, "*"); window.parent.postMessage(dv, "*");
} }
/*해당탭 show*/ /*해당탭 show*/
$(document).ready(function (){ $(document).ready(function (){
let dv = '<c:out value="${dv}"/>'; let dv = '<c:out value="${dv}"/>';
if(dv == ''){ if(dv == ''){
dv = 'company'; dv = 'company';
} }
const liTgt = '#li_'+dv; const liTgt = '#li_'+dv;
const tgt = '#'+dv; const tgt = '#'+dv;
$(liTgt).addClass('on'); $(liTgt).addClass('on');
$(tgt).css("display","block"); $(tgt).css("display","block");
$("#"+dv+"Dv").show(); $("#"+dv+"Dv").show();
fn_change_img(dv); fn_change_img(dv);
}); });
</script> </script>
</body> </body>
</html> </html>

View File

@@ -39,7 +39,7 @@
</c:when> </c:when>
<c:otherwise> <c:otherwise>
<div class="sub-wrapper"> <div class="sub-wrapper">
<jsp:include page="/WEB-INF/views/html/pc/DT/brandStory.jsp"/> <jsp:include page="/WEB-INF/views/html/pc/DT/brandStory.jsp"/>
</div> </div>
</c:otherwise> </c:otherwise>
</c:choose> </c:choose>
@@ -51,57 +51,57 @@
<script> <script>
$(document).ready(function (){ $(document).ready(function (){
$("#myiframe").on('load', function() { $("#myiframe").on('load', function() {
var iframe = $(this); var iframe = $(this);
const sopmalCd = '<c:out value="${sopmalCd}"/>'; const sopmalCd = '<c:out value="${sopmalCd}"/>';
let height = ''; let height = '';
//아이프레임 높이값 고정 //아이프레임 높이값 고정
if(sopmalCd === 'JM' || sopmalCd === 'AF' || sopmalCd === 'DT'){ if(sopmalCd === 'JM' || sopmalCd === 'AF' || sopmalCd === 'DT'){
height = '3293'; height = '3293';
}else if ( sopmalCd === 'BD') { }else if ( sopmalCd === 'BD') {
height = '3000'; height = '3000';
}else if (sopmalCd === 'DL' ){ }else if (sopmalCd === 'DL' ){
height = '1200'; height = '1200';
}else if (sopmalCd === 'NB'){ }else if (sopmalCd === 'NB'){
url = document.getElementById("myiframe").contentWindow.location.href; url = document.getElementById("myiframe").contentWindow.location.href;
if(url.indexOf('selectNbPromiseHtml') > 0){ if(url.indexOf('selectNbPromiseHtml') > 0){
height = '1800'; height = '1800';
}else if (url.indexOf('selectNbIngredientHtml') > 0){ }else if (url.indexOf('selectNbIngredientHtml') > 0){
height = '1600'; height = '1600';
}else { }else {
height = '4600'; height = '4600';
} }
}else if (sopmalCd === 'PL'){ }else if (sopmalCd === 'PL'){
height = '1800'; height = '1800';
}else if (sopmalCd === 'TZ'){ }else if (sopmalCd === 'TZ'){
height = '2600'; height = '2600';
const dv = '<c:out value="${dv}"/>'; const dv = '<c:out value="${dv}"/>';
if(dv === 'production'){ if(dv === 'production'){
height = '2200'; height = '2200';
}else if (dv === 'way'){ }else if (dv === 'way'){
height = '1800'; height = '1800';
} }
}else if (sopmalCd === 'CH'){ }else if (sopmalCd === 'CH'){
const dv = $("#myiframe").attr("chDv"); const dv = $("#myiframe").attr("chDv");
if(dv ==='company'){ if(dv ==='company'){
$("#myiframe").css('height', '2000px'); $("#myiframe").css('height', '2000px');
} else if (dv === 'ceo') { } else if (dv === 'ceo') {
$("#myiframe").css('height', '800px'); $("#myiframe").css('height', '800px');
} else if (dv === 'technology') { } else if (dv === 'technology') {
$("#myiframe").css('height', '21285px'); $("#myiframe").css('height', '21285px');
} else if (dv === 'history') { } else if (dv === 'history') {
$("#myiframe").css('height', '2180px'); $("#myiframe").css('height', '2180px');
} else if (dv === 'map') { } else if (dv === 'map') {
$("#myiframe").css('height', '1000px'); $("#myiframe").css('height', '1000px');
} else if (dv === 'way') { } else if (dv === 'way') {
$("#myiframe").css('height', '1300px'); $("#myiframe").css('height', '1300px');
} else if (dv === 'script') { } else if (dv === 'script') {
$("#myiframe").css('height', '4300px'); $("#myiframe").css('height', '4300px');
} }
} }
if(!fn_is_empty(height)){ if(!fn_is_empty(height)){
iframe.css('height', height+ 'px'); iframe.css('height', height+ 'px');
} }
}); });
// iframe 메시지 수신 핸들러(iframe 높이 맞추기) // iframe 메시지 수신 핸들러(iframe 높이 맞추기)
window.addEventListener('message', (event) => { window.addEventListener('message', (event) => {