admin
2019-07-29 29d828fb02196ced0adbf168a48eda2f7ce90545
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;
@@ -173,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>();
         }
@@ -444,22 +446,41 @@
               searchfilter.setMaterialId("6707");
            taoKeGoodsService.setSearchFilter(searchfilter, filter, order, startprice, endprice, fastFilter,
                  totalSales);
            JSONObject result = taoKeGoodsService.searchWuLiao(searchfilter);
            long count = result.optLong("count");
            JSONArray resultArray = result.getJSONArray("result");
            TaoBaoSearchResult searchResult = TaoKeApiUtil.searchWuLiao(searchfilter);
            long count = searchResult.getPageEntity().getTotalCount();
            JSONObject result = new JSONObject();
            BigDecimal rate = hongBaoManageService.getFanLiRate();
            List<TaoBaoGoodsBrief> resultGoodsList = searchResult.getTaoBaoGoodsBriefs();
            // 查询是否超过了最大的商品数
            if (resultArray == null || resultArray.size() < 20) {
            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());
               result = taoKeGoodsService.searchWuLiao(searchfilter);
               if (resultArray != null)
                  result.optJSONArray("result").addAll(0, resultArray);
               result.put("count", result.optLong("count") + count);
               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 {
@@ -645,6 +666,7 @@
      GoodsClass goodsClass = goodsClassService.getGoodsClassCache(gcid);
      if (goodsClass == null) {
         out.print(JsonUtil.loadFalseResult("不存在该分类"));
         return;
      }
      if (page < 1)
@@ -657,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;