Bläddra i källkod

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

gagamel 5 år sedan
förälder
incheckning
a98b9db45a

+ 9 - 0
src/main/java/com/style24/core/biz/dao/TscOrderDao.java

@@ -875,4 +875,13 @@ public interface TscOrderDao {
 	 * @since 2021. 05. 26
 	 */
 	Order getCustPaymeans(Order order);
+	
+	/**
+	 * 추가결제시 업체명 목록 조회
+	 * @param Order
+	 * @return
+	 * @author jsh77b
+	 * @since 2021. 05. 27
+	 */
+	Collection<Order> getDelvFeeCdSupplyCompNmList(Order order);
 }

+ 2 - 1
src/main/java/com/style24/core/biz/service/TscCouponService.java

@@ -504,7 +504,8 @@ public class TscCouponService {
     }
 
     /**
-     * 회원상세 - 쿠폰발급
+     * 쿠폰발급
+     *
      * @param coupon - 쿠폰정보
      * @author jsshin
      * @since 2021. 1. 29

+ 195 - 7
src/main/java/com/style24/core/biz/service/TscKakaotalkService.java

@@ -1,5 +1,8 @@
 package com.style24.core.biz.service;
 
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.core.env.Environment;
 import org.springframework.stereotype.Service;
@@ -8,8 +11,12 @@ import org.springframework.transaction.annotation.Transactional;
 import com.style24.core.biz.thirdparty.NaverShortUrl;
 import com.style24.core.biz.thirdparty.SsgKakaoSender;
 import com.style24.core.support.env.TscConstants;
+import com.style24.persistence.domain.Coupon;
 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.Point;
 import com.style24.persistence.domain.SsgDirectMessage;
 
 import lombok.extern.slf4j.Slf4j;
@@ -58,12 +65,12 @@ public class TscKakaotalkService {
 		replaceInfo.setString("custNm", customer.getCustNm());
 		replaceInfo.setString("passwd", customer.getPasswd());
 
-		kakaoSender.send(SsgKakaoSender.KakaoAnswerSq.TempPasswd.value(), dm, replaceInfo);
+		kakaoSender.send(SsgKakaoSender.KakaoAnswerSq.TEMP_PASSWD.value(), dm, replaceInfo);
 
 		try {
 			// 고객접촉이력 정보
 			CustContactHst custContactHst = new CustContactHst();
-			custContactHst.setContactType(TscConstants.ContactType.PASSWORD_INFO.value()); // 접촉유형:임시비밀번호발급(공통코드G054)
+			custContactHst.setContactType(TscConstants.ContactType.TEMP_PASSWD.value()); // 접촉유형:임시비밀번호발급(공통코드G054)
 			custContactHst.setContactMethod(TscConstants.ContactMethod.KAKAOTALK.value()); // 접촉방법:알림톡+문자(공통코드G055)
 			custContactHst.setContactContents("고객 임시비밀번호 발송");
 			custContactHst.setReceiverNo(customer.getCustNo());
@@ -84,22 +91,39 @@ public class TscKakaotalkService {
 	 * @since 2020. 4. 9
 	 */
 	@Transactional("shopTxnManager")
