fix : 1:1문의 사용자 조회/수정

This commit is contained in:
jazz
2025-12-30 09:49:28 +09:00
parent 342b01f32f
commit dc4e554d47
13 changed files with 186 additions and 48 deletions

View File

@@ -185,6 +185,9 @@ public interface BOGnrlbbscttMapper {
/** 게시글 연관 상품 등록 */
public void insertBOBbscttGoods(BOGnrlbbscttVO bbsctt);
/** 게시글 연관 주문 등록 (1:1문의) */
public void insertBOBbscttM2mGoods(BOGnrlbbscttVO bbsctt);
/** 게시글 상세조회(연관상품목록) */
public List<DataMap> selectBOBbscttDtlGoods(BOGnrlbbscttVO bbsctt);

View File

@@ -340,6 +340,7 @@ public class BOGnrlbbscttService {
resultList = mapper.selectBOM2mBbscttListInqire(bbsctt);
if(resultList != null && resultList.size() !=0){
resultCnt.setTotCnt(((BigInteger) resultList.get(0).get("totCnt")).intValue());
bbsctt.getPaginationInfo().setTotalRecordCount(((BigInteger) resultList.get(0).get("totCnt")).intValue());
}else{
resultCnt.setTotCnt(0);
}
@@ -898,6 +899,12 @@ public class BOGnrlbbscttService {
mapper.insertBOBbscttGoods(bbsctt);
}
}
/*1:1문의 (반품문의)는 주문번호 등록*/
if("12".equals(bbsctt.getBbsTyCd())){
if(bbsctt.getOrdrInnb() != null){
mapper.insertBOBbscttM2mGoods(bbsctt);
}
}
message.put("result", "success");
/*마일리지 적립 시 게시글고유번호 파라미터*/
message.put("bbscttInnb", bbsctt.getBbscttInnb());

View File

@@ -938,7 +938,7 @@ public class CscController {
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/bbs/gnrlbbsctt/selectBOBbscttRegistPopupForm",bbsctt)
// );
model.addAttribute("resultMap", resultMap);
model.addAttribute("bbscttVO", resultMap);
model.addAttribute("bbscttVO", bbsctt);
return Util.getDeviceType(request)+"/csc/BbscttRegistPopupC";
}
@@ -1182,7 +1182,7 @@ public class CscController {
// );
}
/**ㄴ
/**
* 게시글 삭제
* @param bbsctt
* @return ResponseEntity
@@ -1654,7 +1654,6 @@ public class CscController {
if ("01".equals(user.getSysDvCd())) {
bbsctt.setSopmalCd(user.getSopmalCd());
}
;
BOGnrlbbscttVO regusrInfo = new BOGnrlbbscttVO();
DataMap mbrInfo = new DataMap();

View File

@@ -261,16 +261,6 @@ public class MyActController {
return Util.getDeviceType(request)+"/mpage/act/MyGoodsQnaDtlUpdtU";
}
/**
* 1:1 문의 조회
* @param bbsctt
@@ -406,23 +396,6 @@ public class MyActController {
return Util.getDeviceType(request)+"/mpage/act/MyM2mQnaDtlUpdtU";
}
/**
* 나의 리뷰 조회 폼
* @param bbsctt

View File

@@ -1550,7 +1550,7 @@
FROM (
SELECT CAST(@ROWNUM:=@ROWNUM+1 AS UNSIGNED) AS RNUM
,TB.*
FROM (SELECT ROW_NUMBER() OVER() TOT_CNT,
FROM (SELECT CAST(count(*) OVER() AS UNSIGNED) AS TOT_CNT,
FB.BBSCTT_INNB ,
FB.IP ,
FB.SJ ,
@@ -2612,6 +2612,37 @@
#{goodsInnb})
</insert>
<!--*****************************************
게시글 연관상품 시작 (등록, 조회, 삭제)
********************************************* -->
<insert id = "insertBOBbscttM2mGoods" parameterType="com.wb.domainserver.domain.gcone.bbs.gnrlbbsctt.vo.BOGnrlbbscttVO">
INSERT INTO GC_BOARDDATA_GOODS
(
SOPMAL_CD,
BBSCTT_INNB,
ORDR_GOODS_OPTN_INNB,
RE_ORDER_AT,
REGUSR,
REGIST_DT,
GOODS_INNB)
(SELECT GOI.SOPMAL_CD
, #{bbscttInnb} AS BBSCTT_INNB
, GOIO.ORDR_GOODS_OPTN_INNB
, #{reOrderAt} AS RE_ORDER_AT
, #{regusr} AS REGIST_DT
, SYSDATE()
, GOI.GOODS_INNB
FROM GC_ORDER_ITEM GOI
JOIN GC_ORDER_ITEM_OPTION GOIO
ON GOIO.ORDR_GOODS_INNB = GOI.ORDR_GOODS_INNB
AND GOIO.SOPMAL_CD = GOI.SOPMAL_CD
WHERE GOI.ORDR_INNB = #{ordrInnb}
AND GOI.SOPMAL_CD = #{sopmalCd}
ORDER BY GOIO.ORDR_GOODS_OPTN_INNB ASC
LIMIT 1
)
</insert>
<!-- 게시글 상세 조회 (연관상품) -->
<select id="selectBOBbscttDtlGoods"
parameterType="com.wb.domainserver.domain.gcone.bbs.gnrlbbsctt.vo.BOGnrlbbscttVO"

View File

@@ -192,11 +192,15 @@
/*상품 상세 등록시 qna 목록 재조회*/
if ($("#listAt").val() === 'list') {
fn_select_qna(1);
}else if ($("#listAt").val() === 'm2m') {
/*1:1 문의*/
setMenuCode('39','/sopmal/mpage/act/selectM2mQnaInqire?bbsId=mbrqna');
}
});
});
/*********************************************************
* 게시글 등록
*********************************************************/
@@ -243,6 +247,7 @@
processData: false,
contentType: false,
success: function (result) {
console.log(result);
enableButton("#regBtn");
$("#resultAlert").text("<spring:message code="success.common.insert"/>");
$("#result-alert-regist").modal();
@@ -278,6 +283,7 @@
<div class="modal-content">
<div class="table-wrapper">
<form id="bbsRegForm">
<input type='hidden' name='bbsTyCd' id='bbsTyCd' value='<c:out value="${bbsInfo.bbsTyCd}"/>'>
<table class="table write">
<caption>게시글 등록</caption>
<colgroup>
@@ -301,6 +307,13 @@
</c:choose>
</td>
</tr>
<%-- 1:1 문의--%>
<c:if test="${bbsInfo.bbsTyCd eq '12'}">
<tr>
<th>주문번호<span class="required-asterisk">*</span></th>
<td><c:out value="${bbscttVO.ordrInnb}"/><input type='hidden' name='ordrInnb' value='<c:out value="${bbscttVO.ordrInnb}"/>'></td>
</tr>
</c:if>
<c:if test="${bbsInfo.answRegist eq 'Y'&& bbsInfo.bbscttSndngMthCd ne '03'}"><%--답변사용여부와 게시글 문자사용여부 체크--%>
<tr>
<th>답변수신</th>
@@ -595,7 +608,6 @@
</p>
</div>
<div class="alert-btn-container">
<a href="#" rel="modal:close" class="btn large outline close"><spring:message code="button.close"/></a>
<button class="alert-btn alert-btn--confirm" id="alertBtn"><spring:message code="button.ok"/></button>
</div>
</div>

View File

@@ -1002,6 +1002,28 @@
}
/********************************************************************
* 1:1 문의 등록폼 호출 (C)
********************************************************************/
const fn_pop_m2mqna_regist = (ordrInnb) => {
$.ajax({
type: "post",
data: {
authDv: "REGIST",
reqUrl: "modal",
bbsId: "mbrqna",
ordrInnb: ordrInnb,
listAt: "m2m",
},
url: "/sopmal/csc/selectBbscttAuth",
success: function (data) {
/*모달중복제거*/
fn_close_modal("qna-pop-regist");
$("#modalDiv").html(data);
$("#qna-pop-regist").modal();
}
});
}
</script>

