yujian
2019-03-25 31f64845425a6ca1b6003ba77d01bafdbdacb8e2
fanli/src/main/java/com/yeshi/fanli/controller/client/RecommendController.java
@@ -16,6 +16,7 @@
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.yeshi.utils.HttpUtil;
import org.yeshi.utils.IPUtil;
import org.yeshi.utils.JsonUtil;
import org.yeshi.utils.NumberUtil;
@@ -129,7 +130,6 @@
   @Resource
   private SuperRecommendSpecialService superRecommendSpecialService;
   @Resource
   private OrderService orderService;
@@ -223,10 +223,10 @@
   @Resource
   private UserInfoExtraService userInfoExtraService;
   @RequestMapping(value = "getHonestList")
   public void getHonestList(AcceptData acceptData, PrintWriter out) {
      BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), acceptData.getPackages());
      BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
            acceptData.getPackages());
      List<Honest> honestList = null;
      List<TaoBaoUnionConfig> configList = taoBaoUnionConfigService.getConfigByTypeCache(PidUser.TYPE_FANLI_ANDROID);
      if ((Integer.parseInt(acceptData.getVersion()) >= 20 && "android".equalsIgnoreCase(acceptData.getPlatform()))
@@ -393,7 +393,8 @@
   @RequestMapping(value = "getrecommendspecial")
   public void getRecommendSpecial(AcceptData acceptData, PrintWriter out) {
      BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), acceptData.getPackages());
      BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
            acceptData.getPackages());
      if (system == null) {
         out.print(JsonUtil.loadFalseResult(1, "系统不存在"));
@@ -435,7 +436,8 @@
   @RequestMapping(value = "guessLike", method = RequestMethod.POST)
   public void guessLike(AcceptData acceptData, PrintWriter out) {
      BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), acceptData.getPackages());
      BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
            acceptData.getPackages());
      if (system == null) {
         out.print(JsonUtil.loadFalseResult(1, "系统不存在"));
@@ -473,7 +475,8 @@
   @RequestMapping(value = "getrecommendbanner")
   public void getRecommendBanner(AcceptData acceptData, PrintWriter out) {
      BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), acceptData.getPackages());
      BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
            acceptData.getPackages());
      JSONObject json = new JSONObject();
      if (system == null) {
         out.print(JsonUtil.loadFalseResult(1, "系统不存在"));
@@ -540,7 +543,8 @@
         out.print(JsonUtil.loadFalseResult(1, "请上传id"));
         return;
      }
      BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), acceptData.getPackages());
      BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
            acceptData.getPackages());
      if (system == null) {
         out.print(JsonUtil.loadFalseResult(1, "系统不存在"));
@@ -693,7 +697,8 @@
         out.print(JsonUtil.loadFalseResult(1, "请上传id"));
         return;
      }
      BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), acceptData.getPackages());
      BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
            acceptData.getPackages());
      if (system == null) {
         out.print(JsonUtil.loadFalseResult(1, "系统不存在"));
@@ -712,38 +717,11 @@
      // 获取淘客参数
      ClientTBPid clientTBPid = null;
      // 用户已经登录
      if (!StringUtil.isNullOrEmpty(uid)) {
         TBPid tbPid = null;
         if (acceptData.getPlatform().equalsIgnoreCase("android")) {
            tbPid = tbPidService.getTBPid(Long.parseLong(uid), PidUser.TYPE_FANLI_ANDROID);
            if (tbPid != null) {
               String siteId = tbPid.getPid().split("_")[2];
               String adzoneId = tbPid.getPid().split("_")[3];
               TaoBaoUnionConfig config = taoBaoUnionConfigService.getConfigByAppIdCache(siteId);
               clientTBPid = new ClientTBPid(config.getAppKey(), tbPid.getPid(), siteId, adzoneId);
            } else {
               clientTBPid = tbPidService.getAndroidDefault();
            }
         } else {
            tbPid = tbPidService.getTBPid(Long.parseLong(uid), PidUser.TYPE_FANLI_IOS);
            if (tbPid != null) {
               String siteId = tbPid.getPid().split("_")[2];
               String adzoneId = tbPid.getPid().split("_")[3];
               TaoBaoUnionConfig config = taoBaoUnionConfigService.getConfigByAppIdCache(siteId);
               clientTBPid = new ClientTBPid(config.getAppKey(), tbPid.getPid(), siteId, adzoneId);
            } else {
               clientTBPid = tbPidService.getIOSDefault();
            }
         }
      } else {
         if (acceptData.getPlatform().equalsIgnoreCase("android"))
            clientTBPid = tbPidService.getAndroidDefault();
         else
            clientTBPid = tbPidService.getIOSDefault();
      }
      if (acceptData.getPlatform().equalsIgnoreCase("android"))
         clientTBPid = tbPidService.getAndroidDefault();
      else
         clientTBPid = tbPidService.getIOSDefault();
      LogHelper.test("获取PID耗时:" + (java.lang.System.currentTimeMillis() - startTime));
@@ -996,25 +974,9 @@
      if (!StringUtil.isNullOrEmpty(uid)) {
         TBPid tbPid = null;
         if (acceptData.getPlatform().equalsIgnoreCase("android")) {
            tbPid = tbPidService.getTBPid(Long.parseLong(uid), PidUser.TYPE_FANLI_ANDROID);
            if (tbPid != null) {
               String siteId = tbPid.getPid().split("_")[2];
               String adzoneId = tbPid.getPid().split("_")[3];
               TaoBaoUnionConfig config = taoBaoUnionConfigService.getConfigByAppIdCache(siteId);
               clientTBPid = new ClientTBPid(config.getAppKey(), tbPid.getPid(), siteId, adzoneId);
            } else {
               clientTBPid = tbPidService.getAndroidDefault();
            }
            clientTBPid = tbPidService.getAndroidDefault();
         } else {
            tbPid = tbPidService.getTBPid(Long.parseLong(uid), PidUser.TYPE_FANLI_IOS);
            if (tbPid != null) {
               String siteId = tbPid.getPid().split("_")[2];
               String adzoneId = tbPid.getPid().split("_")[3];
               TaoBaoUnionConfig config = taoBaoUnionConfigService.getConfigByAppIdCache(siteId);
               clientTBPid = new ClientTBPid(config.getAppKey(), tbPid.getPid(), siteId, adzoneId);
            } else {
               clientTBPid = tbPidService.getIOSDefault();
            }
            clientTBPid = tbPidService.getIOSDefault();
         }
      } else {
@@ -1060,7 +1022,8 @@
   // 根据商品获取推荐
   @RequestMapping(value = "getgoodsrecommend", method = RequestMethod.POST)
   public void getGoodsRecommend(final AcceptData acceptData, long id, PrintWriter out) {
      BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), acceptData.getPackages());
      BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
            acceptData.getPackages());
      if (system == null) {
         out.print(JsonUtil.loadFalseResult(1, "系统不存在"));
         return;
@@ -1186,7 +1149,8 @@
         return;
      }
      page = page + 1;
      BusinessSystem sys = businessSystemService.getBusinessSystem(acceptData.getPlatform(), acceptData.getPackages());
      BusinessSystem sys = businessSystemService.getBusinessSystem(acceptData.getPlatform(),
            acceptData.getPackages());
      if (sys == null) {
         out.print(JsonUtil.loadFalseResult(1, "不存在该系统"));
         return;
@@ -1231,7 +1195,8 @@
   @RequestMapping(value = "deletescanhistory", method = RequestMethod.POST)
   public void deleteScanHistory(AcceptData acceptData, String type, String uid, String ids, PrintWriter out) {
      BusinessSystem sys = businessSystemService.getBusinessSystem(acceptData.getPlatform(), acceptData.getPackages());
      BusinessSystem sys = businessSystemService.getBusinessSystem(acceptData.getPlatform(),
            acceptData.getPackages());
      if (sys == null) {
         out.print(JsonUtil.loadFalseResult(1, "系统不存在"));
@@ -1396,33 +1361,16 @@
   @RequestMapping(value = "getRecommendInfo")
   public void getRecommendHomeInfo(AcceptData acceptData, PrintWriter out) {
      BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), acceptData.getPackages());
      BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
            acceptData.getPackages());
      if (system == null) {
         out.print(JsonUtil.loadFalseResult(1, "系统不存在"));
         return;
      }
      // 首页Banner
      List<RecommendBannerV2> listBanner = null;
      List<RecommendBannerV2> listBanner = superRecommendBannerV2Service.getSuperRecommendBannerV2sBySystem(system.getId());
      List<SuperRecommendBannerV2> listRecommendBanner = superRecommendBannerV2Service
            .getSuperRecommendBannerV2sBySystem(system);
      if (listRecommendBanner != null && listRecommendBanner.size() > 0) {
         listBanner = new ArrayList<RecommendBannerV2>();
         for (SuperRecommendBannerV2 superRecommendBanner : listRecommendBanner) {
            RecommendBannerV2 recommendBanner = superRecommendBanner.getRecommendBanner();
            // 淘特价暂时修改
            if (system.getId() == 7) {
               recommendBanner.getJumpDetail().setActivity(recommendBanner.getJumpDetail().getActivity()
                     .replace("com.yeshi.ec.rebate.myapplication", "com.yeshi.ec.taospecial"));
            }
            listBanner.add(recommendBanner);
         }
      }
      JSONObject root = new JSONObject();
      root.put("banner", listBanner);
@@ -1503,7 +1451,8 @@
   public void getNewRecommendInfo(AcceptData acceptData, Long uid, String specialCard, String swiperCard,
         PrintWriter out) {
      BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), acceptData.getPackages());
      BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
            acceptData.getPackages());
      if (system == null) {
         out.print(JsonUtil.loadFalseResult(1, "系统不存在"));
         return;
@@ -1641,7 +1590,8 @@
         return;
      }
      BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), acceptData.getPackages());
      BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
            acceptData.getPackages());
      if (system == null) {
         out.print(JsonUtil.loadFalseResult(1, "系统不存在"));
         return;
@@ -1671,32 +1621,10 @@
      } else {
         // 用户已经登录
         TBPid tbPid = null;
         if (acceptData.getPlatform().equalsIgnoreCase("android")) {
            tbPid = tbPidService.getTBPid(Long.parseLong(uid), PidUser.TYPE_FANLI_ANDROID);
            if (tbPid == null) {
               clientTBPid = tbPidService.getAndroidDefault();
            } else {
               String siteId = tbPid.getPid().split("_")[2];
               String adzoneId = tbPid.getPid().split("_")[3];
               TaoBaoUnionConfig config = taoBaoUnionConfigService.getConfigByAppIdCache(siteId);
               clientTBPid = new ClientTBPid(config.getAppKey(), tbPid.getPid(), siteId, adzoneId);
            }
            clientTBPid = tbPidService.getAndroidDefault();
         } else {
            tbPid = tbPidService.getTBPid(Long.parseLong(uid), PidUser.TYPE_FANLI_IOS);
            if (tbPid == null) {
               clientTBPid = tbPidService.getIOSDefault();
            } else {
               String siteId = tbPid.getPid().split("_")[2];
               String adzoneId = tbPid.getPid().split("_")[3];
               TaoBaoUnionConfig config = taoBaoUnionConfigService.getConfigByAppIdCache(siteId);
               clientTBPid = new ClientTBPid(config.getAppKey(), tbPid.getPid(), siteId, adzoneId);
            }
            clientTBPid = tbPidService.getIOSDefault();
         }
      }
