Parcourir la source

반품,교환 안내 메일 커밋

card007 il y a 5 ans
Parent
commit
738520f3e9

+ 21 - 5
src/main/java/com/style24/front/biz/web/TsfMypageController.java

@@ -514,6 +514,7 @@ public class TsfMypageController extends TsfBaseController {
 		// 교환처리
 		result = coreOrderChangeService.exchReq(orderChange);
 		int ordChgSq = result.getInt("ordChgSq");
+		int addPayCost = result.getInt("addPayCost");
 
 		if (ordChgSq > 0) {
 			try {
@@ -524,6 +525,17 @@ public class TsfMypageController extends TsfBaseController {
 				if (StringUtils.isNotBlank(orderChange.getOrdPhnno())) {
 					coreKakaotalkService.sendOrderExchangeRequest(orderChange, custNo);
 				}
+
+				// 교환배송비 있을 시 추가결제완료 로직에서 메일 발송
+				if (addPayCost == 0) {
+					// 교환 안내 메일 정보 조회
+					GagaMap replaceInfo = coreOrderChangeService.getMailOrderExchangeReplaceInfo(orderChange);
+
+					// 교환 안내 메일 발송
+					if (StringUtils.isNotBlank(replaceInfo.getString("ordEmail"))) {
+						mailService.sendOrderExchange(replaceInfo, custNo);
+					}
+				}
 			} catch (Exception e) {
 				throw new IllegalStateException(message.getMessage("FAIL_0004"));
 			}
@@ -772,6 +784,7 @@ public class TsfMypageController extends TsfBaseController {
 		// 6. 주문변경 DB 등록 (TB_ORDER_CHANGE, TB_ORDER_CHANGE_DETAIL, TB_REFUND)
 		GagaMap map = coreOrderChangeService.returnRequest(result);
 		int ordChgSq = map.getInt("ordChgSq");
+		int addPayCost = map.getInt("addPayCost");
 
 		if (ordChgSq > 0) {
 			try {
@@ -783,12 +796,15 @@ public class TsfMypageController extends TsfBaseController {
 					coreKakaotalkService.sendOrderReturnRequest(orderChange, custNo);
 				}
 
-				// 반품 안내 메일 정보 조회
-				GagaMap replaceInfo = coreOrderChangeService.getMailOrderReturnReplaceInfo(orderChange);
+				// 반품배송비 있을 시 추가결제완료 로직에서 메일 전송
+				if (addPayCost == 0) {
+					// 반품 안내 메일 정보 조회
+					GagaMap replaceInfo = coreOrderChangeService.getMailOrderReturnReplaceInfo(orderChange);
 
-				// 반품 안내 메일 발송
-				if (StringUtils.isNotBlank(replaceInfo.getString("ordEmail"))) {
-					mailService.sendOrderReturn(replaceInfo, custNo);
+					// 반품 안내 메일 발송
+					if (StringUtils.isNotBlank(replaceInfo.getString("ordEmail"))) {
+						mailService.sendOrderReturn(replaceInfo, custNo);
+					}
 				}
 			} catch (Exception e) {
 				throw new IllegalStateException(message.getMessage("FAIL_0004"));

+ 24 - 0
src/main/java/com/style24/front/biz/web/TsfNoMemberController.java

@@ -744,6 +744,7 @@ public class TsfNoMemberController extends TsfBaseController {
 		// 6. 주문변경 DB 등록 (TB_ORDER_CHANGE, TB_ORDER_CHANGE_DETAIL, TB_REFUND)
 		GagaMap map = coreOrderChangeService.returnRequest(result);
 		int ordChgSq = map.getInt("ordChgSq");
+		int addPayCost = map.getInt("addPayCost");
 
 		if (ordChgSq > 0) {
 			try {
@@ -754,6 +755,17 @@ public class TsfNoMemberController extends TsfBaseController {
 				if (StringUtils.isNotBlank(orderChange.getOrdPhnno())) {
 					coreKakaotalkService.sendOrderReturnRequest(orderChange, 0);
 				}
+
+				// 반품배송비 있을 시 추가결제완료 로직에서 메일 전송
+				if (addPayCost == 0) {
+					// 반품 안내 메일 정보 조회
+					GagaMap replaceInfo = coreOrderChangeService.getMailOrderReturnReplaceInfo(orderChange);
+
+					// 반품 안내 메일 발송
+					if (StringUtils.isNotBlank(replaceInfo.getString("ordEmail"))) {
+						mailService.sendOrderReturn(replaceInfo, 0);
+					}
+				}
 			} catch (Exception e) {
 				throw new IllegalStateException(message.getMessage("FAIL_0004"));
 			}
@@ -941,6 +953,7 @@ public class TsfNoMemberController extends TsfBaseController {
 		// 교환처리
 		result = coreOrderChangeService.exchReq(orderChange);
 		int ordChgSq = result.getInt("ordChgSq");
+		int addPayCost = result.getInt("addPayCost");
 
 		if (ordChgSq > 0) {
 			try {
@@ -951,6 +964,17 @@ public class TsfNoMemberController extends TsfBaseController {
 				if (StringUtils.isNotBlank(orderChange.getOrdPhnno())) {
 					coreKakaotalkService.sendOrderExchangeRequest(orderChange, 0);
 				}
+
+				// 교환배송비 있을 시 추가결제완료 로직에서 메일 발송
+				if (addPayCost == 0) {
+					// 교환 안내 메일 정보 조회
+					GagaMap replaceInfo = coreOrderChangeService.getMailOrderExchangeReplaceInfo(orderChange);
+
+					// 교환 안내 메일 발송
+					if (StringUtils.isNotBlank(replaceInfo.getString("ordEmail"))) {
+						mailService.sendOrderExchange(replaceInfo, 0);
+					}
+				}
 			} catch (Exception e) {
 				throw new IllegalStateException(message.getMessage("FAIL_0004"));
 			}

+ 68 - 15
src/main/java/com/style24/front/biz/web/TsfOrderController.java

@@ -19,9 +19,9 @@ import org.springframework.web.servlet.ModelAndView;
 
 import com.gagaframework.web.parameter.GagaMap;
 import com.style24.core.biz.service.TscFreegiftService;
-import com.style24.core.biz.service.TscKakaoPayService;
 import com.style24.core.biz.service.TscKakaotalkService;
-import com.style24.core.biz.service.TscNaverPayService;
+import com.style24.core.biz.service.TscMailService;
+import com.style24.core.biz.service.TscOrderChangeService;
 import com.style24.core.biz.service.TscOrderService;
 import com.style24.core.support.env.TscConstants;
 import com.style24.core.support.message.TscMessageByLocale;
@@ -32,6 +32,7 @@ import com.style24.front.support.controller.TsfBaseController;
 import com.style24.front.support.security.session.TsfSession;
 import com.style24.persistence.domain.Customer;
 import com.style24.persistence.domain.Order;
+import com.style24.persistence.domain.OrderChange;
 import com.style24.persistence.domain.Payment;
 
 import lombok.extern.slf4j.Slf4j;
@@ -56,6 +57,9 @@ public class TsfOrderController extends TsfBaseController {
 	@Autowired
 	private TsfOrderService orderService;
 
+	@Autowired
+	private TscOrderChangeService coreOrderChangeService;
+
 	@Autowired
 	private TscFreegiftService coreFreegiftService;
 
@@ -71,6 +75,9 @@ public class TsfOrderController extends TsfBaseController {
 	@Autowired
 	private TscKakaotalkService kakaotalkService;
 	
+	@Autowired
+	private TscMailService mailService;
+	
 	/**
 	 * 회원, 비회원 주문페이지
 	 *
@@ -1461,11 +1468,11 @@ public class TsfOrderController extends TsfBaseController {
 	@ResponseBody
 	@RequestMapping(value = "/addPay/result/response")
 	public ModelAndView addPayResultResponse(Payment param, HttpServletRequest request, HttpServletResponse response) {
-		
+
 		ModelAndView mav = new ModelAndView();
-		
+
 		Order order = new Order();
-		
+
 		// 1. 로그인체크 후 custNo 설정
 		if (TsfSession.isLogin()) {
 			param.setCustNo(TsfSession.getInfo().getCustNo()); // 고객번호등록
@@ -1480,25 +1487,71 @@ public class TsfOrderController extends TsfBaseController {
 		}
 		param.setPayGb(TscConstants.PaymentGb.DELIVERY.value());
 		param.setUpdNo(param.getCustNo());
-		
+
 		// 2. 결재정보등록(TB_PAYMENT)
 		param = orderService.orderPgPayResult(param, request, response);
-		order.setOrdNo(param.getOrdNo());		
+		order.setOrdNo(param.getOrdNo());
 		order.setOrdChgSq(param.getOrdChgSq());
-		
+
 		// 3. 추가결제 상품목록
 		GagaMap resultMap = coreOrderService.getAddPayOrderListInfo(order);
-		
+
 		// 4. 화면전송변수설정
-		mav.addObject("refundAmt"				, resultMap.get("refundAmt"));				// 상품환불금액
-		mav.addObject("addPayCost"				, resultMap.get("addPayCost"));				// 추가결제금액
-		mav.addObject("ordChgSq"				, resultMap.get("ordChgSq"));				// 주문취소신청번호
-		mav.addObject("chgerNm"					, resultMap.get("chgerNm"));				// 변경신청인
-		mav.addObject("chgerPhnno"				, resultMap.get("chgerPhnno"));				// 변경신청핸드폰번호
+		mav.addObject("refundAmt", resultMap.get("refundAmt"));                // 상품환불금액
+		mav.addObject("addPayCost", resultMap.get("addPayCost"));                // 추가결제금액
+		mav.addObject("ordChgSq", resultMap.get("ordChgSq"));                // 주문취소신청번호
+		mav.addObject("chgerNm", resultMap.get("chgerNm"));                // 변경신청인
+		mav.addObject("chgerPhnno", resultMap.get("chgerPhnno"));                // 변경신청핸드폰번호
 
 		// TODO 3. 주문정보 업데이트
 		coreOrderService.updateOrderChangeDetail(order);
-		
+
+		// 6. 반품&교환 접수 알림톡 및 메일 발송
+		Integer ordChgSq = order.getOrdChgSq();
+		Integer custNo = order.getCustNo();
+
+		if (ordChgSq > 0) {
+			Collection<Order> list = coreOrderChangeService.getExchangeInfo(order);
+			String chgGb = "";
+			if (list != null && list.size() > 0) {
+				chgGb = list.iterator().next().getChgGb();
+			}
+
+			try {
+				OrderChange orderChange = coreOrderChangeService.getKakaoOrderReturnInfo(ordChgSq);
+
+				if (TscConstants.OrderChangeGb.RETURN.value().equals(chgGb)) {
+					// 반품 알림톡 발송
+					if (StringUtils.isNotBlank(orderChange.getOrdPhnno())) {
+						kakaotalkService.sendOrderReturnRequest(orderChange, custNo);
+					}
+
+					// 반품 안내 메일 정보 조회
+					GagaMap replaceInfo = coreOrderChangeService.getMailOrderReturnReplaceInfo(orderChange);
+
+					// 반품 안내 메일 발송
+					if (StringUtils.isNotBlank(replaceInfo.getString("ordEmail"))) {
+						mailService.sendOrderReturn(replaceInfo, custNo);
+					}
+				} else if (TscConstants.OrderChangeGb.EXCHANGE.value().equals(chgGb)) {
+					// 교환 알림톡 발송
+					if (StringUtils.isNotBlank(orderChange.getOrdPhnno())) {
+						kakaotalkService.sendOrderExchangeRequest(orderChange, custNo);
+					}
+
+					// 교환 안내 메일 정보 조회
+					GagaMap replaceInfo = coreOrderChangeService.getMailOrderExchangeReplaceInfo(orderChange);
+
+					// 교환 안내 메일 발송
+					if (StringUtils.isNotBlank(replaceInfo.getString("ordEmail"))) {
+						mailService.sendOrderExchange(replaceInfo, custNo);
+					}
+				}
+			} catch (Exception e) {
+				throw new IllegalStateException(message.getMessage("FAIL_0004"));
+			}
+		}
+
 		// 2021.03.16 주문완료화면이동처리
 		mav.setViewName(super.getDeviceViewName("order/OrderAddPaymentComplete"));
 		

+ 2 - 2
src/main/webapp/WEB-INF/views/mob/mypage/MypageCancelFormMob.html

@@ -406,11 +406,11 @@ var fnCancel = function() {
 			// 취소 처리
 			gagajf.ajaxJsonSubmit(url, jsonData, function(result) {
 				cfnGoToPage(_PAGE_MYPAGE_ORDER_LIST);
-			});
+			}, true);
 		} else {
 			mcxDialog.alert('이미 배송처리 되어 취소 처리에 실패 하였습니다.');
 		}
-	}, true);
+	});
 }
 
 // 취소 수량 변경 이벤트 처리

+ 2 - 2
src/main/webapp/WEB-INF/views/mob/mypage/NoMemberCancelFormMob.html

@@ -405,11 +405,11 @@ var fnCancel = function() {
 			// 취소 처리
 			gagajf.ajaxJsonSubmit(url, jsonData, function(result) {
 				cfnGoToPage(_PAGE_NOMEMBER_ORDER_LIST);
-			});
+			}, true);
 		} else {
 			mcxDialog.alert('이미 배송처리 되어 취소 처리에 실패 하였습니다.');
 		}
-	}, true);
+	});
 }
 
 // 취소 수량 변경 이벤트 처리

+ 1 - 1
src/main/webapp/WEB-INF/views/mob/mypage/NoMemberExchangeFormMob.html

@@ -440,8 +440,8 @@ var fnExchange = function() {
 		if (chgOrdDtlNoArr.includes($(item).attr('ordDtlNo')) && !gagajf.isNull($(item).val())) {
 			let json 		= $(item).val();
 			let jsonData 	= JSON.parse(json);
-			let cancelReq 	= {};
 			$.each(jsonData, function (index, chgOpt) {
+				let cancelReq 	= {};
 				cancelReq.ordDtlNo 			= chgOpt.ordDtlNo;
 				cancelReq.ordDtlItemSq 		= chgOpt.ordDtlItemSq;
 				cancelReq.delvFeeCd 		= delvFeeCd;

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

@@ -310,11 +310,11 @@
 				// 취소 처리
 				gagajf.ajaxJsonSubmit(url, jsonData, function(result) {
 					cfnGoToPage(_PAGE_MYPAGE_ORDER_LIST);
-				});
+				}, true);
 			} else {
 				mcxDialog.alert('이미 배송처리 되어 취소 처리에 실패 하였습니다.');
 			}
-		}, true);
+		});
 	}
 	
 	// 취소 수량 변경 이벤트 처리

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

@@ -308,11 +308,11 @@
 				// 취소 처리
 				gagajf.ajaxJsonSubmit(url, jsonData, function(result) {
 					cfnGoToPage(_PAGE_NOMEMBER_ORDER_LIST);
-				});
+				}, true);
 			} else {
 				mcxDialog.alert('이미 배송처리 되어 취소 처리에 실패 하였습니다.');
 			}
-		}, true);
+		});
 	}
 	
 	// 취소 수량 변경 이벤트 처리

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

@@ -430,8 +430,8 @@
 			if (chgOrdDtlNoArr.includes($(item).attr('ordDtlNo')) && !gagajf.isNull($(item).val())) {
 				let json = $(item).val();
 				let jsonData = JSON.parse(json);
-				let cancelReq = {};
 				$.each(jsonData, function (index, chgOpt) {
+					let cancelReq = {};
 					cancelReq.ordDtlNo = chgOpt.ordDtlNo;
 					cancelReq.ordDtlItemSq = chgOpt.ordDtlItemSq;
 					cancelReq.delvFeeCd = delvFeeCd;