From 626d711cb15896055c13fe344eb7fcc824589715 Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期四, 19 十二月 2019 15:38:42 +0800 Subject: [PATCH] 帮助中心 --- fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ConfigControllerV2.java | 242 ++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 191 insertions(+), 51 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ConfigControllerV2.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ConfigControllerV2.java index 7272309..bfc0434 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ConfigControllerV2.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ConfigControllerV2.java @@ -1,6 +1,8 @@ package com.yeshi.fanli.controller.client.v2; import java.io.PrintWriter; +import java.util.ArrayList; +import java.util.List; import javax.annotation.Resource; @@ -12,27 +14,34 @@ import com.yeshi.fanli.entity.accept.AcceptData; import com.yeshi.fanli.entity.bus.homemodule.FloatAD; +import com.yeshi.fanli.entity.bus.homemodule.FloatAD.FloatADTypeEnum; 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.bus.user.UserExtraTaoBaoInfo; +import com.yeshi.fanli.entity.common.JumpDetailV2; import com.yeshi.fanli.entity.config.AppHomeFloatImg; import com.yeshi.fanli.entity.taobao.ClientTBPid; import com.yeshi.fanli.service.inter.common.JumpDetailV2Service; import com.yeshi.fanli.service.inter.config.ConfigService; import com.yeshi.fanli.service.inter.homemodule.FloatADService; import com.yeshi.fanli.service.inter.msg.MsgDeviceReadStateService; +import com.yeshi.fanli.service.inter.redpack.UserTaoLiJinNewbiesService; 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.service.inter.user.tb.UserExtraTaoBaoInfoService; +import com.yeshi.fanli.util.AESUtil; import com.yeshi.fanli.util.Constant; +import com.yeshi.fanli.util.RedisManager; 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 com.yeshi.fanli.util.taobao.TaoKeApiUtil; +import com.yeshi.fanli.vo.homemodule.FloatImgDetailVO; import net.sf.json.JSONObject; @@ -71,10 +80,16 @@ private UserTaoLiJinOriginService uerTaoLiJinOriginService; @Resource - private DeviceTaoLiJinRecordService deviceTaoLiJinRecordService; + private UserActiveLogService userActiveLogService; @Resource - private UserActiveLogService userActiveLogService; + private UserTaoLiJinNewbiesService userTaoLiJinNewbiesService; + + @Resource + private UserExtraTaoBaoInfoService userExtraTaoBaoInfoService; + + @Resource + private RedisManager redisManager; /** * s 棣栭〉閰嶇疆淇℃伅 @@ -102,29 +117,10 @@ 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) { + if (floatAD != null && floatAD.getTypeEnum() != FloatADTypeEnum.newUserRedPack) { JSONObject detail = new JSONObject(); detail.put("img", floatAD.getPicture()); detail.put("jumpDetail", floatAD.getJumpDetail()); @@ -154,7 +150,86 @@ } 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)); + } + + /** + * s 棣栭〉閰嶇疆淇℃伅 + * + * @param acceptData + * @param out + */ + @RequestMapping(value = "getHomeConfigNew", method = RequestMethod.POST) + public void getHomeConfigNew(AcceptData acceptData, Long uid, PrintWriter out) { + if (uid != null && uid == 0L) + uid = null; + + // 娲诲姩寮规 + List<FloatAD> listAD = new ArrayList<FloatAD>(); + List<FloatImgDetailVO> listVO = new ArrayList<FloatImgDetailVO>(); + + List<FloatAD> list = floatADService.getValidByPosition(FloatAD.POSITION_INDEX); + if (list != null && !list.isEmpty()) + listAD.addAll(list); + + for (int i = 0; i < listAD.size(); i++) { + FloatAD floatAD = listAD.get(i); + FloatADTypeEnum typeEnum = floatAD.getTypeEnum(); + if (typeEnum == FloatADTypeEnum.newUserRedPack + && (!VersionUtil.greaterThan_2_1(acceptData.getPlatform(), acceptData.getVersion()) + || !userTaoLiJinNewbiesService.verifyHasReward(uid, acceptData.getDevice()))) { + + listAD.remove(i); + i--; + continue; + } + + JumpDetailV2 jumpDetail = floatAD.getJumpDetail(); + if (jumpDetail != null) { + jumpDetail = jumpDetailV2Service.selectByPrimaryKey(jumpDetail.getId()); + if (jumpDetail != null) { + jumpDetail.setNeedLogin(floatAD.isJumpNeedLogin()); + } + } + FloatImgDetailVO floatImgVO = new FloatImgDetailVO(); + floatImgVO.setId(floatAD.getId().toString()); + floatImgVO.setImg(floatAD.getPicture()); + floatImgVO.setParams(floatAD.getParams()); + floatImgVO.setJumpDetail(jumpDetail); + floatImgVO.setShowTime(floatAD.getShowMode()); + floatImgVO.setAccountLogin(floatAD.isJumpNeedLogin()); + if (floatAD.getPlaySound() != null) + floatImgVO.setPlaySound(floatAD.getPlaySound());// 榛樿閮芥挱鏀鹃煶鏁� + else + floatImgVO.setPlaySound(false); + listVO.add(floatImgVO); + } + + JSONObject data = new JSONObject(); + data.put("listAD", JsonUtil.getApiCommonGson().toJson(listVO)); + data.put("protocol", configService.get("user_protocol_home_data")); + + // 棰嗗埜甯姪閾炬帴,1.5.2鍚庣敓鏁� + String couponHelp = configService.get("taobao_coupon_help"); + data.put("couponHelpUrl", couponHelp); + + // 鍒ゆ柇鏂拌�佺敤鎴� 鏄剧ず鐑棬鍔熻兘鎸夐挳婊戝姩 + UserActiveLog da = null; + if (uid != null) + da = userActiveLogService.getFirstActiveInfo(uid); + // 鏂颁汉 + if (da == null || (System.currentTimeMillis() - da.getCreateTime().getTime()) <= 1000 * 60 * 60 * 24 * 15L) { + data.put("userTimeType", 0); + } else {// 鑰佷汉 + data.put("userTimeType", 1); + } + + // 鏄惁鏄剧ず鐑棬鍔熻兘鎸夐挳 + String platform = acceptData.getPlatform(); + data.put("hotFuctionLink", + configService.getByVersion("hot_function_url", platform, Integer.parseInt(acceptData.getVersion()))); out.print(JsonUtil.loadTrueResult(data)); } @@ -167,25 +242,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 +299,61 @@ @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);// 閲囩敤闃块噷鐧惧窛鐨勬柟寮忓姞杞絯ebview + 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 +482,47 @@ 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) { + + UserExtraTaoBaoInfo userInfoExtra = userExtraTaoBaoInfoService.getByUid(uid); + if (userInfoExtra == null || StringUtil.isNullOrEmpty(userInfoExtra.getRelationId())) { + out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult(1001, "璇风粦瀹氭窐瀹�"))); + return; + } + String elmeLink = redisManager.getCommonString("elme-link-" + uid); + if (StringUtil.isNullOrEmpty(elmeLink)) { + elmeLink = TaoKeApiUtil.officialActivityConvert(TaoBaoConstant.TAOBAO_ELEME_PID.split("_")[3], + "1571715733668", userInfoExtra.getRelationId()); + if (!StringUtil.isNullOrEmpty(elmeLink)) { + redisManager.cacheCommonString("elme-link-" + uid, elmeLink, 60 * 60);// 缂撳瓨1涓皬鏃� + } + } + + 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 + "")); + + data.put("hongBao", elmeLink); + data.put("goods", elmeLink); + + 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))); + } + } -- Gitblit v1.8.0