-	public void sendJoinCongrat(Customer customer, Integer senderNo) {
+	public void sendJoinCongrat(Customer customer, Coupon coupon, Integer senderNo) {
 		SsgDirectMessage dm = new SsgDirectMessage();
 		dm.setFuserid(String.valueOf(senderNo)); // 발송자NO
 		dm.setFdestine(customer.getCellPhnno());
 		dm.setFkkoresendtype("LMS");
 
+		SimpleDateFormat formatter = new SimpleDateFormat("yyyy.MM.dd");
+		Date currentTime = new Date();
+		String today = formatter.format(currentTime);
+
+		String custId = customer.getCustId();
+		if (TscConstants.SnsType.NAVER.value().equals(customer.getSnsType())) {
+			custId = "네이버 간편가입회원";
+		} else if (TscConstants.SnsType.KAKAO.value().equals(customer.getSnsType())) {
+			custId = "카카오 간편가입회원";
+		} else if (TscConstants.SnsType.YES24.value().equals(customer.getSnsType())) {
+			custId = "YES24 간편가입회원";
+		}
+
 		GagaMap replaceInfo = new GagaMap();
 		replaceInfo.setString("siteNm", siteNm);
 		replaceInfo.setString("custNm", customer.getCustNm());
+		replaceInfo.setString("custId", custId);
+		replaceInfo.setString("cpnNm", coupon.getCpnNm());
+		replaceInfo.setString("joinDt", today);
+
 		replaceInfo.set("custNo", customer.getCustNo());
-		kakaoSender.send(SsgKakaoSender.KakaoAnswerSq.JoinCongrat.value(), dm, replaceInfo);
+		kakaoSender.send(SsgKakaoSender.KakaoAnswerSq.JOIN_CONGRATS.value(), dm, replaceInfo);
 
 		try {
 			// 고객접촉이력 정보
 			CustContactHst custContactHst = new CustContactHst();
-			custContactHst.setContactType(TscConstants.ContactType.CONGRATULATIONS.value()); // 접촉유형:임시비밀번호발급(공통코드G054)
+			custContactHst.setContactType(TscConstants.ContactType.JOIN_CONGRATS.value()); // 접촉유형:임시비밀번호발급(공통코드G054)
 			custContactHst.setContactMethod(TscConstants.ContactMethod.KAKAOTALK.value()); // 접촉방법:알림톡+문자(공통코드G055)
 			custContactHst.setContactContents("회원가입축하");
 			custContactHst.setReceiverNo(customer.getCustNo());
@@ -112,6 +136,7 @@ public class TscKakaotalkService {
 		}
 	}
 
+
 	/**
 	 * 인증번호발송
 	 * @param customer - 고객 정보
@@ -131,8 +156,86 @@ public class TscKakaotalkService {
 		replaceInfo.setString("certNo", customer.getCertNo());
 
 		// SMS로 발송
-		kakaoSender.sendSms(SsgKakaoSender.KakaoAnswerSq.CertNoSend.value(), dm, replaceInfo);
+		kakaoSender.sendSms(SsgKakaoSender.KakaoAnswerSq.CERT_NO_SEND.value(), dm, replaceInfo);
+	}
+	
+	/**
+	 * 상품권 기간만료 알림톡(30일)
+	 * @param giftcard - 상품권 정보
+	 * @param senderNo - 발송자번호(고객번호)
+	 * @author sowon
+	 * @since 2021. 5. 27
+	 */
+	@Transactional("shopTxnManager")
+	public void sendGiftcardExpectNotify(GiftCard giftcard, Integer senderNo) {
+		SsgDirectMessage dm = new SsgDirectMessage();
+		dm.setFuserid(String.valueOf(senderNo)); // 발송자NO
+		dm.setFdestine(giftcard.getCellPhnno());
+		dm.setFkkoresendtype("LMS");
+
+		GagaMap replaceInfo = new GagaMap();
+		replaceInfo.setString("siteNm", siteNm);
+		replaceInfo.setString("custNm", giftcard.getCustNm());
+		replaceInfo.setString("rmGfcdAmt", Integer.toString(giftcard.getRmGfcdAmt()));
+		replaceInfo.setString("useExpDate", giftcard.getUseExpDate());
+		kakaoSender.send(SsgKakaoSender.KakaoAnswerSq.GIFTCARD_EXTNC_EXPECT.value(), dm, replaceInfo);
+		
+		try {
+			// 고객접촉이력 정보
+			CustContactHst custContactHst = new CustContactHst();
+			custContactHst.setContactType(TscConstants.ContactType.GIFTCARD_EXTNC_EXPECT.value()); // 접촉유형:임시비밀번호발급(공통코드G054)
+			custContactHst.setContactMethod(TscConstants.ContactMethod.KAKAOTALK.value()); // 접촉방법:알림톡+문자(공통코드G055)
+			custContactHst.setContactContents("상품권소멸예정");
+			custContactHst.setReceiverNo(giftcard.getCustNo());
+			custContactHst.setSenderNo(senderNo);
+			custContactHst.setRegNo(senderNo);
+			coreCustomerService.createCustomerContactHistory(custContactHst);
+		} catch (Exception e) {
+			log.error("error", e);
+			// Do nothing
+		}
+
 	}
+	
+
+	/**
+	 *  포인트 기간만료 알림톡(30일)
+	 * @param point - 상품권 정보
+	 * @param senderNo - 발송자번호(고객번호)
+	 * @author sowon
+	 * @since 2021. 5. 28
+	 */
+	@Transactional("shopTxnManager")
+	public void sendPointExpectNotify(Point point, Integer senderNo) {
+		SsgDirectMessage dm = new SsgDirectMessage();
+		dm.setFuserid(String.valueOf(senderNo)); // 발송자NO
+		dm.setFdestine(point.getCellPhnno());
+		dm.setFkkoresendtype("LMS");
+
+		GagaMap replaceInfo = new GagaMap();
+		replaceInfo.setString("siteNm", siteNm);
+		replaceInfo.setString("custNm", point.getCustNm());
+		replaceInfo.setString("rmPntAmt", Integer.toString(point.getRmPntAmt()));
+		replaceInfo.setString("expBeDt", point.getExpBeDt());
+		kakaoSender.send(SsgKakaoSender.KakaoAnswerSq.POINT_EXTNC_EXPECT.value(), dm, replaceInfo);
+		
+		try {
+			// 고객접촉이력 정보
+			CustContactHst custContactHst = new CustContactHst();
+			custContactHst.setContactType(TscConstants.ContactType.POINT_EXTNC_EXPECT.value()); // 접촉유형:임시비밀번호발급(공통코드G054)
+			custContactHst.setContactMethod(TscConstants.ContactMethod.KAKAOTALK.value()); 		// 접촉방법:알림톡+문자(공통코드G055)
+			custContactHst.setContactContents("포인트소멸예정");
+			custContactHst.setReceiverNo(point.getCustNo());
+			custContactHst.setSenderNo(senderNo);
+			custContactHst.setRegNo(senderNo);
+			coreCustomerService.createCustomerContactHistory(custContactHst);
+		} catch (Exception e) {
+			log.error("error", e);
+			// Do nothing
+		}
+
+	}
+
 
 //	/**
 //	 * 결제완료 알림톡
@@ -303,7 +406,92 @@ public class TscKakaotalkService {
 		replaceInfo.setString("iosAppDownUrl", shortUrl.getShortUrl(env.getProperty("app.down.url.ios")));
 		replaceInfo.setString("aosAppDownUrl", shortUrl.getShortUrl(env.getProperty("app.down.url.aos")));
 
-		kakaoSender.sendLms(SsgKakaoSender.KakaoAnswerSq.AppDownload.value(), dm, replaceInfo);
+		kakaoSender.sendLms(SsgKakaoSender.KakaoAnswerSq.APP_DOWNLOAD.value(), dm, replaceInfo);
 	}
 
+	/**
+	 * 휴면/미접속자 방어 쿠폰
+	 *
+	 * @param customer - 휴대전화번호,고객이름
+	 * @param custCoupon - 쿠폰정보
+	 * @author jssin
+	 * @since 2021. 05. 28
+	 */
+	public void sendCombackCoupon(Customer customer, CustCoupon custCoupon, Integer senderNo) {
+		SsgDirectMessage dm = new SsgDirectMessage();
+		dm.setFuserid(String.valueOf(senderNo)); // 발송자NO
+		dm.setFdestine(customer.getCellPhnno());
+		dm.setFkkoresendtype("LMS");
+
+		GagaMap replaceInfo = new GagaMap();
+		replaceInfo.setString("siteNm", siteNm);
+		replaceInfo.setString("custNm", customer.getCustNm());
+		replaceInfo.setInt("dcVal", custCoupon.getDcVal());
+		replaceInfo.setString("dcWay", custCoupon.getDcWay());
+
+		replaceInfo.set("custNo", customer.getCustNo());
+		kakaoSender.send(SsgKakaoSender.KakaoAnswerSq.DORMANT_EXPECT_COMBACK.value(), dm, replaceInfo);
+
+		try {
+			// 고객접촉이력 정보
+			CustContactHst custContactHst = new CustContactHst();
+			custContactHst.setContactType(TscConstants.ContactType.DORMANT_EXPECT_COMBACK.value());
+			custContactHst.setContactMethod(TscConstants.ContactMethod.KAKAOTALK.value());
+			custContactHst.setContactContents("휴면/미접속 방어쿠폰");
+			custContactHst.setReceiverNo(customer.getCustNo());
+			custContactHst.setSenderNo(senderNo);
+			custContactHst.setRegNo(senderNo);
+			coreCustomerService.createCustomerContactHistory(custContactHst);
+		} catch (Exception e) {
+			log.error("error", e);
+			// Do nothing
+		}
+	}
+	
+	//----------------------------
+	
+	/**
+	 * 재입고 발송
+	 * @param customer
+	 * @param goods
+	 * @param senderNo
+	 * @author eskim
+	 * @since 2021. 5. 28
+	 */
+	@Transactional("shopTxnManager")
+	public void goodsRestock(GagaMap goods, Integer senderNo) {
+		SsgDirectMessage dm = new SsgDirectMessage();
+		dm.setFuserid(String.valueOf(senderNo)); // 발송자NO======>
+		dm.setFdestine(goods.getString("cellPhnno"));
+		dm.setFkkoresendtype("LMS");
+
+		GagaMap replaceInfo = new GagaMap();
+		replaceInfo.setString("siteNm", siteNm);
+		replaceInfo.setString("custNm", goods.getString("custNm"));
+		replaceInfo.setString("goodsNm", goods.getString("goodsNm"));
+		replaceInfo.setString("optCd1", goods.getString("optCd1"));
+		replaceInfo.setString("optCd2", goods.getString("optCd2"));
+		replaceInfo.setString("goodsCd", goods.getString("goodsCd"));
+		replaceInfo.setString("colorCd", goods.getString("colorCd"));
+		
+		kakaoSender.send(SsgKakaoSender.KakaoAnswerSq.GOODS_RESTOCK.value(), dm, replaceInfo);
+		
+		try {
+			// 고객접촉이력 정보
+			CustContactHst custContactHst = new CustContactHst();
+			custContactHst.setContactType(TscConstants.ContactType.GOODS_RESTOCK.value()); // 접촉유형:알림톡(공통코드G054)
+			custContactHst.setContactMethod(TscConstants.ContactMethod.KAKAOTALK.value()); // 접촉방법:알림톡+문자(공통코드G055)
+			custContactHst.setContactContents("재입고안내");
+			custContactHst.setReceiverNo(goods.getInt("custNo"));
+			custContactHst.setSenderNo(senderNo);
+			custContactHst.setRegNo(senderNo);
+			coreCustomerService.createCustomerContactHistory(custContactHst);
+		} catch (Exception e) {
+			log.error("error", e);
+			// Do nothing
+		}
+
+	}
+	
+	//----------------------------
 }

+ 7 - 0
src/main/java/com/style24/core/biz/service/TscOrderService.java

@@ -1860,6 +1860,7 @@ public class TscOrderService {
 				order.setVaNo(orderInfo.getVaNo());
 				order.setCustNo(orderInfo.getCustNo());
 				order.setPgGb(orderInfo.getPgGb());
+				order.setCustId(orderInfo.getCustId());
 			}
 			index++;
 		}
