yj
2020-03-06 207dc8655711cddac2653e18b51e58a88dba2084
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/GoodsControllerV2.java
@@ -33,6 +33,7 @@
import com.yeshi.fanli.entity.jd.JDGoods;
import com.yeshi.fanli.entity.jd.JDGoodsClass;
import com.yeshi.fanli.entity.system.BusinessSystem;
import com.yeshi.fanli.entity.system.ConfigKeyEnum;
import com.yeshi.fanli.entity.system.SystemClientParams;
import com.yeshi.fanli.entity.taobao.ClientTBPid;
import com.yeshi.fanli.entity.taobao.TLJBuyGoods;
@@ -61,7 +62,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.taobao.dataoke.DaTaoKeGoodsDetailV2Service;
import com.yeshi.fanli.service.inter.tlj.ConfigTaoLiJinService;
import com.yeshi.fanli.service.inter.user.ShamUserService;
import com.yeshi.fanli.service.inter.user.TBPidService;
@@ -70,6 +71,7 @@
import com.yeshi.fanli.service.inter.user.UserInfoService;
import com.yeshi.fanli.service.inter.user.integral.IntegralGetService;
import com.yeshi.fanli.service.inter.user.vip.UserVIPInfoService;
import com.yeshi.fanli.service.inter.user.vip.UserVipConfigService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.MoneyBigDecimalUtil;
import com.yeshi.fanli.util.RedisManager;
@@ -141,7 +143,7 @@
   private TaoBaoUnionConfigService taoBaoUnionConfigService;
   @Resource
   private DaTaoKeGoodsDetailService daTaoKeGoodsDetailService;
   private DaTaoKeGoodsDetailV2Service daTaoKeGoodsDetailV2Service;
   @Resource
   private HongBaoManageService hongBaoManageService;
