Browse Source

Merge remote-tracking branch 'origin/develop' into order

card007 5 years ago
parent
commit
4ba64e07ce

+ 22 - 0
src/main/java/com/style24/core/biz/dao/NetpathyMailDao.java

@@ -1,7 +1,11 @@
 package com.style24.core.biz.dao;
 
+import java.util.Collection;
+
 import com.style24.core.support.annotation.ShopDs;
 import com.style24.persistence.domain.MailTemplate;
+import com.style24.persistence.domain.MailTemplateCorner;
+import com.style24.persistence.domain.MailTemplateGoods;
 import com.style24.persistence.domain.Netpathy;
 
 /**
@@ -22,6 +26,24 @@ public interface NetpathyMailDao {
 	 */
 	MailTemplate getMailTemplate(Integer mailtSq);
 
+	/**
+	 * 메일템플릿코너 목록
+	 * @param mailtSq - 메일템플릿일련번호
+	 * @return
+	 * @author gagamel
+	 * @since 2021. 5. 11
+	 */
+	Collection<MailTemplateCorner> getMailTemplateCornerList(Integer mailtSq);
+
+	/**
+	 * 메일템플릿코너상품 목록
+	 * @param mailtcSq - 메일템플릿코너일련번호
+	 * @return
+	 * @author gagamel
+	 * @since 2021. 5. 11
+	 */
+	Collection<MailTemplateGoods> getMailTemplateCornerGoodsList(Integer mailtcSq);
+
 	/**
 	 * 메일 생성
 	 * @param netpathy - 넷퍼시메일 정보

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

@@ -1,6 +1,7 @@
 package com.style24.core.biz.thirdparty;
 
 import java.util.ArrayList;
+import java.util.Collection;
 import java.util.List;
 
 import javax.annotation.PostConstruct;
@@ -13,6 +14,7 @@ import org.springframework.transaction.annotation.Transactional;
 
 import com.style24.core.biz.dao.NetpathyMailDao;
 import com.style24.persistence.domain.MailTemplate;
+import com.style24.persistence.domain.MailTemplateCorner;
 import com.style24.persistence.domain.Netpathy;
 
 import lombok.extern.slf4j.Slf4j;
@@ -103,8 +105,28 @@ public class NetpathyMailSender {
 	@Cacheable(value = "mailTemplate", key = "#mailtSq")
 	public MailTemplate getMailTemplate(Integer mailtSq, GagaMap replaceInfo) {
 		MailTemplate mailTemplate = netpathyDao.getMailTemplate(mailtSq);
+
 		mailTemplate.setMailtNm(GagaStringUtil.replace(this.mergeData(mailTemplate.getMailtNm(), replaceInfo), "&gt;", ">"));
+		mailTemplate.setMailhContent(GagaStringUtil.replace(this.mergeData(mailTemplate.getMailhContent(), replaceInfo), "&gt;", ">"));
+		mailTemplate.setMailfContent(GagaStringUtil.replace(this.mergeData(mailTemplate.getMailfContent(), replaceInfo), "&gt;", ">"));
+
+		// 마케팅메일이면
+		if (mailTemplate.getMailtGb().equals("M")) {
+			// 메일템플릿코너 목록
+			Collection<MailTemplateCorner> mtcList = netpathyDao.getMailTemplateCornerList(mailtSq);
+
+			if (mtcList != null && !mtcList.isEmpty()) {
+				for (MailTemplateCorner mtc : mtcList) {
+					// 메일템플릿코너상품 목록
+					mtc.setMailtcGoodsList(netpathyDao.getMailTemplateCornerGoodsList(mtc.getMailtcSq()));
+				}
+			}
+
+//			replaceInfo.setString("", mtc)
+		}
+
 		mailTemplate.setMailContent(GagaStringUtil.replace(this.mergeData(mailTemplate.getMailContent(), replaceInfo), "&gt;", ">"));
+
 		return mailTemplate;
 	}
 

+ 6 - 0
src/main/java/com/style24/persistence/domain/MailTemplate.java

@@ -1,5 +1,7 @@
 package com.style24.persistence.domain;
 
+import java.util.Collection;
+
 import com.style24.persistence.TscBaseDomain;
 
 import lombok.Data;
@@ -27,7 +29,11 @@ public class MailTemplate extends TscBaseDomain {
 	private String mailtNm;			// 메일템플릿명
 	private String mailtGb;			// 메일템플릿구분(A:자동메일, M:마케팅메일)
 	private Integer mailhSq;		// 메일헤더일련번호
+	private String mailhContent;	// 메일헤더내용
 	private Integer mailfSq;		// 메일푸터일련번호
+	private String mailfContent;	// 메일푸터내용
 	private String mailContent;		// 메일내용
 
+	Collection<MailTemplateCorner> mailtcList;	// 메일템플릿코너 목록
+
 }

+ 28 - 0
src/main/java/com/style24/persistence/domain/MailTemplateCorner.java

@@ -0,0 +1,28 @@
+package com.style24.persistence.domain;
+
+import java.util.Collection;
+
+import com.style24.persistence.TscBaseDomain;
+
+import lombok.Data;
+
+/**
+ * 메일템플릿코너 Domain
+ *
+ * @author gagamel
+ * @since 2021. 5. 11
+ */
+@SuppressWarnings("serial")
+@Data
+public class MailTemplateCorner extends TscBaseDomain {
+
+	private Integer mailtcSq;	// 메일템플릿코너번호
+	private Integer mailtSq;	// 메일템플릿일련번호
+	private String mailtcNm;	// 메일템플릿코너명
+	private Integer goodsCpr;	// 상품노출건수(한 행에 노출될 상품개수)
+	private String mailtcLink;	// 메일템플릿코너링크
+	private String useYn;		// 사용여부
+
+	Collection<MailTemplateGoods> mailtcGoodsList;	// 메일템플릿코너상품 목록
+
+}

