From 98b1a0affd69bbe63223c21fdd2c404e8bedfccb Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 20 五月 2020 17:25:08 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/div' into 2.1.2 --- fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ConfigControllerV2.java | 440 +++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 315 insertions(+), 125 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 ce48b9e..5bbbb1d 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,37 +1,60 @@ package com.yeshi.fanli.controller.client.v2; +import java.io.InputStream; import java.io.PrintWriter; +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; 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.HttpUtil; import org.yeshi.utils.JsonUtil; import org.yeshi.utils.encrypt.DESUtil; +import org.yeshi.utils.entity.FileUploadResult; +import org.yeshi.utils.tencentcloud.COSManager; +import com.yeshi.fanli.dto.taobao.api.TaoKeOfficialActivityConvertResultDTO; 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.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.system.ConfigKeyEnum; import com.yeshi.fanli.entity.taobao.ClientTBPid; +import com.yeshi.fanli.log.LogHelper; 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.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.FilePathEnum; +import com.yeshi.fanli.util.ImageUtil; +import com.yeshi.fanli.util.RedisKeyEnum; +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.TaoBaoUtil; +import com.yeshi.fanli.util.taobao.TaoKeApiUtil; +import com.yeshi.fanli.vo.elme.ElemeConvertInfoResultVO; +import com.yeshi.fanli.vo.homemodule.FloatImgDetailVO; import net.sf.json.JSONObject; @@ -72,6 +95,15 @@ @Resource private UserActiveLogService userActiveLogService; + @Resource + private UserTaoLiJinNewbiesService userTaoLiJinNewbiesService; + + @Resource + private UserExtraTaoBaoInfoService userExtraTaoBaoInfoService; + + @Resource + private RedisManager redisManager; + /** * s 棣栭〉閰嶇疆淇℃伅 * @@ -101,7 +133,7 @@ // 鏃犳柊浜哄脊妗� 鍒欐煡璇㈤粯璁� 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()); @@ -112,13 +144,13 @@ } // 棰嗗埜甯姪閾炬帴,1.5.2鍚庣敓鏁� - String couponHelp = configService.get("taobao_coupon_help"); + String couponHelp = configService.get(ConfigKeyEnum.taobaoCouponHelp.getKey()); data.put("couponHelpUrl", couponHelp); // 搴曢儴缃戦〉閾炬帴 String platform = acceptData.getPlatform(); if ("android".equalsIgnoreCase(platform)) { - data.put("htmlLink", configService.get("index_html_link_android")); + data.put("htmlLink", configService.get(ConfigKeyEnum.indexHtmlLinkAndroid.getKey())); } // 鍒ゆ柇鏂拌�佺敤鎴� @@ -131,62 +163,74 @@ } else {// 鑰佷汉 data.put("userTimeType", 1); } - data.put("hotFuctionLink", - configService.getByVersion("hot_function_url", platform, Integer.parseInt(acceptData.getVersion()))); + data.put("hotFuctionLink", configService.getByVersion(ConfigKeyEnum.hotFunctionUrl.getKey(), 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) { + @RequestMapping(value = "getHomeConfigNew") + public void getHomeConfigNew(AcceptData acceptData, Long uid, String callback, PrintWriter out) { if (uid != null && uid == 0L) uid = null; - AppHomeFloatImg appHomeFloatImg = configService.getAppHomeFloatImg(); - if ("ios".equalsIgnoreCase(acceptData.getPlatform()) && !Constant.IS_TEST) { - appHomeFloatImg = null; + String platform = acceptData.getPlatform(); + String version = acceptData.getVersion(); + + // 娲诲姩寮规 + List<FloatAD> listAD = new ArrayList<FloatAD>(); + List<FloatImgDetailVO> listVO = new ArrayList<FloatImgDetailVO>(); + List<FloatAD> list = floatADService.getValidFloatADCache(FloatAD.POSITION_INDEX, null, platform, + Integer.parseInt(version)); + 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_0_5(platform, version) + || !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(); - if (appHomeFloatImg != null) { - data.put("floatImg", appHomeFloatImg); - } - - String notifyImg = configService.getAppHomeFloatNotifyImg(); - if (!StringUtil.isNullOrEmpty(notifyImg)) { - data.put("floatNotifyImg", notifyImg); - } - - // 鏃犳柊浜哄脊妗� 鍒欐煡璇㈤粯璁� - FloatAD floatAD = floatADService.getEffectiveFloatAD(FloatAD.POSITION_INDEX, 0); - - 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); - } + data.put("listAD", JsonUtil.getApiCommonGson().toJson(listVO)); + data.put("protocol", configService.get(ConfigKeyEnum.userProtocolHomeData.getKey())); // 棰嗗埜甯姪閾炬帴,1.5.2鍚庣敓鏁� - String couponHelp = configService.get("taobao_coupon_help"); + String couponHelp = configService.get(ConfigKeyEnum.taobaoCouponHelp.getKey()); data.put("couponHelpUrl", couponHelp); - // 搴曢儴缃戦〉閾炬帴 - String platform = acceptData.getPlatform(); - if ("android".equalsIgnoreCase(platform)) { - data.put("htmlLink", configService.get("index_html_link_android")); - } - - // 鍒ゆ柇鏂拌�佺敤鎴� + // 鍒ゆ柇鏂拌�佺敤鎴� 鏄剧ず鐑棬鍔熻兘鎸夐挳婊戝姩 UserActiveLog da = null; if (uid != null) da = userActiveLogService.getFirstActiveInfo(uid); @@ -196,12 +240,16 @@ } else {// 鑰佷汉 data.put("userTimeType", 1); } + + // 鏄惁鏄剧ず鐑棬鍔熻兘鎸夐挳 data.put("hotFuctionLink", - configService.getByVersion("hot_function_url", platform, Integer.parseInt(acceptData.getVersion()))); - out.print(JsonUtil.loadTrueResult(data)); + configService.getByVersion(ConfigKeyEnum.hotFunctionUrl.getKey(), platform, Integer.parseInt(version))); + if (StringUtil.isNullOrEmpty(callback)) + out.print(JsonUtil.loadTrueResult(data)); + else + out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult(data))); } - - + /** * 娑堟伅涓績寮规 * @@ -222,7 +270,8 @@ } // 鏄惁闇�瑕佽喘鐗╁煄杞摼 - boolean convert = "0".equalsIgnoreCase(configService.get("show_taobao_cart_convert")) ? false : true; + boolean convert = "0".equalsIgnoreCase(configService.get(ConfigKeyEnum.showTaobaoCartConvert.getKey())) ? false + : true; if (!"cart".equalsIgnoreCase(position) && !convert) { out.print(JsonUtil.loadFalseResult("")); @@ -236,8 +285,8 @@ clientTBPid = tbPidService.getAndroidDefault(); } - String cartJS = configService.get("taobao_cart_js"); - String cartUrl = configService.get("taobao_cart_link"); + String cartJS = configService.get(ConfigKeyEnum.taobaoCartJS.getKey()); + String cartUrl = configService.get(ConfigKeyEnum.taobaoCartLink.getKey()); if (!convert)// 涓嶈浆閾� { cartUrl = "http://"; @@ -304,14 +353,15 @@ 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); -// } + // 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)); } @@ -335,75 +385,12 @@ @RequestMapping(value = "getBindAccountConfig", method = RequestMethod.POST) public void getBindAccountConfig(AcceptData acceptData, PrintWriter out) { - String alipayHelpUrl = configService.get("alipay_help");// 鏀粯瀹濆府鍔� - String alipayBindFailUrl = configService.get("alipay_bind_fail_reason");// 鏀粯瀹濈粦瀹氬け璐ュ師鍥� + String alipayHelpUrl = configService.get(ConfigKeyEnum.alipayHelp.getKey());// 鏀粯瀹濆府鍔� + String alipayBindFailUrl = configService.get(ConfigKeyEnum.alipayBindFailReason.getKey());// 鏀粯瀹濈粦瀹氬け璐ュ師鍥� JSONObject data = new JSONObject(); data.put("alipayHelp", alipayHelpUrl); data.put("alipayBindFailReason", alipayBindFailUrl); 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); - // 璐墿杞﹁烦杞柟寮�(鍖呭惈jumpDetail涓巔arams) - JSONObject source = JSONObject.fromObject(configService.get("taobao_cart_jump_detail")); - data.put("taoBaoCart", source); - out.print(JsonUtil.loadTrueResult(data)); - } catch (Exception e) { - out.print(JsonUtil.loadFalseResult("鑾峰彇澶辫触")); - e.printStackTrace(); - } - - } - - /** - * 璁㈠崟瑙f瀽閰嶇疆 - * - * @param acceptData - * @param out - */ - @RequestMapping(value = "getOrderParseConfig", method = RequestMethod.POST) - public void getOrderParseConfig(AcceptData acceptData, int type, PrintWriter out) { - - switch (type) { - case Constant.SOURCE_TYPE_TAOBAO: - if ("0".equalsIgnoreCase(configService.get("auto_find_taobao_order"))) - out.print(JsonUtil.loadFalseResult(1, "鏆備笉鏀寔")); - else { - String orderJS = configService.get("taobao_order_parse_js"); - 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)); - } - break; - - case Constant.SOURCE_TYPE_JD: { - - } - break; - - case Constant.SOURCE_TYPE_PDD: { - - } - break; - } } /** @@ -417,7 +404,8 @@ public void getOrderConfig(AcceptData acceptData, PrintWriter out) { JSONObject data = new JSONObject(); // 娴嬭瘯 - data.put("showTaoBaoOrder", "0".equalsIgnoreCase(configService.get("show_taobao_order").trim()) ? false : true); + data.put("showTaoBaoOrder", + "0".equalsIgnoreCase(configService.get(ConfigKeyEnum.showTaobaoOrder.getKey()).trim()) ? false : true); data.put("taoBaoOrderUrl", "https://main.m.taobao.com/olist/index.html"); out.print(JsonUtil.loadTrueResult(data)); } @@ -425,7 +413,7 @@ @RequestMapping(value = "getKeFuConfig", method = RequestMethod.POST) public void getKeFuConfig(AcceptData acceptData, PrintWriter out) { JSONObject data = new JSONObject(); - data.put("meiqia", "1".equalsIgnoreCase(configService.get("kefu_meiqia")) ? true : false);// 鏄惁璺宠浆缇庢唇锛屼笉璺宠浆缇庢唇灏辩敤鍘熸潵鐨� + data.put("meiqia", "1".equalsIgnoreCase(configService.get(ConfigKeyEnum.kefuMeiqia.getKey())) ? true : false);// 鏄惁璺宠浆缇庢唇锛屼笉璺宠浆缇庢唇灏辩敤鍘熸潵鐨� out.print(JsonUtil.loadTrueResult(data)); // 璁剧疆娑堟伅宸茶 ThreadUtil.run(new Runnable() { @@ -446,7 +434,7 @@ @RequestMapping(value = "getInviteCodeInputHelp", method = RequestMethod.POST) public void getInviteCodeInputHelp(AcceptData acceptData, PrintWriter out) { JSONObject data = new JSONObject(); - data.put("helpUrl", configService.get("invite_code_input_help")); + data.put("helpUrl", configService.get(ConfigKeyEnum.inviteCodeInputHelp.getKey())); out.print(JsonUtil.loadTrueResult(data)); } @@ -459,9 +447,33 @@ */ @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 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()); + if (dto != null) + elmeLink = dto.getShort_click_url(); + if (!StringUtil.isNullOrEmpty(elmeLink)) { + redisManager.cacheCommonString(key, 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", + // 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]); @@ -472,4 +484,182 @@ out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult(data))); } + /** + * + * @Title: getElemeLinkNew + * @Description: + * @param acceptData + * @param uid + * @param activityId 娲诲姩ID + * @param share -鏄惁涓哄垎浜� + * @param callback + * @param out + * void 杩斿洖绫诲瀷 + * @throws + */ + @RequestMapping(value = "getElemeLinkNew") + public void getElemeLinkNew(AcceptData acceptData, Long uid, String activityId, boolean share, boolean shareImg, + 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 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()); + } + + if (dto != null) { + if (share) {// 鐢熸垚鍙d护 + String token = TaoKeApiUtil.getTKToken("http://", "楗夸簡涔�", dto.getShort_click_url()); + dto.setToken(TaoBaoUtil.filterTaoToken(token)); + } + redisManager.cacheCommonString(key, JsonUtil.getSimpleGson().toJson(dto), 60 * 60);// 缂撳瓨1涓皬鏃� + } + } else { + dto = JsonUtil.getSimpleGson().fromJson(elmeResult, TaoKeOfficialActivityConvertResultDTO.class); + + if (share && StringUtil.isNullOrEmpty(dto.getToken())) { + // 淇濆瓨鍙d护 + String token = TaoKeApiUtil.getTKToken("http://", "楗夸簡涔�", dto.getShort_click_url()); + dto.setToken(TaoBaoUtil.filterTaoToken(token)); + redisManager.cacheCommonString(key, JsonUtil.getSimpleGson().toJson(dto), 60 * 60);// 缂撳瓨1涓皬鏃� + } + + } + + ElemeConvertInfoResultVO info = new ElemeConvertInfoResultVO(null, dto.getToken(), dto.getShort_click_url()); + if (share && shareImg) { + InputStream elmeShareImg = ImageUtil.drawSimpleImage( + this.getClass().getClassLoader().getResourceAsStream("image/elme_bg.png"), 1080, 1646, + HttpUtil.getAsInputStream(dto.getWx_qrcode_url()), 500, 500, 295, 908); + + if (elmeShareImg != null) { + String filePath = FilePathEnum.elmeShare.getPath() + "-" + uid + "-" + + UUID.randomUUID().toString().replace("-", "") + ".png"; + FileUploadResult uploadResult = COSManager.getInstance().uploadFile(elmeShareImg, filePath); + if (uploadResult != null) + info.setQrCodeImg(uploadResult.getUrl()); + } + + if (info.getQrCodeImg() == null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鍒嗕韩鍥剧敓鎴愬け璐�")); + return; + } + + } + + 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]); + clientTBPid1.setAdZoneId(clientTBPid1.getPid().split("_")[3]); + data.put("taoKeParams", clientTBPid1); + if (StringUtil.isNullOrEmpty(callback)) + out.print(JsonUtil.loadTrueResult(data)); + else + out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult(data))); + } + + + @RequestMapping(value = "getKouBeiLink") + public void getKouBeiLink(AcceptData acceptData, Long uid, String activityId, boolean share, boolean shareImg, + 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 key = RedisKeyEnum.getRedisKey(RedisKeyEnum.kouBeiLink, 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_KOUBEI_PID.split("_")[3], activityId, + userInfoExtra.getRelationId()); + } + + if (dto != null) { + if (share) {// 鐢熸垚鍙d护 + String token = TaoKeApiUtil.getTKToken("http://", "鍙g",dto.getClick_url() ); + dto.setToken(TaoBaoUtil.filterTaoToken(token)); + } + redisManager.cacheCommonString(key, JsonUtil.getSimpleGson().toJson(dto), 60 * 60);// 缂撳瓨1涓皬鏃� + } + } else { + dto = JsonUtil.getSimpleGson().fromJson(elmeResult, TaoKeOfficialActivityConvertResultDTO.class); + + if (share && StringUtil.isNullOrEmpty(dto.getToken())) { + // 淇濆瓨鍙d护 + String token = TaoKeApiUtil.getTKToken("http://", "鍙g", dto.getClick_url()); + dto.setToken(TaoBaoUtil.filterTaoToken(token)); + redisManager.cacheCommonString(key, JsonUtil.getSimpleGson().toJson(dto), 60 * 60);// 缂撳瓨1涓皬鏃� + } + + } + + ElemeConvertInfoResultVO info = new ElemeConvertInfoResultVO(null, dto.getToken(), dto.getClick_url()); + if (share && shareImg) { + InputStream elmeShareImg = ImageUtil.drawSimpleImage( + this.getClass().getClassLoader().getResourceAsStream("image/elme_bg.png"), 1080, 1646, + HttpUtil.getAsInputStream(dto.getWx_qrcode_url()), 500, 500, 295, 908); + + if (elmeShareImg != null) { + String filePath = FilePathEnum.elmeShare.getPath() + "-" + uid + "-" + + UUID.randomUUID().toString().replace("-", "") + ".png"; + FileUploadResult uploadResult = COSManager.getInstance().uploadFile(elmeShareImg, filePath); + if (uploadResult != null) + info.setQrCodeImg(uploadResult.getUrl()); + } + + if (info.getQrCodeImg() == null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鍒嗕韩鍥剧敓鎴愬け璐�")); + return; + } + + } + + data.put("info", info); + + ClientTBPid clientTBPid1 = new ClientTBPid(TaoBaoConstant.TAOBAO_AUTH_APPKEY, + share ? TaoBaoConstant.TAOBAO_RELATION_PID_DEFAULT : TaoBaoConstant.TAOBAO_KOUBEI_PID, null, + TaoBaoConstant.TAOBAO_KOUBEI_PID.split("_")[3]); + clientTBPid1.setAdZoneId(clientTBPid1.getPid().split("_")[3]); + data.put("taoKeParams", clientTBPid1); + if (StringUtil.isNullOrEmpty(callback)) + out.print(JsonUtil.loadTrueResult(data)); + else + out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult(data))); + } + + /** + * 鑾峰彇楗夸簡涔堢殑鎺ㄥ箍閾炬帴 + * + * @param acceptData + * @param uid + * @param out + */ + @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("")); + + } + } -- Gitblit v1.8.0