@@ -193,6 +195,9 @@
   @Resource
   private UserVIPInfoService userVIPInfoService;
   @Resource
   private UserVipConfigService userVipConfigService;
   /**
    * 淘宝商品详情
@@ -362,20 +367,25 @@
      // 大淘客商品过滤
      try {
         goods = daTaoKeGoodsDetailService.filterTaoBaoGoods(goods);
         goods = daTaoKeGoodsDetailV2Service.filterTaoBaoGoods(goods);
      } catch (Exception e) {
         LogHelper.errorDetailInfo(e);
      }
      ConfigParamsDTO paramsDTO = hongBaoManageService.getShowComputeRate(acceptData.getPlatform(),
            acceptData.getVersion());
      paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate());
      GoodsDetailVO goodsDetail = GoodsDetailVOFactory.convertTaoBao(goods, paramsDTO);
      if (goodsDetail != null && goodsDetail.getMoneyInfo() != null && userVIPInfoService.isVIP(uid)) {
         goodsDetail.getMoneyInfo().setFanliMoney(goodsDetail.getMoneyInfo().getMaxMoney());
         goodsDetail.getMoneyInfo().setShareMoney(
               "¥" + TaoBaoUtil.getGoodsHongBaoMoney(goods, hongBaoManageService.getVIPShareRate()));
         goodsDetail.getMoneyInfo().setRateInfo(goodsDetail.getMoneyInfo().getMaxRateInfo());
         goodsDetail.getMoneyInfo().setCompositionInfo(goodsDetail.getMoneyInfo().getMaxCompositionInfo());
      }
      goodsDetail.getMoneyInfo()
            .setRateInfoHelpUrl(configService.get(ConfigKeyEnum.goodsDetailFanliRateHelpUrl.getKey()));
      if (TaoBaoUtil.isYUShou(goods)) {
         if (!StringUtil.isNullOrEmpty(goods.getPresaleDiscountFeeText())) {
@@ -408,7 +418,7 @@
      }
      extraVO.setTbPidInfo(clientTBPid);
      extraVO.setDetailUrl("http://apph5.yeshitv.com/apppage/goods_img.html?id=" + id);
      extraVO.setDetailUrl("http://apph5.banliapp.com/apppage/goods_img.html?id=" + id);
      // 分享赚人提示
      MoneyInfoVO moneyInfo = goodsDetail.getMoneyInfo();
@@ -473,7 +483,7 @@
         moneyType = 2;
         fanliValid = true;
         shareValid = false;
         helpLink = configService.get("zigoulijian_nofanli_help");
         helpLink = configService.get(ConfigKeyEnum.zigoulijianNofanliHelp.getKey());
         BigDecimal tljHongBao = TaoBaoUtil.getGoodsHongBaoMoney(goods, TaoBaoConstant.OWN_BUY_WITHOUT_FANLI_RATE);
@@ -532,19 +542,24 @@
         RewardCouponVO rewardCoupon = new RewardCouponVO();
         rewardCoupon.setJumpDetail(jumpDetailV2Service.getByTypeCache("web"));
         JSONObject params1 = new JSONObject();
         if (!VersionUtil.greaterThan_2_1(acceptData.getPlatform(), acceptData.getVersion()))
            params1.put("url", configService.get("special_guide_reward_coupon_link"));
         if (!VersionUtil.greaterThan_2_0_5(acceptData.getPlatform(), acceptData.getVersion()))
            params1.put("url", configService.get(ConfigKeyEnum.specialGuideRewardCouponLink.getKey()));
         else
            params1.put("url", configService.get("vip_link"));
            params1.put("url", userVipConfigService.getValueByKey("vip_link"));
         rewardCoupon.setMaxMoney(goodsDetail.getMoneyInfo().getMaxMoney());
         if (VersionUtil.greaterThan_2_1(acceptData.getPlatform(), acceptData.getVersion())) {
         if (VersionUtil.greaterThan_2_0_5(acceptData.getPlatform(), acceptData.getVersion())) {
            rewardCoupon.setDesc("返");
            params1.put("url", configService.get("vip_link"));
            params1.put("url", userVipConfigService.getValueByKey("vip_link"));
            rewardCoupon.getJumpDetail().setNeedLogin(true);
         } else
            rewardCoupon.setDesc("用返利奖励券最高返");
         rewardCoupon.setParams(params1.toString());
         otherInfo.setRewardCoupon(rewardCoupon);
         if ("ios".equalsIgnoreCase(acceptData.getPlatform())
               && configService.iosOnLining(Integer.parseInt(acceptData.getVersion())))
            otherInfo.setRewardCoupon(null);
         goodsDetail.setOtherInfo(otherInfo);
      }
      extraVO.setFanliValid(fanliValid);
@@ -557,7 +572,7 @@
      // 分享路径
      if (StringUtil.isNullOrEmpty(helpLink)) {
         helpLink = configService.get("no_rebate_help_link");
         helpLink = configService.get(ConfigKeyEnum.noRebateHelpLink.getKey());
      }
      // 分享路径
@@ -592,8 +607,9 @@
    * @param from
    * @param out
    */
   @RequestMapping(value = "getDetailJD", method = RequestMethod.POST)
   @RequestMapping(value = "getDetailJD")
   public void getDetialJD(AcceptData acceptData, Long id, Long uid, String from, PrintWriter out) {
//      uid=2255993L;
      // 系统验证
      BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
            acceptData.getPackages());
@@ -624,12 +640,17 @@
      ConfigParamsDTO paramsDTO = hongBaoManageService.getShowComputeRate(acceptData.getPlatform(),
            acceptData.getVersion());
      paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate());
      GoodsDetailVO goodsDetail = GoodsDetailVOFactory.convertJDGoods(jdGoods, paramsDTO);
      if (goodsDetail != null && goodsDetail.getMoneyInfo() != null && userVIPInfoService.isVIP(uid)) {
         goodsDetail.getMoneyInfo().setFanliMoney(goodsDetail.getMoneyInfo().getMaxMoney());
         goodsDetail.getMoneyInfo()
               .setShareMoney("¥" + JDUtil.getGoodsFanLiMoney(jdGoods, hongBaoManageService.getVIPShareRate()));
         goodsDetail.getMoneyInfo().setRateInfo(goodsDetail.getMoneyInfo().getMaxRateInfo());
         goodsDetail.getMoneyInfo().setCompositionInfo(goodsDetail.getMoneyInfo().getMaxCompositionInfo());
      }
      goodsDetail.getMoneyInfo()
            .setRateInfoHelpUrl(configService.get(ConfigKeyEnum.goodsDetailFanliRateHelpUrl.getKey()));
      // 附加信息
      OtherInfo otherInfo = new OtherInfo();
