Prechádzať zdrojové kódy

Merge branch 'csh9191' into develop

ChoiSooHwan 5 rokov pred
rodič
commit
c83a27014e

+ 1 - 0
src/main/java/com/style24/admin/biz/dao/TsaMailTemplateDao.java

@@ -125,5 +125,6 @@ public interface TsaMailTemplateDao {
 	MktmailManagement getMktmailPreviewHeader(Integer mktMailManagement);
 	MktmailManagement getMktmailPreviewFooter(Integer mktMailManagement);
 	MktmailManagement getMktmailPreviewContent(Integer mktMailManagement);
+	Collection<MktmailManagementGoods> getMktmailPreviewGoodsList(MktmailManagementTc mktmailManagementTc);
 
 }

+ 17 - 1
src/main/java/com/style24/admin/biz/service/TsaMailTemplateService.java

@@ -129,6 +129,22 @@ public class TsaMailTemplateService {
 		return mailtempletDao.getMktmailManagementGoodsList(mktmailManagementTc);
 	}
 	
+	/**
+	 * MKT미리보기 상품정보
+	 * @param mktmailManagementTc
+	 * @return
+	 * @author csh9191
+	 * @since 2021. 02. 24
+	 */
+	public Collection<MktmailManagementGoods> getMktmailPreviewGoodsList(Integer mailtcSq) {
+		MktmailManagementTc mktmailManagementTc = new MktmailManagementTc();
+		mktmailManagementTc.setMailtcSq(mailtcSq);
+		
+		log.info("mktmailManagementTc {}",mktmailManagementTc);
+		
+		return mailtempletDao.getMktmailPreviewGoodsList(mktmailManagementTc);
+	}
+	
 	/**
 	 * MKT 상세 등록/수정
 	 * @param mktmailManagement - 메일관련 정보
@@ -342,7 +358,7 @@ public class TsaMailTemplateService {
 			mktmailtc.setMailtcLink(mailtcLink);
 			mktmailtc.setGoodsCpr(goodsCpr);
 			mktmailtc.setMailtSq(mktmail.getMailtSq());
-			mktmailtc.setMailtcSq(mktmailManagementTc.getMailtcSq());	
+			mktmailtc.setMailtcSq(mktmailManagementTc.getMailtcSq());
 							
 			log.info("mktmailManagementTc : {}",mktmailManagementTc.getMailtcSq());
 			

+ 2 - 10
src/main/java/com/style24/admin/biz/web/TsaMarketingController.java

@@ -1126,8 +1126,6 @@ public class TsaMarketingController extends TsaBaseController {
 				map.set("goodsList", goodsList);
 				map.set("tc", tmp);
 				
-				log.info("goodsList {}",goodsList);
-				log.info("tc {}",tmp);
 				mapList.add(map);
 			}
 			
@@ -1254,22 +1252,16 @@ public class TsaMarketingController extends TsaBaseController {
 		//내용
 		mav.addObject("mktmailPreviewContent", mailTemplateService.getMktmailPreviewContent(mailtSq));
 		
-		// 판매상태
-		String[] mailCds = {"G008_00"};		
-		mav.addObject("goodsStatList", rendererService.getCommonCodeList("G008", "Y", mailCds));		
-		
 		Collection<GagaMap> mapList = new ArrayList();
 		Collection<MktmailManagementTc> tcList = mailTemplateService.getMktmailManagementTCList(mailtSq);
-		log.info("tcList 1263LINE {}",tcList);
+
 			for (MktmailManagementTc tmp : tcList) {
-				Collection<MktmailManagementGoods> goodsList = mailTemplateService.getMktmailManagementGoodsList(tmp.getMailtcSq());
+				Collection<MktmailManagementGoods> goodsList = mailTemplateService.getMktmailPreviewGoodsList(tmp.getMailtcSq());
 				
 				GagaMap map = new GagaMap();
 				map.set("goodsList", goodsList);
 				map.set("tc", tmp);
 				
-				log.info("goodsList {}",goodsList);
-				log.info("tc {}",tmp);
 				mapList.add(map);
 			}
 		

+ 1 - 0
src/main/java/com/style24/persistence/domain/MktmailManagementGoods.java

@@ -28,5 +28,6 @@ public class MktmailManagementGoods extends TscBaseDomain{
 	private String goodsStat;				// 판매상태
 	private String listPrice;				// 정상가
 	private String currPrice;				// 판매가
+	private String sysImgNm;				// 이미지정보
 
 }

+ 40 - 18
src/main/java/com/style24/persistence/mybatis/shop/TsaMailTemplate.xml

@@ -3,7 +3,7 @@
 <mapper namespace="com.style24.admin.biz.dao.TsaMailTemplateDao">
 
 		<select id="getmailHFList" parameterType="MailTemplate" resultType="MailTemplate">
-		/* TsaMailTemplate.getmailHFList */
+		/* TsaMailTemplate.getmailHFList 메일헤더푸터리스트*/
 		SELECT MAILHF_SQ                                             /*메일헤더푸터 일련번호*/
 		   	 , MAILHF_NM                                             /*메일헤더푸터 명*/
 		     , MAILHF_GB                                             /*메일 헤더푸터 구분 H:헤더 F:푸터*/
