From 31a142ac391b474faa04d82971105cc608a0f973 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期日, 17 五月 2020 19:29:44 +0800 Subject: [PATCH] 新版饿了么相关接口添加 --- fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ConfigControllerV2.java | 129 ++++++++++++++++++++++++++++++++++++++---- 1 files changed, 115 insertions(+), 14 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 89fe953..698a481 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,17 +1,23 @@ 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; @@ -36,6 +42,8 @@ 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; @@ -43,7 +51,9 @@ 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; @@ -153,8 +163,8 @@ } else {// 鑰佷汉 data.put("userTimeType", 1); } - data.put("hotFuctionLink", - configService.getByVersion(ConfigKeyEnum.hotFunctionUrl.getKey(), platform, Integer.parseInt(acceptData.getVersion()))); + data.put("hotFuctionLink", configService.getByVersion(ConfigKeyEnum.hotFunctionUrl.getKey(), platform, + Integer.parseInt(acceptData.getVersion()))); out.print(JsonUtil.loadTrueResult(data)); } @@ -168,23 +178,23 @@ public void getHomeConfigNew(AcceptData acceptData, Long uid, String callback, PrintWriter out) { if (uid != null && uid == 0L) uid = null; - - String platform = acceptData.getPlatform(); + + 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) ); + 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()))) { + if (typeEnum == FloatADTypeEnum.newUserRedPack && (!VersionUtil.greaterThan_2_0_5(platform, version) + || !userTaoLiJinNewbiesService.verifyHasReward(uid, acceptData.getDevice()))) { listAD.remove(i); i--; @@ -260,7 +270,8 @@ } // 鏄惁闇�瑕佽喘鐗╁煄杞摼 - boolean convert = "0".equalsIgnoreCase(configService.get(ConfigKeyEnum.showTaobaoCartConvert.getKey())) ? false : true; + boolean convert = "0".equalsIgnoreCase(configService.get(ConfigKeyEnum.showTaobaoCartConvert.getKey())) ? false + : true; if (!"cart".equalsIgnoreCase(position) && !convert) { out.print(JsonUtil.loadFalseResult("")); @@ -393,7 +404,8 @@ public void getOrderConfig(AcceptData acceptData, PrintWriter out) { JSONObject data = new JSONObject(); // 娴嬭瘯 - data.put("showTaoBaoOrder", "0".equalsIgnoreCase(configService.get(ConfigKeyEnum.showTaobaoOrder.getKey()).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)); } @@ -444,8 +456,10 @@ String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.elmeLink, uid + ""); String elmeLink = redisManager.getCommonString(key); if (StringUtil.isNullOrEmpty(elmeLink)) { - elmeLink = TaoKeApiUtil.officialActivityConvert(TaoBaoConstant.TAOBAO_ELEME_PID.split("_")[3], - "1571715733668", userInfoExtra.getRelationId()); + 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涓皬鏃� } @@ -471,6 +485,94 @@ } /** + * + * @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.banLiShopClass.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))); + } + + /** * 鑾峰彇楗夸簡涔堢殑鎺ㄥ箍閾炬帴 * * @param acceptData @@ -481,8 +583,7 @@ 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