+ 28 - 0
src/main/java/com/style24/persistence/domain/MailTemplateGoods.java

@@ -0,0 +1,28 @@
+package com.style24.persistence.domain;
+
+import com.style24.persistence.TscBaseDomain;
+
+import lombok.Data;
+
+/**
+ * 메일템플릿코너상품 Domain
+ *
+ * @author gagamel
+ * @since 2021. 5. 11
+ */
+@SuppressWarnings("serial")
+@Data
+public class MailTemplateGoods extends TscBaseDomain {
+
+	private Integer mailtcSq;	// 메일템플릿코너일련번호
+	private String goodsCd;		// 상품코드
+	private int dispOrd;		// 표시순서
+
+	private String brandNm;		// 브랜드명
+	private String goodsNm;		// 상품명
+	private String goodsStat;	// 판매상태
+	private String listPrice;	// 정상가
+	private String currPrice;	// 판매가
+	private String sysImgNm;	// 이미지정보
+
+}

+ 43 - 7
src/main/java/com/style24/persistence/mybatis/shop/NetpathyMail.xml

@@ -5,14 +5,50 @@
 	<!-- 메일템플릿 조회 -->
 	<select id="getMailTemplate" parameterType="Integer" resultType="MailTemplate">
 		/* NetpathyMail.getMailTemplate */
-		SELECT MAILT_SQ     /*메일템플릿일련번호*/
-		     , MAILT_GB     /*메일템플릿구분*/
-		     , MAILH_SQ     /*메일템플릿헤더일련번호*/
-		     , MAILF_SQ     /*메일템플릿푸터일련번호*/
-		     , MAILT_NM     /*메일템플릿명*/
-		     , MAIL_CONTENT /*메일내용*/
-		FROM   TB_MAILT
+		SELECT A.MAILT_GB                        /*메일템플릿구분*/
+		     , A.MAILT_NM                        /*메일템플릿명*/
+		     , B.MAILHF_CONTENT AS MAILH_CONTENT /*헤더내용*/
+		     , C.MAILHF_CONTENT AS MAILF_CONTENT /*푸터내용*/
+		     , A.MAIL_CONTENT                    /*메일내용*/
+		FROM   TB_MAILT A
+		     , TB_MAILHF B
+		     , TB_MAILHF C
+		WHERE  A.MAILH_SQ = B.MAILHF_SQ /*헤더*/
+		AND    A.MAILF_SQ = C.MAILHF_SQ /*푸터*/
+		AND    A.MAILT_SQ = #{mailtSq}
+	</select>
+	
+	<!-- 메일템플릿코너 목록 -->
+	<select id="getMailTemplateCornerList" parameterType="Integer" resultType="MailTemplateCorner">
+		/* NetpathyMail.getMailTemplateCornerList */
+		SELECT MAILTC_SQ   /*메일템플릿코너일련번호*/
+		     , MAILT_SQ    /*메일템플릿일련번호*/
+		     , MAILTC_NM   /*메일템플릿코너명*/
+		     , GOODS_CPR   /*상품노출건수*/
+		     , MAILTC_LINK /*메일템플릿코너링크*/
+		FROM   TB_MAILTC
 		WHERE  MAILT_SQ = #{mailtSq}
+		AND    USE_YN = 'Y' /*사용하는넘만*/
+	</select>
+	
+	<!-- 메일템플릿코너상품 목록 -->
+	<select id="getMailTemplateCornerGoodsList" parameterType="Integer" resultType="MailTemplateGoods">
+		/* NetpathyMail.getMailTemplateCornerGoodsList */
+		SELECT M.MAILTC_SQ             /*메일템플릿코너일련번호*/
+		     , M.GOODS_CD              /*상품코드*/
+		     , B.BRAND_ENM AS BRAND_NM /*브랜드명*/
+		     , G.GOODS_NM              /*상품명*/
+		     , G.GOODS_STAT            /*상품상태*/
+		     , G.LIST_PRICE            /*정상가*/
+		     , G.CURR_PRICE            /*현재판매가*/
+		     , M.DISP_ORD              /*노출순서*/
+		FROM   TB_MAILTC_GOODS M
+		     , TB_GOODS G
+		     , TB_BRAND B
+		WHERE  M.GOODS_CD = G.GOODS_CD
+		AND    G.BRAND_CD = B.BRAND_CD
+		AND    M.MAILTC_SQ = #{mailtcSq}
+		ORDER  BY M.DISP_ORD
 	</select>
 	
 	<!-- 메일 생성 -->