فهرست منبع

Merge branch 'develop' of http://112.172.147.34:4936/style24/style24.core into develop

jsshin 5 سال پیش
والد
کامیت
89282afb3b

+ 87 - 67
src/main/java/com/style24/core/biz/service/TscKakaotalkService.java

@@ -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 - 고객 정보

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

@@ -1877,6 +1877,7 @@ public class TscOrderService {
 				order.setDelvMemo(deliveryAddrInfo.getDelvMemo());
 				order.setGiftMsg(deliveryAddrInfo.getGiftMsg());
 				order.setDelvAddrSq(deliveryAddrInfo.getDelvAddrSq());
+				order.setRecipAddr(deliveryAddrInfo.getRecipBaseAddr() + " " + deliveryAddrInfo.getRecipDtlAddr());
 			}
 			index++;
 		}
@@ -1900,6 +1901,7 @@ public class TscOrderService {
 		int savePntSumAmt 		= 0; // 적립예정포인트합계
 		int delvAddrSq			= 0; // 배송지번호
 		String goodsNm			= ""; // 상품명
+		int goodsCnt			= 0; // 상품건수
 		index					= 0;
 		
 		String giftPackYn		= "N"; // 선물여부
@@ -1928,6 +1930,7 @@ public class TscOrderService {
 		
 		// 2021.04.25 금액표기수정
 		goodsDcSumAmt	= listSumAmt - goodsSumAmt;
+		goodsCnt 		= orderDetailList.size() - 1; 
 		
 		// 선물여부
 		order.setGiftPackYn(giftPackYn);
@@ -1952,10 +1955,15 @@ public class TscOrderService {
 				order.setPayMeansNm(orderPayment.getPayMeansNm());
 				order.setCardNm(orderPayment.getCardNm());
 				order.setPayType(payType);
+				order.setPgGb(orderPayment.getPgGb());
+				order.setVaNo(orderPayment.getVaNo());
+				order.setVaDeadline(orderPayment.getVaDeadline());
+				
 				// 2021.05.07 현금영수증정보
 				order.setCashAuthNo(orderPayment.getCashAuthNo());
 				order.setCashTradeNo(orderPayment.getCashTradeNo());
 				
+				
 				if (orderPayment.getCardMips() != null && !"".equals(orderPayment.getCardMips())) {
 					if ("00".equals(orderPayment.getCardMips())) {
 						order.setCardMips("일시불");
@@ -1975,7 +1983,7 @@ public class TscOrderService {
 		Collection<Order> deliveryFeeList = getDeliveryFeeList(order);
 		for (Order deliveryFee : deliveryFeeList) {
 			delvFeeSumAmt 		= delvFeeSumAmt 	+ deliveryFee.getDelvFee();
-			realDelvSumAmt 		= realDelvSumAmt 		+ deliveryFee.getRealDelvAmt();
+			realDelvSumAmt 		= realDelvSumAmt 	+ deliveryFee.getRealDelvAmt();
 			cpnDcSumAmt			= cpnDcSumAmt 		+ deliveryFee.getDelvCpnDcAmt();
 		}
 		
@@ -1983,6 +1991,9 @@ public class TscOrderService {
 		int dcSumAmt 		= cpn11DcSumAmt + tmtbSumAmt + cpnDcSumAmt + prePntDcSumAmt + pntDcSumAmt + gfcdUseSumAmt + mileageDcAmt + allianceDcAmt;
 		int realOrdSumAmt 	= ordSumAmt - dcSumAmt;
 		
+		// 결제금액
+		order.setPayAmt(realOrdSumAmt);
+		
 		// 6. 화면전송변수설정
 		resultMap.set("orderInfo"			, order);				// 주문기본정보
 		resultMap.set("ordSumAmt"			, ordSumAmt);			// 주문금액합계
@@ -2005,6 +2016,7 @@ public class TscOrderService {
 		resultMap.set("delvAddrSq"			, delvAddrSq);			// 배송지번호
 		resultMap.set("orderDetailList"		, orderDetailList);		// 주문목록
 		resultMap.set("goodsNm"				, goodsNm);				// 상품명
+		resultMap.set("goodsCnt"			, goodsCnt);			// 상품건수
 		
 		return resultMap;
 	}

+ 12 - 12
src/main/java/com/style24/core/biz/thirdparty/SsgKakaoSender.java

@@ -57,7 +57,7 @@ public class SsgKakaoSender {
 
 	// 알림톡 답변일련번호
 	public enum KakaoAnswerSq {
-		JOIN_CONGRATS(1010),				// 회원가입축하 안내
+		JOIN_CONGRATS(1010),			// 회원가입축하 안내
 		TEMP_PASSWD(1011),				// 임시비밀번호발급 안내
 		CERT_NO_SEND(1012),				// 인증번호발송 안내
 		DORMANT_EXPECT(1013),			// 휴면계정전환예정 안내
@@ -66,20 +66,20 @@ public class SsgKakaoSender {
 		BIRTH_COUPON_NOTICE(1016),		// 생일 축하 안내
 		GRADE_NOTICE(1017),				// 이달 등급안내
 		GOODS_ASK_ANSWER(1018),			// 상품문의 답변 등록 안내
-		ONE_TO_ONE_ANSWER(1019),			// 1:1문의답변등록 안내
+		ONE_TO_ONE_ANSWER(1019),		// 1:1문의답변등록 안내
 
 		DORMANT_EXPECT_COMBACK(1020),	// 휴면/미접속자방어쿠폰안내
 		REVIEW_WRITE(1023),				// 상품평 등록 안내
-		GIFTCARD_EXTNC_EXPECT(1024),		// 상품권 소멸 예정 안내
+		GIFTCARD_EXTNC_EXPECT(1024),	// 상품권 소멸 예정 안내
 		COUPON_EXTNC_EXPECT(1025),		// 쿠폰 소멸 예정안내
 		POINT_EXTNC_EXPECT(1026),		// 포인트 소멸 예정안내
-		GOODS_UNPURCHASED(1027),			// 미구매 상품 확인안내
-		SHOPPING_BAG_DISCOUNT(1028),		// 쇼핑백 할인혜택 안내
-		WISHLIST_DISCOUNT(1029),			// 위시리스트 할인혜택 안내
+		GOODS_UNPURCHASED(1027),		// 미구매 상품 확인안내
+		SHOPPING_BAG_DISCOUNT(1028),	// 쇼핑백 할인혜택 안내
+		WISHLIST_DISCOUNT(1029),		// 위시리스트 할인혜택 안내
 
 		ORDER_COMPLETE(1030),			// 주문완료 안내
-		AT_ORDER_COMPLETE(1031),			// 주문완료-계좌이체 안내
-		VA_ORDER_COMPLETE(1032),			// 주문완료-무통장 안내
+		AT_ORDER_COMPLETE(1031),		// 주문완료-계좌이체 안내
+		VA_ORDER_COMPLETE(1032),		// 주문완료-무통장 안내
 		VA_DEPOSIT_REQUEST(1033),		// 무통장 입금 요청
 		VA_DEPOSIT_CONFIRM(1034),		// 무통장 입금 확인 안내
 
@@ -97,17 +97,17 @@ public class SsgKakaoSender {
 		EXCHANGE_REQUEST(1043),			// 교환 접수 안내
 		RETURN_REQUEST(1044),			// 반품 접수 안내
 		RETURN_COMPLETE(1045),			// 반품 완료 안내
-		EXCHANGE_ADD_COST(1046),			// 추가 비용 발생 안내 - 교환
+		EXCHANGE_ADD_COST(1046),		// 추가 비용 발생 안내 - 교환
 		RETURN_ADD_COST(1047),			// 추가 비용 발생 안내 - 반품
 		WHITHDRAW_START(1048),			// 회수 시작 안내
-		RETURN_REQUEST_CANCEL(1049),		// 반품 철회 안내 - 접수 철회
-		RETURN_CANCEL(1050),				// 반품 철회 안내 - 철회
+		RETURN_REQUEST_CANCEL(1049),	// 반품 철회 안내 - 접수 철회
+		RETURN_CANCEL(1050),			// 반품 철회 안내 - 철회
 
 		EXTMALL_SOLDOUT(1051),			// 제휴몰 품절 주문 취소 안내
 		EXTMALL_PART_SOLDOUT(1052),		// 제휴몰 품절 주문 취소 안내 - 부분
 
 		GIFT_ARRIVED(1053),				// 선물 도착 안내
-		GOODS_RESTOCK(1054),				// 재입고 안내
+		GOODS_RESTOCK(1054),			// 재입고 안내
 		APP_DOWNLOAD(1055),				// APP 다운
 		BASIC_LMS(1056);
 

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

@@ -73,20 +73,20 @@ public class TscConstants {
 		BASIC_LMS("G054_206"),					// 회원/마케팅 -기본LMS안내발송
 		DORMANT_EXPECTED("G054_207"),			// 회원/마케팅 -휴면계정전환예정
 		PRIVACY_POLICY("G054_208"),				// 회원/마케팅 -개인정보 이용내역
-		MARKETING_AGREE("G054_209"),				// 회원/마케팅 -마케팅 정보 수신동의 내역
-		BIRTH_COUPON_NOTICE("G054_210"),			// 회원/마케팅 -생일쿠폰다운로드안내
+		MARKETING_AGREE("G054_209"),			// 회원/마케팅 -마케팅 정보 수신동의 내역
+		BIRTH_COUPON_NOTICE("G054_210"),		// 회원/마케팅 -생일쿠폰다운로드안내
 		GRADE_NOTICE("G054_211"),				// 회원/마케팅 -이달의 등급 혜택 안내
 		DORMANT_EXPECT_COMBACK("G054_212"),		// 회원/마케팅 -휴면/미접속자 방어쿠폰
 		GIFTCARD_EXTNC_EXPECT("G054_213"),		// 회원/마케팅 - 상품권 소멸 예정 안내
-		COUPON_EXTNC_EXPECT("G054_214"),			// 회원/마케팅 - 쿠폰 소멸 예정안내
+		COUPON_EXTNC_EXPECT("G054_214"),		// 회원/마케팅 - 쿠폰 소멸 예정안내
 		POINT_EXTNC_EXPECT("G054_215"),			// 회원/마케팅 - 포인트 소멸 예정안내
 		ORDER_INFO("G054_301"),					// 주문-주문안내
 		BANK_DEPOSIT_INFO("G054_302"),			// 주문-무통장입금안내
 		SOLDOUT_EXPECTED_INFO("G054_303"),		// 주문-결품예정안내
 		SOLDOUT_INFO("G054_304"),				// 주문-결품안내
-		CANCEL_INFO("G054_305"),					// 주문-취소안내
+		CANCEL_INFO("G054_305"),				// 주문-취소안내
 		REPAYMENT_INFO("G054_306"),				// 주문-재결제안내
-		BUY_CONFIRM("G054_307"),					// 주문-구매확정
+		BUY_CONFIRM("G054_307"),				// 주문-구매확정
 		SHIPPING_INFO("G054_401"),				// 배송-주문상품배송안내
 		EXCHANGE_SHIPPING_INFO("G054_402"),		// 배송-교환상품배송안내
 		RETURN_RECEIPT("G054_501"),				// 반품-반품접수완료

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

@@ -3734,7 +3734,7 @@
 		     , OD.SAVE_PNT_AMT 
 		     , OD.DELV_ADDR_SQ
 		     , OD.GIFT_PACK_YN
-		     , G.GOODS_NM
+		     , G1.GOODS_NM
 		FROM   TB_ORDER_DETAIL OD
 		INNER  JOIN TB_GOODS G1 
 		ON     OD.GOODS_CD = G1.GOODS_CD
@@ -3758,7 +3758,7 @@
 		     , OD.SAVE_PNT_AMT 
 		     , OD.DELV_ADDR_SQ
 		     , OD.GIFT_PACK_YN
-		     , G.GOODS_NM
+		     , G1.GOODS_NM
 	</select>
 
 	<!-- 마이페이지 주문 상태 별 수량 조회 -->