yujian
2019-05-20 c4d752a1d340652d9c7d2abb5abff65cdee40d69
fanli/src/main/java/com/yeshi/fanli/controller/client/BrandController.java
@@ -20,6 +20,7 @@
import com.yeshi.fanli.entity.brand.TaoBaoShopHistory;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.fanli.entity.taobao.TaoBaoShop;
import com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetail;
import com.yeshi.fanli.exception.taobao.TaoKeApiException;
import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
import com.yeshi.fanli.service.inter.brand.BrandClassService;
@@ -28,6 +29,7 @@
import com.yeshi.fanli.service.inter.goods.TaoBaoGoodsBriefService;
import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoShopService;
import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.ThreadUtil;
@@ -60,6 +62,9 @@
   @Resource
   private TaoBaoGoodsBriefService taoBaoGoodsBriefService;
   @Resource
   private DaTaoKeGoodsService daTaoKeGoodsService;
   /**
    * 获取品牌分类
    * 
@@ -85,26 +90,6 @@
      }
   }
   /**
    * 添加足迹
    *
    * @param acceptData
    * @param out
    */
   @RequestMapping(value = "addHistory", method = RequestMethod.POST)
   public void addHistory(AcceptData acceptData, Long sid, Long uid, PrintWriter out) {
      try {
         if (sid == null || sid == 0) {
            out.print(JsonUtil.loadFalseResult("店铺id为空"));
            return;
         }
         out.print(JsonUtil.loadTrueResult("记录成功"));
      } catch (Exception e) {
         out.print(JsonUtil.loadFalseResult("记录失败"));
         e.printStackTrace();
      }
   }
   /**
@@ -270,20 +255,56 @@
                  taoBaoShopHistoryService.addHistory(sid, uid, acceptData.getDevice());
               }
            });
         }
         int pageSize = Constant.PAGE_SIZE;
         List<TaoBaoGoodsBrief> listGoods = taoBaoGoodsBriefService.listByShopId((page - 1) * pageSize, pageSize, sid);
         // 商品列表信息
         int pageSize = 50;
         List<TaoBaoGoodsBrief> listGoodsBrief = new ArrayList<TaoBaoGoodsBrief>();
         // 先查询大淘客数据
         List<DaTaoKeDetail> listDaTaoKe = daTaoKeGoodsService.listBySellerId(0, pageSize, sid);
         if (listDaTaoKe != null && listDaTaoKe.size() > 0) {
            for (DaTaoKeDetail daTaoKe: listDaTaoKe) {
               listGoodsBrief.add(TaoBaoUtil.convert(daTaoKe));
            }
         }
         // 不足50条数据、查询精选库
         if (listGoodsBrief.size() < pageSize) {
            int needCount = pageSize- listGoodsBrief.size();
            List<TaoBaoGoodsBrief> listGoods = taoBaoGoodsBriefService.listByShopId(0, needCount, sid);
            if (listGoods != null && listGoods.size() > 0) {
               if (listGoodsBrief.size() > 0) {
                  for (int i = 0; i< listGoods.size(); i ++) {
                     long id = listGoods.get(i).getAuctionId();
                     boolean isRepeat = false;
                     for (TaoBaoGoodsBrief goodsBrief: listGoodsBrief) {
                        long auctionId = goodsBrief.getAuctionId();
                        if (auctionId == id) {
                           isRepeat = true;
                           break;
                        }
                     }
                     if(isRepeat) {
                        listGoods.remove(i);
                        i--;
                     }
                  }
               }
               listGoodsBrief.addAll(listGoods);
            }
         }
         long count = 0;
         JSONArray array = new JSONArray();
         if (listGoods != null && listGoods.size() > 0) {
         if (listGoodsBrief.size() > 0) {
            List<Long> listGid = new ArrayList<Long>();
            for (TaoBaoGoodsBrief taoBaoGoodsBrief : listGoods) {
            for (TaoBaoGoodsBrief taoBaoGoodsBrief : listGoodsBrief) {
               listGid.add(taoBaoGoodsBrief.getAuctionId());
            }
            // API网络接口验证是否在售
            List<TaoBaoGoodsBrief> listTaoKeGoods = null;
            try {
@@ -295,12 +316,13 @@
            } catch (Exception e) {
               e.printStackTrace();
            }
            Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
                  .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
            BigDecimal proportion = manageService.getFanLiRate();
            for (TaoBaoGoodsBrief taoBaoGoodsBrief : listGoods) {
            for (TaoBaoGoodsBrief taoBaoGoodsBrief : listGoodsBrief) {
               if (listTaoKeGoods != null && listTaoKeGoods.size() > 0) {
                  boolean stateSale = false; // 默认停售
                  Long goodsId = taoBaoGoodsBrief.getAuctionId();
@@ -311,16 +333,15 @@
                        break;
                     }
                  }
                  if (!stateSale) {
                     continue;
                  }
               }
               array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null)));
            }
            count = taoBaoGoodsBriefService.countByShopId(sid);
         }
         data.put("count", count);
         data.put("count", array.size());
         data.put("list", array);
         out.print(JsonUtil.loadTrueResult(data));
      } catch (Exception e) {