View File

@@ -90,7 +90,8 @@
<c:when test="${order.ordrSttusCd > 54 && order.ordrSttusCd < 76 && order.sknEnvrnCd ne 'POS'}">
<a href="javascript:void(0);" onclick="fn_call_dlvy_sweettracker_pop('<c:out value="${order.ordrInnb}"/>');" class="btn outline sm full">배송조회</a>
<c:if test="${ order.purchsDcsnAt eq 'Y' }">
<a href="javascript:void(0);" onclick="fn_call_refund_pop('<c:out value="${order.sopmalCd}"/>', '<c:out value="${order.ordrInnb}"/>','<c:out value="${order.ordrRceptDt}"/>', '<c:out value="${order.setleTyCd}"/>', '<c:out value="${order.ordrSttusCd}"/>');" class="btn-ordr-sttus btn gray sm full">반품신청</a>
<%-- <a href="javascript:void(0);" onclick="fn_call_refund_pop('<c:out value="${order.sopmalCd}"/>', '<c:out value="${order.ordrInnb}"/>','<c:out value="${order.ordrRceptDt}"/>', '<c:out value="${order.setleTyCd}"/>', '<c:out value="${order.ordrSttusCd}"/>');" class="btn-ordr-sttus btn gray sm full">반품신청</a>--%>
<a href="javascript:void(0);" onclick="fn_pop_m2mqna_regist('<c:out value="${order.ordrInnb}"/>');" class="btn-ordr-sttus btn gray sm full">반품신청</a>
</c:if>
<c:if test="${ order.reviewAt eq 'Y' }">
<a href="<c:url value="/sopmal/mpage/act/selectMyRvwInqireForm"/>" class="btn-ordr-sttus btn theme sm full">리뷰작성</a>