@@ -61,7 +61,7 @@
 		</insert>
 	
 		<select id="getMailHFDetail" parameterType="Integer" resultType="MailTemplate">
-		/* TsaMailTemplate.getMailHFDetail */
+		/* TsaMailTemplate.getMailHFDetail 메일헤더푸터 상세화면 */
 		SELECT MAILHF_SQ
 		     , MAILHF_NM
 		     , MAILHF_GB
@@ -71,14 +71,14 @@
 		</select>
 	
 		<update id='deleteMailHFList' parameterType='MailTemplate'>
-		/* TsaMailTemplate.deleteMailHFList */
+		/* TsaMailTemplate.deleteMailHFList 메일헤더푸터리스트삭제*/
 		UPDATE TB_MAILHF
 		SET    USE_YN = 'N'
 		WHERE  MAILHF_SQ = #{mailhfSq}
 		</update>
 	
 		<select id="getMailGoodsInfo" parameterType="Goods" resultType="Goods">
-		/*메일 템플릿 상품 전시*/
+		/*TsaMailTemplate.getMailGoodsInfo 메일 템플릿 상품 전시*/
 		SELECT GOODS_CD
 		     , BRAND_ENM 
 		     , GOODS_NM
@@ -130,7 +130,7 @@
 		</select>
 	
 		<insert id="saveMktmailform" parameterType="mktMailManagement" keyProperty="mailtSq">
