|
|
@@ -2612,6 +2612,50 @@ public class TsaGoodsController extends TsaBaseController {
|
|
|
return goodsService.saveGoodsNaverPrice(goodsSearch);
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 네이버 최저가 엑셀다운로드
|
|
|
+ *
|
|
|
+ * @param goodsSearch
|
|
|
+ * @return
|
|
|
+ * @author eskim
|
|
|
+ * @since 2021. 07. 09
|
|
|
+ */
|
|
|
+ @GetMapping("/naver/excel/list")
|
|
|
+ public ResponseEntity<InputStreamResource> downloadGoodsNaverExcelList(HttpServletRequest request, GoodsSearch goodsSearch) throws Exception {
|
|
|
+ String excelfileName = "상품_네이버_" + GagaDateUtil.getTodayDateTime() + ".xlsx";
|
|
|
+ String excelFilenameWithPath = GagaFileUtil.getConcatenationPath(env.getProperty("download.path"), "excel", excelfileName);
|
|
|
+
|
|
|
+ // 입점업체담당자는 업체코드 설정
|
|
|
+ if ("G001_B000".equals(TsaSession.getInfo().getRoleCd())) {
|
|
|
+ goodsSearch.setSupplyCompCd(TsaSession.getInfo().getSupplyCompCd());
|
|
|
+ goodsSearch.setMdNo(TsaSession.getInfo().getUserNo().toString());
|
|
|
+ }
|
|
|
+
|
|
|
+ // multi row 검색관련 처리
|
|
|
+ if (!StringUtils.isBlank(goodsSearch.getCondition())) {
|
|
|
+ goodsSearch.setConditionList(goodsSearch.getCondition().replaceAll("\r", "").trim().split("\n"));
|
|
|
+
|
|
|
+ if ("searchExtendGoodsCd".equals(goodsSearch.getSearch())) {
|
|
|
+ goodsSearch.setSearchGb("EXTEND");
|
|
|
+ } else if ("searchMasterGoodsCd".equals(goodsSearch.getSearch())) {
|
|
|
+ goodsSearch.setSearchGb("MASTER");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ log.info("[goodsSearch] ={}", goodsSearch);
|
|
|
+ goodsSearch.setRegNo(TsaSession.getInfo().getUserNo()); // 엑셀조회시 로그인 사용자의 엑셀 상품조회시 사용
|
|
|
+ goodsSearch.setPageable(new TscPageRequest(goodsSearch.getPageNo() - 1, goodsSearch.getPageSize()));
|
|
|
+ goodsSearch.getPageable().setTotalCount(goodsService.getGoodsListCount(goodsSearch));
|
|
|
+
|
|
|
+ //log.info("[downloadGoodsInfoExcelList] goodsSearch = {}", goodsSearch);
|
|
|
+
|
|
|
+ // 대용량엑셀파일다운로드는 이런 식으로 ...
|
|
|
+ goodsService.getGoodsNaverExcelList(goodsSearch, excelFilenameWithPath);
|
|
|
+
|
|
|
+ return GagaFileUtil.writeFile(request, excelFilenameWithPath);
|
|
|
+ }
|
|
|
/**
|
|
|
* 광고 키워드 관리 화면
|
|
|
*
|
|
|
@@ -2993,7 +3037,25 @@ public class TsaGoodsController extends TsaBaseController {
|
|
|
if (!StringUtils.isBlank(goodsSearch.getCondition())) {
|
|
|
goodsSearch.setConditionList(goodsSearch.getCondition().replaceAll("\r", "").trim().split("\n"));
|
|
|
}
|
|
|
+ if (!StringUtils.isBlank(goodsSearch.getBrandList())) {
|
|
|
+ try {
|
|
|
+ String[] arrBrandCd = mapper.readValue(goodsSearch.getBrandList(), String[].class);
|
|
|
+ goodsSearch.setMultiBrand(arrBrandCd);
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ throw new IllegalStateException("브랜드코드 검색중 오류로 인해 조회되지 않았습니다.");
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
+ if (!StringUtils.isBlank(goodsSearch.getSupplyCompList())) {
|
|
|
+ try {
|
|
|
+ String[] arrSupplyComp = mapper.readValue(goodsSearch.getSupplyCompList(), String[].class);
|
|
|
+ goodsSearch.setMultiSupplyCompCd(arrSupplyComp);
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ throw new IllegalStateException("업체코드 검색중 오류로 인해 조회되지 않았습니다.");
|
|
|
+ }
|
|
|
+ }
|
|
|
goodsSearch.setRegNo(TsaSession.getInfo().getUserNo()); // 엑셀조회시 로그인 사용자의 엑셀 상품조회시 사용
|
|
|
goodsSearch.setPageable(new TscPageRequest(goodsSearch.getPageNo() - 1, goodsSearch.getPageSize()));
|
|
|
goodsSearch.getPageable().setTotalCount(goodsService.getGoodsQuikDeleverySkipCount(goodsSearch));
|