Просмотр исходного кода

마이페이지 반품 임시 커밋

card007 5 лет назад
Родитель
Сommit
f90e6176f9

+ 11 - 2
src/main/java/com/style24/front/biz/service/TsfOrderService.java

@@ -7,10 +7,10 @@ import java.util.List;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
-import org.thymeleaf.util.StringUtils;
 
 import com.gagaframework.web.parameter.GagaMap;
 import com.style24.core.biz.dao.TscOrderDao;
@@ -326,8 +326,16 @@ public class TsfOrderService {
 				result.setUpdNo(param.getCustNo());
 				result.setRegNo(param.getCustNo());
 			}
+			
+			// 결제구분 처리
+			if (StringUtils.isBlank(param.getPayGb())) {
+				result.setPayGb("O");
+			} else {
+				result.setPayGb(param.getPayGb());
+			}
+
 			result.setPaySq(param.getPaySq());
-			result.setPayGb("O");
+			result.setOrdChgSq(param.getOrdChgSq());
 
 			// TB_PAYMENT 등록. 실패시 PG 환불.
 			if(coreOrderDao.insertPayment(result) < 1) {
@@ -395,6 +403,7 @@ public class TsfOrderService {
 	 */
 	public Order getPaymentInfoForMypage(Order order) {
 		order.setPayStat(TscConstants.PaymentStat.PAYMENT_COMPLETE.value());
+		order.setPayGb(TscConstants.PaymentGb.ORDER.value());
 		return orderDao.getPaymentInfoForMypage(order);
 	}
 

+ 41 - 14
src/main/java/com/style24/front/biz/web/TsfMypageController.java

@@ -623,14 +623,14 @@ public class TsfMypageController extends TsfBaseController {
 		// 2. 환불 사전 정보 조회
 		GagaMap refundPreInfo = orderChangeService.getRefundPreInfo(orderChange);
 		List<Order> returnReqList = (List<Order>)refundPreInfo.get("cnclReqList");
-		String allCanYn = refundPreInfo.getString("allCanYn");
 		String allLastCanYn = refundPreInfo.getString("allLastCanYn");
 
-		// 2. 환불금액계산
+		// 3. 환불금액계산
 		GagaMap result = coreOrderRefundService.cnclRtnRefundAmt(returnReqList);
 
-		// 3. 주문변경 기본정보 설정
+		// 4. 주문변경 기본정보 설정
 		result.set("ordNo", orderChange.getOrdNo());					// 주문번호
+		result.setInt("custNo", custNo);								// 고객번호
 		// result.set("ordChgSq", orderChange.getOrdChgSq());			// 주문변경번호
 		result.set("chgReason", orderChange.getChgReason());			// 변경사유
 		result.set("chgMemo", orderChange.getChgMemo());				// 변경메모
@@ -639,19 +639,12 @@ public class TsfMypageController extends TsfBaseController {
 		result.set("accountNm", orderChange.getAccountNm());			// 환불계좌예금주명
 		result.set("bankCd", orderChange.getBankCd());					// 환불계좌은행코드
 
-		// result.set("allCanYn", allCanYn);								// 무통장입금전 전체취소 여부
 		result.setString("allLastCanYn", allLastCanYn);					// 전체 마지막 취소 여부
 		result.set("isCustomer", orderChange.getIsCustomer());			// 변경사유 (고객, 회사)
 		result.set("wdGb", orderChange.getWdGb());						// 회수방법
 		result.set("wdInvoiceNo", orderChange.getWdInvoiceNo());		// 회수송장번호
 
-		result.setString("ipAddress", TsfSession.getIpAddress());			// IP주소
-		result.setInt("custNo", custNo);									// 고객번호
-		result.setString("pgTid", refundPreInfo.getString("pgTid"));		// PG거래ID
-		result.setString("payMeans", refundPreInfo.getString("payMeans"));	// 결제수단
-		result.setString("pgGb", refundPreInfo.getString("pgGb"));			// PG구분
-
-		// 4. 주문변경 회수지정보 추가
+		// 5. 주문변경 회수지정보 추가
 		result.set("chgerNm", orderChange.getChgerNm());				// 변경자명
 		result.set("chgerEmail", orderChange.getChgerEmail());			// 변경자이메일주소
 		result.set("chgerZipcode", orderChange.getChgerZipcode());		// 회수지우편번호
@@ -661,15 +654,49 @@ public class TsfMypageController extends TsfBaseController {
 		result.set("chgerTelno", orderChange.getChgerTelno());			// 변경자전화번호
 		result.set("chgerRtnMemo", orderChange.getChgerRtnMemo());		// 반품메모
 
-		// 5. 주문변경 DB 등록 (TB_ORDER_CHANGE, TB_ORDER_CHANGE_DETAIL, TB_REFUND)
-		coreOrderChangeService.rtnReq(result, custNo);
+		// 6. 주문변경 DB 등록 (TB_ORDER_CHANGE, TB_ORDER_CHANGE_DETAIL, TB_REFUND)
+		coreOrderChangeService.returnRequest(result);
+		// coreOrderChangeService.rtnReq(result, custNo);
 
 		result.set("status", GagaResponseStatus.SUCCESS.getCode());
-		result.set("message", message.getMessage("RETURN_0001"));
+		if (orderChange.getAddPayCost() == 0) {
+			result.set("message", message.getMessage("RETURN_0001"));
+		}
 
 		return result;
 	}
 
+	/**
+	 * 반품요청철회
+	 * 
+	 * @param OrderChange
+	 * @return GagaResponse
+	 * @author card007
+	 * @since 2021. 04. 20
+	 */
+	@PostMapping("/return/cancel")
+	@ResponseBody
+	public GagaResponse rtnReqCancel(@RequestBody OrderChange orderChange) {
+
+		if (orderChange== null) {
+			throw new IllegalStateException(message.getMessage("FAIL_1001"));
+		}
+
+		// 1. 반품요청철회 정보 설정
+		int custNo = TsfSession.isLogin() ? TsfSession.getInfo().getCustNo() : 0;
+		GagaMap map = new GagaMap();
+		map.set("ordNo"			, orderChange.getOrdNo());
+		map.set("ordChgSq"		, orderChange.getOrdChgSq());
+		map.set("custNo"		, custNo);
+		map.set("ipAddress"		, TsfSession.getIpAddress());
+
+		// 2.반품요청철회 
+		coreOrderChangeService.rtnReqCancel(map, custNo);
+
+		return super.ok(message.getMessage("RETURN_0002"));
+		// return super.ok();
+	}
+
 	/**
 	 * 마이페이지 취소신청 화면
 	 *

+ 16 - 7
src/main/java/com/style24/front/biz/web/TsfOrderController.java

@@ -15,11 +15,11 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.servlet.ModelAndView;
-import org.springframework.web.servlet.mvc.support.RedirectAttributes;
 
 import com.gagaframework.web.parameter.GagaMap;
 import com.style24.core.biz.service.TscFreegiftService;
 import com.style24.core.biz.service.TscOrderService;
+import com.style24.core.support.env.TscConstants;
 import com.style24.core.support.message.TscMessageByLocale;
 import com.style24.front.biz.service.TsfCartService;
 import com.style24.front.biz.service.TsfOrderService;
@@ -1169,6 +1169,7 @@ public class TsfOrderController extends TsfBaseController {
 		
 		// 3. 화면전송변수설정
 		mav.addObject("orderAddPayGoodsList"	, orderAddPayGoodsList);					// 주문목록정보
+		mav.addObject("ordNo"					, resultMap.get("ordNo"));					// 주문번호
 		mav.addObject("refundAmt"				, resultMap.get("refundAmt"));				// 상품환불금액
 		mav.addObject("addPayCost"				, resultMap.get("addPayCost"));				// 추가결제금액
 		mav.addObject("ordChgSq"				, resultMap.get("ordChgSq"));				// 주문취소신청번호
@@ -1202,7 +1203,8 @@ public class TsfOrderController extends TsfBaseController {
 			order.setJsessionId(TsfSession.getSessionId());
 			order.setCustNo(0);
 		}
-		
+
+		log.info("order.getOrdNo()             ::: {}", order.getOrdNo());
 		log.info("order.getPgGb()              ::: {}", order.getPgGb());
 		log.info("order.getPayMeans()          ::: {}", order.getPayMeans());
 		log.info("order.getOrdChgSq()          ::: {}", order.getOrdChgSq());
@@ -1210,8 +1212,11 @@ public class TsfOrderController extends TsfBaseController {
 		log.info("order.getAddPayCost()        ::: {}", order.getAddPayCost());
 		log.info("order.getChgerNm()           ::: {}", order.getChgerNm());
 		log.info("order.getChgerPhnno()        ::: {}", order.getChgerPhnno());
+
+		// int ordNo = order.getOrdNo();
+
+		// order.setOrdNo(order.getOrdChgSq());
 		
-		order.setOrdNo(order.getOrdChgSq());
 		order.setPayAmt(order.getAddPayCost());
 		order.setOrdNm(order.getChgerNm());
 		order.setOrdPhnno(order.getChgerPhnno());
@@ -1232,7 +1237,9 @@ public class TsfOrderController extends TsfBaseController {
 		*/
 
 		Payment payment = orderService.setPgDataInfo(order);
-		mav.addObject("payment"	, payment);
+		payment.setOrdChgSq(order.getOrdChgSq());
+		log.info("ordChgSq >>> {}", order.getOrdChgSq());
+		mav.addObject("payment", payment);
 		mav.setViewName(super.getDeviceViewName("pg/kcpOrder"));
 
 		return mav;
@@ -1266,13 +1273,15 @@ public class TsfOrderController extends TsfBaseController {
 			order.setRegNo(0);
 			order.setUpdNo(0);
 		}
-		
+		param.setPayGb(TscConstants.PaymentGb.DELIVERY.value());
 		param.setUpdNo(param.getCustNo());
-		
+		log.info("payment >>> {}", param);
 		// 2. 결재정보등록(TB_PAYMENT)
+		order.setOrdNo(param.getOrdNo());
+
 		param = orderService.orderPgPayResult(param, request, response);
 		
-		order.setOrdChgSq(param.getOrdNo());
+		order.setOrdChgSq(param.getOrdChgSq());
 		
 		// 3. 추가결제 상품목록
 		GagaMap resultMap = coreOrderService.getAddPayOrderListInfo(order);

+ 1 - 1
src/main/java/com/style24/persistence/mybatis/shop/TsfOrder.xml

@@ -157,7 +157,7 @@
 				#{item}
 			</foreach>
 		</if>
-									  AND OCD.CHG_STAT IN ('G685_20', 'G685_30', 'G685_33', 'G685_40')
+									  AND OCD.CHG_STAT IN ('G685_20', 'G685_21','G685_30', 'G685_31', 'G685_32', 'G685_33', 'G685_34', 'G685_50', 'G685_51')
 									GROUP BY OCD.ORD_DTL_NO
 								  ) OCD
 				    ON OD.ORD_DTL_NO = OCD.ORD_DTL_NO

+ 23 - 8
src/main/java/com/style24/persistence/mybatis/shop/TsfOrderChange.xml

@@ -119,7 +119,7 @@
 		                               ON OCD.ORD_DTL_NO = OD.ORD_DTL_NO
 		                            WHERE OD.ORD_NO =  #{ordNo}
 		                              AND OCD.DEL_YN = 'N'
-		                              AND OCD.CHG_STAT IN ('G685_20', 'G685_30', 'G685_33', 'G685_40')
+		                              AND OCD.CHG_STAT IN ('G685_20', 'G685_21','G685_30', 'G685_31', 'G685_32', 'G685_33', 'G685_34', 'G685_50', 'G685_51')
 		                            GROUP BY OCD.ORD_DTL_NO
 		                          ) OCD
 		            ON OD.ORD_DTL_NO = OCD.ORD_DTL_NO
@@ -136,7 +136,7 @@
 		           AND O.ORD_NM = #{orderNm}
 			</otherwise>
 		</choose>
-		<if test="supplyCompCd != null and supplyCompCd != ''">
+		<if test="delvFeeCd != null and delvFeeCd != ''">
 		           AND OD.DELV_FEE_CD = #{delvFeeCd}
 		</if>
 		           AND O.DISP_YN = 'Y'
@@ -262,7 +262,7 @@
 		                               ON OCD.ORD_DTL_NO = OD.ORD_DTL_NO
 		                            WHERE OD.ORD_NO = #{ordNo}
 		                              AND OCD.DEL_YN = 'N'
-		                              AND OCD.CHG_STAT IN ('G685_20', 'G685_30', 'G685_33', 'G685_40')
+		                              AND OCD.CHG_STAT IN ('G685_20', 'G685_21','G685_30', 'G685_31', 'G685_32', 'G685_33', 'G685_34', 'G685_50', 'G685_51')
 		                            GROUP BY OCD.ORD_DTL_NO
 		                          ) OCD
 		            ON OD.ORD_DTL_NO = OCD.ORD_DTL_NO
@@ -282,7 +282,7 @@
 		<if test="ordNo != null and ordNo != ''">
 		           AND O.ORD_NO = #{ordNo}
 		</if>
-		<if test="supplyCompCd != null and supplyCompCd != ''">
+		<if test="delvFeeCd != null and delvFeeCd != ''">
 		           AND OD.DELV_FEE_CD = #{delvFeeCd}
 		</if>
 		       ) Z