@@ -1863,9 +1791,13 @@
         String token = "";
         if (!StringUtil.isNullOrEmpty(tb.getCouponLink())) {
            token = TaoKeApiUtil.getTKToken(tb.getPictUrl(), tb.getTitle(), tb.getCouponLink());
            tb.setCouponLinkTaoToken(token);
            token = redisManager.getCommonTaoToken(tb.getAuctionId());
            if (StringUtil.isNullOrEmpty(token)) {
               token = TaoKeApiUtil.getTKToken(tb.getPictUrl(), tb.getTitle(), tb.getCouponLink());
               redisManager.saveCommonTaoToken(tb.getAuctionId(), token);
            }
         }
         tb.setCouponLinkTaoToken(token);
         // 服务端转链
         if (convertInServer && !StringUtil.isNullOrEmpty(tb.getCouponLink())) {
@@ -1941,9 +1873,14 @@
      data.put("shareUsers", listShareUser);
      data.put("couponUsers", listCouponUser);
      data.put("detailWebUrl", "http://apph5.yeshitv.com/apppage/goods_img.html?id=" + id);
      //商品链接
      data.put("h5Url", String.format("http://%s%s?id=%s&appType=flq", configService.getH5Host(),
            Constant.systemCommonConfig.getShareGoodsPagePath(), tb.getAuctionId() + ""));
      // 商品链接
      String h5Url = String.format("http://%s%s?id=%s&appType=flq", configService.getH5Host(),
            Constant.systemCommonConfig.getShareGoodsPagePath(), tb.getAuctionId() + "");
      try {
         data.put("h5Url", HttpUtil.getShortLink(h5Url));
      } catch (Exception e) {
         data.put("h5Url", h5Url);
      }
      // 取消分享活动
      // if (!StringUtil.isNullOrEmpty(uid)
@@ -2039,7 +1976,8 @@
   @RequestMapping(value = "getgoodsderivation", method = RequestMethod.POST)
   public void getRecommendGoods(AcceptData acceptData, long id, PrintWriter out) {
      BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), acceptData.getPackages());
      BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
            acceptData.getPackages());
      if (system == null) {
         out.print(JsonUtil.loadFalseResult(1, "系统不存在"));
         return;
@@ -2071,39 +2009,43 @@
      });
      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();
      }
      // 删除推荐
      //
      // 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) {
@@ -2130,7 +2072,8 @@
   @RequestMapping(value = "getSpecialActivities")
   public void getSpecialActivities(AcceptData acceptData, Long uid, PrintWriter out) {
      BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), acceptData.getPackages());
      BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
            acceptData.getPackages());
      if (system == null) {
         out.print(JsonUtil.loadFalseResult(1, "系统不存在"));
         return;