소스 검색

메일 수정 중

jsshin 5 년 전
부모
커밋
caa5ed1c52

+ 77 - 0
src/main/java/com/style24/core/biz/service/TscMailService.java

@@ -0,0 +1,77 @@
+package com.style24.core.biz.service;
+
+import com.gagaframework.web.parameter.GagaMap;
+import com.style24.core.biz.thirdparty.NaverShortUrl;
+import com.style24.core.biz.thirdparty.NetpathyMailSender;
+import com.style24.core.biz.thirdparty.SsgKakaoSender;
+import com.style24.core.support.env.TscConstants;
+import com.style24.persistence.domain.CustContactHst;
+import com.style24.persistence.domain.Customer;
+import com.style24.persistence.domain.SsgDirectMessage;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.core.env.Environment;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+/**
+ * 메일 서비스
+ *
+ * @author jsshin
+ * @since 2021. 6. 2
+ */
+@Service
+@Slf4j
+public class TscMailService {
+	private static final String siteNm = "STYLE24";
+
+	@Autowired
+	private Environment env;
+
+	@Autowired
+	private NetpathyMailSender netpathyMailSender;
+
+	@Autowired
+	private NaverShortUrl shortUrl;
+
+	@Autowired
+	private TscCustomerService coreCustomerService;
+
+	@Autowired
+	private TscMailTemplateService mailTemplateService;
+
+
+
+	/**
+	 * 고객 임시비밀번호 이메일 발송
+	 * @param customer - 고객 정보
+	 * @author jsshin
+	 * @since 2021. 06. 02
+	 */
+	@Transactional("shopTxnManager")
+	public void sendCustomerTempPassword(Customer customer, Integer senderNo) {
+		GagaMap replaceInfo = new GagaMap();
+		replaceInfo.setString("siteNm", siteNm);
+		replaceInfo.setString("custNm", customer.getCustNm());
+		replaceInfo.setString("passwd", customer.getPasswd());
+
+		netpathyMailSender.send(SsgKakaoSender.KakaoAnswerSq.TEMP_PASSWD.value(), customer.getEmail(), replaceInfo);
+
+		try {
+			// 고객접촉이력 정보
+			CustContactHst custContactHst = new CustContactHst();
+			custContactHst.setContactType(TscConstants.ContactType.TEMP_PASSWD.value()); // 접촉유형:임시비밀번호발급(공통코드G054)
+			custContactHst.setContactMethod(TscConstants.ContactMethod.EMAIL.value()); // 접촉방법:알림톡+문자(공통코드G055)
+			custContactHst.setContactContents("고객 임시비밀번호 발송");
+			custContactHst.setReceiverNo(customer.getCustNo());
+			custContactHst.setSenderNo(senderNo);
+			custContactHst.setRegNo(senderNo);
+			coreCustomerService.createCustomerContactHistory(custContactHst);
+		} catch (Exception e) {
+			log.error("error", e);
+			// Do nothing
+		}
+	}
+
+
+}

+ 68 - 0
src/main/java/com/style24/core/biz/thirdparty/NetpathyMailSender.java

@@ -45,6 +45,74 @@ public class NetpathyMailSender {
 	@Autowired
 	private TscMailTemplateService mailTemplateService;
 
+
+		// 알림톡 답변일련번호
+	public enum MailAnswerSq {
+		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;
+
+		MailAnswerSq(Integer value) {
+			this.value = value;
+		}
+
+		public Integer value() {
+			return value;
+		}
+	}
+
 	@PostConstruct
 	public void init() {
 //		domainUrl = env.getProperty("domain.front");