Quellcode durchsuchen

회원가입 완료 메일 추가

jsshin vor 5 Jahren
Ursprung
Commit
aa36ec6a54

+ 7 - 6
src/main/java/com/style24/front/biz/service/TsfCustomerService.java

@@ -8,6 +8,7 @@ import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpSession;
 
 import com.style24.core.biz.service.TscKakaotalkService;
+import com.style24.core.biz.service.TscMailService;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.core.env.Environment;
@@ -66,10 +67,10 @@ public class TsfCustomerService {
 	private TscKakaotalkService kakaotalkService;
 
 	@Autowired
-	private ObjectMapper objectMapper;
+	private TscMailService mailService;
 
 	@Autowired
-	private Environment env;
+	private ObjectMapper objectMapper;
 
 	/**
 	 * 고객아이디 찾기
@@ -296,7 +297,7 @@ public class TsfCustomerService {
 			// 이메일 발송
 			try {
 				if (StringUtils.isNotBlank(customer.getEmail())) {
-					// TODO : 2021.02.23 이메일 모듈 개발 필요 jsshin
+					mailService.sendJoinCongrat(customer, coupon, customer.getCustNo());
 				}
 			} catch (Exception e) {
 				log.error("error", e);
@@ -351,16 +352,16 @@ public class TsfCustomerService {
 					kakaotalkService.sendJoinCongrat(customer, coupon, customer.getCustNo());
 				}
 			} catch (Exception e) {
-				//log.error("error", e);
+				log.error("error", e);
 			}
 
 			// 이메일 발송
 			try {
 				if (StringUtils.isNotBlank(customer.getEmail())) {
-					// TODO : 2021.02.23 이메일 모듈 개발 필요 jsshin
+					mailService.sendJoinCongrat(customer, coupon, customer.getCustNo());
 				}
 			} catch (Exception e) {
-				//log.error("error", e);
+				log.error("error", e);
 			}
 		}
 

+ 11 - 2
src/main/java/com/style24/front/biz/web/TsfCustomerController.java

@@ -3,6 +3,7 @@ package com.style24.front.biz.web;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpSession;
 
+import com.style24.core.biz.service.TscMailService;
 import com.style24.front.biz.service.TsfCouponService;
 import com.style24.persistence.domain.Coupon;
 import org.apache.commons.lang3.StringUtils;
@@ -57,6 +58,9 @@ public class TsfCustomerController extends TsfBaseController {
 	@Autowired
 	private TscKakaotalkService kakaotalkService;
 
+	@Autowired
+	private TscMailService mailService;
+
 	@Autowired
 	private NiceCertify niceCertify;
 
@@ -187,8 +191,13 @@ public class TsfCustomerController extends TsfBaseController {
 			// 비밀번호 수정
 			customerService.saveCustomerPassword(customer);
 
-			if (StringUtils.isNotBlank(customer.getCellPhnno())) {
-				kakaotalkService.sendCustomerTempPassword(customer, customer.getCustNo());
+			if (StringUtils.isNotBlank(customer.getEmail())) {
+				try {
+					mailService.sendCustomerTempPassword(customer, customer.getCustNo());
+				} catch (Exception e) {
+					log.error(e.getMessage());
+				}
+
 			}
 		}
 

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

@@ -160,23 +160,92 @@
 	<!--회원가입 쿠폰-->
 	<select id="getJoinCoupon" parameterType="Coupon" resultType="Coupon">
 		/* TsfCoupon.getJoinCoupon */
+		WITH TAB_COUPON_REFVAL1 AS (
+		    SELECT CR.CPN_ID
+		         , CR.CPN_TARGET
+		         , CASE WHEN CR.CPN_TARGET = 'G260_10' /*상품*/ THEN (SELECT GOODS_NM FROM TB_GOODS WHERE GOODS_CD = CR.REF_VAL AND GOODS_STAT = 'G008_90')
+		                WHEN CR.CPN_TARGET = 'G260_11' /*카테고리*/ THEN
+		                    CASE WHEN IFNULL((SELECT COUNT(1) FROM TB_CATE_4SRCH WHERE CATE1_NO = CR.REF_VAL),0) > 0
+		                              THEN (SELECT CATE1_NM FROM TB_CATE_4SRCH WHERE CATE1_NO = CR.REF_VAL LIMIT 1)
+		                         WHEN IFNULL((SELECT COUNT(1) FROM TB_CATE_4SRCH WHERE CATE2_NO = CR.REF_VAL),0) > 0
+		                              THEN (SELECT CONCAT(CATE1_NM,' > ',CATE2_NM) FROM TB_CATE_4SRCH WHERE CATE2_NO = CR.REF_VAL LIMIT 1)
+		                         WHEN IFNULL((SELECT COUNT(1) FROM TB_CATE_4SRCH WHERE CATE3_NO = CR.REF_VAL),0) > 0 THEN (SELECT CONCAT(CATE1_NM,' > ',CATE2_NM) FROM TB_CATE_4SRCH WHERE CATE3_NO = CR.REF_VAL LIMIT 1)
+		                         WHEN IFNULL((SELECT COUNT(1) FROM TB_CATE_4SRCH WHERE CATE4_NO = CR.REF_VAL),0) > 0 THEN (SELECT CONCAT(CATE1_NM,' > ',CATE2_NM) FROM TB_CATE_4SRCH WHERE CATE4_NO = CR.REF_VAL LIMIT 1)
+		                    END
+		                WHEN CR.CPN_TARGET = 'G260_12' /*브랜드*/ THEN (SELECT BRAND_KNM FROM TB_BRAND WHERE BRAND_CD = CR.REF_VAL AND USE_YN = 'Y')
+		                WHEN CR.CPN_TARGET = 'G260_13' /*업체*/ THEN (SELECT SUPPLY_COMP_NM FROM TB_SUPPLY_COMPANY WHERE SUPPLY_COMP_CD = CR.REF_VAL AND USE_YN = 'Y' AND SUPPLY_STAT = 'G010_30')
+		           END AS REF_VAL
+		         , RANK() OVER(PARTITION BY CR.CPN_ID, CR.CPN_TARGET ORDER BY REF_VAL) AS RK
+		    FROM   TB_COUPON_REFVAL CR
+		    WHERE  CR.CPN_TARGET != 'G260_14' /*제외상품아닌넘*/
+		    AND    CR.CPN_ID = (
+		                        SELECT GRADE_CPN_ID1
+		                        FROM   TB_CUST_GRADE_POLICY
+		                        WHERE  GRADE_CD = #{custGrade}
+		                        AND    USE_YN = 'Y'
+                                )
+		)
+		, TAB_COUPON_REFVAL2 AS (
+		    SELECT CPN_ID
+		         , CPN_TARGET
+		         , GROUP_CONCAT(REF_VAL ORDER BY RK ASC SEPARATOR '/' ) AS REF_VAL
+		         , (SELECT COUNT(*)
+		            FROM   TAB_COUPON_REFVAL1
+		            WHERE  CPN_ID = CR.CPN_ID
+		            AND    CPN_TARGET = CR.CPN_TARGET)                  AS CNT
+		    FROM   TAB_COUPON_REFVAL1 CR
+		    WHERE  1 = 1
+		    AND    (
+		            (CPN_TARGET != 'G260_12' AND RK = 1) /*브랜드 외는 1개만 노출*/
+		            OR
+		            (CPN_TARGET = 'G260_12' AND RK <![CDATA[<=]]> 2) /*브랜드만 2개 노출*/
+		           )
+		    GROUP  BY CPN_ID, CPN_TARGET
+		)
 		SELECT CP.CPN_ID
 		     , CP.END_ALIM_YN
 		     , CASE WHEN #{frontGb} = 'P' THEN CP.DC_PVAL
 		            WHEN #{frontGb} = 'M' THEN CP.DC_MVAL
 		            WHEN #{frontGb} = 'A' THEN CP.DC_AVAL
 		            ELSE CP.DC_AVAL                                              END AS DC_VAL
+		     , CASE WHEN CP.DC_WAY = 'G240_10' THEN '원'
+		            ELSE '%'
+		       END                                                                   AS DC_WAY
 		     , CASE WHEN CP.PD_GB = 'D' THEN DATE_FORMAT(NOW(), '%Y%m%d%H%i%S')
-		            ELSE DATE_FORMAT(CP.AVAIL_STDT, '%Y%m%d%H%i%S')              END AS AVAIL_STDT
+		            ELSE DATE_FORMAT(CP.AVAIL_STDT, '%Y%m%d%H%i%S')                END AS AVAIL_STDT
 		     , CASE WHEN CP.PD_GB = 'D' THEN DATE_FORMAT(CONCAT(CURRENT_DATE + INTERVAL CP.AVAIL_DAYS DAY, ' 23:59:59'), '%Y%m%d%H%i%S')
-		            ELSE  DATE_FORMAT(CP.AVAIL_EDDT, '%Y%m%d%H%i%S')             END AS AVAIL_EDDT
+		            ELSE  DATE_FORMAT(CP.AVAIL_EDDT, '%Y%m%d%H%i%S')               END AS AVAIL_EDDT
+		     , CASE WHEN CP.PD_GB = 'D' THEN DATE_FORMAT(NOW(), '%Y.%m.%d %H:%i')
+		            ELSE DATE_FORMAT(CP.AVAIL_STDT, '%Y.%m.%d %H:%i')              END AS AVAIL_STDT_TIME
+		     , CASE WHEN CP.PD_GB = 'D' THEN DATE_FORMAT(CONCAT(CURRENT_DATE + INTERVAL CP.AVAIL_DAYS DAY, ' 23:59:59'), '%Y.%m.%d %H:%i')
+		            ELSE  DATE_FORMAT(CP.AVAIL_EDDT, '%Y.%m.%d %H:%i')             END AS AVAIL_EDDT_TIME
 		     , CP.CPN_NM
+		     , CONCAT(CASE WHEN CP.BUY_LIMIT_AMT = 0 THEN ''
+		                    ELSE CONCAT(FORMAT(CP.BUY_LIMIT_AMT , 0),'원 이상 구매 시 ')
+		              END
+		             ,CASE WHEN CP.MAX_DC_AMT = 0 THEN ''
+		                   ELSE CONCAT('최대 ',FORMAT(CP.MAX_DC_AMT , 0),'원 할인')
+		              END
+		             )                                                                     AS USE_CONDITION
+		     , CASE WHEN CP.CUST_PUB_LIMIT_QTY = 0 THEN ''
+		            ELSE CONCAT('1인당 최대',CP.CUST_PUB_LIMIT_QTY,'매')
+		       END                                                                         AS ISSUE_CONDITION
+		     , CONCAT(CR.REF_VAL, CASE WHEN CR.CPN_TARGET = 'G260_10' AND CR.CNT > 1 THEN ' 외'
+		                               WHEN CR.CPN_TARGET = 'G260_11' AND CR.CNT > 1 THEN ' 외'
+		                               WHEN CR.CPN_TARGET = 'G260_12' AND CR.CNT > 2 THEN ' 외'
+		                               WHEN CR.CPN_TARGET = 'G260_13' AND CR.CNT > 1 THEN ' 외'
+		                               ELSE ''
+		                          END)                                                     AS TGT_CONDITION
 		FROM  TB_CUST_GRADE_POLICY CGP
 		INNER JOIN
 		      TB_COUPON CP
 		ON    CGP.GRADE_CPN_ID1 = CP.CPN_ID
+		INNER JOIN
+		      TAB_COUPON_REFVAL2 CR
+		ON    CP.CPN_ID = CR.CPN_ID
 		WHERE CGP.GRADE_CD = #{custGrade}
 		AND   CP.SITE_CD = #{siteCd}
+		AND   CGP.USE_YN = 'Y'
 	</select>
 	
 	<!--상품 쿠폰 조회-->

+ 3 - 2
src/main/webapp/WEB-INF/views/mob/SigninFormMob.html

@@ -201,13 +201,14 @@
 		}
 		// 비밀번호 틀린 경우
 		if (!gagajf.isNull(result.message)) {
-			grecaptcha.reset(); // 리캡챠 리셋
 			let loginFailCnt = Number(result.loginFailInfo.loginFailCnt);
 			$("#err_msg").html(result.message);
 			$("#login_fail_cnt").html(loginFailCnt);
 			$("#login_remain_cnt").html(10 - loginFailCnt);
 			$(".t_err_login_fail").show();
-
+			if (loginFailCnt >= 5) {
+				grecaptcha.reset();
+			}
 			// 비밀번호 5회 이상 틀린 경우 캡챠 노출
 			if (loginFailCnt >= 5 && loginFailCnt < 10) {
 				$('#recaptcha').show();