@@ -353,13 +353,14 @@
 		 INNER JOIN TB_PAYMENT P
 		    ON P.ORD_NO = O.ORD_NO
 		   AND P.PAY_STAT = 'G016_30'
-		  LEFT OUTER JOIN (SELECT OD.ORD_DTL_NO
+		   AND P.PAY_GB = 'O'
+		  LEFT OUTER JOIN (SELECT OCD.ORD_DTL_NO
 		                        , SUM(OCD.CHG_QTY) AS ORD_REQ_CHG_QTY
 		                     FROM TB_ORDER_CHANGE_DETAIL OCD
 		                    INNER JOIN TB_ORDER_DETAIL OD
 		                       ON OCD.ORD_DTL_NO = OD.ORD_DTL_NO
 		                    WHERE OCD.DEL_YN = 'N'
-		                      AND OCD.CHG_STAT IN ('G685_20', 'G685_30', 'G685_33', 'G685_40')
+		                      AND OCD.CHG_STAT IN ('G685_20', 'G685_21','G685_30', 'G685_31', 'G685_32', 'G685_33', 'G685_34', 'G685_50', 'G685_51')
 		                    GROUP BY OCD.ORD_DTL_NO
 		                  ) OCD
 		    ON OD.ORD_DTL_NO = OCD.ORD_DTL_NO
@@ -495,7 +496,7 @@
 		 GROUP BY Z.ORD_NO, Z.ORD_DTL_NO, Z.ORD_DTL_ITEM_SQ, Z.ITEM_CD, Z.OPT_CD1, Z.OPT_CD2
 				, Z.COLOR_NM, Z.GOODS_TYPE, Z.SELF_GOODS_YN, Z.ITEM_NM, Z.GOODS_STAT
 	</select>
-	
+
 	<!-- 마이페이지 취반교 내역 조회 -->
 	<select id="getCreList" parameterType="OrderChange" resultType="OrderChange">
 		/* TsfOrderChange.getCreList */
@@ -556,7 +557,21 @@
 		          FROM TB_ORDER_CHANGE OC
 		         INNER JOIN TB_ORDER_CHANGE_DETAIL OCD
 		            ON OC.ORD_CHG_SQ = OCD.ORD_CHG_SQ
-		         INNER JOIN TB_ORDER_CHANGE_DETAIL_HST OCDH
+		          LEFT OUTER JOIN (SELECT ORD_CHG_SQ
+		                                , ORD_DTL_NO
+		                                , CHG_STAT
+		                                , MAX(REG_DT) AS REG_DT
+		                             FROM TB_ORDER_CHANGE_DETAIL_HST
+		<where>
+			<if test="ordChgSqArr != null">
+			                        AND ORD_CHG_SQ IN
+				<foreach collection="ordChgSqArr" item="item" index="index"  open="(" close=")" separator=",">
+				#{item}
+				</foreach>
+			</if>
+		</where>
+		                            GROUP BY ORD_CHG_SQ, ORD_DTL_NO, CHG_STAT
+		                            ) OCDH
 		            ON OCD.ORD_CHG_SQ = OCDH.ORD_CHG_SQ
 		           AND OCD.ORD_DTL_NO = OCDH.ORD_DTL_NO
 		           AND OCD.CHG_STAT = OCDH.CHG_STAT

+ 2 - 0
src/main/resources/i18n/messages/message_ko_KR.properties

@@ -95,9 +95,11 @@ COUPON_0002=\uC774\uBBF8 \uB2E4\uC6B4\uB85C\uB4DC\uB97C \uC644\uB8CC \uD558\uC16
 
 #\uAD50\uD658
 EXCHANGE_0001=\uAD50\uD658 \uC2E0\uCCAD\uC774 \uC811\uC218\uB418\uC5C8\uC2B5\uB2C8\uB2E4.
+EXCHANGE_0002=\uAD50\uD658 \uC2E0\uCCAD\uC774 \uCDE8\uC18C\uB418\uC5C8\uC2B5\uB2C8\uB2E4.
 
 #\uBC18\uD488
 RETURN_0001=\uBC18\uD488 \uC2E0\uCCAD\uC774 \uC811\uC218\uB418\uC5C8\uC2B5\uB2C8\uB2E4.
+RETURN_0002=\uBC18\uD488 \uC2E0\uCCAD\uC774 \uCDE8\uC18C\uB418\uC5C8\uC2B5\uB2C8\uB2E4.
 
 #\uCDE8\uC18C
 CANCEL_0001=\uC8FC\uBB38 \uCDE8\uC18C\uAC00 \uC644\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4.

+ 4 - 0
src/main/webapp/WEB-INF/views/web/common/layout/MypageLayoutWeb.html

@@ -36,6 +36,10 @@
 			<input type="hidden" name="goodsCd"/>
 			<input type="hidden" name="reviewStat"/>
 		</form>
+		<form id="addPaymentForm" name="addPaymentForm" action="/order/addPaymentForm" method="post">
+			<input type="hidden" name="ordNo"/>
+			<input type="hidden" name="ordChgSq"/>
+		</form>
 	</div>
 </div>
 

+ 1 - 1
src/main/webapp/WEB-INF/views/web/mypage/MypageCreExchangeDetailFormWeb.html

@@ -97,7 +97,7 @@
 										</div>
 										<div class="button_box">
 											<p th:if="${exchangeDtl.chgStat == 'G685_20' or exchangeDtl.chgStat == 'G685_21'}"><button type="button" class="btn btn_default btn_sm" th:attr="ordChgSq=${exchangeDtl.ordChgSq}" onclick="fnCreCancel(this);"><span>신청취소</span></button></p>
-											<p th:if="${exchangeDtl.chgStat == 'G685_32' or exchangeDtl.chgStat == 'G685_21'}"><button type="button" class="btn btn_default btn_sm" th:attr="ordChgSq=${exchangeDtl.ordChgSq}" onclick="fnCrePayAddCost(this);"><span>결제하기</span></button></p>
+											<p th:if="${exchangeDtl.chgStat == 'G685_32' or exchangeDtl.chgStat == 'G685_21'}"><button type="button" class="btn btn_default btn_sm" th:attr="ordNo=${exchangeDtl.ordNo}, ordChgSq=${exchangeDtl.ordChgSq}" onclick="fnCrePayAddCost(this);"><span>결제하기</span></button></p>
 											<p><button type="button" class="btn btn_default btn_sm" onclick="cfnGoToPage(_PAGE_ONETOONE_QNA_REG);"><span>1:1 문의</span></button></p>
 										</div>
 									</div>

+ 2 - 16
src/main/webapp/WEB-INF/views/web/mypage/MypageCreListFormWeb.html

@@ -368,10 +368,10 @@
 					tag += '										</div>\n';
 					tag += '										<div class="button_box">\n';
 					if (cre.chgStat == 'G685_20' || cre.chgStat == 'G685_21' || cre.chgStat == 'G685_50' || cre.chgStat == 'G685_51') {
-						tag += '											<p><button type="button" class="btn btn_default btn_sm" ordChgSq="' + cre.ordChgSq + '" onclick="fnCreCancel(this);"><span>신청취소</span></button></p>\n';
+						tag += '											<p><button type="button" class="btn btn_default btn_sm" ordNo="' + cre.ordNo + '" ordChgSq="' + cre.ordChgSq + '" cancelGb="' + cre.chgGb + '" onclick="fnCreCancel(this);"><span>신청취소</span></button></p>\n';
 					}
 					if (cre.chgStat == 'G685_21' || cre.chgStat == 'G685_51' || cre.chgStat == 'G685_32') {
-						tag += '											<p><button type="button" class="btn btn_default btn_sm" ordChgSq="' + cre.ordChgSq + '" onclick="fnCrePayAddCost(this);"><span>결제하기</span></button></p>\n';
+						tag += '											<p><button type="button" class="btn btn_default btn_sm" ordNo="' + cre.ordNo + '" ordChgSq="' + cre.ordChgSq + '" onclick="fnCrePayAddCost(this);"><span>결제하기</span></button></p>\n';
 					}
 					if (cre.chgStat == 'G685_40') {
 						tag += '											<p><button type="button" class="btn btn_default btn_sm" ordDtlNo="' + cre.ordDtlNo + '" onclick="fnGoToDeliveryTrack(this);"><span>배송조회</span></button></p>\n';
@@ -484,20 +484,6 @@
 		}
 	}
 	
