yujian
2019-10-16 c91ccd847a5c31391ddd41b3e464bc2ca02b7ac6
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ConfigControllerV2.java
@@ -4,11 +4,13 @@
import javax.annotation.Resource;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.yeshi.utils.JsonUtil;
import org.yeshi.utils.encrypt.DESUtil;
import com.taobao.api.TaobaoClient;
import com.yeshi.fanli.entity.accept.AcceptData;
import com.yeshi.fanli.entity.bus.homemodule.FloatAD;
import com.yeshi.fanli.entity.bus.msg.MsgDeviceReadState;
@@ -30,8 +32,10 @@
import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.TaoBaoConstant;
import com.yeshi.fanli.util.ThreadUtil;
import com.yeshi.fanli.util.VersionUtil;
import com.yeshi.fanli.util.jd.JDUtil;
import net.sf.json.JSONObject;
@@ -41,6 +45,7 @@
 * @author Administrator
 *
 */
@Controller
@RequestMapping("api/v2/config")
public class ConfigControllerV2 {
@@ -152,7 +157,8 @@
      } else {// 老人
         data.put("userTimeType", 1);
      }
      data.put("hotFuctionLink", configService.get("hot_function_url"));
      data.put("hotFuctionLink",
            configService.getByVersion("hot_function_url", platform, Integer.parseInt(acceptData.getVersion())));
      out.print(JsonUtil.loadTrueResult(data));
   }
@@ -240,14 +246,36 @@
   @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")
      if (url != null && url.contains("ifeeds.tmall.com/article.html?")) {
         if (VersionUtil.greaterThan_2_0(acceptData.getPlatform(), acceptData.getVersion()))
            data.put("baichuan", false);
         else
            data.put("baichuan", true);
         data.put("goodsDetail", false);
      } else if (url != null && (url.contains("s.click") || url.contains("taobao.com") || url.contains("tmall.com")
            || url.contains("m.tb.cn"))) {
         data.put("baichuan", true);// 采用阿里百川的方式加载webview
         if (VersionUtil.greaterThan_2_0(acceptData.getPlatform(), acceptData.getVersion()))
            data.put("baichuan", false);
         else
            data.put("baichuan", true);
         data.put("goodsDetail", true);// 需要拦截商品详情
      } else if (url != null && (url.contains("jd.com"))) {
         // 不能包含详情页
         String skuId = JDUtil.parseJDSkuIdByUrl(url);
         if (StringUtil.isNullOrEmpty(skuId))// 不能拦截详情页面,防止前端进入死循环
            if (url.startsWith("https://union-click.jd.com/jdc?"))
               data.put("goodsDetail", false);
            else
               data.put("goodsDetail", true);
         else
            data.put("goodsDetail", false);
         data.put("baichuan", false);// 不需要采用阿里百川的方式加载webview
         data.put("goodsDetail", true);// 不需要拦截商品详情
      } else if (url != null && (url.contains("yangkeduo.com"))) {
      } else if (url != null && ((url.contains("yangkeduo.com") && !url.contains("yangkeduo.com/goods.html?")
            && !url.contains("yangkeduo.com/duo_coupon_landing.html?"))
            || (url.startsWith("https://p.pinduoduo.com/")))) {
         data.put("baichuan", false);// 不需要采用阿里百川的方式加载webview
         data.put("goodsDetail", true);// 不需要拦截商品详情
      } else {
@@ -383,4 +411,26 @@
      out.print(JsonUtil.loadTrueResult(data));
   }
   /**
    * 获取饿了么的推广链接
    *
    * @param acceptData
    * @param uid
    * @param out
    */
   @RequestMapping(value = "getElemeLink")
   public void getElemeLink(AcceptData acceptData, Long uid, String callback, PrintWriter out) {
      JSONObject data = new JSONObject();
      data.put("hongBao", configService.get("eleme_hongbao_link").replace("{用户ID}", uid + ""));
      data.put("goods", configService.get("eleme_goods_link").replace("{用户ID}", uid + ""));
      ClientTBPid clientTBPid1 = new ClientTBPid(TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_ELEME_PID,
            null, TaoBaoConstant.TAOBAO_ELEME_PID.split("_")[3]);
      data.put("taoKeParams", clientTBPid1);
      if (StringUtil.isNullOrEmpty(callback))
         out.print(JsonUtil.loadTrueResult(data));
      else
         out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult(data)));
   }
}