-		/* TsaMailTemplate.saveMktmailform   mkt메일 등록/수정 */
+		/* TsaMailTemplate.saveMktmailform mkt메일 등록 수정 */
 		INSERT INTO TB_MAILT (
 				    MAILT_SQ
 				  , MAILT_NM
@@ -169,7 +169,7 @@
 		</insert>
 	
 		<insert id="saveMailTc" parameterType="MktmailManagement" keyProperty="mailtcSq">
-		/* TsaMailTemplate.saveMailTc 메일구분자 */
+		/* TsaMailTemplate.saveMailTc mkt메일 구분자 등록 */
 		INSERT INTO TB_MAILTC ( 
 				    MAILTC_SQ
 				  , MAILT_SQ
@@ -205,7 +205,7 @@
 		</insert>
 	
 		<insert id="saveMailGoods" parameterType="MktmailManagement" keyProperty="mailtcSq">
-		/* TsaMailTemplate.saveMailGoods 메일 전시상품등록 */
+		/* TsaMailTemplate.saveMailGoods mkt메일 상품등록 */
 		INSERT INTO TB_MAILTC_GOODS (
 				    MAILTC_SQ
 				  , GOODS_CD
@@ -233,7 +233,7 @@
 		</insert>
 		
 		<select id="getMktMailList" parameterType="MktmailManagement" resultType="MktmailManagement">
-		/* TsaMailTemplate.getMktMailList mkt메일 조회*/
+		/* TsaMailTemplate.getMktMailList mkt메일 리스트*/
 		SELECT 		   TM.MAILT_SQ
 					 , TM.MAILT_GB
 					 , TM.MAILT_NM
@@ -258,7 +258,7 @@
 		</select>
 		
 		<select id="getMktmailManagementDetail" parameterType="Integer" resultType="MktmailManagement">
-		/* TsaMailTemplate.getMktmailManagementDetail */
+		/* TsaMailTemplate.getMktmailManagementDetail mkt메일 상세화면*/
 		SELECT MAILT_SQ
 			 , MAILT_GB
 			 , MAILH_SQ
@@ -270,7 +270,7 @@
 		</select>
 		
 		<select id="getMktmailManagementTCList" parameterType="MktmailManagementTc" resultType="MktmailManagementTc">
-		/* TsaMailTemplate.getMktmailManagementTCDetail */
+		/* TsaMailTemplate.getMktmailManagementTCDetail mkt메일 구분자 상세화면*/
 		SELECT 		TC.MAILTC_SQ
 			 	  , TC.MAILT_SQ	
 			 	  , TC.MAILTC_NM
@@ -284,8 +284,8 @@
 		</select>
 		
 		<select id="getMktmailManagementGoodsList" parameterType="MktmailManagementTc" resultType="MktmailManagementGoods">
-		/* TsaMailTemplate.getMktmailManagementGoodsList */
-		 SELECT		TG.MAILTC_SQ
+		/* TsaMailTemplate.getMktmailManagementGoodsList mkt메일 상품 상세화면*/
+		SELECT		TG.MAILTC_SQ
 				  , TG.GOODS_CD
 			      , TBRAND.BRAND_ENM 
 			      , tbg.GOODS_NM 
@@ -304,29 +304,51 @@
 		ORDER  BY 	TG.DISP_ORD
 		</select>
 		
+		<select id="getMktmailPreviewGoodsList" parameterType="MktmailManagementTc" resultType="MktmailManagementGoods">
+		/* TsaMailTemplate.getMktmailPreviewGoodsList mkt메일 미리보기 상품정보 호출*/
+		SELECT		TG.MAILTC_SQ
+				  ,	IMG.SYS_IMG_NM
+			      , TBRAND.BRAND_ENM 
+			      , tbg.GOODS_NM 
+			      , TBG.LIST_PRICE 
+			      , TBG.CURR_PRICE
+		FROM 		TB_MAILTC_GOODS TG
+		INNER JOIN  TB_MAILTC TC
+		ON 			TC.MAILTC_SQ = TG.MAILTC_SQ 
+		INNER JOIN  tb_goods TBG
+		ON 			TBG.GOODS_CD = TG.GOODS_CD 
+		INNER JOIN 	tb_brand TBRAND
+		ON		    TBRAND.BRAND_CD = TBG.BRAND_CD
+		INNER JOIN  TB_GOODS_IMG IMG
+		ON  		IMG.GOODS_CD = TG.GOODS_CD
+		WHERE 		TC.MAILTC_SQ = #{mailtcSq}
+		AND 		IMG.DEFAULT_IMG_YN = 'Y'
+		ORDER  BY 	TG.DISP_ORD
+		</select>
+		
 		<update id='deleteMktmailList' parameterType='MktmailManagement'>
-		/* TsaMailTemplate.deleteMailHFList 리스트 삭제*/
+		/* TsaMailTemplate.deleteMailHFList mkt메일 리스트 삭제*/
 		UPDATE  TB_MAILT
 	  	SET     USE_YN = 'N'
 		WHERE   MAILT_SQ = #{mailtSq}
 		</update>
 		
 		<delete id="deleteMktCorner" parameterType='MktmailManagementTc'>
-		/* TsaMailTemplate.deleteMktCorner 코너 삭제*/
+		/* TsaMailTemplate.deleteMktCorner mkt메일 구분자 삭제*/
 		UPDATE  TB_MAILTC
 		SET		USE_YN = 'N'
 		WHERE	MAILTC_SQ = #{mailtcSq}
 		</delete>
 		
 		<delete id="deleteMktGoodsList" parameterType='MktmailManagementGoods'>
-		/* TsaMailTemplate.deleteMktGoods 상품 삭제*/
+		/* TsaMailTemplate.deleteMktGoods mkt메일 상품 삭제*/
 		DELETE 	
 		FROM	TB_MAILTC_GOODS
 		WHERE	MAILTC_SQ = #{mailtcSq}
 		</delete>
 		
 		<select id="getMktmailPreviewHeader" parameterType="Integer" resultType="MktmailManagement">
-		/* TsaMailTemplate.getMktmailPreviewHeader */
+		/* TsaMailTemplate.getMktmailPreviewHeader mkt메일 미리보기 헤더 호출*/
 		SELECT 		HF.MAILHF_CONTENT
 		FROM   		TB_MAILT TM
 		INNER JOIN  TB_MAILHF HF
@@ -336,7 +358,7 @@
 		</select>
 		
 		<select id="getMktmailPreviewFooter" parameterType="Integer" resultType="MktmailManagement">
-		/* TsaMailTemplate.getMktmailPreviewFooter */
+		/* TsaMailTemplate.getMktmailPreviewFooter mkt메일 미리보기 푸터 호출*/
 		SELECT 		HF.MAILHF_CONTENT
 		FROM   		TB_MAILT TM
 		INNER JOIN  TB_MAILHF HF
@@ -346,7 +368,7 @@
 		</select>
 		
 		<select id="getMktmailPreviewContent" parameterType="MktmailManagement" resultType="MktmailManagement">
-		/* TsaMailTemplate.getMktmailPreviewContent */
+		/* TsaMailTemplate.getMktmailPreviewContent mkt메일 미리보기 내용 호출*/
 		SELECT 		MAILT_NM
 				  , MAIL_CONTENT
 		FROM		TB_MAILT

+ 41 - 22
src/main/webapp/WEB-INF/views/marketing/MktmailmanagementDetailForm.html

@@ -125,7 +125,7 @@
 											<div class="">
 												<table  class="frmStyle">
 													<tr>
-														<th class="w100">구분자 명</th>
+														<th class="w100">구분자 명<em class="required" title="필수"></em></th>
 														<td>
 															<input type="text" name="mailtcNm" maxlength="50"/>
 														</td>
@@ -139,10 +139,10 @@
 													<tr>
 														<th>상품 노출 기준
 															<div class="iconTooltip">
-																	<i class="fa fa-info" aria-hidden="true"></i>
-																	<span class="left aL" style="width:230px;">
-																		<em>1열 에 노출될 상품 개수를 뜻합니다.</em>
-																	</span>
+																<i class="fa fa-info" aria-hidden="true"></i>
+																<span class="left aL" style="width:230px;">
+																	<em>1열 에 노출될 상품 개수를 뜻합니다.</em>
+																</span>
 															</div>
 														</th>
 														<td>
@@ -150,7 +150,6 @@
 															<label class="rdoBtn"><input type="radio" name="goodsCpr" value="2"/>2개</label>
 															<label class="rdoBtn"><input type="radio" name="goodsCpr" value="3" checked/>3개</label>
 															<label class="rdoBtn"><input type="radio" name="goodsCpr" value="4"/>4개</label>
-															<label class="rdoBtn"><input type="radio" name="goodsCpr" value="5"/>5개</label>
 														</td>
 													</tr>
 												</table>
@@ -190,7 +189,7 @@
 											<div class="">
 												<table  class="frmStyle">
 													<tr>
-														<th class="w100">구분자 명</th>
+														<th class="w100">구분자 명<em class="required" title="필수"></em></th>
 														<td>
 															<input type="text" name="mailtcNm2" maxlength="50"/>
 														</td>
@@ -202,13 +201,19 @@
 														</td>
 													</tr>
 													<tr>
-														<th>상품 노출 기준</th>
+														<th>상품 노출 기준
+															<div class="iconTooltip">
+																<i class="fa fa-info" aria-hidden="true"></i>
+																<span class="left aL" style="width:230px;">
+																	<em>1열 에 노출될 상품 개수를 뜻합니다.</em>
+																</span>
+															</div>
+														</th>
 														<td>
 															<label class="rdoBtn"><input type="radio" name="goodsCpr2" value="1"/>1개</label>
 															<label class="rdoBtn"><input type="radio" name="goodsCpr2" value="2"/>2개</label>
 															<label class="rdoBtn"><input type="radio" name="goodsCpr2" value="3" checked/>3개</label>
 															<label class="rdoBtn"><input type="radio" name="goodsCpr2" value="4"/>4개</label>
-															<label class="rdoBtn"><input type="radio" name="goodsCpr2" value="5"/>5개</label>
 														</td>
 													</tr>
 												</table>
@@ -247,7 +252,7 @@
 											<div class="">
 												<table  class="frmStyle">
 													<tr>
-														<th class="w100">구분자 명</th>
+														<th class="w100">구분자 명<em class="required" title="필수"></em></th>
 														<td>
 															<input type="text" name="mailtcNm3" maxlength="50"/>								
 														</td>
@@ -259,13 +264,19 @@
 														</td>
 													</tr>
 													<tr>
-														<th>상품 노출 기준</th>
+														<th>상품 노출 기준
+															<div class="iconTooltip">
+																<i class="fa fa-info" aria-hidden="true"></i>
+																<span class="left aL" style="width:230px;">
+																	<em>1열 에 노출될 상품 개수를 뜻합니다.</em>
+																</span>
+															</div>
+														</th>
 														<td>
 															<label class="rdoBtn"><input type="radio" name="goodsCpr3" value="1"/>1개</label>
 															<label class="rdoBtn"><input type="radio" name="goodsCpr3" value="2"/>2개</label>
 															<label class="rdoBtn"><input type="radio" name="goodsCpr3" value="3" checked/>3개</label>						
 															<label class="rdoBtn"><input type="radio" name="goodsCpr3" value="4"/>4개</label>
-															<label class="rdoBtn"><input type="radio" name="goodsCpr3" value="5"/>5개</label>
 														</td>
 													</tr>
 												</table>
@@ -304,7 +315,7 @@
 											<div class="">
 												<table  class="frmStyle">
 													<tr>
-														<th class="w100">번호</th>
+														<th class="w100">구분자 명<em class="required" title="필수"></em></th>
 														<td>
 															<input type="text" name="mailtcNm4" maxlength="50"/>								
 														</td>
@@ -316,13 +327,19 @@
 														</td>
 													</tr>
 													<tr>
-														<th>상품 노출 기준</th>
+														<th>상품 노출 기준
+															<div class="iconTooltip">
+																<i class="fa fa-info" aria-hidden="true"></i>
+																<span class="left aL" style="width:230px;">
+																	<em>1열 에 노출될 상품 개수를 뜻합니다.</em>
+																</span>
+															</div>
+														</th>
 														<td>
 															<label class="rdoBtn"><input type="radio" name="goodsCpr4" value="1"/>1개</label>
 															<label class="rdoBtn"><input type="radio" name="goodsCpr4" value="2"/>2개</label>
 															<label class="rdoBtn"><input type="radio" name="goodsCpr4" value="3" checked/>3개</label>						
 															<label class="rdoBtn"><input type="radio" name="goodsCpr4" value="4"/>4개</label>
-															<label class="rdoBtn"><input type="radio" name="goodsCpr4" value="5"/>5개</label>
 														</td>
 													</tr>
 												</table>
@@ -361,7 +378,7 @@
 											<div class="">
 												<table  class="frmStyle">
 													<tr>
-														<th class="w100">구분자 명</th>
+														<th class="w100">구분자 명<em class="required" title="필수"></em></th>
 														<td>
 															<input type="text" name="mailtcNm5" maxlength="50"/>								
 														</td>
@@ -373,13 +390,19 @@
 														</td>
 													</tr>
 													<tr>
-														<th>상품 노출 기준</th>
+														<th>상품 노출 기준
+															<div class="iconTooltip">
+																<i class="fa fa-info" aria-hidden="true"></i>
+																<span class="left aL" style="width:230px;">
+																	<em>1열 에 노출될 상품 개수를 뜻합니다.</em>
+																</span>
+															</div>
+														</th>
 														<td>
 															<label class="rdoBtn"><input type="radio" name="goodsCpr5" value="1"/>1개</label>
 															<label class="rdoBtn"><input type="radio" name="goodsCpr5" value="2"/>2개</label>
 															<label class="rdoBtn"><input type="radio" name="goodsCpr5" value="3" checked/>3개</label>						
 															<label class="rdoBtn"><input type="radio" name="goodsCpr5" value="4"/>4개</label>
-															<label class="rdoBtn"><input type="radio" name="goodsCpr5" value="5"/>5개</label>
 														</td>
 													</tr>
 												</table>
@@ -992,8 +1015,6 @@
 						$('#mailManagementForm input:radio[name=goodsCpr]:input[value="3"]').prop('checked', true);
 					}else if(mktmailTCInfo[idx].tc.goodsCpr == 4){
 						$('#mailManagementForm input:radio[name=goodsCpr]:input[value="4"]').prop('checked', true);
-					}else if(mktmailTCInfo[idx].tc.goodsCpr == 5){
-						$('#mailManagementForm input:radio[name=goodsCpr]:input[value="5"]').prop('checked', true);
 					}
 					$('#btnAddGridNum').show();
 				} else {
@@ -1008,8 +1029,6 @@
 							$('#mailManagementForm input:radio[name=goodsCpr' + (idx + 1) + ']:input[value="3"]').prop('checked', true);
 						}else if(mktmailTCInfo[idx].tc.goodsCpr == 4){
 							$('#mailManagementForm input:radio[name=goodsCpr' + (idx + 1) + ']:input[value="4"]').prop('checked', true);
-						}else if(mktmailTCInfo[idx].tc.goodsCpr == 5){
-							$('#mailManagementForm input:radio[name=goodsCpr' + (idx + 1) + ']:input[value="5"]').prop('checked', true);
 						}
 					$('#btnAddGridNum' + (idx + 1)).show();
 				}

