瀏覽代碼

네이버 전체EP, 요약EP, 다음 전체EP, 요약EP 100000건씩 조회해 파일을 생성하도록 수정

gagamel 4 年之前
父節點
當前提交
1c60b82809

+ 24 - 1
src/main/java/com/style24/batch/biz/dao/TsbGoodsEpDao.java

@@ -132,6 +132,14 @@ public interface TsbGoodsEpDao {
 	 */
 	Collection<GoodsEp> getNaverEpList();
 
+	/**
+	 * 네이버 EP 총건수
+	 * @return
+	 * @author gagamel
+	 * @since 2021. 8. 26
+	 */
+	int getNaverEpTotalCount();
+
 	/**
 	 * 네이버 EP 페이징 목록
 	 * @return
@@ -189,6 +197,22 @@ public interface TsbGoodsEpDao {
 	 */
 	Collection<GoodsEp> getDaumEpList();
 
+	/**
+	 * 다음 EP 총건수
+	 * @return
+	 * @author gagamel
+	 * @since 2021. 8. 26
+	 */
+	int getDaumEpTotalCount();
+
+	/**
+	 * 다음 EP 페이징 목록
+	 * @return
+	 * @author gagamel
+	 * @since 2021. 6. 14
+	 */
+	Collection<GoodsEp> getDaumEpPagingList(GoodsEp goodsEp);
+
 	/**
 	 * 다음 상품평EP 목록
 	 * @return
@@ -197,5 +221,4 @@ public interface TsbGoodsEpDao {
 	 */
 	Collection<GoodsEp> getDaumReviewEpList();
 
-	int getNaverEpListCount();
 }

+ 45 - 44
src/main/java/com/style24/batch/biz/job/goods/TsbDaumAllEp.java

@@ -26,7 +26,7 @@ import com.gagaframework.web.util.GagaFileUtil;
  */
 @Component
 @Slf4j
