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

마이페이지 취교반 교환상세 임시 커밋

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

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

@@ -217,12 +217,12 @@ public class TscKcpService {
 	 * @param param
 	 * @param request
 	 */
-	public void kcpPayRollBack(Payment param, HttpServletRequest request) {
+	public void kcpPayRollBack(Payment param) {
 		param.setPayStat(TscConstants.PaymentStat.DB_FAIL.value());
 		param.setPayGb("E");
 		param.setModType("STSC");
 		param.setModDesc("가맹점 결과 처리 오류 - 가맹점에서 취소 요청");
-		kcpCancel(param, request);
+		kcpCancel(param);
 	}
 
 	/**
@@ -230,12 +230,12 @@ public class TscKcpService {
 	 * @param param
 	 * @param request
 	 */
-	public void kcpPayCancelAll(Payment param, HttpServletRequest request) {
+	public void kcpPayCancelAll(Payment param) {
 		param.setPayStat(TscConstants.PaymentStat.PAYMENT_CANCEL.value());
 		param.setPayGb("O");
 		param.setModType("STSC");
 		param.setModDesc("가맹점 취소 - 전체 취소");
-		kcpCancel(param, request);
+		kcpCancel(param);
 	}
 
 	/**
@@ -243,17 +243,17 @@ public class TscKcpService {
 	 * @param param
 	 * @param request
 	 */
-	public void kcpPayCancelPart(Payment param, HttpServletRequest request) {
+	public void kcpPayCancelPart(Payment param) {
 		param.setPayStat(TscConstants.PaymentStat.PAYMENT_CANCEL.value());
 		param.setPayGb("O");
 		param.setModType("STPC");
 		param.setModDesc("가맹점 취소 - 부분 취소");
-		kcpCancel(param, request);
+		kcpCancel(param);
 	}
 
 	@Transactional("shopTxnManager")
-	public void kcpCancel(Payment param, HttpServletRequest request) {
-		try {	request.setCharacterEncoding("euc-kr");	} catch(Exception e) {e.printStackTrace();}
+	public void kcpCancel(Payment param) {
+		// try {	request.setCharacterEncoding("euc-kr");	} catch(Exception e) {e.printStackTrace();}
 
 		J_PP_CLI_N c_PayPlus = new J_PP_CLI_N();
 		Payment payment = new Payment();
@@ -264,12 +264,12 @@ public class TscKcpService {
 		int mod_data_set_no = c_PayPlus.mf_add_set("mod_data");
 		c_PayPlus.mf_set_us(mod_data_set_no, "tno"		, param.getPgTid());					// KCP 원거래 거래번호
 		c_PayPlus.mf_set_us(mod_data_set_no, "mod_type"	, param.getModType());					// 전체취소 STSC / 부분취소 STPC
-		c_PayPlus.mf_set_us(mod_data_set_no, "mod_ip"	, f_get_parm(request.getRemoteAddr()));	// 변경 요청자 IP
+		c_PayPlus.mf_set_us(mod_data_set_no, "mod_ip"	, f_get_parm(param.getIpAddress()));	// 변경 요청자 IP
 		c_PayPlus.mf_set_us(mod_data_set_no, "mod_desc"	, param.getModDesc());					// 변경 사유
 
 		if("STPC".equals(param.getModType())) {
 			c_PayPlus.mf_set_us( mod_data_set_no, "mod_mny", param.getPartCancelAmt() + "");	// 취소요청금액
-			c_PayPlus.mf_set_us( mod_data_set_no, "rem_mny", param.getLeftAmt() + "");		// 취소가능잔액
+			c_PayPlus.mf_set_us( mod_data_set_no, "rem_mny", param.getLeftAmt() + "");			// 취소가능잔액
 		}
 
 		param.setTranCd("00200000");
@@ -289,7 +289,7 @@ public class TscKcpService {
 				if ("STSC".equals(param.getModType())) {
 					payment.setPayAmt(-payment.getPayAmt());												// 전체 취소는 결제 금액 전체
 				} else {
-					payment.setPayAmt(-(Integer.parseInt(c_PayPlus.mf_get_res("panc_mod_mny"))));		// 부분 취소는 취소된 금액
+					payment.setPayAmt(-(Integer.parseInt(c_PayPlus.mf_get_res("panc_mod_mny"))));			// 부분 취소는 취소된 금액
 				}
 
 				if ("E".equals(param.getPayGb())) {			// 결제완료 로직 진행 중 에러 발생시

+ 11 - 11
src/main/java/com/style24/core/biz/service/TscOrderChangeService.java

@@ -163,17 +163,17 @@ public class TscOrderChangeService {
 		List<Order> cancelDelvRefundList 	= (List<Order>) mav.get("cancelDelvRefundList");	// 취소환불배송금액 목록 (DELV_FEE_CD 단위)
 				
 		// 3. 취소신청정보
-		int ordNo 			= Integer.parseInt(mav.getString("ordNo"));				// 주문번호
-		String chgReason 	= mav.getString("chgReason");							// 변경사유
-		String chgMemo 		= mav.getString("chgMemo");								// 변경메모
-		String allCanYn		= mav.getString("allCanYn");							// 무통장입금전 전체취소 여부
-		String isCustomer	= mav.getString("isCustomer");							// 귀책사유 (고객, 회사)
-		String chgGb		= TscConstants.OrderChangeGb.CANCEL.value(); 			// 취소요청 (공톹코드:G680)
-		String reqGbn		= mav.get("reqGbn").toString();							// 신청구분
-		String ordDtlStat;															// 주문상세상태
-		String chgStat;																// 주문변경상태
-		
-		if ("Y".equals(allCanYn)) {
+		int ordNo 							= Integer.parseInt(mav.getString("ordNo"));			// 주문번호
+		String chgReason 					= mav.getString("chgReason");						// 변경사유
+		String chgMemo 						= mav.getString("chgMemo");							// 변경메모
+		String allCanYnBeforePayment		= mav.getString("allCanYnBeforePayment");			// 무통장입금전 전체취소 여부
+		String isCustomer					= mav.getString("isCustomer");						// 귀책사유 (고객, 회사)
+		String chgGb						= TscConstants.OrderChangeGb.CANCEL.value(); 		// 취소요청 (공톹코드:G680)
+		String reqGbn						= mav.get("reqGbn").toString();						// 신청구분
+		String ordDtlStat;																		// 주문상세상태
+		String chgStat;																			// 주문변경상태
+		
+		if ("Y".equals(allCanYnBeforePayment)) {
 			ordDtlStat = TscConstants.OrderDetailStat.PAYMENT_BEFORE_CANCEL.value();
 			chgStat = TscConstants.OrderChangeStat.PAYMENT_BEFORE_CANCEL.value();
 		} else {

+ 22 - 11
src/main/java/com/style24/core/biz/service/TscOrderRefundService.java

@@ -60,8 +60,8 @@ public class TscOrderRefundService {
 		
 		int sumDeliveryFee			= 0; // 배송금액 (전체 취소시에 배송금액도 같이 환불)
 		
-		List<Order> cancelOrderRefundList 	= new ArrayList<Order>();	// 주문환불금액목록
-		List<Order> cancelDelvRefundList 	= new ArrayList<Order>();	// 주문환불배송금액목록
+		List<Order> cancelOrderRefundList 	= new ArrayList<>();	// 주문환불금액목록
+		List<Order> cancelDelvRefundList 	= new ArrayList<>();	// 주문환불배송금액목록
 		
 		Order orderObj	= new Order();
 		Order delvObj	= new Order();
@@ -78,7 +78,8 @@ public class TscOrderRefundService {
 		delvObj.setExcDelvFee(cnclRtnList.get(k).getExcDelvFee());
 		delvObj.setSupplyCompCd(cnclRtnList.get(k).getSupplyCompCd());
 		delvObj.setDelvFeeCd(cnclRtnList.get(k).getDelvFeeCd());
-		delvObj.setAllCanYn(cnclRtnList.get(k).getAllCanYn());
+		// delvObj.setAllCanYn(cnclRtnList.get(k).getAllCanYn());
+		delvObj.setLastCanYn(cnclRtnList.get(k).getLastCanYn());
 		cancelDelvRefundList.add(delvObj);
 		
 		// 3. 취소신청수량 정보를 취소 환불 금액 계산
@@ -109,8 +110,9 @@ public class TscOrderRefundService {
 			int ordQty 			= oneData.getOrdQty();
 			int itemQty 		= oneData.getItemQty();
 			int ordCanChgQty 	= oneData.getOrdCanChgQty();
+			int cnclRtnQty		= oneData.getCnclRtnQty();
 			
-			float _appQty		= (float)ordCanChgQty / (float)ordQty;
+			float _appQty		= (float)ordCanChgQty / (float)(ordQty - cnclRtnQty);
 			
 			// 3.3 주문취소금액 & 취소할인금액 계산
 			orderObj.setCnclRtnAmt(((oneData.getItemPrice() + oneData.getOptAddPrice()) * itemQty) * ordCanChgQty);
@@ -152,7 +154,8 @@ public class TscOrderRefundService {
 			// 3.7 주문상세상태체크
 			orderObj.setOrdDtlStat(oneData.getOrdDtlStat());
 			orderObj.setOrdDtlStatNm(oneData.getOrdDtlStatNm());
-			orderObj.setAllCanYn(oneData.getAllCanYn()); // 전체취소 여부 (기존의 취소 또는 출고, 반품, 교환 의 경우에는 전체취소 불가능)
+			// orderObj.setAllCanYn(oneData.getAllCanYn()); // 전체취소 여부 (기존의 취소 또는 출고, 반품, 교환 의 경우에는 전체취소 불가능)
+			orderObj.setLastCanYn(oneData.getLastCanYn()); // 전체취소 여부 (기존의 취소 또는 출고, 반품, 교환 의 경우에는 전체취소 불가능)
 			orderObj.setDelvYn(oneData.getDelvYn());
 			
 			cancelOrderRefundList.add(orderObj);
@@ -178,8 +181,12 @@ public class TscOrderRefundService {
 					cancelDelvRefundList.get(k).setDelvYn(orderObj.getDelvYn());
 				}
 				
-				if ("N".equals(orderObj.getAllCanYn())) {
-					cancelDelvRefundList.get(k).setAllCanYn("N");
+				// if ("N".equals(orderObj.getAllCanYn())) {
+				// 	cancelDelvRefundList.get(k).setAllCanYn("N");
+				// }
+
+				if ("N".equals(orderObj.getLastCanYn())) {
+					cancelDelvRefundList.get(k).setLastCanYn("N");
 				}
 			} else {
 				k++;
@@ -208,7 +215,8 @@ public class TscOrderRefundService {
 				delvObj.setExcDelvFee(orderObj.getExcDelvFee());
 				delvObj.setSupplyCompCd(orderObj.getSupplyCompCd());
 				delvObj.setDelvFeeCd(orderObj.getDelvFeeCd());
-				delvObj.setAllCanYn(orderObj.getAllCanYn());
+				// delvObj.setAllCanYn(orderObj.getAllCanYn());
+				delvObj.setLastCanYn(orderObj.getLastCanYn());
 				delvObj.setDelvYn(orderObj.getDelvYn());
 				
 				cancelDelvRefundList.add(delvObj);
@@ -242,7 +250,8 @@ public class TscOrderRefundService {
 						
 						// 4.2.1 전체취소시 배송비 환불
 						if ((obj.getOrdAmt() - obj.getCnclRtnAmt()) == 0) {
-							if ("Y".equals(obj.getAllCanYn())) {
+							// if ("Y".equals(obj.getAllCanYn())) {
+							if ("Y".equals(obj.getLastCanYn())) {
 								sumDeliveryFee += obj.getDelvFee(); // 전체취소시 배송금액도 같이 환불
 							}
 						}
@@ -254,7 +263,8 @@ public class TscOrderRefundService {
 							// 2021.03.29 delvFeeCd별 기존 출고 여부 확인
 							if("N".equals(obj.getDelvYn())) {
 								// 전체 취소 여부
-								if ("N".equals(obj.getAllCanYn())) {
+								// if ("N".equals(obj.getAllCanYn())) {
+								if ("N".equals(obj.getLastCanYn())) {
 									obj.setAddDelvFeeYn("Y");
 								} else {
 									obj.setAddDelvFeeYn("N");
@@ -262,7 +272,8 @@ public class TscOrderRefundService {
 								// 취소는 주문 금액 - 취소 금액이 0이면 취소는 추가배송비 여부가 없음.
 								obj.setAddDelvFee(0);
 							} else {
-								if ("N".equals(obj.getAllCanYn())) {
+								// if ("N".equals(obj.getAllCanYn())) {
+								if ("N".equals(obj.getLastCanYn())) {
 									obj.setAddDelvFeeYn("Y");
 									obj.setAddDelvFee(obj.getOrgDelvFee());
 								} else {

+ 1 - 0
src/main/java/com/style24/persistence/domain/Order.java

@@ -361,6 +361,7 @@ public class Order extends TscBaseDomain {
 	private String resDelvFeeCd;
 	private int ordCanChgQty;
 	private String allCanYn;
+	private String lastCanYn;
 	
 	private String addDelvFeeYn;
 	private int addDelvFee;

+ 2 - 0
src/main/java/com/style24/persistence/domain/OrderChange.java

@@ -53,6 +53,8 @@ public class OrderChange extends TscBaseDomain {
 	private String bankNm;
 
 	private String allCanYn;
+	private String lastCanYn;
+	private String allCanYnBeforePayment;
 
 	private String isCustomer;
 	

+ 1 - 5
src/main/java/com/style24/persistence/domain/Payment.java

@@ -1,12 +1,7 @@
 package com.style24.persistence.domain;
 
-import java.util.Collection;
-import java.util.List;
-
 import com.fasterxml.jackson.annotation.JsonFormat;
-import com.style24.core.support.util.CryptoUtils;
 import com.style24.persistence.TscBaseDomain;
-import com.style24.persistence.TscPageRequest;
 
 import lombok.Data;
 
@@ -84,6 +79,7 @@ public class Payment extends TscBaseDomain {
 	private String tranCd;
 	private String resCd;					// 결과코드
 	private String resMsg;					// 결과메세지
+	private String ipAddress;				// IP주소
 	
 	// KakaoPay
 	private String partnerOrderId;			// 카카오페이 가맹점 주문번호, 최대 100자