From 81da61b828e29b7745e1382dfbbaeb685dc083ef Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 23 一月 2024 17:17:55 +0800
Subject: [PATCH] 抖音转链修改

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ConfigControllerV2.java |  187 +++++++++++++++++++++++++++++++++++-----------
 1 files changed, 142 insertions(+), 45 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..d4fe2b3 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,18 +1,30 @@
 package com.yeshi.fanli.controller.client.v2;
 
+import java.io.IOException;
 import java.io.InputStream;
 import java.io.PrintWriter;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.UUID;
 
 import javax.annotation.Resource;
 
+import com.yeshi.fanli.entity.SystemEnum;
+import com.yeshi.fanli.entity.SystemPIDInfo;
+import com.yeshi.fanli.entity.common.Config;
+import com.yeshi.fanli.exception.goods.ConvertLinkException;
+import com.yeshi.fanli.service.manger.PIDManager;
+import com.yeshi.fanli.service.manger.goods.ConvertLinkManager;
+import com.yeshi.fanli.util.email.MailSenderUtil;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.multipart.MultipartFile;
 import org.yeshi.utils.HttpUtil;
 import org.yeshi.utils.JsonUtil;
+import org.yeshi.utils.TimeUtil;
 import org.yeshi.utils.encrypt.DESUtil;
 import org.yeshi.utils.entity.FileUploadResult;
 import org.yeshi.utils.tencentcloud.COSManager;
@@ -76,12 +88,6 @@
     private TBPidService tbPidService;
 
     @Resource
-    private TaoBaoUnionConfigService taoBaoUnionConfigService;
-
-    @Resource
-    private UserInfoExtraService userInfoExtraService;
-
-    @Resource
     private FloatADService floatADService;
 
     @Resource
@@ -89,9 +95,6 @@
 
     @Resource
     private MsgDeviceReadStateService msgDeviceReadStateService;
-
-    @Resource
-    private UserTaoLiJinOriginService uerTaoLiJinOriginService;
 
     @Resource
     private UserActiveLogService userActiveLogService;
@@ -104,6 +107,12 @@
 
     @Resource
     private RedisManager redisManager;
+
+    @Resource
+    private PIDManager pidManager;
+
+    @Resource
+    private ConvertLinkManager convertLinkManager;
 
     /**
      * s 棣栭〉閰嶇疆淇℃伅
@@ -459,17 +468,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 +507,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 +536,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 +603,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 +617,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 +629,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 +686,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 +705,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 +721,36 @@
     @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;
+
+        boolean show = false;
+        try {
+            JSONObject configData = JSONObject.fromObject(value);
+            if (configData != null) {
+                String channel = acceptData.getChannel().toLowerCase();
+                if (configData.optString(channel) == null) {
+                    channel = "qq";
+                }
+                int version = configData.optInt(channel);
+
+
+                if (Integer.parseInt(acceptData.getVersion()) >= version) {
+                    show = false;
+                } else {
+                    show = true;
                 }
             }
+        } catch (Exception e) {
+
         }
 
+
         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));
     }
 
@@ -719,4 +766,54 @@
         data.put("link", configService.getValue(ConfigKeyEnum.accountLogoutProtocolLink.getKey(), acceptData.getSystem()));
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
     }
+
+    /**
+     * @return void
+     * @author hxh
+     * @description 闅愮鎶曡瘔
+     * @date 17:51 2021/10/18
+     * @param: acceptData
+     * @param: content
+     * @param: images
+     * @param: out
+     **/
+    @RequestMapping(value = "reportPrivacy")
+    public void reportPrivacy(AcceptData acceptData, String content, MultipartFile[] images, PrintWriter out) {
+        String urlList = "";
+        if (images != null && images.length > 0)
+            for (MultipartFile f : images) {
+                try {
+                    String name = TimeUtil.getGernalTime(System.currentTimeMillis(), "yyyyMMddHHmmssSSS") + "_" + ((int) (Math.random() * 100000)) + ".jpg";
+                    FileUploadResult result = COSManager.getInstance().uploadFile(f.getInputStream(), "privacy/report/" + name);
+                    if (result != null)
+                        urlList += result.getUrl() + " , ";
+                } catch (IOException e) {
+                    e.printStackTrace();
+                }
+            }
+        String title = null;
+        try {
+            title = "闅愮鎶曡瘔锛�" + URLDecoder.decode(content, "UTF-8");
+        } catch (UnsupportedEncodingException e) {
+            e.printStackTrace();
+        }
+        StringBuffer buffer = new StringBuffer();
+        buffer.append("鍖呭悕锛�" + acceptData.getPackages());
+        buffer.append("\n\r");
+        buffer.append("UTDID锛�" + acceptData.getUtdid());
+        buffer.append("\n\r");
+        buffer.append("DEVICE锛�" + acceptData.getDevice());
+        buffer.append("\n\r");
+        buffer.append("鎶曡瘔鍐呭锛�");
+        buffer.append(content);
+        buffer.append("\n\r");
+        buffer.append("鎻愪緵鐨勬埅鍥句负锛�" + urlList);
+
+        Config config = configService.getConfig(ConfigKeyEnum.extractCodeEmailFrom.getKey(), acceptData.getSystem());
+        String[] sts = config.getValue().split(",");
+        String account = sts[0];
+        String pwd = sts[1];
+        MailSenderUtil.sendEmail("help@banliapp.com", account, pwd, title, buffer.toString());
+        out.print(JsonUtil.loadTrueResult(""));
+    }
 }

--
Gitblit v1.8.0