@@ -651,11 +672,9 @@
                     hongBaoManageService.getFanLiRate());
               otherInfo.setFanliMoneyPlus("京东plus返¥" + fanliMoneyPlus);
               // 使用奖励券最高返
               if (VersionUtil.greaterThan_2_1(acceptData.getPlatform(), acceptData.getVersion())) {
               if (VersionUtil.greaterThan_2_0_5(acceptData.getPlatform(), acceptData.getVersion())) {
                  maxMoneyPlus = "(京东plus返¥"
                        + JDUtil.getGoodsFanLiMoneyPlus(jdGoods,
                              hongBaoManageService.getVIPFanLiRate())
                        + ")";
                        + JDUtil.getGoodsFanLiMoneyPlus(jdGoods, hongBaoManageService.getVIPFanLiRate()) + ")";
               } else
                  maxMoneyPlus = "(京东plus最高返¥"
                        + fanliMoneyPlus.add(MoneyBigDecimalUtil.mul(fanliMoneyPlus, Constant.MAX_REWARD_RATE))
@@ -669,21 +688,26 @@
      rewardCoupon.setMaxMoneyPlus(maxMoneyPlus);
      rewardCoupon.setJumpDetail(jumpDetailV2Service.getByTypeCache("web"));
      JSONObject params1 = new JSONObject();
      if (!VersionUtil.greaterThan_2_1(acceptData.getPlatform(), acceptData.getVersion()))
         params1.put("url", configService.get("special_guide_reward_coupon_link"));
      if (!VersionUtil.greaterThan_2_0_5(acceptData.getPlatform(), acceptData.getVersion()))
         params1.put("url", configService.get(ConfigKeyEnum.specialGuideRewardCouponLink.getKey()));
      else
         params1.put("url", configService.get("vip_link"));
         params1.put("url", userVipConfigService.getValueByKey("vip_link"));
      rewardCoupon.setMaxMoney(goodsDetail.getMoneyInfo().getMaxMoney());
      if (VersionUtil.greaterThan_2_1(acceptData.getPlatform(), acceptData.getVersion())) {
      if (VersionUtil.greaterThan_2_0_5(acceptData.getPlatform(), acceptData.getVersion())) {
         rewardCoupon.setDesc("返");
         params1.put("url", configService.get("vip_link"));
         params1.put("url", userVipConfigService.getValueByKey("vip_link"));
         rewardCoupon.getJumpDetail().setNeedLogin(true);
      } else {
         rewardCoupon.setDesc("用返利奖励券最高返");
      }
      rewardCoupon.setParams(params1.toString());
      otherInfo.setRewardCoupon(rewardCoupon);
      if ("ios".equalsIgnoreCase(acceptData.getPlatform())
            && configService.iosOnLining(Integer.parseInt(acceptData.getVersion())))
         otherInfo.setRewardCoupon(null);
      goodsDetail.setOtherInfo(otherInfo);
      CouponInfoVO couponInfo = goodsDetail.getCouponInfo();
@@ -715,7 +739,7 @@
      List<ShamUser> listShareUser = new ArrayList<ShamUser>();
      // 京东开启分享
      String open = configService.get("share_jd_open");
      String open = configService.get(ConfigKeyEnum.shareOpenJD.getKey());
      if ("1".equals(open.trim())) {
         extraVO.setShareValid(true);
         MoneyInfoVO moneyInfo = goodsDetail.getMoneyInfo();
@@ -768,7 +792,7 @@
      extraVO.setFanliValid(true);
      if (StringUtil.isNullOrEmpty(helpLink)) {
         helpLink = configService.get("no_rebate_help_link");
         helpLink = configService.get(ConfigKeyEnum.noRebateHelpLink.getKey());
      }
      ShareVO shareInfoVO = new ShareVO();
@@ -781,11 +805,12 @@
      out.print(JsonUtil.loadTrueResult(object.toString()));
      final JDGoods goods = jdGoods;
      final Long fuid=uid;
      ThreadUtil.run(new Runnable() {
         public void run() {
            // 添加浏览记录
            try {
               scanHistoryV2Service.addJDScanHistory(uid, acceptData.getDevice(), goods);
               scanHistoryV2Service.addJDScanHistory(fuid, acceptData.getDevice(), goods);
            } catch (Exception e) {
               e.printStackTrace();
            }
@@ -820,32 +845,41 @@
      ConfigParamsDTO paramsDTO = hongBaoManageService.getShowComputeRate(acceptData.getPlatform(),
            acceptData.getVersion());
      paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate());
      GoodsDetailVO goodsDetail = GoodsDetailVOFactory.convertPDDGoods(pddGoods, paramsDTO);
      if (goodsDetail != null && goodsDetail.getMoneyInfo() != null && userVIPInfoService.isVIP(uid)) {
         goodsDetail.getMoneyInfo().setFanliMoney(goodsDetail.getMoneyInfo().getMaxMoney());
         goodsDetail.getMoneyInfo().setShareMoney(
               "¥" + PinDuoDuoUtil.getGoodsFanLiMoney(pddGoods, hongBaoManageService.getVIPShareRate()));
         goodsDetail.getMoneyInfo().setRateInfo(goodsDetail.getMoneyInfo().getMaxRateInfo());
         goodsDetail.getMoneyInfo().setCompositionInfo(goodsDetail.getMoneyInfo().getMaxCompositionInfo());
      }
      goodsDetail.getMoneyInfo()
            .setRateInfoHelpUrl(configService.get(ConfigKeyEnum.goodsDetailFanliRateHelpUrl.getKey()));
      // 附加信息
      OtherInfo otherInfo = new OtherInfo();
      RewardCouponVO rewardCoupon = new RewardCouponVO();
      rewardCoupon.setJumpDetail(jumpDetailV2Service.getByTypeCache("web"));
      JSONObject params1 = new JSONObject();
      if (!VersionUtil.greaterThan_2_1(acceptData.getPlatform(), acceptData.getVersion()))
         params1.put("url", configService.get("special_guide_reward_coupon_link"));
      if (!VersionUtil.greaterThan_2_0_5(acceptData.getPlatform(), acceptData.getVersion()))
         params1.put("url", configService.get(ConfigKeyEnum.specialGuideRewardCouponLink.getKey()));
      else
         params1.put("url", configService.get("vip_link"));
         params1.put("url", userVipConfigService.getValueByKey("vip_link"));
      rewardCoupon.setMaxMoney(goodsDetail.getMoneyInfo().getMaxMoney());
      if (VersionUtil.greaterThan_2_1(acceptData.getPlatform(), acceptData.getVersion())) {
      if (VersionUtil.greaterThan_2_0_5(acceptData.getPlatform(), acceptData.getVersion())) {
         rewardCoupon.setDesc("返");
         params1.put("url", configService.get("vip_link"));
         params1.put("url", userVipConfigService.getValueByKey("vip_link"));
         rewardCoupon.getJumpDetail().setNeedLogin(true);
      } else
         rewardCoupon.setDesc("用返利奖励券最高返");
      rewardCoupon.setParams(params1.toString());
      otherInfo.setRewardCoupon(rewardCoupon);
      if ("ios".equalsIgnoreCase(acceptData.getPlatform())
            && configService.iosOnLining(Integer.parseInt(acceptData.getVersion())))
         otherInfo.setRewardCoupon(null);
      goodsDetail.setOtherInfo(otherInfo);
      CouponInfoVO couponInfo = goodsDetail.getCouponInfo();
@@ -873,7 +907,7 @@
      }
      // 图文详情
      extraVO.setDetailUrl("http://apph5.yeshitv.com/apppage/goods_img_pdd.html?id=" + id);
      extraVO.setDetailUrl("http://apph5.banliapp.com/apppage/goods_img_pdd.html?id=" + id);
      String salesTip = pddGoods.getSalesTip();
      if (!StringUtil.isNullOrEmpty(salesTip)) {
@@ -933,7 +967,7 @@
      extraVO.setShareValid(true);
      if (StringUtil.isNullOrEmpty(helpLink)) {
         helpLink = configService.get("no_rebate_help_link");
         helpLink = configService.get(ConfigKeyEnum.noRebateHelpLink.getKey());
      }
      ShareVO shareInfoVO = new ShareVO();