+ 18 - 17
src/main/webapp/WEB-INF/views/marketing/MktmailmanagementForm.html

@@ -34,7 +34,7 @@
 							<col/>
 						</colgroup>
 						<tr>
-							<th>기간<em class="required" title="필수"></em></th>
+							<th>기간</th>
 							<td id="sellTerms"></td>
 						</tr>
 
@@ -164,26 +164,26 @@
 	
 	// 조회버튼 - 검색
 	$('#btnSearch').on('click', function() {
-		if(!dateCheck()) return;
+// 		if(!dateCheck()) return;
 		var formId = "#searchForm";
 		gagaAgGrid.fetch($(formId).prop('action'), gridOptions, formId);
 	});
 	
-	// 조회검색 조건 CHECK
-		var dateCheck = function(){
-		var fromDate = $('#mktmailStdt').val();
-		var toDate = $('#mktmailEddt').val();
+// 조회검색 조건 CHECK
+// 	var dateCheck = function(){
+// 	var fromDate = $('#mktmailStdt').val();
+// 	var toDate = $('#mktmailEddt').val();
 
-			if (gagajf.isNull(fromDate)) {
-				mcxDialog.alert('시작 기간을 입력하세요.');
-				return;
-			}
-			if (gagajf.isNull(toDate)) {
-				mcxDialog.alert('종료 기간을 입력하세요.');
-				return;
-			}
-			return true;
-	}
+// 		if (gagajf.isNull(fromDate)) {
+// 			mcxDialog.alert('시작 기간을 입력하세요.');
+// 			return;
+// 		}
+// 		if (gagajf.isNull(toDate)) {
+// 			mcxDialog.alert('종료 기간을 입력하세요.');
+// 			return;
+// 		}
+// 		return true;
+// 	}
 	
 	// 등록/상세 팝업
 	var fnOpenMailHFPopup = function(mode, mailtSq) {
@@ -198,7 +198,8 @@
 		let data = gridOptions.api.getSelectedRows();
 		var actionUrl = '/marketing/mktmailmanagement/preview';
 		if (!gagajf.isNull(mailtSq)) actionUrl += '?mailtSq=' + mailtSq;
-		cfnOpenModalPopup(actionUrl, 'popupMktMailPreview');
+// 		cfnOpenModalPopup(actionUrl, 'popupMktMailPreview');
+		window.open(actionUrl, '_blank', 'popupMktMailPreview');
 	}
 	
 	

