Browse Source

이태영 - 20210616 네이버페이 주문형 개발 중

xodud lee 4 năm trước cách đây
mục cha
commit
738de35a80

+ 2 - 2
src/main/java/com/style24/core/biz/service/TscNaverPayService.java

@@ -369,7 +369,7 @@ public class TscNaverPayService {
 		}
 	}
 
-	public void sendNaverPayDeliveryStartOrder(Collection<Order> params, String statGb) {
+	public void sendNaverPayDeliveryStartOrder(Collection<Order> params, String statGb, Integer userNo) {
 		for(Order param : params) {
 			if ("SHIPPING".equals(statGb)) {
 				Order order = new Order();
@@ -454,7 +454,7 @@ public class TscNaverPayService {
 								fail.setMallCd(order.getMallCd());
 								fail.setAccessLicense(order.getAccessLicense());
 								fail.setSecretKey(order.getSecretKey());
-								fail.setRegNo(0);
+								fail.setRegNo(userNo);
 
 								orderDao.createNaverPayErrorLog(fail);
 							} catch(Exception e) {

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

@@ -905,6 +905,11 @@ public class TscOrderChangeService {
 			orderChangeStat = TscConstants.OrderChangeStat.EXCHANGE_WAIT.value();
 		}
 
+		// 네이버페이는 추가 결제 금액이 있어도 취소접수로 변경
+		if(StringUtils.isNotBlank(excReq.getPgGb()) && TscConstants.PgGb.NAVER_ORDER.value().equals(excReq.getPgGb())) {
+			orderChangeStat = TscConstants.OrderChangeStat.EXCHANGE.value();
+		}
+
 		// 1. 재고 체크 (세트아이템 포함)
 		for (Order order : excReqList) {
 			Order currStockQty = orderChangeDao.getCurrStockQty(order);
@@ -996,6 +1001,11 @@ public class TscOrderChangeService {
 					}
 				}
 
+				if(StringUtils.isNotBlank(excReq.getPgGb()) && TscConstants.PgGb.NAVER_ORDER.value().equals(excReq.getPgGb()) && addPayCost > 0) {
+					rtnDelvFee = order.getRtnDelvFee();
+					excDelvFee = order.getExcDelvFee() - rtnDelvFee;
+				}
+
 				// 반품배송비 등록
 				deliveryFee.setDelvFeeGb(TscConstants.DeliveryFeeGb.RETURN_DELIVERY_FEE.value());
 				deliveryFee.setDelvFee(rtnDelvFee);
@@ -1603,6 +1613,7 @@ public class TscOrderChangeService {
 				pg.setPayMeans(payment.getPayMeans());
 				kakaoPayService.cancelKakaoPayment(pg);
 			} else if (TscConstants.PgGb.NAVER_ORDER.value().equals(pgGb)) {
+				pg.setPayAmt(pg.getPayAmt() * -1);
 				orderDao.insertPaymentCancel(pg);
 			}
 

+ 1 - 1
src/main/java/com/style24/core/biz/service/TscOrderService.java

@@ -2448,7 +2448,7 @@ public class TscOrderService {
 		}
 
 		try {
-			naverPayService.sendNaverPayDeliveryStartOrder(delvStartList, "SHIPPING");
+			naverPayService.sendNaverPayDeliveryStartOrder(delvStartList, "SHIPPING", userNo);
 		} catch(Exception e) {
 			e.printStackTrace();
 		}

+ 18 - 0
src/main/java/com/style24/core/support/env/TscConstants.java

@@ -308,6 +308,24 @@ public class TscConstants {
 		}
 	}
 
+	// 교환 요청 사유
+	public enum OrderChangeReason {
+		CHANGE_OPTION("G689_10"),		// 사이즈 변경
+		NG_GOODS("G689_11"),			// 상품의 결함이 있음
+		INCORRECT_DELV("G689_12"),	// 주문상품과 다른상품이 배송됨
+		BROKEN("G689_13"),			// 상품이 파손되어 배송됨
+		NOT_DELV_ALL("G689_14"),		// 일부상품이 배송되지 않음
+		INCORRECT_OPTION("G689_15");	// 상품 정보와 상이함
+
+		private String value;
+		private OrderChangeReason(String value) {
+			this.value = value;
+		}
+		public String value() {
+			return value;
+		}
+	}
+
 	// 결제구분
 	public enum PaymentGb {
 		ORDER("O"),							// 주문시결제

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

@@ -739,6 +739,8 @@ public class Order extends TscBaseDomain {
 	private String errorReason;
 	private String accessLicense;
 	private String secretKey;
+	@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+	private String[] claimNpayOrdDtlNos;
 	
 	private String delvExpnYn;
 	private String addDeliveryFeeYn;

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

@@ -1131,7 +1131,8 @@
 	<update id="updateNaverPayOrderNo" parameterType="Order">
 		/* TscOrder.updateNaverPayOrderNo */
 		UPDATE TB_ORDER SET
-		       NPAY_ORD_NO = #{npayOrdNo}
+		       PAY_DT      = NOW()
+		     , NPAY_ORD_NO = #{npayOrdNo}
 		     , ORD_NM      = #{ordNm}
 		     , ORD_PHNNO   = #{ordPhnno}
 		     , ORD_EMAIL   = #{ordEmail}