admin
2019-07-11 3824cbcaec6e6c67418d5280a53e9c2fedeef6f9
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/RecommendController.java
@@ -53,6 +53,7 @@
import com.yeshi.fanli.entity.taobao.ClientTBPid;
import com.yeshi.fanli.entity.taobao.PidUser;
import com.yeshi.fanli.entity.taobao.SearchFilter;
import com.yeshi.fanli.entity.taobao.TLJBuyGoods;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBriefExtra;
import com.yeshi.fanli.entity.taobao.TaoBaoSearchResult;
@@ -81,6 +82,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.HomeRecommendGoodsService;
import com.yeshi.fanli.service.inter.goods.recommend.RecommendGoodsDeleteHistoryService;
import com.yeshi.fanli.service.inter.homemodule.DeviceSexService;
import com.yeshi.fanli.service.inter.homemodule.SpecialService;
@@ -92,6 +94,7 @@
import com.yeshi.fanli.service.inter.monitor.MonitorService;
import com.yeshi.fanli.service.inter.order.OrderService;
import com.yeshi.fanli.service.inter.order.ShareGoodsActivityOrderService;
import com.yeshi.fanli.service.inter.taobao.TLJBuyGoodsService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoGoodsUpdateService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoShopService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService;
@@ -121,6 +124,7 @@
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
import com.yeshi.fanli.util.taobao.TaoLiJinUtil;
import com.yeshi.fanli.vo.goods.taobao.TLJBuyHongBaoVO;
import com.yeshi.fanli.vo.msg.ClientTextStyleVO;
import com.yeshi.fanli.vo.tlj.SpreadHongBao;
import com.yeshi.fanli.vo.user.UserSettingsVO;
@@ -260,6 +264,12 @@
   @Resource
   private RecommendGoodsDeleteHistoryService recommendGoodsDeleteHistoryService;
   @Resource
   private HomeRecommendGoodsService homeRecommendGoodsService;
   @Resource
   private TLJBuyGoodsService tljBuyGoodsService;
   @RequestMapping(value = "getHonestList")
   public void getHonestList(AcceptData acceptData, PrintWriter out) {
@@ -1285,16 +1295,16 @@
       * 防止请求频率过高
       * 
       */
      if (Constant.IS_OUTNET) {
         String key = "linkParse-" + acceptData.getDevice() + "-" + id;
      // if (Constant.IS_OUTNET) {
      String key = "linkParse-" + acceptData.getDevice() + "-" + id;
         String value = redisManager.getCommonString(key);
         if (!StringUtil.isNullOrEmpty(value)) {
            out.print(JsonUtil.loadFalseResult(11, "请求频率限制"));
            return;
         }
         redisManager.cacheCommonString(key, "1", 5);// 5s间隔
      String value = redisManager.getCommonString(key);
      if (!StringUtil.isNullOrEmpty(value)) {
         out.print(JsonUtil.loadFalseResult(11, "请求频率限制"));
         return;
      }
      redisManager.cacheCommonString(key, "1", 5);// 5s间隔
      // }
      TaoBaoGoodsBrief goods = null;
      try {
         goods = redisManager.getTaoBaoGoodsBrief(Long.parseLong(id));
@@ -1329,6 +1339,54 @@
      int pageSize = Constant.PAGE_SIZE;
      JSONArray array = new JSONArray();
      Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()).create();
      if (VersionUtil.greaterThan_1_5_70(acceptData.getPlatform(), acceptData.getVersion())) {
         List<TaoBaoGoodsBrief> goodsList = homeRecommendGoodsService.listGoodsByPage(null, acceptData.getDevice(),
               imei, idfa, page);
         BigDecimal rate = hongBaoManageService.getFanLiRate();
         for (TaoBaoGoodsBrief goods : goodsList) {
            TaoBaoGoodsBriefExtra extra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(goods, rate + "", null);
            if (page < 3)
               extra.setRecommend(true);
            try {
               array.add(gson.toJson(extra));
            } catch (Exception e) {
               e.printStackTrace();
               System.out.println(new Gson().toJson(goods));
            }
         }
         if (page == 1) {
            List<TLJBuyGoods> list = homeRecommendGoodsService.getZiGouLiJianHotGoods(acceptData.getDevice());
            if (list != null && list.size() > 0)
               for (int i = list.size() - 1; i >= 0; i--) {
                  TLJBuyGoods goods = list.get(i);
                  TaoBaoGoodsBriefExtra extra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(goods.getGoods(),
                        TaoBaoConstant.OWN_BUY_WITHOUT_FANLI_RATE + "", null);
                  String hongBao = TaoBaoUtil.getGoodsHongBaoInfo(goods.getGoods(),
                        TaoBaoConstant.OWN_BUY_WITHOUT_FANLI_RATE);
                  TLJBuyHongBaoVO vo = new TLJBuyHongBaoVO();
                  vo.setLeft(goods.getLeftHongBaoCount());
                  vo.setMoney(hongBao);
                  vo.setTagName("付款立减 " + hongBao);
                  vo.setTip("");
                  vo.setTotal(goods.getTotalHongBaoCount());
                  extra.setTljBuyHongBao(vo);
                  extra.setPictureTag(new ClientTextStyleVO("立减TOP" + (i + 1), "#E5005C", "#FCE431", null));
                  extra.setRecommend(true);
                  extra.setSpreadMoney(vo.getTagName());
                  array.add(0, gson.toJson(extra));
               }
         }
         JSONObject data = new JSONObject();
         data.put("data", array);
         data.put("count", 1000);
         out.print(JsonUtil.loadTrueResult(data));
         return;
      }
      // 从推荐来
      if (page <= 1) {
         array.clear();
@@ -1344,6 +1402,14 @@
               List<TaoBaoGoodsBrief> gList = recommendGoodsDeleteHistoryService
                     .filterGoods(acceptData.getDevice(), result.getTaoBaoGoodsBriefs());
               // filter
               try {
                  gList = daTaoKeGoodsDetailService.filterTaoBaoGoods(gList);
               } catch (Exception e) {
               }
               // 设备推荐
               if (gList != null)
                  for (TaoBaoGoodsBrief goods : gList) {
@@ -1354,6 +1420,7 @@
                        TaoBaoGoodsBriefExtra extra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(goods,
                              proportion.toString(), "");
                        extra.setRecommend(true);
                        goodsList.add(extra);
                     }
@@ -2227,7 +2294,7 @@
            data.put("listTip", listText);
         }
         spreadHongBao.setTip("当日领取,两天内使用,过时无效");
         spreadHongBao.setTip("当日领取,当日内使用,过期失效");
         goodsJson.put("spreadHongBao", spreadHongBao);
         // 用户剩余可以淘礼金验证
@@ -2249,6 +2316,27 @@
            goodsJson.put("tljNum", tljNum);
         }
      } else if (from != null && from.equals("taolijin_buy")) {
         noRebateHelpLink = configService.get("zigoulijian_nofanli_help");
         // 查询分享库
         TLJBuyGoods buyGoods = tljBuyGoodsService.selectByAuctionIdAndDay(goods.getAuctionId(),
               TimeUtil.getGernalTime(System.currentTimeMillis(), "yyyy-MM-dd"));
         if (buyGoods == null) {
            out.print(JsonUtil.loadFalseResult(2, "自购立减红包过期"));
            return;
         }
         fanliValid = true;
         goodsJson.put("shareValid", false);
         String tljHongBao = TaoBaoUtil.getGoodsHongBaoMoney(goods, new BigDecimal(70)).toString();
         TLJBuyHongBaoVO vo = new TLJBuyHongBaoVO();
         vo.setLeft(buyGoods.getLeftHongBaoCount());
         vo.setMoney(tljHongBao);
         vo.setTagName("付款立减 ¥" + tljHongBao);
         vo.setTip("当日领取,当日内使用,过期失效");
         vo.setTotal(buyGoods.getTotalHongBaoCount());
         goodsJson.put("tljBuyHongBao", vo);
         moneyType = 2;
      }
      goodsJson.put("moneyType", moneyType);