+ 32 - 42
src/main/webapp/WEB-INF/views/marketing/MktmailmanagementPreviewForm.html

@@ -15,50 +15,40 @@
  *******************************************************************************
  -->
 <div class="modalPopup" data-width="1200" id="popupMktMailPreview">
-	<div class="panelStyle" style="height:700px;width:800px; overflow-y:scroll; max-height:700px;">
-		<!-- 팝업창 타이틀 -->
-		<div class="panelTitle">
-			<strong>메일 미리보기</strong>
-			<button type="button" class="close" onclick="uifnPopupClose('popupMktMailPreview');"><em class="fa fa-times"></em></button>
+	<div class="panelStyle">
+  		<!-- Header  -->
+ 		<header th:if="${mktmailPreviewHeader}">
+			<th:block th:utext="${mktmailPreviewHeader.mailhfContent}"></th:block>
+		</header>
+		
+		<!-- content -->
+		<div th:if="${mktmailPreviewContent}">
+ 			<th:block th:utext="${mktmailPreviewContent.mailContent}"></th:block> 
 		</div>
-			<!-- Header  -->
- 			<div th:if="${mktmailPreviewHeader}">
-					<p th:text="${mktmailPreviewHeader.mailhfContent}"></p>
-			</div>
-			
-			<!-- content -->
-			<div th:if="${mktmailPreviewContent}">
-			 	<p th:text="${mktmailPreviewContent.mailtNm}"></p> 
- 				<p th:text="${mktmailPreviewContent.mailContent}"></p> 
-			</div>
+
+		<!-- 링크/상품이미지 -->
+		<div th:if="${mktmailPreviewGoods}">
+			<th:block th:each="oneData, status : ${mktmailPreviewGoods}">
+				
+				<!-- 메일 코너 링크표시  -->
+				<div th:if="${oneData.tc.mailtcLink != null && oneData.tc.mailtcLink != ''}">
+					<a th:href="@{${oneData.tc.mailtcLink}}" target="_blank">상품 상세보기</a>
+				</div><br>
+					
+				<!-- 상품이미지 -->
+				<th:block th:each="goodsData, status : ${oneData.goodsList}">
+					<img th:src="${goodsData.sysImgNm}"/>
+					<!-- goodsCpr -->
+					<th:block th:if="${status.count  % oneData.tc.goodsCpr == 0}">
+						<br>
+					</th:block>
+				</th:block><br><!-- 구분자별 br -->
+		</div><br>
 			
