admin
2019-05-16 4114e871bcb3dce771b6aed64a1027d0bbb95ca6
fanli/src/main/java/com/yeshi/fanli/controller/client/ConfigController.java
@@ -11,15 +11,14 @@
import org.yeshi.utils.encrypt.DESUtil;
import com.yeshi.fanli.entity.accept.AcceptData;
import com.yeshi.fanli.entity.bus.homemodule.FloatAD;
import com.yeshi.fanli.entity.config.AppHomeFloatImg;
import com.yeshi.fanli.entity.taobao.ClientTBPid;
import com.yeshi.fanli.entity.taobao.PidUser;
import com.yeshi.fanli.entity.taobao.TBPid;
import com.yeshi.fanli.entity.taobao.TaoBaoUnionConfig;
import com.yeshi.fanli.service.inter.config.ConfigService;
import com.yeshi.fanli.service.inter.order.CommonOrderCountService;
import com.yeshi.fanli.service.inter.homemodule.FloatADService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService;
import com.yeshi.fanli.service.inter.user.TBPidService;
import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.StringUtil;
@@ -45,8 +44,12 @@
   private TaoBaoUnionConfigService taoBaoUnionConfigService;
   @Resource
   private CommonOrderCountService commonOrderCountService;
   private UserInfoExtraService userInfoExtraService;
   @Resource
   private FloatADService floatADService;
   /**
    * 首页配置信息
    * 
@@ -56,24 +59,48 @@
   @RequestMapping(value = "getHomeConfig", method = RequestMethod.POST)
   public void getHomeConfig(AcceptData acceptData, Long uid, PrintWriter out) {
      AppHomeFloatImg appHomeFloatImg = configService.getAppHomeFloatImg();
      if ("ios".equalsIgnoreCase(acceptData.getPlatform()) && !Constant.IS_TEST)
      if ("ios".equalsIgnoreCase(acceptData.getPlatform()) && !Constant.IS_TEST) {
         appHomeFloatImg = null;
      }
      JSONObject data = new JSONObject();
      if (appHomeFloatImg != null)
      if (appHomeFloatImg != null) {
         data.put("floatImg", appHomeFloatImg);
      }
      String notifyImg = configService.getAppHomeFloatNotifyImg();
      if (!StringUtil.isNullOrEmpty(notifyImg)) {
         data.put("floatNotifyImg", notifyImg);
      }
      //
      String config = configService.get("home_float_img_new");
      if (!StringUtil.isNullOrEmpty(config)) {
         if (uid != null) {
            if (!commonOrderCountService.hasRebateAndShareOrder(uid))
               data.put("floatImgDetail", config);
         } else
            data.put("floatImgDetail", config);
      // 悬浮大图 1.5.2  -2019.3.20
      FloatAD floatAD = floatADService.getEffectiveFloatAD(FloatAD.POSITION_INDEX);
      if (floatAD != null) {
         JSONObject detail = new JSONObject();
         detail.put("img", floatAD.getPicture());
         detail.put("jumpDetail", floatAD.getJumpDetail());
         detail.put("params", floatAD.getParams());
         detail.put("showTime", floatAD.getShowMode());
         detail.put("accountLogin", floatAD.isJumpNeedLogin());
         if (uid != null && userInfoExtraService.isNewUser(uid)) {
            // 新用户
            data.put("floatImgDetail", detail);
         } else {
            data.put("floatImgDetail", detail);
         }
      }
      // 领券帮助链接,1.5.2后生效
      String couponHelp = configService.get("taobao_coupon_help");
      data.put("couponHelpUrl", couponHelp);
      // 底部网页链接
      String platform = acceptData.getPlatform();
      if ("android".equalsIgnoreCase(platform)) {
         data.put("htmlLink", configService.get("index_html_link_android"));
      }
      out.print(JsonUtil.loadTrueResult(data));
   }
@@ -86,38 +113,22 @@
      ClientTBPid clientTBPid = null;
      if ("ios".equalsIgnoreCase(acceptData.getPlatform())) {
         TBPid tbPid = tbPidService.getTBPid(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();
      } else {
         TBPid tbPid = tbPidService.getTBPid(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();
      }
      String cartJS = configService.get("taobao_cart_js");
      String cartUrl=configService.get("taobao_cart_link");
      String cartUrl = configService.get("taobao_cart_link");
      String js = null;
      String link=null;
      String link = null;
      try {
         js = DESUtil.encode(cartJS, StringUtil.getBase64String("YeShiFANLI889*+"),
               StringUtil.getBase64String("*M#34f?,"));
      } catch (Exception e) {
         e.printStackTrace();
      }
      try {
         link = DESUtil.encode(cartUrl, StringUtil.getBase64String("YeShiFANLI889*+"),
               StringUtil.getBase64String("*M#34f?,"));
@@ -128,6 +139,19 @@
      data.put("js", js);
      data.put("link", link);
      data.put("tbPidInfo", clientTBPid);
      out.print(JsonUtil.loadTrueResult(data));
   }
   @RequestMapping(value = "getWebConfig", method = RequestMethod.POST)
   public void getWebConfig(AcceptData acceptData, String url, PrintWriter out) {
      JSONObject data = new JSONObject();
      if (url != null && (url.contains("s.click") || url.contains("taobao.com") || url.contains("tmall.com"))) {
         data.put("baichuan", true);// 采用阿里百川的方式加载webview
         data.put("goodsDetail", true);// 需要拦截商品详情
      } else {
         data.put("baichuan", false);// 不需要采用阿里百川的方式加载webview
         data.put("goodsDetail", false);// 不需要拦截商品详情
      }
      out.print(JsonUtil.loadTrueResult(data));
   }
@@ -149,4 +173,42 @@
      out.print(JsonUtil.loadTrueResult(data));
   }
   @RequestMapping(value = "getUserConfig", method = RequestMethod.POST)
   public void getUserConfig(AcceptData acceptData, PrintWriter out) {
      try {
         // 用户协议链接
         String serviceProtocol = configService.get("service_protocol_link");
         // 隐私条款链接
         String privacyProtocol = configService.get("privacy_protocol_link");
         JSONObject data = new JSONObject();
         data.put("serviceProtocolLink", serviceProtocol);
         data.put("privacyProtocolLink", privacyProtocol);
         out.print(JsonUtil.loadTrueResult(data));
      } catch (Exception e) {
         out.print(JsonUtil.loadFalseResult("获取失败"));
         e.printStackTrace();
      }
   }
   /**
    * 订单解析配置
    * @param acceptData
    * @param out
    */
   @RequestMapping(value = "getOrderParseConfig", method = RequestMethod.POST)
   public void getOrderParseConfig(AcceptData acceptData, PrintWriter out) {
      String orderJS = "var orderId= document.getElementById('tp-bought-root').getElementsByClassName('js-order-container')[0].getElementsByTagName('div')[0].getAttribute('data-id');";
      orderJS += "if(/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) {window.location.href='yestv://taobaoorder#'+orderId;} else {window.handle.showOrder(orderId)}";
      JSONObject data = new JSONObject();
      try {
         data.put("orderJS", DESUtil.encode(orderJS, StringUtil.getBase64String("YeShiFANLI889*+"),
               StringUtil.getBase64String("*M#34f?,")));
         data.put("orderUrl", DESUtil.encode( "https://buyertrade.taobao.com/trade/itemlist/list_bought_items.htm",StringUtil.getBase64String("YeShiFANLI889*+"),
               StringUtil.getBase64String("*M#34f?,")));
      } catch (Exception e) {
         e.printStackTrace();
      }
      out.print(JsonUtil.loadTrueResult(data));
   }
}