admin
2019-11-03 788deca1b4a24f8a24e49c24f7d89975a1d74bbe
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ConfigControllerV2.java
@@ -13,9 +13,6 @@
import com.yeshi.fanli.entity.accept.AcceptData;
import com.yeshi.fanli.entity.bus.homemodule.FloatAD;
import com.yeshi.fanli.entity.bus.msg.MsgDeviceReadState;
import com.yeshi.fanli.entity.bus.tlj.DeviceTaoLiJinRecord;
import com.yeshi.fanli.entity.bus.tlj.UserTaoLiJinOrigin;
import com.yeshi.fanli.entity.bus.tlj.UserTaoLiJinOrigin.TaoLiJinOriginEnum;
import com.yeshi.fanli.entity.bus.user.UserActiveLog;
import com.yeshi.fanli.entity.config.AppHomeFloatImg;
import com.yeshi.fanli.entity.taobao.ClientTBPid;
@@ -24,15 +21,17 @@
import com.yeshi.fanli.service.inter.homemodule.FloatADService;
import com.yeshi.fanli.service.inter.msg.MsgDeviceReadStateService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService;
import com.yeshi.fanli.service.inter.tlj.DeviceTaoLiJinRecordService;
import com.yeshi.fanli.service.inter.tlj.UserTaoLiJinOriginService;
import com.yeshi.fanli.service.inter.user.TBPidService;
import com.yeshi.fanli.service.inter.user.UserActiveLogService;
import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
import com.yeshi.fanli.util.AESUtil;
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;
@@ -71,9 +70,6 @@
   private UserTaoLiJinOriginService uerTaoLiJinOriginService;
   @Resource
   private DeviceTaoLiJinRecordService deviceTaoLiJinRecordService;
   @Resource
   private UserActiveLogService userActiveLogService;
   /**
@@ -102,27 +98,8 @@
         data.put("floatNotifyImg", notifyImg);
      }
      FloatAD floatAD = null;
      if (VersionUtil.greaterThan_1_5_60(acceptData.getPlatform(), acceptData.getVersion())) {
         if (uid == null) {
            DeviceTaoLiJinRecord deviceRecord = deviceTaoLiJinRecordService.getByDevice(acceptData.getDevice());
            if (deviceRecord == null) {
               floatAD = floatADService.getEffectiveFloatAD(FloatAD.POSITION_INDEX, 1);
            }
         } else {
            UserTaoLiJinOrigin userTaoLiJin = uerTaoLiJinOriginService.getByUidAndOrigin(uid,
                  TaoLiJinOriginEnum.newbiesWin.name());
            if (userTaoLiJin == null) {
               floatAD = floatADService.getEffectiveFloatAD(FloatAD.POSITION_INDEX, 1);
            }
         }
      }
      // 无新人弹框 则查询默认
      if (floatAD == null) {
         floatAD = floatADService.getEffectiveFloatAD(FloatAD.POSITION_INDEX, 0);
      }
      FloatAD floatAD = floatADService.getEffectiveFloatAD(FloatAD.POSITION_INDEX, 0);
      if (floatAD != null) {
         JSONObject detail = new JSONObject();
@@ -154,7 +131,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));
   }
@@ -167,25 +145,7 @@
    */
   @RequestMapping(value = "getMSGConfig", method = RequestMethod.POST)
   public void getMSGConfig(AcceptData acceptData, Long uid, PrintWriter out) {
      JSONObject data = new JSONObject();
      boolean show = false;
      if (uid != null) {
         show = uerTaoLiJinOriginService.hasRankHongBao(uid);
      }
      if (show) {
         FloatAD floatAD = floatADService.getEffectiveFloatAD(FloatAD.POSITION_MSGCENTER, null);
         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());
            data.put("floatImgDetail", detail);
         }
      }
      out.print(JsonUtil.loadTrueResult(data));
      out.print(JsonUtil.loadFalseResult("推广红包相关功能已下线!"));
   }
   @RequestMapping(value = "getTaoBaoCartConfig", method = RequestMethod.POST)
@@ -242,21 +202,60 @@
   @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 {
         data.put("baichuan", false);// 不需要采用阿里百川的方式加载webview
         data.put("goodsDetail", false);// 不需要拦截商品详情
      }
//TODO 前端需要处理
//      if (VersionUtil.greaterThan_2_0_2(acceptData.getPlatform(), acceptData.getVersion())) {
//         JSONObject js = new JSONObject();
//         String jsStr = configService.get("url_extract_id");
//         String md5 = StringUtil.Md5(jsStr);
//         js.put("md5", md5);
//         data.put("js", js);
//      }
      out.print(JsonUtil.loadTrueResult(data));
   }
   @RequestMapping(value = "getWebJS", method = RequestMethod.POST)
   public void getWebJS(AcceptData acceptData, PrintWriter out) {
      JSONObject data = new JSONObject();
      String urlIdJS = configService.get("url_extract_id");
      data.put("urlIdJSMD5", StringUtil.Md5(urlIdJS));
      data.put("urlIdJS", AESUtil.encrypt(urlIdJS, Constant.UIDAESKEY));
      out.print(JsonUtil.loadTrueResult(data));
   }
@@ -385,4 +384,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)));
   }
}