View File

@@ -798,9 +798,6 @@
});
}
/* 반품/환불 신청 */
const fn_post_return_regist = function(data) {
if (!confirm("반품신청을 하시겠습니까?")) {
@@ -1084,6 +1081,29 @@
window.open(url, "", status);
}
/********************************************************************
* 1:1 문의 등록폼 호출 (C)
********************************************************************/
const fn_pop_m2mqna_regist = (ordrInnb) => {
$.ajax({
type: "post",
data: {
authDv: "REGIST",
reqUrl: "modal",
bbsId: "mbrqna",
ordrInnb: ordrInnb,
listAt: "m2m",
},
url: "/sopmal/csc/selectBbscttAuth",
success: function (data) {
/*모달중복제거*/
fn_close_modal("qna-pop-regist");
$("#modalDiv").html(data);
$("#qna-pop-regist").modal();
}
});
}
</script>
</head>
<body>
@@ -1289,7 +1309,7 @@
<c:when test="${goods.ordrSttusCd > 54 && goods.ordrSttusCd < 76 && order.sknEnvrnCd ne 'POS'}">
<a href="javascript:void(0);" onclick="fn_call_dlvy_sweettracker_pop('<c:out value="${order.ordrInnb}"/>');" id="inqireDlvy" class="btn-ordr-sttus btn outline sm full">배송조회</a>
<c:if test="${ goods.purchsDcsnAt eq 'N' }">
<a href="javascript:void(0);" id="reqstRefund" class="btn-ordr-sttus btn gray sm full" onclick="fn_call_refund_pop('<c:out value="${order.sopmalCd}"/>', '<c:out value="${order.ordrInnb}"/>','<c:out value="${setleDt}"/>', '<c:out value="${setleTyCd}"/>', '<c:out value="${order.ordrSttusCd}"/>');">반품신청</a>
<a href="javascript:void(0);" id="reqstRefund" class="btn-ordr-sttus btn gray sm full" onclick="fn_pop_m2mqna_regist('<c:out value="${order.ordrInnb}"/>');">반품신청</a>
</c:if>
<c:choose>
<c:when test="${goods.itemOrdrSttusCd > 54 && goods.itemOrdrSttusCd < 76 && goods.purchsDcsnAt eq 'N'}">
@@ -1443,7 +1463,7 @@
<c:when test="${goods.ordrSttusCd > 54 && goods.ordrSttusCd < 76 && order.sknEnvrnCd ne 'POS'}">
<a href="javascript:void(0);" onclick="fn_call_dlvy_sweettracker_pop('<c:out value="${order.ordrInnb}"/>');" id="inqireDlvy" class="btn-ordr-sttus btn outline sm full">배송조회</a>
<c:if test="${ goods.purchsDcsnAt eq 'N' }">
<a href="javascript:void(0);" id="reqstRefund" class="btn-ordr-sttus btn gray sm full" onclick="fn_call_refund_pop('<c:out value="${order.sopmalCd}"/>', '<c:out value="${order.ordrInnb}"/>','<c:out value="${setleDt}"/>', '<c:out value="${setleTyCd}"/>', '<c:out value="${order.ordrSttusCd}"/>');">반품신청</a>
<a href="javascript:void(0);" id="reqstRefund" class="btn-ordr-sttus btn gray sm full" onclick="fn_pop_m2mqna_regist('<c:out value="${order.ordrInnb}"/>');">반품신청</a>
</c:if>
<c:choose>
<c:when test="${goods.itemOrdrSttusCd > 54 && goods.itemOrdrSttusCd < 76 && goods.purchsDcsnAt eq 'N'}">

View File

@@ -174,6 +174,7 @@
//등록 버튼 이벤트
$("#regBtn").on("click", function () {
$("#closeModalTarget").val("confirm_reg_alert");
console.log($("#closeModalTarget").val());
if($("#reqDv").val() === 'goodsDtl') {//상품 상세에서 등록 시
openConfirmModal(function (onSuccess) {
fn_regist_bbsctt(onSuccess);//등록함수
@@ -182,7 +183,16 @@
, 'success_reg_alert'
, '#regSuccessBtn'
, fn_select_qna, '1');
}else{
}else if($("#reqDv").val() === 'm2m') {//1:1문의
openConfirmModal(function (onSuccess) {
fn_regist_bbsctt(onSuccess);//등록함수
}, 'confirm_reg_alert'
, '#regCfrmBtn'
, 'success_reg_alert'
, '#regSuccessBtn'
, fn_goM2mqna, '1');
}else {
console.log("등록처리");
openConfirmModal(function (onSuccess) {
fn_regist_bbsctt(onSuccess);//등록함수
}, 'confirm_reg_alert'
@@ -193,6 +203,11 @@
});
});
if (typeof fn_goM2mqna === 'undefined') {
function fn_goM2mqna(curPage) {
window.location.href = "/sopmal/mpage/act/selectM2mQnaInqire?bbsId=mbrqna";
}
}
/*********************************************************
* 게시글 등록
*********************************************************/
@@ -271,6 +286,7 @@
<div class="microModal__content">
<div class="microModal__inner">
<form id="bbsRegForm">
<input type='hidden' name='bbsTyCd' id='bbsTyCd' value='<c:out value="${bbsInfo.bbsTyCd}"/>'>
<div class="userForm">
<div class="userForm__inputBox">
<div class="userForm__inputBox__item">
@@ -286,6 +302,13 @@
</c:otherwise>
</c:choose>
</div>
<%-- 1:1 문의--%>
<c:if test="${bbsInfo.bbsTyCd eq '12'}">
<div class="userForm__inputBox__item">
<div class="userForm__inputBox__itemTitle">주문번호<span class="required-asterisk">*</span></div>
<input class="input-text full" type="text" title="주문번호" readonly="readonly" name="ordrInnb" maxlength="20" value='<c:out value="${bbscttVO.ordrInnb}"/>'>
</div>
</c:if>
<c:if test="${bbsInfo.answRegist eq 'Y'&& bbsInfo.bbscttSndngMthCd ne '03'}"><%--답변사용여부와 게시글 문자사용여부 체크--%>
<div class="userForm__inputBox__item">
<c:if test="${empty regusrInfo.answMbtlnb}">

View File

@@ -21,10 +21,11 @@
<jsp:include page="/WEB-INF/views/comm/mobile/Include.jsp"/>
</head>
<spring:eval expression="@environment.getProperty('sopmalfo.common.fileupload.cdnurl')" var="cdnurl"/>
<c:set value="${resultMap.bbsInfo}" var = "bbsInfo"/>
<script>
$(document).ready(function (){
/*헤더에 타이틀 set*/
fn_set_header_title("상품Q&A내역");
fn_set_header_title('<c:out value="${bbsInfo.bbsNm}"/> ');
/*마이크로모달 초기화 id 매핑*/
MicroModal.init(
{
@@ -200,7 +201,7 @@
<div class="myQnaList__right">
<div class="myQnaList__info">
<p class="myQnaList__info__name">
<a href="" onclick = "fn_move_ordr_dtl('\${bbsInfo.sopmalCd}', '\${resultList.ordrInnb}'); return false;">주문번호 : \${resultList.ordrInnb}</a>
<a href="" onclick = "fn_move_ordr_dtl('\${bbsInfo.sopmalCd}', '\${item.ordrInnb}'); return false;">주문번호 : \${item.ordrInnb}</a>
</p>
<p class="myQnaList__info__question">
<span class="category">\${answCn}</span>
@@ -284,7 +285,6 @@
<div class="sub-page">
<div class="myQnaList">
<div class="sub-box">
<c:set value="${resultMap.bbsInfo}" var = "bbsInfo"/>
<input type = "hidden" value = "<c:out value="${bbsInfo.bbsId}"/>" id = "bbsId">
<input type = "hidden" value = "<c:out value="${bbsInfo.bbsTyCd}"/>" id = "bbsTyCd">
<input type = "hidden" name="slangFlterUseAt" id = "slangFlterUseAt" value = "<c:out value="${bbsInfo.slangFlterUseAt}"/>">

View File

@@ -196,7 +196,8 @@
div += '<a href="javascript:void(0);" onclick="fn_call_dlvy_sweettracker_pop(\'' + row.ordrInnb + '\');" class="btn outline">배송조회</a>';
if ('Y' === row.purchsDcsnAt) {
div += '<a href="javascript:void(0);" onclick="fn_call_refund_pop(\'' + row.sopmalCd + '\', \'' + row.ordrInnb + '\', \'' + row.ordrRceptDt + '\', \'' + row.setleTyCd + '\', \'' + row.ordrSttusCd + '\');" class="btn-ordr-sttus btn gray">반품신청</a>';
<%-- div += '<a href="javascript:void(0);" onclick="fn_call_refund_pop(\'' + row.sopmalCd + '\', \'' + row.ordrInnb + '\', \'' + row.ordrRceptDt + '\', \'' + row.setleTyCd + '\', \'' + row.ordrSttusCd + '\');" class="btn-ordr-sttus btn gray">반품신청</a>'; --%>
div += '<a href="javascript:void(0);" onclick="fn_pop_m2mqna_regist(\'' + row.ordrInnb + '\');" class="btn-ordr-sttus btn gray">반품신청</a>';
div += '<a href="javascript:void(0);" onclick="fn_post_purchs_dcsn_by_ordr_confirm(\'' + row.sopmalCd + '\', \'' + row.ordrInnb + '\');" class="btn-ordr-sttus btn theme">구매확정</a>';
} else {
<%--div += '<a href="javascript:void(0);" class="btn-ordr-sttus btn gray">구매확정</a>';--%>
@@ -714,6 +715,29 @@
const fn_set_dlvylc_3 = () => {
location.reload();
}
/********************************************************************
* 1:1 문의 등록폼 호출 (C)
********************************************************************/
const fn_pop_m2mqna_regist = (ordrInnb) => {
$.ajax({
type: "post",
data: {
authDv: "REGIST",
reqUrl: "modal",
bbsId: "mbrqna",
ordrInnb: ordrInnb,
reqDv: "m2m"
},
url: "/sopmal/csc/selectBbscttAuth",
success: function (data) {
$("#modalDiv").html(data);
MicroModal.init();
closeModal("authPop");
openModal2("authPop");
}
});
}
</script>
</head>
<body>

View File

@@ -25,7 +25,7 @@
fn_dlvy_event();
MicroModal.init();
// MicroModal.init();
});
/* ********************************************************
@@ -612,7 +612,30 @@
window.open(url, "", status);
}
/********************************************************************
* 1:1 문의 등록폼 호출 (C)
********************************************************************/
const fn_pop_m2mqna_regist = (ordrInnb) => {
$.ajax({
type: "post",
data: {
authDv: "REGIST",
reqUrl: "modal",
bbsId: "mbrqna",
ordrInnb: ordrInnb,
reqDv: "m2m"
},
url: "/sopmal/csc/selectBbscttAuth",
success: function (data) {
$('#authPop').remove();
$("#modalDiv").html(data);
openModal2('authPop');
// MicroModal.init();
// closeModal("authPop");
// openModal2("authPop");
}
});
}
</script>
</head>
<body>
@@ -721,7 +744,7 @@
<c:when test="${goods.ordrSttusCd > 54 && goods.ordrSttusCd < 76 && order.sknEnvrnCd ne 'POS'}">
<a href="javascript:void(0);" onclick="fn_call_dlvy_sweettracker_pop('${order.ordrInnb}');" class="btn outline sm full">배송조회</a>
<c:if test="${ goods.purchsDcsnAt eq 'N' }">
<a href="javascript:void(0);" class="btn gray sm full" style="margin-top: 5px;" onclick="fn_call_refund_pop('${order.sopmalCd}', '<c:out value="${order.ordrInnb}"/>','<c:out value="${setleDt}"/>', '<c:out value="${setleTyCd}"/>', '<c:out value="${order.ordrSttusCd}"/>');">반품신청</a>
<a href="javascript:void(0);" class="btn gray sm full" style="margin-top: 5px;" onclick="fn_pop_m2mqna_regist('<c:out value="${order.ordrInnb}"/>');">반품신청</a>
</c:if>
<c:choose>
<c:when test="${goods.itemOrdrSttusCd > 54 && goods.itemOrdrSttusCd < 76 && goods.purchsDcsnAt eq 'N'}">
@@ -866,7 +889,7 @@
<c:when test="${goods.ordrSttusCd > 54 && goods.ordrSttusCd < 76 && order.sknEnvrnCd ne 'POS'}">
<a href="javascript:void(0);" onclick="fn_call_dlvy_sweettracker_pop('${order.ordrInnb}');" class="btn outline sm full">배송조회</a>
<c:if test="${ goods.purchsDcsnAt eq 'N' }">
<a href="javascript:void(0);" class="btn gray sm full" style="margin-top: 5px;" onclick="fn_call_refund_pop('${order.sopmalCd}', '<c:out value="${order.ordrInnb}"/>','<c:out value="${setleDt}"/>', '<c:out value="${setleTyCd}"/>', '<c:out value="${order.ordrSttusCd}"/>');">반품신청</a>
<a href="javascript:void(0);" class="btn gray sm full" style="margin-top: 5px;" onclick="fn_pop_m2mqna_regist('<c:out value="${order.ordrInnb}"/>');">반품신청</a>
</c:if>
<c:choose>
<c:when test="${goods.itemOrdrSttusCd > 54 && goods.itemOrdrSttusCd < 76 && goods.purchsDcsnAt eq 'N'}">