@@ -2000,6 +2001,7 @@ public class TscOrderService {
 		resultMap.set("mileageDcAmt"		, mileageDcAmt);		// 마일리지사용합계
 		resultMap.set("allianceDcAmt"		, allianceDcAmt);		// 제휴할인합계
 		resultMap.set("delvAddrSq"          , delvAddrSq);			// 배송지번호
+		resultMap.set("orderDetailList"     , orderDetailList);		// 주문목록
 		
 		return resultMap;
 	}
@@ -2191,6 +2193,9 @@ public class TscOrderService {
 			index++;
 		}
 		
+		// 추가결제시 업체명 목록 조회
+		Collection<Order> delvFeeCdList =  orderDao.getDelvFeeCdSupplyCompNmList(order);
+		
 		resultMap.set("orderAddPayGoodsList"	, orderAddPayGoodsList);	// 주문목록정보
 		resultMap.set("ordNo"					, ordNo);					// 주문번호
 		resultMap.set("refundAmt"				, refundAmt);				// 상품환불금액
@@ -2202,6 +2207,8 @@ public class TscOrderService {
 		resultMap.set("chgerPhnno"				, chgerPhnno);				// 변경신청핸드폰번호
 		resultMap.set("goodsNm"					, goodsNm);					// 상품명
 		resultMap.set("ordNm"					, ordNm);					// 주문자
+		resultMap.set("delvCnt"					, delvFeeCdList.size());	// 업체명카운트
+		resultMap.set("delvFeeCdList"			, delvFeeCdList);			// 추가결제시 업체명 목록 조회
 		
 		return resultMap;
 	}

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

