Преглед на файлове

이태영 - 20210422 KCP IP ADDRESS 수정 (비회원 IP 조회)

xodud1202 преди 5 години
родител
ревизия
159ff10085
променени са 1 файла, в които са добавени 9 реда и са изтрити 5 реда
  1. 9 5
      src/main/java/com/style24/core/biz/service/TscKcpService.java

+ 9 - 5
src/main/java/com/style24/core/biz/service/TscKcpService.java

@@ -8,6 +8,8 @@ import org.springframework.core.env.Environment;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.StringUtils;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
 
 import com.gagaframework.web.parameter.GagaMap;
 import com.kcp.J_PP_CLI_N;
@@ -215,21 +217,18 @@ public class TscKcpService {
 	/**
 	 * KCP 취소 (pgTid, regNo, updNo)
 	 * ** 주문 로직 진행 중 에러로 인한 취소
-	 * result.setIpAddress(request.getRemoteAddr());
 	 * result.setPayStat(TscConstants.PaymentStat.DB_FAIL.value());
 	 * result.setPayGb("E");	// O:주문시결제, D:배송시결제, E:에러(강제 결제 태울 때 또는 에러일 때)
 	 * result.setModType("STSC");
 	 * result.setModDesc("가맹점 결과 처리 오류 - 가맹점에서 취소 요청");
 	 *
 	 * ** 전체취소 필요 정보
-	 * result.setIpAddress(request.getRemoteAddr());
 	 * param.setPayStat(TscConstants.PaymentStat.PAYMENT_CANCEL.value());
 	 * param.setPayGb("O");				// O:주문시결제, D:배송시결제, E:에러(강제 결제 태울 때 또는 에러일 때)
 	 * param.setModType("STSC");		// 전체취소
 	 * param.setModDesc("가맹점 취소 - 전체 취소");
 	 *
 	 * ** 부분취소 필요 정보
-	 * result.setIpAddress(request.getRemoteAddr());
 	 * param.setPayStat(TscConstants.PaymentStat.PAYMENT_CANCEL.value());
 	 * param.setPayGb("O");				// O:주문시결제, D:배송시결제, E:에러(강제 결제 태울 때 또는 에러일 때)
 	 * param.setModType("STPC");
@@ -255,6 +254,8 @@ public class TscKcpService {
 	@Transactional("shopTxnManager")
 	public void kcpCancel(Payment param) {
 		// try {	request.setCharacterEncoding("euc-kr");	} catch(Exception e) {e.printStackTrace();}
+		HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.currentRequestAttributes()).getRequest();
+		String cust_ip = request.getRemoteAddr();
 
 		J_PP_CLI_N c_PayPlus = new J_PP_CLI_N();
 		Payment payment = new Payment();
@@ -287,9 +288,10 @@ public class TscKcpService {
 			c_PayPlus.mf_set_us( mod_data_set_no, "mod_depositor", param.getAccountNm());		// 환불 요청 계좌주명
 		}
 
+		// 일반 취소의 모듈 실행 mf_do_tx 에는 값이 안들어가고, 무통장입금 환불계좌 취소에는 custIp가 들어가도록 되어있어 계좌취소용 변수 사용
 		String custIp = "";
 		if("STHD".equals(param.getModType()) || "STPD".equals(param.getModType())) {
-			custIp = f_get_parm(param.getIpAddress());
+			custIp = request.getRemoteAddr();
 		}
 
 		param.setTranCd("00200000");
@@ -367,7 +369,9 @@ public class TscKcpService {
 		c_PayPlus.mf_init( "", pgUrl, pgPort, 0, env.getProperty("pg.kcp.log.dir") );
 		c_PayPlus.mf_init_set();
 
-		String custIp = custAccount.getIpAddress();
+		HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.currentRequestAttributes()).getRequest();
+		String custIp = request.getRemoteAddr();
+		//String custIp = custAccount.getIpAddress();
 		String ordNo = String.valueOf(custAccount.getOrdNo());
 		String bankCode = custAccount.getBankCd();
 		String accountNo = custAccount.getAccountNo();