-public class TsbDaumAllEp extends TsbAbstractJob<Collection<GoodsEp>, Collection<GoodsEp>, String> {
+public class TsbDaumAllEp extends TsbAbstractJob<String, String, String> {
 
 	@Autowired
 	private TsbGoodsEpService goodsEpService;
@@ -34,61 +34,60 @@ public class TsbDaumAllEp extends TsbAbstractJob<Collection<GoodsEp>, Collection
 	@Autowired
 	private Environment env;
 
+	private static final int PAGE_SIZE = 100000;
+
 	@Override
-	public Collection<GoodsEp> read() throws Exception {
-		
-		// 다음 전체EP 생성
-		goodsEpService.createDaumEp("ALL");
+	public String read() throws Exception {
+//		// 다음 전체EP 생성
+//		goodsEpService.createDaumEp("ALL");
 
-		// 다음 전체EP 목록
-		return goodsEpService.getDaumEpList();
+		return "OK";
 	}
 
 	@Override
-	public Collection<GoodsEp> process(Collection<GoodsEp> goodsEpList) throws Exception {
-		return goodsEpList;
+	public String process(String result) throws Exception {
+		return "OK";
 	}
 
 	@Override
-	public String write(Collection<GoodsEp> goodsEpList) throws Exception {
-		/*
-		if (goodsEpList != null && !goodsEpList.isEmpty()) {
-			StringBuilder sb = new StringBuilder();
-			sb.append("<<<tocnt>>>").append(goodsEpList.size());
-
-			for (GoodsEp goodsEp : goodsEpList) {
-				this.setEpInfo(sb, goodsEp);
-			}
+	public String write(String result) throws Exception {
+		// 총건수
+		int totCnt = goodsEpService.getDaumEpTotalCount();
+		log.info("totCnt: {}", totCnt);
+
+		if (totCnt < 1) {
+			return "OK";
+		}
 
-			String uploadPath = GagaFileUtil.getConcatenationPath(env.getProperty("ep.file.path"), "iStyle24ProductFeed_DaumProductFull_new.txt");
-			log.info("다음 전체EP 파일 경로: {}", uploadPath);
+		String uploadPath = GagaFileUtil.getConcatenationPath(env.getProperty("ep.file.path"), "iStyle24ProductFeed_DaumProductFull_new.txt");
+		log.info("다음 전체EP 파일 경로: {}", uploadPath);
 
-			BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(new File(uploadPath)), "UTF-8"));
-			bw.write(sb.toString());
-			bw.flush();
-			bw.close();
+		int totPage = totCnt / PAGE_SIZE;
+		log.info("totalPage: {}", totPage);
+
+		if (totCnt % PAGE_SIZE > 0) {
+			totPage++;
 		}
-		*/
-
-		if (goodsEpList != null && !goodsEpList.isEmpty()) {
-			String uploadPath = GagaFileUtil.getConcatenationPath(env.getProperty("ep.file.path"), "iStyle24ProductFeed_DaumProductFull_new.txt");
-			log.info("다음 전체EP 파일 경로: {}", uploadPath);
-			BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(new File(uploadPath)), "UTF-8"));
-			
-			StringBuilder sb = new StringBuilder();
-			sb.append("<<<tocnt>>>").append(goodsEpList.size());
-			bw.append(sb.toString());
-
-			for (GoodsEp goodsEp : goodsEpList) {
-				sb = new StringBuilder();
-				this.setEpInfo(sb, goodsEp);
-				bw.append(sb.toString());
+
+		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(new File(uploadPath)), "UTF-8"));
+
+		// 총건수
+		bw.append("<<<tocnt>>>" + totCnt + "\n");
+
+		for (int page = 0; page < totPage; page++) {
+			int limitStartRow = (page * PAGE_SIZE + 1) - 1;
+			GoodsEp goodsEp = new GoodsEp();
+			goodsEp.setLimitStartRow(limitStartRow);
+			goodsEp.setPageSize(PAGE_SIZE);
+			Collection<GoodsEp> goodsEpList = goodsEpService.getDaumEpPagingList(goodsEp);
+			for (GoodsEp goodsEpIfno : goodsEpList) {
+				bw.append(this.getEpInfo(goodsEpIfno));
 			}
-			bw.write(sb.toString());
-			bw.flush();
-			bw.close();
+			log.info("{} Page data writed successfully!", (page + 1));
 		}
 
+		bw.close();
+
 		return "OK";
 	}
 
@@ -99,10 +98,11 @@ public class TsbDaumAllEp extends TsbAbstractJob<Collection<GoodsEp>, Collection
 
 	/**
 	 * EP 정보 설정
-	 * @param sb - StringBuilder
 	 * @param goodsEp - 상품EP 정보
+	 * @return
 	 */
-	private void setEpInfo(StringBuilder sb, GoodsEp goodsEp) {
+	private String getEpInfo(GoodsEp goodsEp) {
+		StringBuilder sb = new StringBuilder();
 		sb.append("<<<begin>>>\n");
 		sb.append("<<<mapid>>>").append(goodsEp.getMapid()).append("\n");
 		sb.append("<<<lprice>>>").append(goodsEp.getLprice()).append("\n");
@@ -144,6 +144,7 @@ public class TsbDaumAllEp extends TsbAbstractJob<Collection<GoodsEp>, Collection
 		sb.append("<<<pubdate>>>").append(goodsEp.getPubdate()).append("\n");
 //		sb.append("<<<member>>>").append(goodsEp.getMember()).append("\n");
 		sb.append("<<<ftend>>>\n");
+		return sb.toString();
 	}
 
 }

+ 43 - 42
src/main/java/com/style24/batch/biz/job/goods/TsbDaumSummaryEp.java

@@ -26,7 +26,7 @@ import com.gagaframework.web.util.GagaFileUtil;
  */
 @Component
 @Slf4j
-public class TsbDaumSummaryEp extends TsbAbstractJob<Collection<GoodsEp>, Collection<GoodsEp>, String> {
+public class TsbDaumSummaryEp extends TsbAbstractJob<String, String, String> {
 
 	@Autowired
 	private TsbGoodsEpService goodsEpService;
@@ -34,61 +34,60 @@ public class TsbDaumSummaryEp extends TsbAbstractJob<Collection<GoodsEp>, Collec
 	@Autowired
 	private Environment env;
 
+	private static final int PAGE_SIZE = 100000;
+
 	@Override
-	public Collection<GoodsEp> read() throws Exception {
+	public String read() throws Exception {
 		// 다음 요약EP 생성
 		goodsEpService.createDaumEp("SUMMARY");
 
-		// 다음 요약EP 목록
-		return goodsEpService.getDaumEpList();
+		return "OK";
 	}
 
 	@Override
-	public Collection<GoodsEp> process(Collection<GoodsEp> goodsEpList) throws Exception {
-		return goodsEpList;
+	public String process(String result) throws Exception {
+		return "OK";
 	}
 
 	@Override
-	public String write(Collection<GoodsEp> goodsEpList) throws Exception {
-		/*
-		if (goodsEpList != null && !goodsEpList.isEmpty()) {
-			StringBuilder sb = new StringBuilder();
-			sb.append("<<<tocnt>>>").append(goodsEpList.size());
-
-			for (GoodsEp goodsEp : goodsEpList) {
-				this.setEpInfo(sb, goodsEp);
-			}
+	public String write(String result) throws Exception {
+		// 총건수
+		int totCnt = goodsEpService.getDaumEpTotalCount();
+		log.info("totCnt: {}", totCnt);
+
+		if (totCnt < 1) {
+			return "OK";
+		}
 
-			String uploadPath = GagaFileUtil.getConcatenationPath(env.getProperty("ep.file.path"), "iStyle24ProductFeed_DaumProductSmry_new.txt");
-			log.info("다음 요약EP 파일 경로: {}", uploadPath);
+		String uploadPath = GagaFileUtil.getConcatenationPath(env.getProperty("ep.file.path"), "iStyle24ProductFeed_DaumProductSmry_new.txt");
+		log.info("다음 요약EP 파일 경로: {}", uploadPath);
 
-			BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(new File(uploadPath)), "UTF-8"));
-			bw.write(sb.toString());
-			bw.flush();
-			bw.close();
+		int totPage = totCnt / PAGE_SIZE;
+		log.info("totalPage: {}", totPage);
+
+		if (totCnt % PAGE_SIZE > 0) {
+			totPage++;
 		}
-		*/
-		
-		if (goodsEpList != null && !goodsEpList.isEmpty()) {
-			String uploadPath = GagaFileUtil.getConcatenationPath(env.getProperty("ep.file.path"), "iStyle24ProductFeed_DaumProductSmry_new.txt");
-			log.info("다음 요약EP 파일 경로: {}", uploadPath);
-			BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(new File(uploadPath)), "UTF-8"));
-			
-			StringBuilder sb = new StringBuilder();
-			sb.append("<<<tocnt>>>").append(goodsEpList.size());
-			bw.append(sb.toString());
-
-			for (GoodsEp goodsEp : goodsEpList) {
-				sb = new StringBuilder();
-				this.setEpInfo(sb, goodsEp);
-				bw.append(sb.toString());
-			}
 
-			bw.write(sb.toString());
-			bw.flush();
-			bw.close();
+		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(new File(uploadPath)), "UTF-8"));
+
+		// 총건수
+		bw.append("<<<tocnt>>>" + totCnt + "\n");
+
+		for (int page = 0; page < totPage; page++) {
+			int limitStartRow = (page * PAGE_SIZE + 1) - 1;
+			GoodsEp goodsEp = new GoodsEp();
+			goodsEp.setLimitStartRow(limitStartRow);
+			goodsEp.setPageSize(PAGE_SIZE);
+			Collection<GoodsEp> goodsEpList = goodsEpService.getDaumEpPagingList(goodsEp);
+			for (GoodsEp goodsEpIfno : goodsEpList) {
+				bw.append(this.getEpInfo(goodsEpIfno));
+			}
+			log.info("{} Page data writed successfully!", (page + 1));
 		}
 
+		bw.close();
+
 		return "OK";
 	}
 
@@ -99,10 +98,11 @@ public class TsbDaumSummaryEp extends TsbAbstractJob<Collection<GoodsEp>, Collec
 
 	/**
 	 * EP 정보 설정
-	 * @param sb - StringBuilder
 	 * @param goodsEp - 상품EP 정보
+	 * @return
 	 */
-	private void setEpInfo(StringBuilder sb, GoodsEp goodsEp) {
+	private String getEpInfo(GoodsEp goodsEp) {
+		StringBuilder sb = new StringBuilder();
 		sb.append("<<<begin>>>\n");
 		sb.append("<<<mapid>>>").append(goodsEp.getMapid()).append("\n");
 		sb.append("<<<lprice>>>").append(goodsEp.getLprice()).append("\n");
@@ -144,6 +144,7 @@ public class TsbDaumSummaryEp extends TsbAbstractJob<Collection<GoodsEp>, Collec
 		sb.append("<<<pubdate>>>").append(goodsEp.getPubdate()).append("\n");
 //		sb.append("<<<member>>>").append(goodsEp.getMember()).append("\n");
 		sb.append("<<<ftend>>>\n");
+		return sb.toString();
 	}
 
 }

+ 43 - 36
src/main/java/com/style24/batch/biz/job/goods/TsbNaverAllEp.java

@@ -6,8 +6,6 @@ import java.io.FileOutputStream;
 import java.io.OutputStreamWriter;
 import java.util.Collection;
 
-import com.gagaframework.web.parameter.GagaMap;
-import com.style24.persistence.domain.Customer;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.core.env.Environment;
 import org.springframework.stereotype.Component;
@@ -36,7 +34,7 @@ public class TsbNaverAllEp extends TsbAbstractJob<String, String, String> {
 	@Autowired
 	private Environment env;
 
-	private static final int PAGE_SIZE = 10000;
+	private static final int PAGE_SIZE = 100000;
 
 	@Override
 	public String read() throws Exception {
@@ -47,39 +45,48 @@ public class TsbNaverAllEp extends TsbAbstractJob<String, String, String> {
 	}
 
 	@Override
-	public String process(String goodsEpList) throws Exception {
+	public String process(String result) throws Exception {
 		return "OK";
 	}
 
 	@Override
-	public String write(String goodsEpList) throws Exception {
-
-			int totalCount = naverEpService.getNaverEpListCount();
-			if (totalCount < 1 ) {
-				return "OK";
+	public String write(String result) throws Exception {
+		// 총건수
+		int totCnt = naverEpService.getNaverEpTotalCount();
+		log.info("totCnt: {}", totCnt);
+
+		if (totCnt < 1) {
+			return "OK";
+		}
+
+		String uploadPath = GagaFileUtil.getConcatenationPath(env.getProperty("ep.file.path"), "iStyle24ProductFeed_NaverEp_new.txt");
+		log.info("네이버 전체EP 파일 경로: {}", uploadPath);
+
+		int totPage = totCnt / PAGE_SIZE;
+		log.info("totalPage: {}", totPage);
+
+		if (totCnt % PAGE_SIZE > 0) {
+			totPage++;
+		}
+
+		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(new File(uploadPath)), "UTF-8"));
+
+		// 타이틀 Write
+		bw.append(this.getEpTitle());
+
+		for (int page = 0; page < totPage; page++) {
+			int limitStartRow = (page * PAGE_SIZE + 1) - 1;
+			GoodsEp goodsEp = new GoodsEp();
+			goodsEp.setLimitStartRow(limitStartRow);
+			goodsEp.setPageSize(PAGE_SIZE);
+			Collection<GoodsEp> goodsEpList = naverEpService.getNaverEpPagingList(goodsEp);
+			for (GoodsEp goodsEpIfno : goodsEpList) {
+				bw.append(this.getEpInfo(goodsEpIfno));
 			}
-			String uploadPath = GagaFileUtil.getConcatenationPath(env.getProperty("ep.file.path"), "iStyle24ProductFeed_NaverEp_new.txt");
-			log.info("네이버 전체EP 파일 경로: {}", uploadPath);
-
+			log.info("{} Page data writed successfully!", (page + 1));
+		}
 
-			int totalPage = totalCount / PAGE_SIZE;
-			if (totalCount % PAGE_SIZE > 0) {
-				totalPage++;
-			}
-
-			BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(new File(uploadPath)), "UTF-8"));
-			bw.append(this.setEpTitle());
-			for (int page = 0; page < totalPage; page++) {
-				int limitStartRow = (page * PAGE_SIZE + 1) - 1;
-				GoodsEp goodsEp = new GoodsEp();
-				goodsEp.setLimitStartRow(limitStartRow);
-				goodsEp.setPageSize(PAGE_SIZE);
-				Collection<GoodsEp> goodsEpCollection  = naverEpService.getNaverEpPagingList(goodsEp);
-				for (GoodsEp goodsEpIfno : goodsEpCollection) {
-					bw.append(this.setEpInfo(goodsEpIfno));
-				}
-			}
-			bw.close();
+		bw.close();
 
 		return "OK";
 	}
@@ -90,10 +97,10 @@ public class TsbNaverAllEp extends TsbAbstractJob<String, String, String> {
 	}
 
 	/**
-	 * EP 타이틀 설정
-	 * @param sb - StringBuilder
+	 * Get EP 타이틀
+	 * @return
 	 */
-	private String setEpTitle() {
+	private String getEpTitle() {
 		StringBuilder sb = new StringBuilder();
 		sb.append("id\t").append("title\t");
 		sb.append("price_pc\t").append("price_mobile\t").append("normal_price\t");
@@ -110,11 +117,11 @@ public class TsbNaverAllEp extends TsbAbstractJob<String, String, String> {
 	}
 
 	/**
-	 * EP 정보 설정
-	 * @param sb - StringBuilder
+	 * Get EP 정보
 	 * @param goodsEp - 상품EP 정보
+	 * @return
 	 */
-	private String setEpInfo( GoodsEp goodsEp) {
+	private String getEpInfo(GoodsEp goodsEp) {
 		StringBuilder sb = new StringBuilder();
 		sb.append(goodsEp.getId()).append("\t");
 		sb.append(goodsEp.getTitle()).append("\t");

+ 49 - 24
src/main/java/com/style24/batch/biz/job/goods/TsbNaverSummaryEp.java

@@ -26,7 +26,7 @@ import com.gagaframework.web.util.GagaFileUtil;
  */
 @Component
 @Slf4j
-public class TsbNaverSummaryEp extends TsbAbstractJob<Collection<GoodsEp>, Collection<GoodsEp>, String> {
+public class TsbNaverSummaryEp extends TsbAbstractJob<String, String, String> {
 
 	@Autowired
 	private TsbGoodsEpService naverEpService;
@@ -34,39 +34,60 @@ public class TsbNaverSummaryEp extends TsbAbstractJob<Collection<GoodsEp>, Colle
 	@Autowired
 	private Environment env;
 
+	private static final int PAGE_SIZE = 100000;
+
 	@Override
-	public Collection<GoodsEp> read() throws Exception {
+	public String read() throws Exception {
 		// 네이버 요약EP 생성
 		naverEpService.createNaverEp("SUMMARY");
 
-		// 네이버 EP 목록
-		return naverEpService.getNaverEpList();
+		return "OK";
 	}
 
 	@Override
-	public Collection<GoodsEp> process(Collection<GoodsEp> goodsEpList) throws Exception {
-		return goodsEpList;
+	public String process(String result) throws Exception {
+		return "OK";
 	}
 
 	@Override
-	public String write(Collection<GoodsEp> goodsEpList) throws Exception {
-		if (goodsEpList != null && !goodsEpList.isEmpty()) {
-			StringBuilder sb = new StringBuilder();
-			this.setEpTitle(sb);
+	public String write(String result) throws Exception {
+		// 총건수
+		int totCnt = naverEpService.getNaverEpTotalCount();
+		log.info("totCnt: {}", totCnt);
 
-			for (GoodsEp goodsEp : goodsEpList) {
-				this.setEpInfo(sb, goodsEp);
-			}
+		if (totCnt < 1) {
+			return "OK";
+		}
+
+		String uploadPath = GagaFileUtil.getConcatenationPath(env.getProperty("ep.file.path"), "iStyle24ProductFeed_NaverEP_Summary_new.txt");
+		log.info("네이버 요약EP 파일 경로: {}", uploadPath);
 
-			String uploadPath = GagaFileUtil.getConcatenationPath(env.getProperty("ep.file.path"), "iStyle24ProductFeed_NaverEP_Summary_new.txt");
-			log.info("네이버 요약EP 파일 경로: {}", uploadPath);
+		int totPage = totCnt / PAGE_SIZE;
+		log.info("totalPage: {}", totPage);
 
-			BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(new File(uploadPath)), "UTF-8"));
-			bw.write(sb.toString());
-			bw.flush();
-			bw.close();
+		if (totCnt % PAGE_SIZE > 0) {
+			totPage++;
 		}
 
+		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(new File(uploadPath)), "UTF-8"));
+
+		// 타이틀 Write
+		bw.append(this.getEpTitle());
+
+		for (int page = 0; page < totPage; page++) {
+			int limitStartRow = (page * PAGE_SIZE + 1) - 1;
+			GoodsEp goodsEp = new GoodsEp();
+			goodsEp.setLimitStartRow(limitStartRow);
+			goodsEp.setPageSize(PAGE_SIZE);
+			Collection<GoodsEp> goodsEpList = naverEpService.getNaverEpPagingList(goodsEp);
+			for (GoodsEp goodsEpInfo : goodsEpList) {
+				bw.append(this.getEpInfo(goodsEpInfo));
+			}
+			log.info("{} Page data writed successfully!", (page + 1));
+		}
+
+		bw.close();
+
 		return "OK";
 	}
 
@@ -76,10 +97,11 @@ public class TsbNaverSummaryEp extends TsbAbstractJob<Collection<GoodsEp>, Colle
 	}
 
 	/**
-	 * EP 타이틀 설정
-	 * @param sb - StringBuilder
+	 * Get EP 타이틀
+	 * @return
 	 */
-	private void setEpTitle(StringBuilder sb) {
+	private String getEpTitle() {
+		StringBuilder sb = new StringBuilder();
 		sb.append("id\t").append("title\t");
 		sb.append("price_pc\t").append("price_mobile\t").append("normal_price\t");
 		sb.append("link\t").append("mobile_link\t").append("image_link\t").append("add_image_link\t");
@@ -91,14 +113,16 @@ public class TsbNaverSummaryEp extends TsbAbstractJob<Collection<GoodsEp>, Colle
 		sb.append("interest_free_event\t").append("point\t").append("installation_costs\t").append("search_tag\t").append("minimum_purchase_quantity\t");
 		sb.append("review_count\t").append("shipping\t").append("delivery_grade\t").append("delivery_detail\n").append("age_group\t").append("gender\t");
 		sb.append("class\t").append("update_time\n");
+		return sb.toString();
 	}
 
 	/**
 	 * EP 정보 설정
-	 * @param sb - StringBuilder
 	 * @param goodsEp - 상품EP 정보
+	 * @return
 	 */
-	private void setEpInfo(StringBuilder sb, GoodsEp goodsEp) {
+	private String getEpInfo(GoodsEp goodsEp) {
+		StringBuilder sb = new StringBuilder();
 		sb.append(goodsEp.getId()).append("\t");
 		sb.append(goodsEp.getTitle()).append("\t");
 		sb.append(goodsEp.getPricePc()).append("\t");
@@ -143,6 +167,7 @@ public class TsbNaverSummaryEp extends TsbAbstractJob<Collection<GoodsEp>, Colle
 		sb.append(goodsEp.getGender()).append("\t");
 		sb.append(goodsEp.getUpdGb()).append("\t");
 		sb.append(goodsEp.getUpdateTime()).append("\n");
+		return sb.toString();
 	}
 
 }

+ 38 - 16
src/main/java/com/style24/batch/biz/service/TsbGoodsEpService.java

@@ -45,17 +45,20 @@ public class TsbGoodsEpService {
 		goodsEp.setGoodsDtlUrl(env.getProperty("ep.goods.dtl.url"));
 		goodsEp.setEpType(epType);
 
-		// 1.2. 상품 이미지 정보 생성
-		int cnt = goodsEpDao.createEpGoodsImage(goodsEp);
-		log.info("1.2. 상품 이미지 정보 생성: {}건", cnt);
+		int cnt = 0;
+		if (epType.equals("ALL")) {
+			// 1.2. 상품 이미지 정보 생성
+			cnt = goodsEpDao.createEpGoodsImage(goodsEp);
+			log.info("1.2. 상품 이미지 정보 생성: {}건", cnt);
 
-		// 2.1. 상품 추가 이미지 정보 truncate
-		goodsEpDao.truncateEpGoodsAddImage();
-		log.info("2.1. 상품 추가 이미지 정보 truncate");
+			// 2.1. 상품 추가 이미지 정보 truncate
+			goodsEpDao.truncateEpGoodsAddImage();
+			log.info("2.1. 상품 추가 이미지 정보 truncate");
 
-		// 2.2. 상품 추가 이미지 정보 생성
-		cnt = goodsEpDao.createEpGoodsAddImage(goodsEp);
-		log.info("2.2. 상품 추가 이미지 정보 생성: {}건", cnt);
+			// 2.2. 상품 추가 이미지 정보 생성
+			cnt = goodsEpDao.createEpGoodsAddImage(goodsEp);
+			log.info("2.2. 상품 추가 이미지 정보 생성: {}건", cnt);
+		}
 
 		// 3.1. EP카드행사 정보 truncate
 		goodsEpDao.truncateEpCardEvent();
@@ -154,20 +157,20 @@ public class TsbGoodsEpService {
 	}
 
 	/**
-	 * 네이버 EP 건수
+	 * 네이버 EP 건수
 	 * @return
 	 * @author gagamel
-	 * @since 2021. 6. 14
+	 * @since 2021. 8. 26
 	 */
-	public int getNaverEpListCount() {
-		return goodsEpDao.getNaverEpListCount();
+	public int getNaverEpTotalCount() {
+		return goodsEpDao.getNaverEpTotalCount();
 	}
 
 	/**
 	 * 네이버 EP 페이징 목록
 	 * @return
 	 * @author gagamel
-	 * @since 2021. 6. 14
+	 * @since 2021. 8. 26
 	 */
 	public Collection<GoodsEp> getNaverEpPagingList(GoodsEp goodsEp) {
 		return goodsEpDao.getNaverEpPagingList(goodsEp);
@@ -232,7 +235,7 @@ public class TsbGoodsEpService {
 		GoodsEp goodsEp = new GoodsEp();
 		goodsEp.setGoodsDtlUrl(env.getProperty("ep.goods.dtl.url"));
 		goodsEp.setEpType(epType);
-		
+
 		// 6.1. 이전 EP다음 정보 삭제
 		goodsEpDao.deleteEpDaum("PREV");
 		log.info("6.1. 이전 EP다음 정보 삭제");
@@ -268,6 +271,26 @@ public class TsbGoodsEpService {
 		return goodsEpDao.getDaumEpList();
 	}
 
+	/**
+	 * 다음 EP 총건수
+	 * @return
+	 * @author gagamel
+	 * @since 2021. 8. 26
+	 */
+	public int getDaumEpTotalCount() {
+		return goodsEpDao.getDaumEpTotalCount();
+	}
+
+	/**
+	 * 다음 EP 페이징 목록
+	 * @return
+	 * @author gagamel
+	 * @since 2021. 8. 26
+	 */
+	public Collection<GoodsEp> getDaumEpPagingList(GoodsEp goodsEp) {
+		return goodsEpDao.getDaumEpPagingList(goodsEp);
+	}
+
 	/**
 	 * 다음 상품평EP 목록
 	 * @return
@@ -278,5 +301,4 @@ public class TsbGoodsEpService {
 		return goodsEpDao.getDaumReviewEpList();
 	}
 
-
 }

+ 65 - 15
src/main/java/com/style24/persistence/mybatis/shop/TsbGoodsEp.xml

@@ -294,7 +294,7 @@
 		     , POINT
 		     , SEARCH_TAG
 		     , MINIMUM_PURCHASE_QUANTITY
-		     , REVIEW_REG_CNT
+		     , REVIEW_COUNT
 		     , SHIPPING
 		     , AGE_GROUP
 		     , GENDER
@@ -336,7 +336,7 @@
 		     , POINT
 		     , SEARCH_TAG
 		     , MINIMUM_PURCHASE_QUANTITY
-		     , REVIEW_REG_CNT  
+		     , REVIEW_COUNT
 		     , SHIPPING
 		     , AGE_GROUP
 		     , GENDER
@@ -385,7 +385,7 @@
 		     , POINT
 		     , SEARCH_TAG
 		     , MINIMUM_PURCHASE_QUANTITY
-		     , REVIEW_REG_CNT
+		     , REVIEW_COUNT
 		     , SHIPPING
 		     , AGE_GROUP
 		     , GENDER
@@ -563,7 +563,7 @@
 		     , POINT
 		     , SEARCH_TAG
 		     , MINIMUM_PURCHASE_QUANTITY
-		     , REVIEW_REG_CNT
+		     , REVIEW_COUNT
 		     , SHIPPING
 		     , AGE_GROUP
 		     , GENDER
@@ -607,7 +607,7 @@
 		     , POINT
 		     , SEARCH_TAG
 		     , MINIMUM_PURCHASE_QUANTITY
-		     , REVIEW_REG_CNT
+		     , REVIEW_COUNT
 		     , SHIPPING
 		     , AGE_GROUP
 		     , GENDER
@@ -651,7 +651,7 @@
 		             , POINT
 		             , SEARCH_TAG
 		             , MINIMUM_PURCHASE_QUANTITY
-		             , REVIEW_REG_CNT
+		             , REVIEW_COUNT
 		             , SHIPPING
 		             , AGE_GROUP
 		             , GENDER
@@ -704,7 +704,7 @@
 		             , X.POINT
 		             , X.SEARCH_TAG
 		             , X.MINIMUM_PURCHASE_QUANTITY
-		             , X.REVIEW_REG_CNT
+		             , X.REVIEW_COUNT
 		             , X.SHIPPING
 		             , X.AGE_GROUP
 		             , X.GENDER
@@ -749,7 +749,7 @@
 		                X.POINT != X.POINT OR
 		                X.SEARCH_TAG != X.SEARCH_TAG OR
 		                X.MINIMUM_PURCHASE_QUANTITY != X.MINIMUM_PURCHASE_QUANTITY OR
-		                X.REVIEW_REG_CNT != X.REVIEW_REG_CNT OR
+		                X.REVIEW_COUNT != X.REVIEW_COUNT OR
 		                X.SHIPPING != X.SHIPPING OR
 		                X.AGE_GROUP != X.AGE_GROUP OR
 		                X.GENDER != X.GENDER
@@ -788,7 +788,7 @@
 		             , X.POINT
 		             , X.SEARCH_TAG
 		             , X.MINIMUM_PURCHASE_QUANTITY
-		             , X.REVIEW_REG_CNT
+		             , X.REVIEW_COUNT
 		             , X.SHIPPING
 		             , X.AGE_GROUP
 		             , X.GENDER
@@ -813,9 +813,9 @@
 		       ) X
 	</insert>
 
-	<!-- 네이버 EP 목록 -->
-	<select id="getNaverEpListCount" resultType="int">
-		/* TsbGoodsEp.getNaverEpListCount */
+	<!-- 네이버 EP 총건수 -->
+	<select id="getNaverEpTotalCount" resultType="int">
+		/* TsbGoodsEp.getNaverEpTotalCount */
 		SELECT COUNT(1)
 		FROM   TB_EP_NAVER
 		WHERE  GB = 'LAST'
@@ -856,7 +856,7 @@
 		     , IFNULL(POINT,'')                     AS POINT
 		     , IFNULL(SEARCH_TAG,'')                AS SEARCH_TAG
 		     , IFNULL(MINIMUM_PURCHASE_QUANTITY,'') AS MINIMUM_PURCHASE_QUANTITY
-		     , REVIEW_REG_CNT                       AS REVIEW_COUNT
+		     , REVIEW_COUNT
 		     , IFNULL(SHIPPING,'')                  AS SHIPPING
 		     , IFNULL(AGE_GROUP,'')                 AS AGE_GROUP
 		     , IFNULL(GENDER,'')                    AS GENDER
@@ -902,7 +902,7 @@
 		     , IFNULL(POINT,'')                     AS POINT
 		     , IFNULL(SEARCH_TAG,'')                AS SEARCH_TAG
 		     , IFNULL(MINIMUM_PURCHASE_QUANTITY,'') AS MINIMUM_PURCHASE_QUANTITY
-		     , REVIEW_REG_CNT                       AS REVIEW_COUNT
+		     , REVIEW_COUNT
 		     , IFNULL(SHIPPING,'')                  AS SHIPPING
 		     , IFNULL(AGE_GROUP,'')                 AS AGE_GROUP
 		     , IFNULL(GENDER,'')                    AS GENDER
@@ -910,7 +910,7 @@
 		     , UPDATE_TIME
 		FROM   TB_EP_NAVER
 		WHERE  GB = 'LAST'
-		ORDER BY ID
+		ORDER  BY ID
 		<include refid="selectForPagingFooter"/>
 	</select>
 	
@@ -1480,6 +1480,56 @@
 		WHERE  GB = 'LAST'
 	</select>
 	
+	<!-- 다음 EP 총건수 -->
+	<select id="getDaumEpTotalCount" resultType="int">
+		/* TsbGoodsEp.getDaumEpTotalCount */
+		SELECT COUNT(1)
+		FROM   TB_EP_DAUM
+		WHERE  GB = 'LAST'
+	</select>
+	
+	<!-- 다음 EP 페이징 목록 -->
+	<select id="getDaumEpPagingList" resultType="GoodsEp" timeout="1000">
+		/* TsbGoodsEp.getDaumEpPagingList */
+		<include refid="selectForPagingHeader"/>
+		SELECT IFNULL(MAPID,'')     AS MAPID
+		     , LPRICE
+		     , PRICE
+		     , MPRIC
+		     , IFNULL(PNAME,'')     AS PNAME
+		     , IFNULL(PGURL,'')     AS PGURL
+		     , IFNULL(IGURL,'')     AS IGURL
+		     , IFNULL(UPIMG,'')     AS UPIMG
+		     , IFNULL(CATE1,'')     AS CATE1
+		     , IFNULL(CAID1,'')     AS CAID1
+		     , IFNULL(CATE2,'')     AS CATE2
+		     , IFNULL(CAID2,'')     AS CAID2
+		     , IFNULL(CATE3,'')     AS CATE3
+		     , IFNULL(CAID3,'')     AS CAID3
+		     , IFNULL(CATE4,'')     AS CATE4
+		     , IFNULL(CAID4,'')     AS CAID4
+		     , IFNULL(MODEL,'')     AS MODEL
+		     , IFNULL(BRAND,'')     AS BRAND
+		     , IFNULL(MAKER,'')     AS MAKER
+		     , IFNULL(COUPON,'')    AS COUPON
+		     , IFNULL(MCOUPON,'')   AS MCOUPON
+		     , IFNULL(PCARD,'')     AS PCARD
+		     , IFNULL(POINT,'')     AS POINT
+		     , IFNULL(DELIV,'')     AS DELIV
+		     , IFNULL(DELIVTERM,'') AS DELIVTERM
+		     , IFNULL(RATING,'')    AS RATING
+		     , IFNULL(REVCT,'')     AS REVCT
+		     , IFNULL(EVENT,'')     AS EVENT
+		     , IFNULL(CARDDN,'')    AS CARDDN
+		     , IFNULL(CARDP,'')     AS CARDP
+		     , IFNULL(ADULT,'')     AS ADULT
+		     , IFNULL(PUBDATE,'')   AS PUBDATE
+		FROM   TB_EP_DAUM
+		WHERE  GB = 'LAST'
+		ORDER  BY MAPID
+		<include refid="selectForPagingFooter"/>
+	</select>
+	
 	<!-- 다음 상품평EP 목록 -->
 	<select id="getDaumReviewEpList" resultType="GoodsEp">
 		/* TsbGoodsEp.getDaumReviewEpList */