Просмотр исходного кода

Merge branch 'develop' of http://112.172.147.34:4936/style24/style24.batch into develop

swkim 4 лет назад
Родитель
Сommit
2af434e1fc

+ 50 - 1
src/main/java/com/style24/batch/biz/job/goods/TsbGoodsSearchAllJob.java

@@ -1,6 +1,7 @@
 package com.style24.batch.biz.job.goods;
 
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.core.env.Environment;
 import org.springframework.stereotype.Component;
 
 import com.style24.batch.biz.job.TsbAbstractJob;
@@ -22,6 +23,9 @@ public class TsbGoodsSearchAllJob extends TsbAbstractJob<Goods, Goods, Goods> {
 	@Autowired
 	private TsbGoodsSearchService goodsSeachService;
 
+	@Autowired
+	private Environment env;
+
 	private int succCnt = 0;
 	private int failCnt = 0;
 
@@ -40,7 +44,52 @@ public class TsbGoodsSearchAllJob extends TsbAbstractJob<Goods, Goods, Goods> {
 	@Override
 	public Goods write(Goods goods) throws Exception {
 
-		goodsSeachService.saveGoodsSearchAll();
+//		goodsSeachService.saveGoodsSearchAll();
+
+		//과부하를 막기 위해 트랜젝션 분리처리
+		// 세션 설정
+		goodsSeachService.updateSessionGroupConcat();
+
+		// TB_GOODS_SEARCH_TEMP 삭제
+		goodsSeachService.deleteGoodsSearchTemp();
+
+		// 기본상품정보 생성
+		goodsSeachService.createGoodsSearchTempByGoods();
+
+		// 키워드 생성
+		goodsSeachService.updateGoodsSearchTempByKeyword();
+
+		// 상품이미지 생성
+		String goodsPath = env.getProperty("upload.goods.view");
+		goodsSeachService.updateGoodsSearchTempByImage(goodsPath);
+
+		// 동영상 생성
+		goodsSeachService.updateGoodsSearchTempByVideo();
+
+		// 즉시적용가 생성
+		goodsSeachService.updateGoodsSearchTempByPrice();
+
+		// 아이콘 생성
+		goodsSeachService.updateGoodsSearchTempByIcon();
+
+		// 전시 카테고리 생성
+		goodsSeachService.updateGoodsSearchTempByCate();
+
+		// 자사 옵션정보 생성
+		goodsSeachService.updateGoodsSearchTempBySelfOpt();
+
+		// 자사 옵션별 색상칩 생성
+		goodsSeachService.updateGoodsSearchTempBySelfColor();
+
+		// 자사 입점정보 생성
+		goodsSeachService.updateGoodsSearchTempBySelfNoOpt();
+
+		// TB_GOODS_SEARCH 삭제
+		goodsSeachService.deleteGoodsSearch();
+
+		// TB_GOODS_SEARCH 생성
+		goodsSeachService.createGoodsSearch();
+
 		return goods;
 	}
 

+ 4 - 3
src/main/java/com/style24/batch/biz/service/TsbGoodsEpService.java

@@ -36,9 +36,6 @@ public class TsbGoodsEpService {
 	 */
 	@Transactional("shopTxnManager")
 	public void createNaverEp(String epType) {
-		// 1.1. 상품 이미지 정보 truncate
-		goodsEpDao.truncateEpGoodsImage();
-		log.info("1.1. 상품 이미지 정보 truncate");
 
 		GoodsEp goodsEp = new GoodsEp();
 		goodsEp.setGoodsImgUrl(env.getProperty("ep.goods.img.url"));
@@ -47,6 +44,10 @@ public class TsbGoodsEpService {
 
 		int cnt = 0;
 		if (epType.equals("ALL")) {
+			// 1.1. 상품 이미지 정보 truncate
+			goodsEpDao.truncateEpGoodsImage();
+			log.info("1.1. 상품 이미지 정보 truncate");
+			
 			// 1.2. 상품 이미지 정보 생성
 			cnt = goodsEpDao.createEpGoodsImage(goodsEp);
 			log.info("1.2. 상품 이미지 정보 생성: {}건", cnt);

+ 57 - 1
src/main/java/com/style24/batch/biz/service/TsbGoodsSearchService.java

@@ -80,6 +80,63 @@ public class TsbGoodsSearchService {
 
 	}
 
+	@Transactional("shopTxnManager")
+	public void updateSessionGroupConcat() {
+		goodsSearchDao.updateSessionGroupConcat();
+	}
+	@Transactional("shopTxnManager")
+	public void deleteGoodsSearchTemp() {
+		goodsSearchDao.deleteGoodsSearchTemp();
+	}
+	@Transactional("shopTxnManager")
+	public void createGoodsSearchTempByGoods() {
+		goodsSearchDao.createGoodsSearchTempByGoods("A");
+	}
+	@Transactional("shopTxnManager")
+	public void updateGoodsSearchTempByKeyword() {
+		goodsSearchDao.updateGoodsSearchTempByKeyword();
+	}
+	@Transactional("shopTxnManager")
+	public void updateGoodsSearchTempByImage(String goodsPath) {
+		goodsSearchDao.updateGoodsSearchTempByImage(goodsPath);
+	}
+	@Transactional("shopTxnManager")
+	public void updateGoodsSearchTempByVideo() {
+		goodsSearchDao.updateGoodsSearchTempByVideo();
+	}
+	@Transactional("shopTxnManager")
+	public void updateGoodsSearchTempByPrice() {
+		goodsSearchDao.updateGoodsSearchTempByPrice();
+	}
+	@Transactional("shopTxnManager")
+	public void updateGoodsSearchTempByIcon() {
+		goodsSearchDao.updateGoodsSearchTempByIcon();
+	}
+	@Transactional("shopTxnManager")
+	public void updateGoodsSearchTempByCate() {
+		goodsSearchDao.updateGoodsSearchTempByCate();
+	}
+	@Transactional("shopTxnManager")
+	public void updateGoodsSearchTempBySelfOpt() {
+		goodsSearchDao.updateGoodsSearchTempBySelfOpt();
+	}
+	@Transactional("shopTxnManager")
+	public void updateGoodsSearchTempBySelfColor() {
+		goodsSearchDao.updateGoodsSearchTempBySelfColor();
+	}
+	@Transactional("shopTxnManager")
+	public void updateGoodsSearchTempBySelfNoOpt() {
+		goodsSearchDao.updateGoodsSearchTempBySelfNoOpt();
+	}
+	@Transactional("shopTxnManager")
+	public void deleteGoodsSearch() {
+		goodsSearchDao.deleteGoodsSearch();
+	}
+	@Transactional("shopTxnManager")
+	public void createGoodsSearch() {
+		goodsSearchDao.createGoodsSearch();
+	}
+
 	/**
 	 * 상품검색 작업 - 부분색인(가격,재고,상품상태,타이틀,혜택(딱지))
 	 *
@@ -87,7 +144,6 @@ public class TsbGoodsSearchService {
 	 * @author eskim
 	 * @since 2021. 06. 13
 	 */
-	@Transactional("shopTxnManager")
 	public void saveGoodsSearchSection() {
 
 		// 변경상품 코드 수집 - TB_GOODS_SEARCH_SECTION_TEMP

+ 5 - 5
src/main/java/com/style24/persistence/mybatis/wms/TsbWmsDelivery.xml

@@ -601,12 +601,12 @@
 			, A.OrderExceptionNo	AS ORD_CHG_SQ -- 주문변경번호 (주문 예외 번호 ASIS) 
 			, A.RecallTypeCd		-- 반품 타입
 			, A.OrderNo				-- 주문 번호
-			, cast(A.CSMemo as varchar)	AS CSMemo			-- CS 메모
+			, cast(A.CSMemo as varchar(max))	AS CSMemo			-- CS 메모
 			, A.DateCSMemoUpdated	-- CS 메모 변경일
-			, cast(A.WMSMemo as varchar) WMSMemo				-- WMS 메모
+			, cast(A.WMSMemo as varchar(max)) WMSMemo				-- WMS 메모
 			, A.DateWMSMemoUpdated	-- WMS 메모 변경일
 			, A.encloseFee          -- 동봉비 
-			, CASE WHEN A.DateCreated > '20210620 00:00:00' THEN 'N' ELSE 'Y' END AS ASIS_YN 
+			, CASE WHEN A.DateCreated > '20210901 00:00:00' THEN 'N' ELSE 'Y' END AS ASIS_YN 
 			, A.CodFee
 			, MAX(B.DateCompleted) AS DateCompleted		-- 완료일
 			, MAX(B.InvoiceNo) AS InvoiceNo			-- 원운송장번호
@@ -618,8 +618,8 @@
 		   AND B.StatusCd  = '입고완료'   
 		   AND B.IfStat    = '2' -- 회수완료 
 		   AND 'Y' =  CASE WHEN A.PayGb = 'NAVER' AND REPLACE(CONVERT(varchar, getdate(), 108),':','') < '220000' THEN 'N' ELSE 'Y' END --네이버 주문형 22:00시 부터 수집시작  
-		 GROUP BY  A.RecallNo, A.OrderExceptionNo, A.RecallTypeCd, A.OrderNo, cast(A.CSMemo as varchar), A.DateCSMemoUpdated
-			, cast(A.WMSMemo as varchar), A.DateWMSMemoUpdated, A.encloseFee, A.DateCreated, A.CodFee
+		 GROUP BY  A.RecallNo, A.OrderExceptionNo, A.RecallTypeCd, A.OrderNo, cast(A.CSMemo as varchar(max)), A.DateCSMemoUpdated
+			, cast(A.WMSMemo as varchar(max)), A.DateWMSMemoUpdated, A.encloseFee, A.DateCreated, A.CodFee
 			]]>
 	</select>