소스 검색

실시간 조회 로직 추가

gagamel 4 년 전
부모
커밋
bfec6288ed
2개의 변경된 파일80개의 추가작업 그리고 61개의 파일을 삭제
  1. 60 59
      src/main/java/com/style24/front/biz/thirdparty/EigeneaiApi.java
  2. 20 2
      src/main/java/com/style24/persistence/domain/eigene/Eigeneai.java

+ 60 - 59
src/main/java/com/style24/front/biz/thirdparty/EigeneaiApi.java

@@ -16,6 +16,7 @@ import org.springframework.web.client.RestTemplate;
 
 import com.google.gson.Gson;
 import com.style24.persistence.domain.eigene.Eigeneai;
+import com.style24.persistence.domain.eigene.Eigeneai.Item;
 import com.style24.persistence.domain.eigene.Eigeneai.Result;
 
 import lombok.extern.slf4j.Slf4j;
@@ -226,47 +227,47 @@ public class EigeneaiApi {
 		return new ArrayList<Result>();
 	}
 
-//	/**
-//	 * 실시간 많이 조회되고 있는 상품 목록
-//	 * 사용되는 화면 영역)
-//	 * 		퀵메뉴 > 쇼핑백 (담은 상품 없는 경우)
-//	 * 		쇼핑백 > 추천상품 (담은 상품 없는 경우)
-//	 * 		검색 > 검색 시작화면
-//	 * @param size - 결과에 포함할 상품수
-//	 * @return
-//	 * @author gagamel
-//	 * @since 2021. 6. 30
-//	 */
-//	public Collection<Item> getRealtimeViewGoodsList(int size) {
-//		String requestUrl = rtsApiUrl + "/stream?cuid=" + cuid + "&size=" + size + "&type=view";
-//
-//		Eigeneai eigeneai = this.getEigeneaiInfo(requestUrl);
-//		if (eigeneai.getItems() != null && !eigeneai.getItems().isEmpty()) {
-//			return eigeneai.getItems();
-//		}
-//
-//		return new ArrayList<Item>();
-//	}
+	/**
+	 * 실시간 많이 조회되고 있는 상품 목록
+	 * 사용되는 화면 영역)
+	 * 		퀵메뉴 > 쇼핑백 (담은 상품 없는 경우)
+	 * 		쇼핑백 > 추천상품 (담은 상품 없는 경우)
+	 * 		검색 > 검색 시작화면
+	 * @param size - 결과에 포함할 상품수
+	 * @return
+	 * @author gagamel
+	 * @since 2021. 6. 30
+	 */
+	public Collection<Item> getRealtimeViewGoodsList(int size) {
+		String requestUrl = rtsApiUrl + "/stream?cuid=" + cuid + "&size=" + size + "&type=view";
 
-//	/**
-//	 * 실시간 많이 조회되고 있는 베스트 상품 목록
-//	 * 사용되는 화면 영역)
-//	 * 		베스트 > 베스트상품_실시간 베스트
-//	 * @param size - 결과에 포함할 상품수
-//	 * @return
-//	 * @author gagamel
-//	 * @since 2021. 6. 30
-//	 */
-//	public Collection<Item> getRealtimeViewBestGoodsList(int size) {
-//		String requestUrl = rtsApiUrl + "/stats-transition?cuid=" + cuid + "&size=" + size + "&type=view&interval=30&span=30";
-//
-//		Eigeneai eigeneai = this.getEigeneaiInfo(requestUrl);
-//		if (eigeneai.getItems() != null && !eigeneai.getItems().isEmpty()) {
-//			return eigeneai.getItems();
-//		}
-//
-//		return new ArrayList<Item>();
-//	}
+		Eigeneai eigeneai = this.getEigeneaiInfo(requestUrl);
+		if (eigeneai.getItems() != null && !eigeneai.getItems().isEmpty()) {
+			return eigeneai.getItems();
+		}
+
+		return new ArrayList<Item>();
+	}
+
+	/**
+	 * 실시간 많이 조회되고 있는 베스트 상품 목록
+	 * 사용되는 화면 영역)
+	 * 		베스트 > 베스트상품_실시간 베스트
+	 * @param size - 결과에 포함할 상품수
+	 * @return
+	 * @author gagamel
+	 * @since 2021. 6. 30
+	 */
+	public Collection<Item> getRealtimeViewBestGoodsList(int size) {
+		String requestUrl = rtsApiUrl + "/stats-transition?cuid=" + cuid + "&size=" + size + "&type=view&interval=30&span=30";
+
+		Eigeneai eigeneai = this.getEigeneaiInfo(requestUrl);
+		if (eigeneai.getItems() != null && !eigeneai.getItems().isEmpty()) {
+			return eigeneai.getItems();
+		}
+
+		return new ArrayList<Item>();
+	}
 
 	/**
 	 * 매출급상승 카테고리별 상품 목록
@@ -396,25 +397,25 @@ public class EigeneaiApi {
 		return new ArrayList<Result>();
 	}
 
-//	/**
-//	 * 상품의 실시간 조회수
-//	 * 사용되는 화면 영역)
-//	 * 		상품상세 > 실시간 뷰
-//	 * @param goodsCd - 상품코드
-//	 * @return
-//	 * @author gagamel
-//	 * @since 2021. 5. 14
-//	 */
-//	public int getRealtimeViewCount(String goodsCd) {
-//		String requestUrl = rtsApiUrl + "/stat?cuid=" + cuid + "&itemid=" + goodsCd + "&type=view";
-//
-//		Eigeneai eigeneai = this.getEigeneaiInfo(requestUrl);
-//		if (eigeneai.getItem() != null) {
-//			return eigeneai.getItem().getCount();
-//		}
-//
-//		return 0;
-//	}
+	/**
+	 * 상품의 실시간 조회수
+	 * 사용되는 화면 영역)
+	 * 		상품상세 > 실시간 뷰
+	 * @param goodsCd - 상품코드
+	 * @return
+	 * @author gagamel
+	 * @since 2021. 5. 14
+	 */
+	public int getRealtimeViewCount(String goodsCd) {
+		String requestUrl = rtsApiUrl + "/stat?cuid=" + cuid + "&itemid=" + goodsCd + "&type=view";
+
+		Eigeneai eigeneai = this.getEigeneaiInfo(requestUrl);
+		if (eigeneai.getItem() != null) {
+			return eigeneai.getItem().getCount();
+		}
+
+		return 0;
+	}
 
 	/**
 	 * 아이겐 정보 조회

+ 20 - 2
src/main/java/com/style24/persistence/domain/eigene/Eigeneai.java

@@ -16,8 +16,10 @@ import lombok.Data;
 public class Eigeneai implements Serializable {
 
 	private String recType;					// 추천영역코드
-	private Collection<Product> products;	// 인풋상품정보
-	private Collection<Result> results;		// 결과상품정보
+	private Collection<Product> products;	// 인풋상품정보 목록
+	private Collection<Result> results;		// 결과상품정보 목록
+	private Collection<Item> items;			// 실시간상품정보 목록
+	private Item item;						// 실시간상품정보
 
 	// 인풋상품정보
 	@Data
@@ -31,6 +33,7 @@ public class Eigeneai implements Serializable {
 		private String category3;		// 3레벨카테고리
 		private double originalPrice;	// 정상가
 		private double salePrice;		// 판매가
+		private String brandId;			// 브랜드ID(브랜드그룹번호)
 		private String brandName;		// 브랜드명
 	}
 
@@ -44,4 +47,19 @@ public class Eigeneai implements Serializable {
 		private Product product;	// 상품정보
 	}
 
+	// 실시간 상품정보
+	@Data
+	public class Item {
+		private int count;				// view건수
+		private String itemId;			// 상품코드
+		private String imageUrl;		// 상품이미지URL
+		private String itemName;		// 상품명
+		private String itemUrl;			// 상품상세페이지URL
+		private String categoryId;		// 카테고리ID
+		private double originalPrice;	// 정상가
+		private double salePrice;		// 판매가
+		private String brandId;			// 브랜드ID(브랜드그룹번호)
+		private String brandName;		// 브랜드명
+	}
+
 }