فهرست منبع

주문취소 메일 발송 개발 커밋

card007 5 سال پیش
والد
کامیت
21c35df5eb

+ 38 - 6
src/main/java/com/style24/admin/biz/web/TsaOrderChangeController.java

@@ -3,6 +3,7 @@ package com.style24.admin.biz.web;
 import java.util.Collection;
 import java.util.List;
 
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -19,7 +20,9 @@ import com.gagaframework.web.rest.server.GagaResponseStatus;
 import com.style24.admin.biz.service.TsaRendererService;
 import com.style24.admin.support.controller.TsaBaseController;
 import com.style24.admin.support.security.session.TsaSession;
+import com.style24.core.biz.service.TscKakaotalkService;
 import com.style24.core.biz.service.TscKcpService;
+import com.style24.core.biz.service.TscMailService;
 import com.style24.core.biz.service.TscOrderChangeService;
 import com.style24.core.biz.service.TscOrderRefundService;
 import com.style24.core.biz.service.TscOrderService;
@@ -59,6 +62,12 @@ public class TsaOrderChangeController extends TsaBaseController {
 	
 	@Autowired
 	private TscKcpService coreKcpService;
+
+	@Autowired
+	private TscKakaotalkService coreKakaotalkService;
+
+	@Autowired
+	private TscMailService coreMailService;
 	
 	/**
 	 * 취소요청, 취소완료 통합 화면 (관리자)
@@ -154,12 +163,10 @@ public class TsaOrderChangeController extends TsaBaseController {
 	@PostMapping("/cnclComplete")
 	@ResponseBody
 	public GagaResponse cnclComplete(@RequestBody OrderChange cnclReq) {
-		
+		GagaMap result = new GagaMap();
 		if (cnclReq== null) {
 			throw new IllegalStateException(message.getMessage("FAIL_1001"));
 		}
-		
-		GagaMap map = new GagaMap();
 
 		// 1. 세션회원조회
 		int userNo = TsaSession.getInfo().getUserNo();
@@ -174,7 +181,7 @@ public class TsaOrderChangeController extends TsaBaseController {
 		
 		// 2. 환불금액계산
 		// 2021.01.19 취소신청정보를 목록 (주문상세번호, 취소/반품수량) 으로 표현
-		map = orderRefundService.cnclRtnRefundAmt2(cnclReqList);
+		GagaMap map = orderRefundService.cnclRtnRefundAmt2(cnclReqList);
 		
 		// 3. 주문변경 기본정보 설정
 		map.set("ordNo"						, cnclReq.getOrdNo());						// 주문번호
@@ -218,7 +225,7 @@ public class TsaOrderChangeController extends TsaBaseController {
 		}
 		// 2021.06.09 취소접수승인
 		else if ("cnclReqComplete".equals(cnclReq.getReqGbn())) {
-			orderChangeService.approveCancelRequest(cnclReq, userNo);
+			result = orderChangeService.approveCancelRequest(cnclReq, userNo);
 		}
 		// 2021.06.09 취소접수철회
 		else if ("cnclReqCancel".equals(cnclReq.getReqGbn())) {
@@ -226,9 +233,34 @@ public class TsaOrderChangeController extends TsaBaseController {
 		}
 		// 취소완료
 		else {
-			orderChangeService.partialCancelTemp(map, userNo);
+			result = orderChangeService.partialCancelTemp(map, userNo);
 		}
 		
+		// 5. 취소 알림톡 및 메일 발송
+		int ordChgSq = result.getInt("ordChgSq");
+
+		if (ordChgSq > 0) {
+			try {
+				// 취소 알림톡 관련 정보 조회
+				OrderChange orderChange = orderChangeService.getKakaoOrderCancelInfo(ordChgSq);
+
+				// 취소 알림톡 발송
+				if (StringUtils.isNotBlank(orderChange.getOrdPhnno())) {
+					coreKakaotalkService.sendOrderCancelComplete(orderChange, userNo);
+				}
+
+				// 취소 안내 메일 정보 조회
+				GagaMap replaceInfo = orderChangeService.getMailOrderCancelReplaceInfo(orderChange);
+
+				// 취소 안내 메일 발송
+				if (StringUtils.isNotBlank(replaceInfo.getString("ordEmail"))) {
+					coreMailService.sendOrderCancel(replaceInfo, userNo);
+				}
+			} catch (Exception e) {
+				throw new IllegalStateException(message.getMessage("FAIL_0004"));
+			}
+		}
+
 		return super.ok("성공");
 	}
 	

+ 9 - 0
src/main/resources/config/application-locd.yml

@@ -91,3 +91,12 @@ naverPay:
     payUrl:
         web : test-pay.naver.com
         mob : test-m.pay.naver.com
+    shop.id : istyle24
+    button.key : 3A1578F9-6824-4FCF-AC8D-262318C63227
+    button.pc.js.url : https://test-pay.naver.com/customer/js/naverPayButton.js
+    button.mobile.js.url : https://test-pay.naver.com/customer/js/mobile/naverPayButton.js
+    common.certification.key : s_3799db3bf4af-
+    certification.key: E3122594-C690-4542-B3A0-E74ABD4E8222
+    order.api.url: https://test-api.pay.naver.com/o/customer/api/order/v20/register
+    order.pc.url: https://test-order.pay.naver.com/customer/buy/
+    order.mobile.url: https://test-m.pay.naver.com/o/customer/buy/

+ 41 - 30
src/main/resources/config/application.yml

@@ -42,38 +42,49 @@ speedy:
         port: 21
         username: speedy_image-wivismall
         pwd: wZ31jS_!@
-        
+
+# 네이버페이 API
+naverPay:
+    partnerId: np_ktptw906068
+    clientId: 8TSWSyJMMUvOLKUySQx6
+    clientSecret: oGXnO7cMD1
+    paymentReadyUrl: /naverpay/payments/v2/reserve
+    paymentRedirectUrl: /order/naver/payment/request
+    approvePaymentUrl: /naverpay/payments/v2/apply/payment
+    paymentOrderUrl: /naverpay/payments/v2/list/history
+    cancelPaymentUrl: /naverpay/payments/v1/cancel
+
 #카카오 API
 kakao:
-  # 카카오페이 운영정보
-  #    cid : 운영cid정보 없음
-  #    appId: 442702
-  #    appName: 아이스타일24
-  #    companyName: 예스이십사
-  #    nativeAppKey: 5d97db2ee36fa0e121d962b2531ae0c1
-  #    restApiKey: 46d601394bd887cbada3cf00fdddef54
-  #    javascriptKey: b3c9ee69171042c3637e8d714a4c8a75
-  #    adminKey: 7cc33b2ef96d785c4caf3376f9dc9254
-  # 카카오페이 운영정보
-  cid : TC0ONETIME
-  appId : 399207
-  appName : 구축용 테스트앱
-  companyName : 예스이십사
-  nativeAppKey : f961e612e07b47aa2d1884714518a194
-  restApiKey: b3955cef0328a09156c7e25f18552164
-  javascriptKey : 06cab652ad5d25be2190388d11a88fa4
-  adminKey : a25ca74dde640f3a63a8d8442fe35fcd
-  addressApiRequestUrl : https://dapi.kakao.com/v2/local/search/address.json?page=1&query=
-  login.callbackUrl: /signin/snsLoginCallback?snsType=KK
-  tokenUrl: https://kauth.kakao.com/oauth/token
-  userInfoUrl: https://kapi.kakao.com/v2/user/me
-  authorizeUrl: https://kauth.kakao.com/oauth/authorize
-  unlinkUrl : https://kapi.kakao.com/v1/user/unlink
-  paymentReadyUrl : https://kapi.kakao.com/v1/payment/ready
-  paymentRedirectUrl : /order/kakao/payment/request
-  approvePaymentUrl : https://kapi.kakao.com/v1/payment/approve
-  paymentOrderUrl : https://kapi.kakao.com/v1/payment/order
-  cancelPaymentUrl : https://kapi.kakao.com/v1/payment/cancel
+    # 카카오페이 운영정보
+    #    cid : 운영cid정보 없음
+    #    appId: 442702
+    #    appName: 아이스타일24
+    #    companyName: 예스이십사
+    #    nativeAppKey: 5d97db2ee36fa0e121d962b2531ae0c1
+    #    restApiKey: 46d601394bd887cbada3cf00fdddef54
+    #    javascriptKey: b3c9ee69171042c3637e8d714a4c8a75
+    #    adminKey: 7cc33b2ef96d785c4caf3376f9dc9254
+    # 카카오페이 운영정보
+    cid : TC0ONETIME
+    appId : 399207
+    appName : 구축용 테스트앱
+    companyName : 예스이십사
+    nativeAppKey : f961e612e07b47aa2d1884714518a194
+    restApiKey: b3955cef0328a09156c7e25f18552164
+    javascriptKey : 06cab652ad5d25be2190388d11a88fa4
+    adminKey : a25ca74dde640f3a63a8d8442fe35fcd
+    addressApiRequestUrl : https://dapi.kakao.com/v2/local/search/address.json?page=1&query=
+    login.callbackUrl: /signin/snsLoginCallback?snsType=KK
+    tokenUrl: https://kauth.kakao.com/oauth/token
+    userInfoUrl: https://kapi.kakao.com/v2/user/me
+    authorizeUrl: https://kauth.kakao.com/oauth/authorize
+    unlinkUrl : https://kapi.kakao.com/v1/user/unlink
+    paymentReadyUrl : https://kapi.kakao.com/v1/payment/ready
+    paymentRedirectUrl : /order/kakao/payment/request
+    approvePaymentUrl : https://kapi.kakao.com/v1/payment/approve
+    paymentOrderUrl : https://kapi.kakao.com/v1/payment/order
+    cancelPaymentUrl : https://kapi.kakao.com/v1/payment/cancel
 
   
 # CJ대한통운