yumeng 8 months ago
parent
commit
254ec6d6f6

+ 6 - 0
pom.xml

@@ -23,6 +23,12 @@
     </properties>
     <dependencies>
         <dependency>
+            <groupId>com.alipay.sdk</groupId>
+            <artifactId>alipay-sdk-java</artifactId>
+            <version>4.39.218.ALL</version>
+        </dependency>
+
+        <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-web</artifactId>
 <!--            <exclusions>-->

+ 39 - 8
src/main/java/cn/com/ctop/track/controller/TrackController.java

@@ -83,8 +83,24 @@ public class TrackController {
             click1ExecutorService.submit(new Runnable() {
                 @Override
                 public void run() {
-                    String s = HttpUtils.httpGetRequest(url, headers, params);
-                    logger.info("快手点击监测1上报客户返回结果:" + s);
+                    if (Check.isNull(oaidmd5) && Check.isNull(imei)) {
+                        return;
+                    }
+                    JSONObject json = clickInfoService.getRtaInfo(oaidmd5, imei, null);
+                    if (!Check.isNull(json)) {
+                        Integer code = json.getInteger("code");
+                        if (code == 10000) {
+                            Boolean requiredFlow = json.getBoolean("requiredFlow");
+                            if (requiredFlow) {
+                                String s = HttpUtils.httpGetRequest(url, headers, params);
+                                logger.info("快手点击监测1上报客户返回结果:" + s);
+                            } else {
+                                logger.info("客户rta返回结果为false,停止上报数据");
+                            }
+                        } else {
+                            logger.info("调用rta返回结果错误:" + json);
+                        }
+                    }
                 }
             });
             returnJson.put("code", 200);
@@ -104,7 +120,7 @@ public class TrackController {
     public JSONObject click2(HttpServletRequest request,
                              HttpServletResponse response) {
 
-        logger.info("快手点击监测回传2开始,回调值:" + request.getQueryString());
+        logger.info("新沉流快手点击监测回传开始,回调值:" + request.getQueryString());
         JSONObject returnJson = new JSONObject();
         try {
             //test
@@ -144,12 +160,27 @@ public class TrackController {
                 String callbackUrl = "https://track.tjyourong.com.cn/convert/back2?kuaishouCallback=" + callback;
                 params.put("callback", callbackUrl);
             }
-
             click2ExecutorService.submit(new Runnable() {
                 @Override
                 public void run() {
-                    String s = HttpUtils.httpGetRequest(url, headers, params);
-                    logger.info("快手点击监测2上报客户返回结果:" + s);
+                    if (Check.isNull(oaidmd5) && Check.isNull(imei)) {
+                        return;
+                    }
+                    JSONObject json = clickInfoService.getRtaInfo(oaidmd5, imei, null);
+                    if (!Check.isNull(json)) {
+                        Integer code = json.getInteger("code");
+                        if (code == 10000) {
+                            Boolean requiredFlow = json.getBoolean("requiredFlow");
+                            if (requiredFlow) {
+                                String s = HttpUtils.httpGetRequest(url, headers, params);
+                                logger.info("新沉流快手点击监测上报客户返回结果:" + s);
+                            } else {
+                                logger.info("新沉流客户rta返回结果为false,停止上报数据");
+                            }
+                        } else {
+                            logger.info("新沉流调用rta返回结果错误:" + json);
+                        }
+                    }
                 }
             });
             returnJson.put("code", 200);
@@ -208,7 +239,7 @@ public class TrackController {
     public JSONObject back2(HttpServletRequest request,
                             HttpServletResponse response) {
 
-        logger.info("支付宝唤起回传2开始,回传值:" + request.getQueryString());
+        logger.info("新沉流支付宝客户唤起回传开始,回传值:" + request.getQueryString());
         JSONObject returnJson = new JSONObject();
         try {
             String url = request.getParameter("kuaishouCallback");
@@ -225,7 +256,7 @@ public class TrackController {
                     @Override
                     public void run() {
                         String s = HttpUtils.backHttpGetRequest(url, headers, event_type);
-                        logger.info("回传媒体唤起结果2返回结果:" + s);
+                        logger.info("新沉流回传媒体唤起结果返回结果:" + s);
                     }
                 });
                 returnJson.put("code", 200);

+ 4 - 0
src/main/java/cn/com/ctop/track/service/ClickInfoService.java

@@ -1,7 +1,11 @@
 package cn.com.ctop.track.service;
 
 import cn.com.ctop.track.entity.ClickInfo;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.TreeMap;
+
 public interface ClickInfoService extends IService<ClickInfo> {
+    JSONObject getRtaInfo(String oaid, String imei, String type);
 }

File diff suppressed because it is too large
+ 89 - 0
src/main/java/cn/com/ctop/track/service/impl/ClickInfoServiceImpl.java


+ 59 - 0
src/main/java/cn/com/ctop/track/utils/AlipayUserInviteRtaConsult.java

@@ -0,0 +1,59 @@
+package cn.com.ctop.track.utils;
+import com.alipay.api.AlipayApiException;
+import com.alipay.api.AlipayClient;
+import com.alipay.api.DefaultAlipayClient;
+import com.alipay.api.AlipayConfig;
+import com.alipay.api.request.AlipayUserInviteRtaConsultRequest;
+import com.alipay.api.response.AlipayUserInviteRtaConsultResponse;
+import com.alipay.api.domain.AlipayUserInviteRtaConsultModel;
+import com.alipay.api.FileItem;
+import java.util.Base64;
+
+public class AlipayUserInviteRtaConsult {
+
+
+    public static void main(String[] args) throws AlipayApiException {
+        // 初始化SDK
+        AlipayClient alipayClient = new DefaultAlipayClient(getAlipayConfig());
+        // 构造请求参数以调用接口
+        AlipayUserInviteRtaConsultRequest request = new AlipayUserInviteRtaConsultRequest();
+        AlipayUserInviteRtaConsultModel model = new AlipayUserInviteRtaConsultModel();
+        // 设置设备标识信息
+        model.setPrincipal("d5c631598a54d8bbfd1ac03e4b6b7806");
+        // 设置OpenId映射
+        model.setOpenId("暂无");
+        // 设置查询的设备类型(IMEI、IDFA、OAID、USERID、OPENID)
+        model.setPrincipalType("OAID");
+        // 设置加密类型
+        model.setEncryptType("MD5或者不填");
+        // 设置咨询策略组
+        model.setTargetCrowdPackageKey("M0004");
+        request.setBizModel(model);
+        // 第三方代调用模式下请设置app_auth_token
+        // request.putOtherTextParam("app_auth_token", "<-- 请填写应用授权令牌 -->");
+        AlipayUserInviteRtaConsultResponse response = alipayClient.execute(request);
+        System.out.println(response.getBody());
+        if (response.isSuccess()) {
+            System.out.println("调用成功");
+        } else {
+            System.out.println("调用失败");
+            // sdk版本是"4.38.0.ALL"及以上,可以参考下面的示例获取诊断链接
+            // String diagnosisUrl = DiagnosisUtils.getDiagnosisUrl(response);
+            // System.out.println(diagnosisUrl);
+        }
+    }
+    private static AlipayConfig getAlipayConfig() {
+        String privateKey = "<-- 请填写您的应用私钥,例如:MIIEvQIBADANB ... ... -->";
+        String alipayPublicKey = "<-- 请填写您的支付宝公钥,例如:MIIBIjANBg... -->";
+        AlipayConfig alipayConfig = new AlipayConfig();
+        alipayConfig.setServerUrl("https://openapi.alipay.com/gateway.do");
+        alipayConfig.setAppId("<-- 请填写您的AppId,例如:2019091767145019 -->");
+        alipayConfig.setPrivateKey(privateKey);
+        alipayConfig.setFormat("json");
+        alipayConfig.setAlipayPublicKey(alipayPublicKey);
+        alipayConfig.setCharset("UTF-8");
+        alipayConfig.setSignType("RSA2");
+        return alipayConfig;
+    }
+
+}