-			<!-- Footer -->
-			 <div th:if="${mktmailPreviewFooter}">
-					<p th:text="${mktmailPreviewFooter.mailhfContent}"></p>
-			</div>
+		<!-- Footer -->
+		 <footer th:if="${mktmailPreviewFooter}">
+			<th:block th:utext="${mktmailPreviewFooter.mailhfContent}"></th:block>
+		</footer>
 	</div>
 </div>
-<script th:inline="javascript">
-	let mktmailPreviewHeader = [[${mktmailPreviewHeader}]];
-	let mktmailPreviewContent = [[${mktmailPreviewContent}]];
-	let mktmailPreviewFooter = [[${mktmailPreviewFooter}]];
-	let mktmailPreviewGoods = [[${mktmailPreviewGoods}]];
-	
-	console.log(mktmailPreviewContent);
-	console.log(mktmailPreviewGoods);
-	
-	$(document).ready(function() {
-		
-		$.each(mktmailPreviewGoods, function(idx, item) {
-			if (idx == 0) {
-				$('#mailtcNm').text(item.tc.mailtcNm);						
-				$('#mailtcLink').text(item.tc.mailtcLink);
-			}else {
-				$('#mailtcNm'+ idx).text(item.tc.mailtcNm);
-				$('#mailtcLink' + idx).text(item.tc.mailtcLink);
-			} 
-		});
-	});
-</script>
-
 </html>