-	// 취반교 신청 취소 버튼 클릭 이벤트
-	var fnCreCancel = function(param) {
-		let ordChgSq = $(param).attr('ordChgSq');
-		// TODO
-		// 취반교 신청 철회 처리
-	}
-	
-	// 취반교 결제하기 버튼 클릭 이벤트
-	var fnCrePayAddCost = function(param) {
-		let ordChgSq = $(param).attr('ordChgSq');
-		// TODO
-		// 취반교 추가 배송비 결제 화면 이동 처리
-	}
-	
 	// 취반교 배송조회 버튼 클릭 이벤트
 	var fnGoToDeliveryTrack = function(param) {
 		let ordDtlNo = $(param).attr('ordDtlNo');

+ 5 - 5
src/main/webapp/WEB-INF/views/web/mypage/MypageCreReturnDetailFormWeb.html

@@ -89,13 +89,13 @@
 											</p>
 										</div>
 										<div class="button_box">
-											<p th:if="${returnDtl.chgStat == 'G685_50' or returnDtl.chgStat == 'G685_51'}"><button type="button" class="btn btn_default btn_sm" th:attr="ordChgSq=${returnDtl.ordChgSq}" onclick="fnCreCancel(this);"><span>신청취소</span></button></p>
-											<p th:if="${returnDtl.chgStat == 'G685_32' or returnDtl.chgStat == 'G685_51'}"><button type="button" class="btn btn_default btn_sm" th:attr="ordChgSq=${returnDtl.ordChgSq}" onclick="fnCrePayAddCost(this);"><span>결제하기</span></button></p>
+											<p th:if="${returnDtl.chgStat == 'G685_50' or returnDtl.chgStat == 'G685_51'}"><button type="button" class="btn btn_default btn_sm" th:attr="ordNo=${returnDtl.ordNo}, ordChgSq=${returnDtl.ordChgSq}, cancelGb=${returnDtl.chgGb}" onclick="fnCreCancel(this);"><span>신청취소</span></button></p>
+											<p th:if="${returnDtl.chgStat == 'G685_32' or returnDtl.chgStat == 'G685_51'}"><button type="button" class="btn btn_default btn_sm" th:attr="ordNo=${returnDtl.ordNo}, ordChgSq=${returnDtl.ordChgSq}" onclick="fnCrePayAddCost(this);"><span>결제하기</span></button></p>
 											<p><button type="button" class="btn btn_default btn_sm" onclick="cfnGoToPage(_PAGE_ONETOONE_QNA_REG);"><span>1:1 문의</span></button></p>
 										</div>
 									</div>
 									<!-- 반품결제대기 -->
-									<div class="order_text" th:if="${returnDtl.chgStat == 'G685_51' or (returnDtl.chgGb == 'G680_30' and returnDtl.chgStat == 'G685_32')}"><p th:text="|${returnDtl.addPayCost}|원 결제 후 반품 가능합니다."></p></div>
+									<div class="order_text" th:if="${returnDtl.chgStat == 'G685_51' or (returnDtl.chgGb == 'G680_30' and returnDtl.chgStat == 'G685_32')}"><p th:text="|${returnDtl.addPayCost}원 결제 후 반품 가능합니다.|"></p></div>
 									<!-- 교환접수 -->
 									<div class="order_text" th:if="${returnDtl.chgStat == 'G685_50'}"><p>반품 신청이 접수 되었습니다. 신속하게 처리하여 드리겠습니다.</p></div>
 									<!-- 회수요청 -->
@@ -204,11 +204,11 @@
 											</div>
 											<div class="include_item">
 												<dt>배송비</dt>
-												<dd><em th:text="${#numbers.formatInteger(oneData.rfDeliveryFee, 1, 'COMMA')}"></em>원</dd>
+												<dd><em th:text="${#numbers.formatInteger(-oneData.rfDeliveryFee, 1, 'COMMA')}"></em>원</dd>
 											</div>
 											<div class="include_item">
 												<dt>할인 금액 차감</dt>
-												<dd><em th:text="${#numbers.formatInteger((oneData.rfCpn1Amt + oneData.rfTmtb1Amt + oneData.rfTmtb2Amt + oneData.rfGoodsCpnAmt + oneData.rfCartCpnAmt + oneData.rfPrePntAmt) * -1, 1, 'COMMA')}"></em>원</dd>
+												<dd><em th:text="${#numbers.formatInteger(-(oneData.rfCpn1Amt + oneData.rfTmtb1Amt + oneData.rfTmtb2Amt + oneData.rfGoodsCpnAmt + oneData.rfCartCpnAmt + oneData.rfPrePntAmt), 1, 'COMMA')}"></em>원</dd>
 											</div>
 										</dl>
 									</td>

+ 18 - 8
src/main/webapp/WEB-INF/views/web/mypage/MypageReturnFormWeb.html

@@ -196,10 +196,10 @@
 												<th:block th:text="|${deliveryAddrInfo.recipBaseAddr} ${deliveryAddrInfo.recipDtlAddr}|"></th:block>
 												<button type="button" class="btn btn_default btn_sm" onclick="fnChangeDeliveryAddr();"><span>회수지 변경</span></button>
 											</td>
-											<input type="hidden" name="chgerZipcode" th:value="${deliveryAddrInfo.chgerZipcode}">
+											<input type="hidden" name="chgerZipcode" th:value="${deliveryAddrInfo.recipZipcode}">
 											<input type="hidden" name="chgerBaseAddr" th:value="${deliveryAddrInfo.recipBaseAddr}">
 											<input type="hidden" name="chgerDtlAddr" th:value="${deliveryAddrInfo.recipDtlAddr}">
-											<input type="hidden" name="chgerRtnMemo" th:value="${deliveryAddrInfo.chgerRtnMemo}">
+											<input type="hidden" name="chgerRtnMemo" th:value="${deliveryAddrInfo.delvMemo}">
 										</tr>
 									</tbody>
 								</table>
@@ -263,7 +263,7 @@
 												</div>
 												<div class="include_item">
 													<dt>배송비</dt>
-													<dd><em id="deliveryFee">0</em>원</dd>
+													<dd><em id="">0</em>원</dd>
 												</div>
 												<div class="include_item">
 													<dt>할인 금액 차감</dt>
@@ -346,7 +346,6 @@
 	let paymentInfo = [[${paymentInfo}]];
 	let isCustomer = true;
 	let jsonObj = {};
-	//let addPayCost = 0;
 
 	$(document).ready(function() {
 		// 마이페이지 LNB 설정
@@ -459,8 +458,18 @@
 
 		let jsonData = JSON.stringify(data);
 
-		gagajf.ajaxJsonSubmit(url, jsonData, function() {
-			cfnGoToPage(_PAGE_MYPAGE_CRE_LIST);
+		gagajf.ajaxJsonSubmit(url, jsonData, function(result) {
+			if (addPayCost > 0) {
+				// TODO
+				// 추가배송비 PG 처리
+				let ordChgSq = result.ordChgSq;
+				let ordNo = result.ordNo;
+				$('#addPaymentForm input[name=ordChgSq]').val(ordChgSq);
+				$('#addPaymentForm input[name=ordNo]').val(ordNo);
+				document.addPaymentForm.submit();
+			} else {
+				cfnGoToPage(_PAGE_MYPAGE_CRE_LIST);
+			}
 		});
 	}
 
@@ -493,7 +502,7 @@
 			data.ordNo = oneData.ordNo;
 			data.ordDtlNoArr = ordDtlNoArr;
 			data.cnclRtnReqQtyArr = cnclRtnReqQtyArr;
-console.log(data);
+
 			let jsonData = JSON.stringify(data);
 
 			gagajf.ajaxJsonSubmit(url, jsonData, function (result) {
@@ -531,7 +540,6 @@ console.log(data);
 				let deliveryFee = sumDeliveryFee - addDelvFee;								// 배송비
 				let deductDcAmt = 0 - spanCpnDcAmt - spanTmtbDcAmt - spanPrePntDcAmt;		// 할인금액 차감(쿠폰+다다익선+선포인트)
 				let refundPayAmt = spanRefundAmt - addDelvFee;								// 결제금액 환불
-				let returnAmt = refundPayAmt + refundPoint + refundGiftCard;				// 환불예정금액
 
 				// 추가배송비 영역 설정
 				if (refundPayAmt < 0) {
@@ -543,6 +551,8 @@ console.log(data);
 					$('#addDeliveryFee').css('display', 'none');
 					$('#returnForm input[name=addPayCost]').val(0);
 				}
+				
+				let returnAmt = refundPayAmt + refundPoint + refundGiftCard;				// 환불예정금액
 
 				// 금액 설정
 				$('#returnAmt').text(returnAmt.addComma());

+ 2 - 0
src/main/webapp/WEB-INF/views/web/order/OrderAddPaymentFormWeb.html

@@ -26,6 +26,7 @@
 
 <form class="form_wrap" name="addPayForm" id="addPayForm">
 	<input type="hidden" name="refundAmt" th:value="${refundAmt}">
+	<input type="hidden" name="ordNo" th:value="${ordNo}">
 	<input type="hidden" name="addPayCost" th:value="${addPayCost}">
 	<input type="hidden" name="ordChgSq" th:value="${ordChgSq}">
 	
@@ -181,6 +182,7 @@ $("#btn_payment").on("click", function(){
 	var orderData = {
 		"pgGb"					: pgGb
 		,"payMeans"				: payMeans // 네이버페이, 카카오페이
+		,"ordNo"				: $("#addPayForm input[name=ordNo]").val()
 		,"addPayCost"			: $("#addPayForm input[name=addPayCost]").val()
 		,"ordChgSq"				: $("#addPayForm input[name=ordChgSq]").val()
 		,"chgGb"				: $("#addPayForm input[name=chgGb]").val()

+ 1 - 0
src/main/webapp/WEB-INF/views/web/pg/kcpOrderWeb.html

@@ -8,6 +8,7 @@
 		<input type="hidden" name="cartSqArr"		th:value="${detail.cartSq}" />
 	</th:block>
 	<!-- 주문 데이터 -->
+	<input type="hidden" name="ordChgSq"	th:value="${payment.ordChgSq}" />
 	<input type="hidden" name="pgGb"		th:value="${payment.pgGb}" />
 	<input type="hidden" name="payMeans"	th:value="${payment.payMeans}" />
 

+ 45 - 0
src/main/webapp/biz/mypage.js

@@ -384,3 +384,48 @@ var fnReviewCreate = function(obj1,obj2,obj3) {
 		
 		document.createReview.submit();
 }
+
+// 취반교 신청 취소 버튼 클릭 이벤트
+var fnCreCancel = function(param) {
+	let ordNo = $(param).attr('ordNo');
+	let ordChgSq = $(param).attr('ordChgSq');
+	let cancelGb = $(param).attr('cancelGb');
+	let url;
+	let msg;
+
+	if (cancelGb == 'G680_30') {
+		// 반품신청철회
+		url = '/mypage/return/cancel';
+		msg = '반품 신청을 취소하시겠습니까?';
+	} else if (cancelGb == 'G680_40') {
+		// 교환신청철회
+		url = '/mypage/exchange/cancel';
+		msg = '교환 신청을 취소하시겠습니까?';
+	}
+
+	let data = {};
+	data.ordNo = ordNo;
+	data.ordChgSq = ordChgSq;
+	
+	let jsonData = JSON.stringify(data);
+	
+	mcxDialog.confirm(msg, {
+		cancelBtnText: "취소",
+		sureBtnText: "확인",
+		sureBtnClick: function() {
+			gagajf.ajaxJsonSubmit(url, jsonData, function(result) {
+				cfnGoToPage(_PAGE_MYPAGE_CRE_LIST);
+			});
+		}
+	});
+}
+
+// 취반교 결제하기 버튼 클릭 이벤트
+var fnCrePayAddCost = function(param) {
+	let ordChgSq = $(param).attr('ordChgSq');
+	let ordNo = $(param).attr('ordNo');
+
+	$('#addPaymentForm input[name=ordChgSq]').val(ordChgSq);
+	$('#addPaymentForm input[name=ordNo]').val(ordNo);
+	document.addPaymentForm.submit();
+}