@@ -55,35 +55,59 @@ public class SsgKakaoSender {
 
 	// 알림톡 답변일련번호
 	public enum KakaoAnswerSq {
-		JoinCongrat(1010),			// 회원가입축하 안내
-		CertNoSend(1011),			// 인증번호발송 안내
-		TempPasswd(1012),			// 임시비밀번호발급 안내
-		OtoAnswer(1013),			// 1:1문의답변등록 안내
-		DormantExpect(1014),		// 휴면계정전환예정 안내
-		AppDownload(1015),			// 앱다운로드
-
-		CardOrderComplete(1020),	// 주문완료-신용카드 안내
-		BtOrderComplete(1021),		// 주문완료-계좌이체 안내
-		VaOrderComplete(1022),		// 주문완료-무통장 안내
-		VaDepositRequest(1023),		// 무통장입금요청 안내
-		VaDepositConfirm(1024),		// 무통장입금확인 안내
-		CardCancelRefund(1025),		// 주문취소 및 환불 안내-신용카드
-		AtCancelRefund(1026),		// 주문취소 및 환불 안내-계좌이체
-		VaCancelRefund(1027),		// 주문취소 및 환불 안내-무통장
-
-		SoldoutExpect(1030),		// 품절예정안내
-		CardCancelBySoldout(1031),	// 품절에 의한 주문취소 안내-신용카드
-		AtCancelBySoldout(1032),	// 품절에 의한 주문취소 안내-계좌이체
-		VaCancelBySoldout(1033),	// 품절에 의한 주문취소 안내-무통장
-
-		GoodsSend(1040),			// 상품 발송 안내
-		ExchGoodsSend(1041),		// 교환 상품 발송 안내
-
-		ExchRequestComplete(1050),	// 교환 신청 완료 안내
-		RtnRequestCompleted(1051),	// 반품 신청 완료 안내
-		WithdrawDelay(1060),		// 회수처리 지연 안내
-		ReviewWrite(1070),			// 상품평 작성 안내
-		BasicLms(1071);				// 기본안내
+		JOIN_CONGRATS(1010),				// 회원가입축하 안내
+		TEMP_PASSWD(1011),				// 임시비밀번호발급 안내
+		CERT_NO_SEND(1012),				// 인증번호발송 안내
+		DORMANT_EXPECT(1013),			// 휴면계정전환예정 안내
+		PRIVACY_POLICY(1014),			// 개인정보 이용내역 안내
+		MARKETING_AGREE(1015),			// 마케팅 수신동의 안내
+		BIRTH_COUPON_NOTICE(1016),		// 생일 축하 안내
+		GRADE_NOTICE(1017),				// 이달 등급안내
+		GOODS_ASK_ANSWER(1018),			// 상품문의 답변 등록 안내
+		ONE_TO_ONE_ANSWER(1019),			// 1:1문의답변등록 안내
+
+		DORMANT_EXPECT_COMBACK(1020),	// 휴면/미접속자방어쿠폰안내
+		REVIEW_WRITE(1023),				// 상품평 등록 안내
+		GIFTCARD_EXTNC_EXPECT(1024),		// 상품권 소멸 예정 안내
+		COUPON_EXTNC_EXPECT(1025),		// 쿠폰 소멸 예정안내
+		POINT_EXTNC_EXPECT(1026),		// 포인트 소멸 예정안내
+		GOODS_UNPURCHASED(1027),			// 미구매 상품 확인안내
+		SHOPPING_BAG_DISCOUNT(1028),		// 쇼핑백 할인혜택 안내
+		WISHLIST_DISCOUNT(1029),			// 위시리스트 할인혜택 안내
+
+		ORDER_COMPLETE(1030),			// 주문완료 안내
+		AT_ORDER_COMPLETE(1031),			// 주문완료-계좌이체 안내
+		VA_ORDER_COMPLETE(1032),			// 주문완료-무통장 안내
+		VA_DEPOSIT_REQUEST(1033),		// 무통장 입금 요청
+		VA_DEPOSIT_CONFIRM(1034),		// 무통장 입금 확인 안내
+
+		GOODS_SEND(1035),				// 상품 배송출발 안내
+
+		CARD_CANCEL_REFUND(1036),		// 주문취소 및 환불 안내-신용카드
+		NA_CANCEL_REFUND(1037),			// 주문취소 및 환불 안내-통신사
+		AT_CANCEL_REFUND(1038),			// 주문취소 및 환불 안내-계좌이체
+		VA_CANCEL_REFUND(1039),			// 주문취소 및 환불 안내-무통장
+
+		CARD_CANCEL_BY_SOLDOUT(1040),	// 품절 주문 취소 안내-신용카드
+		AT_CANCEL_BY_SOLDOUT(1041),		// 품절 주문 취소 안내 안내-계좌이체
+		VA_CANCEL_BY_SOLDOUT(1042),		// 품절 주문 취소 안내-무통장
+
+		EXCHANGE_REQUEST(1043),			// 교환 접수 안내
+		RETURN_REQUEST(1044),			// 반품 접수 안내
+		RETURN_COMPLETE(1045),			// 반품 완료 안내
+		EXCHANGE_ADD_COST(1046),			// 추가 비용 발생 안내 - 교환
+		RETURN_ADD_COST(1047),			// 추가 비용 발생 안내 - 반품
+		WHITHDRAW_START(1048),			// 회수 시작 안내
+		RETURN_REQUEST_CANCEL(1049),		// 반품 철회 안내 - 접수 철회
+		RETURN_CANCEL(1050),				// 반품 철회 안내 - 철회
+
+		EXTMALL_SOLDOUT(1051),			// 제휴몰 품절 주문 취소 안내
+		EXTMALL_PART_SOLDOUT(1052),		// 제휴몰 품절 주문 취소 안내 - 부분
+
+		GIFT_ARRIVED(1053),				// 선물 도착 안내
+		GOODS_RESTOCK(1054),				// 재입고 안내
+		APP_DOWNLOAD(1055),				// APP 다운
+		BASIC_LMS(1056);
 
 		private Integer value;
 
@@ -136,6 +160,9 @@ public class SsgKakaoSender {
 
 		// 버튼생성
 		if (StringUtils.isNotBlank(ansPhase.getButtonNm())) {
+			
+			ansPhase.setButtonUrl(GagaStringUtil.replace(this.mergeData(ansPhase.getButtonUrl(), replaceInfo), "&gt;", ">"));
+			
 			Button button = new Button();
 			button.setName(ansPhase.getButtonNm());
 			button.setType("WL");

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

@@ -64,30 +64,37 @@ public class TscConstants {
 
 	// 접촉유형
 	public enum ContactType {
-		PROMOTION("G054_100"),					// 회원-프로모션
-		CONGRATULATIONS("G054_201"),			// 회원-회원가입축하
-		CELLPHONE_AUTHENTICATION("G054_202"),	// 회원-휴대전화인증
-		PASSWORD_INFO("G054_203"), 				// 회원-고객비밀번호발송
-		QNA_INFO("G054_204"),					// 회원-1:1문의답변
-		SECESSION_INFO("G054_205"),				// 회원-가입탈퇴안내
-		BASIC_LMS("G054_206"),					// 회원-기본LMS안내발송
-		DORMANT_EXPECTED("G054_207"),			// 회원-휴면계정전환예정
-		PRIVACY_POLICY("G054_208"),				// 회원-개인정보 이용내역
-		MARKETING_AGREE("G054_209"),			// 회원-마케팅 정보 수신동의 내역
+		PROMOTION("G054_100"),					// 회원/마케팅 -프로모션
+		JOIN_CONGRATS("G054_201"),				// 회원/마케팅 -회원가입축하
+		CERT_NO_SEND("G054_202"),				// 회원/마케팅 -휴대전화인증
+		TEMP_PASSWD("G054_203"), 				// 회원/마케팅 -고객비밀번호발송
+		ONE_TO_ONE_ANSWER("G054_204"),			// 회원/마케팅 -1:1문의답변
+		SECESSION_INFO("G054_205"),				// 회원/마케팅 -가입탈퇴안내
+		BASIC_LMS("G054_206"),					// 회원/마케팅 -기본LMS안내발송
+		DORMANT_EXPECTED("G054_207"),			// 회원/마케팅 -휴면계정전환예정
+		PRIVACY_POLICY("G054_208"),				// 회원/마케팅 -개인정보 이용내역
+		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"),			// 회원/마케팅 - 쿠폰 소멸 예정안내
+		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"),				// 반품-반품접수완료
 		RETURN_COMPLETED("G054_502"),			// 반품-반품회수완료
 		EXCHANGE_RECEIPT("G054_503"),			// 교환-교환접수완료
 		EXCHANGE_COMPLETED("G054_504"),			// 교환-교환회수완료
-		BIRTH_COUPON_NOTICE("G054_601");		// 마케팅-생일쿠폰다운로드안내
+		GOODS_RESTOCK("G054_701");				// 재입고 알림
+
 
 		private String value;
 
@@ -959,6 +966,7 @@ public class TscConstants {
 		BIRTHDAY("G068_11"),
 		WEDDING("G068_12"),
 		CHANGE_CUSTOMER_GRADE("G068_13"),
+		DORMANT_COMABK_COUPON("G068_13"),
 		DELAY_CANCEL_INFOMATION("G068_20"),
 		DELAY_DELIVERY("G068_21"),
 		MISDELIVERY("G068_22"),

+ 2 - 0
src/main/java/com/style24/persistence/domain/Customer.java

@@ -106,6 +106,8 @@ public class Customer extends TscBaseDomain {
 	private int diffLoginLdt;
 	private int diffJoinDt;
 
+	private String cpnNm;
+
 	// 암호화 대상 복호화 처리
 	public String getCustNm() {
 		this.custNm = CryptoUtils.decryptAES(this.custNm);

+ 14 - 0
src/main/java/com/style24/persistence/domain/GiftCard.java

@@ -1,6 +1,7 @@
 package com.style24.persistence.domain;
 
 import com.style24.core.support.session.TscSession;
+import com.style24.core.support.util.CryptoUtils;
 import com.style24.core.support.util.MaskingUtils;
 import com.style24.persistence.TscBaseDomain;
 
@@ -19,6 +20,8 @@ public class GiftCard extends TscBaseDomain {
 
 	private Integer custGfcdSq;		// 고객상품권일련번호
 	private Integer custNo;			// 고객번호
+	private String custNm;			// 고객이름
+	private String cellPhnno;		// 휴대전화번호(탈퇴 시 NULL로 처리)
 	private String gfcdNo;			// 상품권번호
 	private String gfcdNm;			// 상품권명
 	private int chgGfcdAmt;			// 전환금액
@@ -82,4 +85,15 @@ public class GiftCard extends TscBaseDomain {
 	public String getMaskingCustId() {
 		return TscSession.getAttribute("maskingYn").equals("Y") ? MaskingUtils.id(this.custId) : this.custId;
 	}
+	
+	// 암호화 대상 복호화 처리
+	public String getCustNm() {
+		this.custNm = CryptoUtils.decryptAES(this.custNm);
+		return this.custNm;
+	}
+	public String getCellPhnno() {
+		this.cellPhnno = CryptoUtils.decryptAES(this.cellPhnno);
+		return this.cellPhnno;
+	}
+
 }

+ 10 - 0
src/main/java/com/style24/persistence/domain/Order.java

@@ -1,5 +1,6 @@
 package com.style24.persistence.domain;
 
+import java.util.Calendar;
 import java.util.Collection;
 import java.util.List;
 
@@ -711,4 +712,13 @@ public class Order extends TscBaseDomain {
 
 	private int dtlOrdAmt;
 	private int dtlItemOrdAmt;
+
+	// 네이버페이 주문형
+	private String stdt;
+	private String eddt;
+	private Calendar from;
+	private Calendar to;
+	private String errorReason;
+	private String accessLicense;
+	private String secretKey;
 }

+ 13 - 0
src/main/java/com/style24/persistence/domain/Point.java

@@ -1,5 +1,6 @@
 package com.style24.persistence.domain;
 
+import com.style24.core.support.util.CryptoUtils;
 import com.style24.persistence.TscBaseDomain;
 import lombok.Data;
 
@@ -15,6 +16,8 @@ import lombok.Data;
 public class Point extends TscBaseDomain {
 	private Integer custPntSq;	// 고객포인트일련번호
 	private Integer custNo;		// 고객번호
+	private String custNm;		// 고객이름
+	private String cellPhnno;	// 휴대전화번호(탈퇴 시 NULL로 처리)
 	private String expBeDt;		// 만료예정일시
 	private String expCmpDt;	// 만료완료일시
 	private int gvPntAmt;		// 지급포인트
@@ -43,4 +46,14 @@ public class Point extends TscBaseDomain {
 	private String searchDt;			// 검색일자
 	private int buyPointExpireDays;		// 구매포인트소멸일
 	private int autoBuyConfirmDays;		// 자동구매확정일
+	
+	// 암호화 대상 복호화 처리
+	public String getCustNm() {
+		this.custNm = CryptoUtils.decryptAES(this.custNm);
+		return this.custNm;
+	}
+	public String getCellPhnno() {
+		this.cellPhnno = CryptoUtils.decryptAES(this.cellPhnno);
+		return this.cellPhnno;
+	}
 }

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

@@ -558,6 +558,10 @@
 		            END GIFT_PACK_CLOSE_YN
 		     , DATE_ADD(O.PAY_DT, INTERVAL 3 DAY) AS GIFT_PACK_CLOSE_DT
 		     , P.PG_GB
+		     , CASE WHEN C.CUST_ID IS NULL
+		            THEN 'GUEST'
+		            ELSE C.CUST_ID
+		            END  CUST_ID
 		  FROM TB_ORDER O
 		 INNER JOIN TB_ORDER_DETAIL OD
 		    ON O.ORD_NO = OD.ORD_NO
@@ -2620,6 +2624,7 @@
 		    , COM_CARD_CD = FN_GET_CARD_CODE(#{pgGb}, #{cardCd})
 		    , CARD_MIPS = #{cardMips}
 		    , CARD_PCABLE_YN = IFNULL(#{cardPcableYn}, 'Y')
+		    , PAY_MEANS = #{payMeans}
 		    , VA_NO = #{vaNo}
 		    , VA_NM = #{vaNm}
 		    , VA_BANK = #{vaBank}
@@ -3709,7 +3714,8 @@
 	<!-- 44. 주문상세 결제금액 목록 조회 -->
 	<select id="getOrderDetailOrdAmtList"  parameterType="Order" resultType="Order">
 		/* TscOrder.getOrderDetailOrdAmtList */
-		SELECT OD.ORD_DTL_NO
+		SELECT OD.GOODS_CD
+		     , OD.ORD_DTL_NO
 		     , OD.LIST_PRICE
 		     , OD.CURR_PRICE
 		     , SUM(ODI.OPT_ADD_PRICE) AS OPT_ADD_PRICE
@@ -3731,7 +3737,8 @@
 		AND    OD.ORD_DTL_NO = ODI.ORD_DTL_NO
 		WHERE  1=1
 		AND    OD.ORD_NO = #{ordNo}
-		GROUP  BY OD.ORD_DTL_NO 
+		GROUP  BY OD.GOODS_CD 
+		     , OD.ORD_DTL_NO 
 		     , OD.CURR_PRICE
 		     , OD.ORD_QTY
 		     , OD.CPN1_DC_AMT 
@@ -4201,6 +4208,25 @@
 		ORDER  BY REG_DT DESC
 		LIMIT  1
 	</select>
+	
+	<!-- 추가결제시 업체명 목록 조회 -->
+	<select id="getDelvFeeCdSupplyCompNmList" parameterType="Order" resultType="Order">
+		/* TscOrder.getDelvFeeCdSupplyCompNmList : 추가결제시 업체명 목록 조회 */
+		SELECT OD.DELV_FEE_CD
+		     , SC.SUPPLY_COMP_NM 
+		FROM   TB_ORDER_DETAIL OD
+		INNER  JOIN TB_ORDER_CHANGE_DETAIL OCD
+		ON     OD.ORD_DTL_NO = OCD.ORD_DTL_NO
+		INNER  JOIN TB_SUPPLY_COMPANY SC
+		ON     OD.SUPPLY_COMP_CD = SC.SUPPLY_COMP_CD 
+		INNER  JOIN TB_GOODS G
+		ON     OD.GOODS_CD = G.GOODS_CD
+		WHERE  1=1
+		AND    OCD.ORD_CHG_SQ = #{ordChgSq}
+		AND    G.SELF_GOODS_YN = 'N'
+		GROUP  BY OD.DELV_FEE_CD
+		     , SC.SUPPLY_COMP_NM 
+	</select>
 </mapper>