|
|
@@ -1,5 +1,6 @@
|
|
|
package com.style24.core.biz.service;
|
|
|
|
|
|
+import java.text.DecimalFormat;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.Date;
|
|
|
|
|
|
@@ -8,6 +9,7 @@ import org.springframework.core.env.Environment;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
+import com.gagaframework.web.parameter.GagaMap;
|
|
|
import com.style24.core.biz.thirdparty.NaverShortUrl;
|
|
|
import com.style24.core.biz.thirdparty.SsgKakaoSender;
|
|
|
import com.style24.core.support.env.TscConstants;
|
|
|
@@ -16,13 +18,12 @@ import com.style24.persistence.domain.CustContactHst;
|
|
|
import com.style24.persistence.domain.CustCoupon;
|
|
|
import com.style24.persistence.domain.Customer;
|
|
|
import com.style24.persistence.domain.GiftCard;
|
|
|
+import com.style24.persistence.domain.Order;
|
|
|
import com.style24.persistence.domain.Point;
|
|
|
import com.style24.persistence.domain.SsgDirectMessage;
|
|
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
|
|
-import com.gagaframework.web.parameter.GagaMap;
|
|
|
-
|
|
|
/**
|
|
|
* 카카오알림톡 Service. 모든 카카오알림톡 발송은 여기에서 처리한다.
|
|
|
*
|
|
|
@@ -488,72 +489,91 @@ public class TscKakaotalkService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 결제완료 알림톡
|
|
|
+ * @param order - 주문 정보
|
|
|
+ * @param senderNo - 발송자번호(고객)
|
|
|
+ * @author jsh77b
|
|
|
+ * @since 2021. 6. 2
|
|
|
+ */
|
|
|
+ @Transactional("shopTxnManager")
|
|
|
+ public void sendOrderComplete(Order order, Integer senderNo) throws Exception {
|
|
|
+ SsgDirectMessage dm = new SsgDirectMessage();
|
|
|
+ dm.setFuserid(String.valueOf(senderNo)); // 발송자NO
|
|
|
+ dm.setFdestine(order.getOrdPhnno());
|
|
|
+ dm.setFkkoresendtype("LMS");
|
|
|
|
|
|
-// /**
|
|
|
-// * 결제완료 알림톡
|
|
|
-// * @param customer - 고객 정보
|
|
|
-// * @param order - 주문 정보
|
|
|
-// * @param senderNo - 발송자번호(고객)
|
|
|
-// * @author yh98kim
|
|
|
-// * @since 2020. 4. 9
|
|
|
-// */
|
|
|
-// @Transactional("shopTxnManager")
|
|
|
-// public void sendOrderComplete(Customer customer, Order order, Integer senderNo) throws Exception {
|
|
|
-// SsgDirectMessage dm = new SsgDirectMessage();
|
|
|
-// dm.setFuserid(String.valueOf(senderNo)); // 발송자NO
|
|
|
-// dm.setFdestine(customer.getCellPhnno());
|
|
|
-// dm.setFkkoresendtype("LMS");
|
|
|
-//
|
|
|
-// dm.setButtonNm("마이페이지 > 주문내역");
|
|
|
-// dm.setButtonUrl("/mypage/order/list/form");
|
|
|
-//
|
|
|
-// DecimalFormat dc = new DecimalFormat("###,###,###,###");
|
|
|
-// String payAmt = dc.format(order.getPayAmt());
|
|
|
-//
|
|
|
-// GagaMap replaceInfo = new GagaMap();
|
|
|
-// replaceInfo.setString("siteNm", siteNm);
|
|
|
-// replaceInfo.setString("custNm", order.getOrderNm());
|
|
|
-// replaceInfo.set("ordNo", order.getOrdNo());
|
|
|
-// replaceInfo.setString("goodsNm", order.getGoodsName());
|
|
|
-// replaceInfo.setString("payAmt", payAmt);
|
|
|
-//
|
|
|
-// SimpleDateFormat sd = new SimpleDateFormat("yyyy년 MM월 dd일");
|
|
|
-// String todayDate = sd.format(System.currentTimeMillis());
|
|
|
-//
|
|
|
-// if (order.getPayMeans().equals(WfoConstants.PayMeans.CARD.value())) {
|
|
|
-// /* 신용카드 */
|
|
|
-// kakaoSender.send(SsgKakaoSender.KakaoAnswerSq.CARD_ORDER_COMPLETE.value(), dm, replaceInfo);
|
|
|
-// } else if (order.getPayMeans().equals(WfoConstants.PayMeans.REALTIME_TRANSFER.value())) {
|
|
|
-// /* 실시간계좌이체 */
|
|
|
-// replaceInfo.setString("ordDt", todayDate);
|
|
|
-// replaceInfo.setString("vaBankNm", order.getVaNm());
|
|
|
-// kakaoSender.send(SsgKakaoSender.KakaoAnswerSq.BT_ORDER_COMPLETE.value(), dm, replaceInfo);
|
|
|
-// } else if (order.getPayMeans().equals(WfoConstants.PayMeans.ACCOUNT_DEPOSIT.value())) {
|
|
|
-// /* 무통장입금 */
|
|
|
-// Date deadline = new SimpleDateFormat("yyyyMMdd").parse(order.getVaDeadline().substring(0, 8));
|
|
|
-//
|
|
|
-// replaceInfo.setString("ordDt", todayDate);
|
|
|
-// replaceInfo.setString("vaBankNm", order.getVaNm());
|
|
|
-// replaceInfo.setString("vaNo", order.getVaNo());
|
|
|
-// replaceInfo.setString("deadlineYmd", new SimpleDateFormat("yyyy년 MM월 dd일").format(deadline));
|
|
|
-// replaceInfo.setString("deadlineH", "17");
|
|
|
-//
|
|
|
-// kakaoSender.send(SsgKakaoSender.KakaoAnswerSq.VA_ORDER_COMPLETE.value(), dm, replaceInfo);
|
|
|
-// }
|
|
|
-//
|
|
|
-// try {
|
|
|
-// // 고객접촉이력 정보
|
|
|
-// customer.setContactType("301"); // 접촉유형:주문안내(공통코드G054)
|
|
|
-// customer.setContactMethod(WfoConstants.ContactMethod.KAKAOTALK.value()); // 접촉방법:알림톡+문자(공통코드G055)
|
|
|
-// customer.setContactContents("주문안내");
|
|
|
-// customer.setReceiverId(customer.getCustNo());
|
|
|
-// customerService.createCustomerContactHistory(customer);
|
|
|
-// } catch (Exception e) {
|
|
|
-// log.error("error", e);
|
|
|
-// // Do nothing
|
|
|
-// }
|
|
|
-// }
|
|
|
-//
|
|
|
+ dm.setButtonNm("마이페이지 > 주문내역");
|
|
|
+ dm.setButtonUrl("/mypage/order/list/form");
|
|
|
+
|
|
|
+ DecimalFormat dc = new DecimalFormat("###,###,###,###");
|
|
|
+ String payAmt = dc.format(order.getPayAmt());
|
|
|
+
|
|
|
+ GagaMap replaceInfo = new GagaMap();
|
|
|
+ replaceInfo.setString("siteNm" , siteNm);
|
|
|
+ replaceInfo.setString("ordNm" , order.getOrdNm());
|
|
|
+ replaceInfo.set("ordNo" , order.getOrdNo());
|
|
|
+ replaceInfo.setString("goodsNm" , order.getGoodsNm());
|
|
|
+ replaceInfo.setString("goodsCnt" , order.getGoodsCnt());
|
|
|
+ replaceInfo.setString("payAmt" , payAmt);
|
|
|
+ replaceInfo.setString("recipBaseAddr" , order.getRecipBaseAddr());
|
|
|
+ replaceInfo.setString("recipNm" , order.getRecipNm());
|
|
|
+
|
|
|
+ SimpleDateFormat sd = new SimpleDateFormat("yyyy년 MM월 dd일");
|
|
|
+ String todayDate = sd.format(System.currentTimeMillis());
|
|
|
+
|
|
|
+ // KCP
|
|
|
+ if ("KCP".equals(order.getPgGb())) {
|
|
|
+ // 무통장입금
|
|
|
+ if (TscConstants.PayMeans.BANK_DEPOSIT.value().equals(order.getPayMeans())) {
|
|
|
+ Date deadline = new SimpleDateFormat("yyyyMMdd").parse(order.getVaDeadline().substring(0, 8));
|
|
|
+
|
|
|
+ replaceInfo.setString("ordDt" , todayDate);
|
|
|
+ replaceInfo.setString("vaBankNm" , order.getCardNm());
|
|
|
+ replaceInfo.setString("vaNo" , order.getVaNo());
|
|
|
+ replaceInfo.setString("deadlineYmd" , new SimpleDateFormat("yyyy년 MM월 dd일").format(deadline));
|
|
|
+ replaceInfo.setString("deadlineH" , "17");
|
|
|
+
|
|
|
+ kakaoSender.send(SsgKakaoSender.KakaoAnswerSq.VA_ORDER_COMPLETE.value(), dm, replaceInfo);
|
|
|
+ }
|
|
|
+ // 실시간계좌이체
|
|
|
+ else if (TscConstants.PayMeans.ACCOUNT_TRANSFER.value().equals(order.getPayMeans())) {
|
|
|
+ replaceInfo.setString("ordDt" , todayDate);
|
|
|
+ replaceInfo.setString("vaBankNm" , order.getCardNm());
|
|
|
+
|
|
|
+ kakaoSender.send(SsgKakaoSender.KakaoAnswerSq.AT_ORDER_COMPLETE.value(), dm, replaceInfo);
|
|
|
+ }
|
|
|
+ // 신용카드, 휴대폰결제
|
|
|
+ else {
|
|
|
+ kakaoSender.send(SsgKakaoSender.KakaoAnswerSq.ORDER_COMPLETE.value(), dm, replaceInfo);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else if ("KAKAO".equals(order.getPgGb())) {
|
|
|
+ kakaoSender.send(SsgKakaoSender.KakaoAnswerSq.ORDER_COMPLETE.value(), dm, replaceInfo);
|
|
|
+ }
|
|
|
+ else if ("NAVER".equals(order.getPgGb())) {
|
|
|
+ kakaoSender.send(SsgKakaoSender.KakaoAnswerSq.ORDER_COMPLETE.value(), dm, replaceInfo);
|
|
|
+ }
|
|
|
+ else if ("PAYCO".equals(order.getPgGb())) {
|
|
|
+ kakaoSender.send(SsgKakaoSender.KakaoAnswerSq.ORDER_COMPLETE.value(), dm, replaceInfo);
|
|
|
+ }
|
|
|
+
|
|
|
+ try {
|
|
|
+ // 고객접촉이력 정보
|
|
|
+ CustContactHst custContactHst = new CustContactHst();
|
|
|
+ custContactHst.setContactType(TscConstants.ContactType.ORDER_INFO.value()); // 접촉유형:임시비밀번호발급(공통코드G054)
|
|
|
+ custContactHst.setContactMethod(TscConstants.ContactMethod.KAKAOTALK.value()); // 접촉방법:알림톡+문자(공통코드G055)
|
|
|
+ custContactHst.setContactContents("주문안내");
|
|
|
+ custContactHst.setReceiverNo(order.getCustNo());
|
|
|
+ custContactHst.setSenderNo(senderNo);
|
|
|
+ custContactHst.setRegNo(senderNo);
|
|
|
+ coreCustomerService.createCustomerContactHistory(custContactHst);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("error", e);
|
|
|
+ // Do nothing
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
// /**
|
|
|
// * 무통장입금 확인 알림톡
|
|
|
// * @param customer - 고객 정보
|