|
|
@@ -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"));
|
|
|
|