From ecbadbdb0c2e43007470497d2194c4f6c659d759 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期一, 24 六月 2019 09:20:48 +0800
Subject: [PATCH] 恢复店铺搜索
---
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/GoodsClassController.java | 116 ++++++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 97 insertions(+), 19 deletions(-)
diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/GoodsClassController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/GoodsClassController.java
index 89e981f..a407466 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/GoodsClassController.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/GoodsClassController.java
@@ -22,6 +22,7 @@
import com.yeshi.fanli.entity.bus.clazz.GoodsClass;
import com.yeshi.fanli.entity.bus.clazz.GoodsSecondClass;
import com.yeshi.fanli.entity.bus.clazz.GoodsSubClass;
+import com.yeshi.fanli.entity.bus.clazz.TaoBaoClass;
import com.yeshi.fanli.entity.bus.homemodule.SwiperPicture;
import com.yeshi.fanli.entity.bus.lable.QualityFactory;
import com.yeshi.fanli.entity.system.BusinessSystem;
@@ -106,12 +107,11 @@
@Resource
private MonitorService monitorService;
-
+
@Resource
private HomeNavbarService homeNavbarService;
@Resource
private SwiperPictureService swiperPictureService;
-
@Resource(name = "taskExecutor")
private TaskExecutor executor;
@@ -172,32 +172,32 @@
if (picList == null) {
picList = new ArrayList<SwiperPicture>();
}
-
+
List<GoodsSubClass> goodsSubClassList = goodsSubClassService.getSubClassCache(gcid, 1);
if (goodsSubClassList == null) {
goodsSubClassList = new ArrayList<GoodsSubClass>();
}
-
+
boolean changePicture = false;
String version = acceptData.getVersion();
int tversion = Integer.parseInt(version);
String platform = acceptData.getPlatform();
if ("android".equalsIgnoreCase(platform) && tversion > 38) {
changePicture = true;
- } else if (tversion > 47){
+ } else if (tversion > 47) {
changePicture = true;
}
-
+
// 1.5.3鏂扮増鍥剧墖鏇挎崲
if (changePicture) {
- for (GoodsSubClass goodsSubClass: goodsSubClassList) {
+ for (GoodsSubClass goodsSubClass : goodsSubClassList) {
String pictureSecond = goodsSubClass.getPictureSecond();
if (pictureSecond != null && pictureSecond.trim().length() > 0) {
goodsSubClass.setPicture(pictureSecond);
}
}
}
-
+
JSONObject data = new JSONObject();
data.put("picList", JsonUtil.getApiCommonGson().toJson(picList));
data.put("count", goodsSubClassList.size());
@@ -223,7 +223,7 @@
goodsClass.setIosClick(1L);
}
}
-
+
GoodsClass gc = new GoodsClass();
gc.setId(goodsClass.getId());
gc.setIosClick(goodsClass.getIosClick());
@@ -242,7 +242,6 @@
}
}
-
@RequestMapping(value = "getCouponGoods", method = RequestMethod.POST)
public void getCouponGoods(AcceptData acceptData, int page, long gcid, PrintWriter out) {
@@ -293,7 +292,8 @@
@RequestMapping(value = "getgoods", method = RequestMethod.POST)
public void getGoods(AcceptData acceptData, int page, long scid, String filter, String order, String startprice,
String endprice, String fastFilter, PrintWriter out) {
- BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), acceptData.getPackages());
+ BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
+ acceptData.getPackages());
if (system == null) {
out.print(JsonUtil.loadFalseResult("绯荤粺涓嶅瓨鍦�"));
return;
@@ -401,7 +401,8 @@
@RequestMapping(value = "getsecondclassgoods", method = RequestMethod.POST)
public void getSecondClassGoods(AcceptData acceptData, int page, long scid, String filter, String order,
String startprice, String endprice, String fastFilter, Integer totalSales, PrintWriter out) {
- BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), acceptData.getPackages());
+ BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
+ acceptData.getPackages());
if (system == null) {
out.print(JsonUtil.loadFalseResult("绯荤粺涓嶅瓨鍦�"));
return;
@@ -420,6 +421,84 @@
goodsSubClassService.countClick(acceptData, goodsSubClass);
}
+ SearchFilter sf = new SearchFilter();
+ String catesId = "";
+ // 鏌ヨ鏄惁鏈夋窐瀹濆垎绫籌D
+ List<TaoBaoClass> tbClassList = taoBaoClassService.listBySystemSubCid(0, 10, goodsSubClass.getId());
+ if (tbClassList != null && tbClassList.size() > 0)
+ for (TaoBaoClass tbc : tbClassList) {
+ catesId += tbc.getCategoryId() + ",";
+ }
+ if (catesId.endsWith(","))
+ catesId = catesId.substring(0, catesId.length() - 1);
+ sf.setCateIds(catesId);
+ if (!StringUtil.isNullOrEmpty(catesId))// 鎸夊垎绫诲悕绉版悳绱�
+ {
+ String searchParam = goodsSubClass.getSearchJson();
+ Gson gs = new Gson();
+ SearchFilter searchfilter = gs.fromJson(searchParam, SearchFilter.class);
+ searchfilter.setCateIds(catesId);
+ searchfilter.setPage(page);
+ searchfilter.setPageSize(20);
+ if (Integer.parseInt(order) == 0)
+ searchfilter.setMaterialId("6707");
+ taoKeGoodsService.setSearchFilter(searchfilter, filter, order, startprice, endprice, fastFilter,
+ totalSales);
+ TaoBaoSearchResult searchResult = TaoKeApiUtil.searchWuLiao(searchfilter);
+ long count = searchResult.getPageEntity().getTotalCount();
+
+ JSONObject result = new JSONObject();
+
+ BigDecimal rate = hongBaoManageService.getFanLiRate();
+
+ List<TaoBaoGoodsBrief> resultGoodsList = searchResult.getTaoBaoGoodsBriefs();
+ // 鏌ヨ鏄惁瓒呰繃浜嗘渶澶х殑鍟嗗搧鏁�
+ if ((resultGoodsList == null || resultGoodsList.size() < 20)
+ && !StringUtil.isNullOrEmpty(goodsSubClass.getKey())) {
+ if (resultGoodsList == null)
+ resultGoodsList = new ArrayList<>();
+
+ // 闇�瑕佹牴鎹叧閿瓧鏌ヨ
+ searchfilter.setCateIds(null);
+ searchfilter.setPage((int) (count % 20 == 0 ? count / 20 - 1 : count / 20));
+ searchfilter.setPageSize(20);
+ searchfilter.setKey(goodsSubClass.getKey());
+ TaoBaoSearchResult searchResult2 = TaoKeApiUtil.searchWuLiao(searchfilter);
+ if (searchResult2 != null) {
+ List<TaoBaoGoodsBrief> resultListTemp = searchResult2.getTaoBaoGoodsBriefs();
+ if (resultListTemp != null)
+ resultGoodsList.addAll(resultListTemp);
+ }
+ }
+ JSONArray array = new JSONArray();
+ Gson gson2 = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
+ .excludeFieldsWithoutExposeAnnotation().create();
+ if (resultGoodsList != null)
+ for (TaoBaoGoodsBrief goods : resultGoodsList) {
+ array.add(gson2.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(goods, rate + "", null)));
+ }
+ result.put("result", array);
+ result.put("count", result.optLong("count") + count);
+ out.print(JsonUtil.loadTrueResult(result));
+ return;
+ } else {
+ String searchParam = goodsSubClass.getSearchJson();
+ Gson gs = new Gson();
+ SearchFilter searchfilter = gs.fromJson(searchParam, SearchFilter.class);
+ searchfilter.setCateIds(catesId);
+ searchfilter.setPage(page);
+ searchfilter.setPageSize(20);
+ if (Integer.parseInt(order) == 0)
+ searchfilter.setMaterialId("6707");
+ searchfilter.setKey(goodsSubClass.getKey());
+ taoKeGoodsService.setSearchFilter(searchfilter, filter, order, startprice, endprice, fastFilter,
+ totalSales);
+ JSONObject result = taoKeGoodsService.searchWuLiao(searchfilter);
+ if (1 > 0) {
+ out.print(JsonUtil.loadTrueResult(result));
+ return;
+ }
+ }
/* 鎼滅储鍏抽敭璇� */
String searchKey = goodsSubClass.getName();
String key = goodsSubClass.getKey();
@@ -575,7 +654,8 @@
@RequestMapping("choiceGoods")
public void choiceGoods(AcceptData acceptData, long gcid, int page, PrintWriter out) {
- BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), acceptData.getPackages());
+ BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
+ acceptData.getPackages());
if (system == null) {
out.print(JsonUtil.loadFalseResult("绯荤粺涓嶅瓨鍦�"));
return;
@@ -666,7 +746,6 @@
data.put("result", array);
out.print(JsonUtil.loadTrueResult(data));
-
}
@RequestMapping("getCouponList")
@@ -749,7 +828,7 @@
result = TaoKeApiUtil.searchCouple(goodsClassService.getKeysById(id), null, page, 20);
List<TaoBaoSearchNav> navList = TaoBaoUtil.getBaseNav();
- if (result.getNavList() != null)
+ if (result != null && result.getNavList() != null)
navList.addAll(result.getNavList());
if (navList == null)
@@ -800,18 +879,17 @@
@RequestMapping(value = { "getcategory" }, method = { org.springframework.web.bind.annotation.RequestMethod.POST })
public void getcategory(AcceptData acceptData, PrintWriter out) {
try {
-
+
boolean changePicture = false;
String version = acceptData.getVersion();
int tversion = Integer.parseInt(version);
String platform = acceptData.getPlatform();
if ("android".equalsIgnoreCase(platform) && tversion > 38) {
changePicture = true;
- } else if (tversion > 47){
+ } else if (tversion > 47) {
changePicture = true;
}
-
-
+
List<Map<String, Object>> listCache = goodsClassService.getClassListAllCache(changePicture);
if (listCache == null) {
listCache = new ArrayList<Map<String, Object>>();
--
Gitblit v1.8.0