@@ -2389,67 +2477,30 @@
      if (goodsList != null && goodsList.size() > 0)
         goodsList.parallelStream().forEach(goods -> {
            if (goods != null) {
               // 获取详情
               TaoBaoGoodsBrief taoBaoGoodsBrief = null;
               try {
                  taoBaoGoodsBrief = taoBaoGoodsCacheUtil.getCommonTaoBaoGoodsInfo(goods.getAuctionId());
               } catch (Exception e) {
                  e.printStackTrace();
               }
            // 获取详情
            TaoBaoGoodsBrief taoBaoGoodsBrief = null;
            try {
               taoBaoGoodsBrief = taoBaoGoodsCacheUtil.getCommonTaoBaoGoodsInfo(goods.getAuctionId());
            } catch (Exception e) {
               e.printStackTrace();
               if (taoBaoGoodsBrief == null) {
                  TaoBaoGoodsBrief newGoods = TaoKeApiUtil.specialConvertCoupon(goods.getAuctionId(), app);
                  goods.setCouponInfo(newGoods.getCouponInfo());
                  goods.setCouponLink(newGoods.getCouponLink());
                  goods.setTkRate(newGoods.getTkRate());
                  taoBaoGoodsBrief = goods;
               }
               if (taoBaoGoodsBrief != null) {
                  listExtra.add(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), ""));
               }
            }
            if (taoBaoGoodsBrief == null) {
               TaoBaoGoodsBrief newGoods = TaoKeApiUtil.specialConvertCoupon(goods.getAuctionId(), app);
               goods.setCouponInfo(newGoods.getCouponInfo());
               goods.setCouponLink(newGoods.getCouponLink());
               goods.setTkRate(newGoods.getTkRate());
               taoBaoGoodsBrief = goods;
            }
            if (taoBaoGoodsBrief != null) {
               listExtra.add(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), ""));
            }
         });
      List<TaoBaoGoodsBrief> listQuality = new ArrayList<TaoBaoGoodsBrief>();
      // 删除推荐
      //
      // try {
      // List<QualityFactory> listRecommend =
      // qualityGoodsService.recommendByAuctionId(id);
      //
      // if (listRecommend != null && listRecommend.size() > 1) {
      // for (QualityFactory quality : listRecommend) {
      //
      // TaoBaoGoodsBrief taoBaoGoodsBrief = quality.getTaoBaoGoodsBrief();
      // if (taoBaoGoodsBrief == null) {
      // continue;
      // }
      //
      // int biz30day = taoBaoGoodsBrief.getBiz30day();
      // if (biz30day >= 10000) {
      // double sales = biz30day;
      // String salesCountMidea = String.format("%.1f", sales / 10000);
      // taoBaoGoodsBrief.setSalesCount(salesCountMidea + "万");
      // } else {
      // taoBaoGoodsBrief.setSalesCount(biz30day + "");
      // }
      //
      // // 改变图片尺寸
      // String pictUrl = taoBaoGoodsBrief.getPictUrl();
      // if (!StringUtil.isNullOrEmpty(pictUrl) &&
      // !pictUrl.contains("320x320")) {
      // taoBaoGoodsBrief.setPictUrl(TbImgUtil.getTBSize320Img(pictUrl));
      // }
      //
      // listQuality.add(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief,
      // proportion.toString(), null));
      // }
      // }
      // } catch (Exception e2) {
      // e2.printStackTrace();
      // }
      // 取偶数个数据
      if (listExtra.size() % 2 != 0) {