From d28bed1a1275131a5ca37f7da37961e2b518ac07 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期一, 26 八月 2019 13:44:00 +0800 Subject: [PATCH] 淘礼金创建异常处理 --- fanli/src/main/java/com/yeshi/fanli/controller/client/v1/GoodsClassController.java | 97 ++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 93 insertions(+), 4 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 c3c4910..beb02ce 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 @@ -3,6 +3,7 @@ import java.io.PrintWriter; import java.math.BigDecimal; import java.util.ArrayList; +import java.util.Calendar; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -22,6 +23,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; @@ -172,7 +174,8 @@ picList = new ArrayList<SwiperPicture>(); } - List<GoodsSubClass> goodsSubClassList = goodsSubClassService.getSubClassCache(gcid, 1); + List<GoodsSubClass> goodsSubClassList = goodsSubClassService.getSubClassCache(gcid, 1, + Calendar.getInstance().get(Calendar.MONTH) + 1); if (goodsSubClassList == null) { goodsSubClassList = new ArrayList<GoodsSubClass>(); } @@ -420,6 +423,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(); @@ -585,6 +666,7 @@ GoodsClass goodsClass = goodsClassService.getGoodsClassCache(gcid); if (goodsClass == null) { out.print(JsonUtil.loadFalseResult("涓嶅瓨鍦ㄨ鍒嗙被")); + return; } if (page < 1) @@ -597,7 +679,7 @@ long counttotal = 5000; // 绮鹃�夊簱鏁版嵁涓虹┖鏃讹紝缃戠粶杩涜鏌ヨ - if (listQuery == null || listQuery.size() == 0) { + if (listQuery == null || listQuery.size() == 0 || listQuery.size() < 10) { long count = qualityGoodsService.countQueryClassId(gcid); int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1); page = page - totalPage; @@ -745,9 +827,16 @@ meterialId = 0; if (meterialId > 0) result = TaoKeApiUtil.getMaterialByMaterialId(meterialId, page, 20); - else - result = TaoKeApiUtil.searchCouple(goodsClassService.getKeysById(id), null, page, 20); + else { + SearchFilter sf = new SearchFilter(); + sf.setPage(page); + sf.setPageSize(20); + sf.setQuan(1); + sf.setKey(goodsClassService.getKeysById(id)); + result = TaoKeApiUtil.searchWuLiao(sf); + + } List<TaoBaoSearchNav> navList = TaoBaoUtil.getBaseNav(); if (result != null && result.getNavList() != null) navList.addAll(result.getNavList()); -- Gitblit v1.8.0