admin
2019-06-24 480fa41fa7ee8b3b3a38f46f28c2b8403299b44d
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/RecommendController.java
@@ -80,6 +80,7 @@
import com.yeshi.fanli.service.inter.goods.SuperRecommendSpecialService;
import com.yeshi.fanli.service.inter.goods.TaoBaoCouponService;
import com.yeshi.fanli.service.inter.goods.TaoBaoGoodsBriefService;
import com.yeshi.fanli.service.inter.goods.recommend.RecommendGoodsDeleteHistoryService;
import com.yeshi.fanli.service.inter.homemodule.SpecialService;
import com.yeshi.fanli.service.inter.homemodule.SuperSpecialService;
import com.yeshi.fanli.service.inter.homemodule.SwiperPictureService;
@@ -92,6 +93,7 @@
import com.yeshi.fanli.service.inter.taobao.TaoBaoGoodsUpdateService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoShopService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService;
import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailService;
import com.yeshi.fanli.service.inter.user.ShamUserService;
import com.yeshi.fanli.service.inter.user.TBPidService;
import com.yeshi.fanli.service.inter.user.UserCustomSettingsService;
@@ -99,6 +101,7 @@
import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
import com.yeshi.fanli.service.inter.user.UserInfoService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.MoneyBigDecimalUtil;
import com.yeshi.fanli.util.RedisManager;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.TaoBaoConstant;
@@ -224,6 +227,12 @@
   @Resource
   private TaoBaoShopService taoBaoShopService;
   @Resource
   private DaTaoKeGoodsDetailService daTaoKeGoodsDetailService;
   @Resource
   private RecommendGoodsDeleteHistoryService recommendGoodsDeleteHistoryService;
   @RequestMapping(value = "getHonestList")
   public void getHonestList(AcceptData acceptData, PrintWriter out) {
@@ -1304,14 +1313,24 @@
            if (result != null && result.getTaoBaoGoodsBriefs() != null) {
               // 筛选
               List<TaoBaoGoodsBrief> goodsList = new ArrayList<>();
               List<TaoBaoGoodsBriefExtra> goodsList = new ArrayList<>();
               for (TaoBaoGoodsBrief goods : result.getTaoBaoGoodsBriefs()) {
                  if (!StringUtil.isNullOrEmpty(goods.getCouponInfo()) && goods.getCouponAmount() != null
                        && goods.getCouponAmount().compareTo(new BigDecimal("5")) >= 0
                        && goods.getBiz30day() > 1000 && !StringUtil.isNullOrEmpty(goods.getPictUrlWhite()))
                     goodsList.add(goods);
               }
               List<TaoBaoGoodsBrief> gList = recommendGoodsDeleteHistoryService
                     .filterGoods(acceptData.getDevice(), result.getTaoBaoGoodsBriefs());
               // 设备推荐
               if (gList != null)
                  for (TaoBaoGoodsBrief goods : gList) {
                     if (!StringUtil.isNullOrEmpty(goods.getCouponInfo()) && goods.getCouponAmount() != null
                           && goods.getCouponAmount().compareTo(new BigDecimal("5")) >= 0
                           && goods.getBiz30day() > 1000
                           && !StringUtil.isNullOrEmpty(goods.getPictUrlWhite())) {
                        TaoBaoGoodsBriefExtra extra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(goods,
                              proportion.toString(), "");
                        extra.setRecommend(true);
                        goodsList.add(extra);
                     }
                  }
               try {
                  monitorService.addClientAPIMonitor(MonitorFactory.createClientAPI(request, 0,
                        (int) (java.lang.System.currentTimeMillis() - startTime), "推荐数量:" + goodsList.size()));
@@ -1321,8 +1340,8 @@
               Collections.shuffle(goodsList);
               goodsList = goodsList.size() > 20 ? goodsList.subList(0, 20) : goodsList;
               for (TaoBaoGoodsBrief goods : goodsList) {
                  array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(goods, proportion.toString(), "")));
               for (TaoBaoGoodsBriefExtra goods : goodsList) {
                  array.add(gson.toJson(goods));
               }
            } else {
               try {
@@ -1688,8 +1707,8 @@
      nextTime.set(Calendar.MILLISECOND, 0);
      JSONArray array = null;
      String timekey = String.format("spikeGoods_hour-%s-%s",acceptData.getPlatform(),acceptData.getVersion());
      String cachekey = String.format("spikeGoodsList-%s-%s",acceptData.getPlatform(),acceptData.getVersion());
      String timekey = String.format("spikeGoods_hour-%s-%s", acceptData.getPlatform(), acceptData.getVersion());
      String cachekey = String.format("spikeGoodsList-%s-%s", acceptData.getPlatform(), acceptData.getVersion());
      String timeValue = redisManager.getCommonString(timekey);
      if (timeValue == null || !timeValue.equals(hour + "")) {
@@ -1936,13 +1955,19 @@
      if (!StringUtil.isNullOrEmpty(tb.getPictUrlWhite()))
         finalImgList.add(0, tb.getPictUrlWhite());
      // 大淘客商品过滤
      try {
         goods = daTaoKeGoodsDetailService.filterTaoBaoGoods(goods);
      } catch (Exception e) {
         LogHelper.errorDetailInfo(e);
      }
      JSONObject goodsJson = new JSONObject();
      goodsJson.put("auctionId", tb.getAuctionId());
      goodsJson.put("imgList", finalImgList);
      goodsJson.put("title", tb.getTitle());
      goodsJson.put("userType", tb.getUserType() == 1 ? 2 : 1);
      goodsJson.put("price", tb.getReservePrice().toString());
      goodsJson.put("zkPrice", tb.getZkPrice().toString());
      goodsJson.put("zkPrice", MoneyBigDecimalUtil.getWithNoZera(tb.getZkPrice()).toString());
      // 30天销量
      goodsJson.put("saleCount", TaoBaoUtil.getSaleCount(tb.getBiz30day()));
@@ -1988,10 +2013,12 @@
      String hongBao = null;
      // 获取券信息
      if (!StringUtil.isNullOrEmpty(tb.getCouponInfo())) {
      if (!StringUtil.isNullOrEmpty(tb.getCouponInfo()) && tb.getCouponAmount() != null
            && tb.getCouponAmount().compareTo(new BigDecimal(0)) > 0 && tb.getCouponEffectiveStartTime() != null
            && tb.getCouponEffectiveEndTime() != null) {
         BigDecimal quanPrice = TaoBaoUtil.getAfterUseCouplePrice(tb);
         JSONObject couponInfo = new JSONObject();
         couponInfo.put("couponPrice", quanPrice.toString());
         couponInfo.put("couponPrice", MoneyBigDecimalUtil.getWithNoZera(quanPrice).toString());
         if (from != null && from.equals("miandan")) {
            // 免单商品
@@ -2006,7 +2033,9 @@
               redisManager.saveCommonTaoToken(tb.getAuctionId(), token);
            }
         }
         tb.setCouponLinkTaoToken(token);
         // 测试
         if (!Constant.IS_TEST)
            tb.setCouponLinkTaoToken(token);
         // 服务端转链
         // if (convertInServer &&
@@ -2018,11 +2047,14 @@
         // tb.getAuctionId() + ""));
         // }
         couponInfo.put("couponAmount", NumberUtil.subZeroAndDot(tb.getCouponAmount().toString()));
         couponInfo.put("couponAmount", MoneyBigDecimalUtil.getWithNoZera(tb.getCouponAmount()).toString());
         couponInfo.put("couponTime", "使用期限:" + tb.getCouponEffectiveStartTime().replace("-", ".") + "-"
               + tb.getCouponEffectiveEndTime().replace("-", "."));
         // 券的口令
         couponInfo.put("couponToken", token);
         // 测试
         if (!Constant.IS_TEST)
            couponInfo.put("couponToken", token);
         goodsJson.put("couponInfo", couponInfo);
         if (tb.getBiz30day() >= 1000) {
@@ -2247,7 +2279,7 @@
         e1.printStackTrace();
      }
      if (goodsList != null)
      if (goodsList != null && goodsList.size() > 0)
         goodsList.parallelStream().forEach(goods -> {
            // 获取详情