From 42411e4a26461229c6bca6e89ca55e98a80f5a4e Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期四, 30 九月 2021 18:08:17 +0800 Subject: [PATCH] bug修改 --- fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ConfigControllerV2.java | 126 ++++++++++++++++++++++++++---------------- 1 files changed, 78 insertions(+), 48 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 c3b07b1..505e496 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 @@ -8,6 +8,11 @@ import javax.annotation.Resource; +import com.yeshi.fanli.entity.SystemEnum; +import com.yeshi.fanli.entity.SystemPIDInfo; +import com.yeshi.fanli.exception.goods.ConvertLinkException; +import com.yeshi.fanli.service.manger.PIDManager; +import com.yeshi.fanli.service.manger.goods.ConvertLinkManager; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @@ -76,12 +81,6 @@ private TBPidService tbPidService; @Resource - private TaoBaoUnionConfigService taoBaoUnionConfigService; - - @Resource - private UserInfoExtraService userInfoExtraService; - - @Resource private FloatADService floatADService; @Resource @@ -89,9 +88,6 @@ @Resource private MsgDeviceReadStateService msgDeviceReadStateService; - - @Resource - private UserTaoLiJinOriginService uerTaoLiJinOriginService; @Resource private UserActiveLogService userActiveLogService; @@ -104,6 +100,12 @@ @Resource private RedisManager redisManager; + + @Resource + private PIDManager pidManager; + + @Resource + private ConvertLinkManager convertLinkManager; /** * s 棣栭〉閰嶇疆淇℃伅 @@ -459,17 +461,28 @@ */ @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 elmePid = pidManager.getPidCache(acceptData.getSystem(), Constant.SOURCE_TYPE_ELME, SystemPIDInfo.PidType.fanli); + String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.elmeLink, uid + ""); String elmeLink = redisManager.getCommonString(key); if (StringUtil.isNullOrEmpty(elmeLink)) { - TaoKeOfficialActivityConvertResultDTO dto = TaoKeApiUtil.officialActivityConvert( - TaoBaoConstant.TAOBAO_ELEME_PID.split("_")[3], "1571715733668", userInfoExtra.getRelationId()); + TaoKeOfficialActivityConvertResultDTO dto = null; + try { + dto = convertLinkManager.taobaoOfficialActivityConvert(uid, elmePid, "1571715733668", userInfoExtra.getRelationId(), false); + } catch (ConvertLinkException e) { + e.printStackTrace(); + if (StringUtil.isNullOrEmpty(callback)) + out.print(JsonUtil.loadFalseResult(e.getMessage())); + else + out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult(e.getMessage()))); + return; + } if (dto != null) elmeLink = dto.getShort_click_url(); if (!StringUtil.isNullOrEmpty(elmeLink)) { @@ -487,8 +500,8 @@ 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]); + ClientTBPid clientTBPid1 = new ClientTBPid(TaoBaoConstant.TAOBAO_AUTH_APPKEY, elmePid, + null, elmePid.split("_")[3]); data.put("taoKeParams", clientTBPid1); if (StringUtil.isNullOrEmpty(callback)) out.print(JsonUtil.loadTrueResult(data)); @@ -516,17 +529,28 @@ out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult(1001, "璇风粦瀹氭窐瀹�"))); return; } + + String elmePid = pidManager.getPidCache(acceptData.getSystem(), Constant.SOURCE_TYPE_ELME, SystemPIDInfo.PidType.fanli); + String relationPid = pidManager.getPidCache(acceptData.getSystem(), Constant.SOURCE_TYPE_TAOBAO, SystemPIDInfo.PidType.share); + String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.elmeLink, uid + "-" + activityId + "-" + share); String elmeResult = redisManager.getCommonString(key); JSONObject data = new JSONObject(); TaoKeOfficialActivityConvertResultDTO dto = null; if (StringUtil.isNullOrEmpty(elmeResult)) { - if (share) { - dto = TaoKeApiUtil.officialActivityConvert(TaoBaoConstant.TAOBAO_RELATION_PID_DEFAULT.split("_")[3], - activityId, userInfoExtra.getRelationId()); - } else { - dto = TaoKeApiUtil.officialActivityConvert(TaoBaoConstant.TAOBAO_ELEME_PID.split("_")[3], activityId, - userInfoExtra.getRelationId()); + try { + if (share) { + dto = convertLinkManager.taobaoOfficialActivityConvert(uid, relationPid, activityId, userInfoExtra.getRelationId(), true); + } else { + dto = convertLinkManager.taobaoOfficialActivityConvert(uid, elmePid, activityId, + userInfoExtra.getRelationId(), false); + } + } catch (ConvertLinkException e) { + if (StringUtil.isNullOrEmpty(callback)) + out.print(JsonUtil.loadFalseResult(e.getMessage())); + else + out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult(e.getMessage()))); + return; } if (dto != null) { @@ -572,8 +596,8 @@ data.put("info", info); ClientTBPid clientTBPid1 = new ClientTBPid(TaoBaoConstant.TAOBAO_AUTH_APPKEY, - share ? TaoBaoConstant.TAOBAO_RELATION_PID_DEFAULT : TaoBaoConstant.TAOBAO_ELEME_PID, null, - TaoBaoConstant.TAOBAO_ELEME_PID.split("_")[3]); + share ? relationPid : elmePid, null, + elmePid.split("_")[3]); clientTBPid1.setAdZoneId(clientTBPid1.getPid().split("_")[3]); data.put("taoKeParams", clientTBPid1); if (StringUtil.isNullOrEmpty(callback)) @@ -586,6 +610,8 @@ public void getKouBeiLink(AcceptData acceptData, Long uid, String activityId, boolean share, boolean shareImg, String callback, PrintWriter out) { + String relationPid = pidManager.getPidCache(acceptData.getSystem(), Constant.SOURCE_TYPE_TAOBAO, SystemPIDInfo.PidType.share); + UserExtraTaoBaoInfo userInfoExtra = userExtraTaoBaoInfoService.getByUid(uid); if (userInfoExtra == null || StringUtil.isNullOrEmpty(userInfoExtra.getRelationId())) { out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult(1001, "璇风粦瀹氭窐瀹�"))); @@ -596,12 +622,18 @@ JSONObject data = new JSONObject(); TaoKeOfficialActivityConvertResultDTO dto = null; if (StringUtil.isNullOrEmpty(elmeResult)) { - if (share) { - dto = TaoKeApiUtil.officialActivityConvert(TaoBaoConstant.TAOBAO_RELATION_PID_DEFAULT.split("_")[3], - activityId, userInfoExtra.getRelationId()); - } else { - dto = TaoKeApiUtil.officialActivityConvert(TaoBaoConstant.TAOBAO_KOUBEI_PID.split("_")[3], activityId, - userInfoExtra.getRelationId()); + + try { + if (share) { + dto = convertLinkManager.taobaoOfficialActivityConvert(uid, relationPid, + activityId, userInfoExtra.getRelationId(), true); + } else { + dto = convertLinkManager.taobaoOfficialActivityConvert(uid, TaoBaoConstant.TAOBAO_KOUBEI_PID, + activityId, userInfoExtra.getRelationId(), false); + } + } catch (ConvertLinkException e) { + out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult(e.getCode(), e.getMessage()))); + return; } if (dto != null) { @@ -647,7 +679,7 @@ data.put("info", info); ClientTBPid clientTBPid1 = new ClientTBPid(TaoBaoConstant.TAOBAO_AUTH_APPKEY, - share ? TaoBaoConstant.TAOBAO_RELATION_PID_DEFAULT : TaoBaoConstant.TAOBAO_KOUBEI_PID, null, + share ? relationPid : TaoBaoConstant.TAOBAO_KOUBEI_PID, null, TaoBaoConstant.TAOBAO_KOUBEI_PID.split("_")[3]); clientTBPid1.setAdZoneId(clientTBPid1.getPid().split("_")[3]); data.put("taoKeParams", clientTBPid1); @@ -666,7 +698,6 @@ */ @RequestMapping(value = "userProtocolListen") public void userProtocolListen(AcceptData acceptData, Long uid, int type, PrintWriter out) { - LogHelper.userProtocolListen(String.format("%s#%s#%s", acceptData.getDevice(), uid, type)); out.print(JsonUtil.loadTrueResult("")); } @@ -683,27 +714,26 @@ @RequestMapping(value = "getShowAd") public void showAd(AcceptData acceptData, Long uid, PrintWriter out) { String value = configService.getValue(ConfigKeyEnum.showSplashAd.getKey(), acceptData.getSystem()); - boolean huaweiShowAd = true; - if ("huawei".equalsIgnoreCase(acceptData.getChannel())) { - String version = configService.getValue(ConfigKeyEnum.huaweiOnLineVersionCode.getKey(), acceptData.getSystem()); - if (!StringUtil.isNullOrEmpty(version)) { - if (Integer.parseInt(version) == Integer.parseInt(acceptData.getVersion())) { - huaweiShowAd = false; - } - } + JSONObject configData = JSONObject.fromObject(value); + String channel = acceptData.getChannel().toLowerCase(); + if (configData.optString(channel) == null) { + channel = "qq"; + } + int version = configData.optInt(channel); + JSONObject data = new JSONObject(); + boolean show; + if (Integer.parseInt(acceptData.getVersion()) >= version) { + show = false; + } else { + show = true; } - JSONObject data = new JSONObject(); - if ("0".equalsIgnoreCase(value.trim())) { + if (show) { + data.put("show", true); + //鍔犺浇骞垮憡鏁版嵁 + data.put("ad", configService.getValue(ConfigKeyEnum.gdtAdInfo, acceptData.getSystem())); + } else data.put("show", false); - } else { - if (huaweiShowAd) { - data.put("show", true); - //鍔犺浇骞垮憡鏁版嵁 - data.put("ad", configService.getValue(ConfigKeyEnum.gdtAdInfo, acceptData.getSystem())); - } else - data.put("show", false); - } out.print(JsonUtil.loadTrueResult(data)); } -- Gitblit v1.8.0