yumeng 8 月之前
父節點
當前提交
56df1f1a07

+ 22 - 2
src/main/java/cn/com/ctop/track/controller/TrackController.java

@@ -5,6 +5,7 @@ import cn.com.ctop.track.service.ConvertInfoService;
 import cn.com.ctop.track.service.TaobaoNoticeService;
 import cn.com.ctop.track.utils.Check;
 import cn.com.ctop.track.utils.HttpUtils;
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import org.apache.log4j.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -172,8 +173,27 @@ public class TrackController {
                         if (code == 10000) {
                             Boolean requiredFlow = json.getBoolean("requiredFlow");
                             if (requiredFlow) {
-                                String s = HttpUtils.httpGetRequest(url, headers, params);
-                                logger.info("新沉流快手点击监测上报客户返回结果:" + s);
+                                JSONArray rtaInfoList = json.getJSONArray("rtaInfoList");
+                                if (Check.isNull(rtaInfoList)) {
+                                    logger.info("rta返回策略列表为空,跳过上传");
+                                    return;
+                                }
+                                Boolean isRtaAccount = false;
+                                for (int i = 0; i < rtaInfoList.size(); i++) {
+                                    JSONObject jsonObject = rtaInfoList.getJSONObject(i);
+                                    String accountId = jsonObject.getString("account_id");
+                                    if ("tab3xcl".equals(accountId)) {
+                                        isRtaAccount = true;
+                                    }
+                                }
+                                if (isRtaAccount) {
+                                    String s = HttpUtils.httpGetRequest(url, headers, params);
+                                    logger.info("新沉流快手点击监测上报客户返回结果:" + s);
+                                } else {
+                                    logger.info("新沉流客户rta返回策略列表未命中:tab3xcl,停止上报数据,返回数据:" + json);
+
+                                }
+
                             } else {
                                 logger.info("新沉流客户rta返回结果为false,停止上报数据");
                             }

+ 3 - 2
src/main/java/cn/com/ctop/track/service/impl/ClickInfoServiceImpl.java

@@ -4,6 +4,7 @@ import cn.com.ctop.track.entity.ClickInfo;
 import cn.com.ctop.track.mapper.ClickInfoMapper;
 import cn.com.ctop.track.service.ClickInfoService;
 import cn.com.ctop.track.utils.Check;
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.alipay.api.AlipayApiException;
 import com.alipay.api.AlipayClient;
@@ -42,7 +43,6 @@ public class ClickInfoServiceImpl extends ServiceImpl<ClickInfoMapper, ClickInfo
             // 设置OpenId映射
             model.setOpenId("");
             model.setEncryptType("MD5");
-
             // 设置加密类型
 
             // 设置咨询策略组
@@ -51,7 +51,6 @@ public class ClickInfoServiceImpl extends ServiceImpl<ClickInfoMapper, ClickInfo
             // 第三方代调用模式下请设置app_auth_token
             // request.putOtherTextParam("app_auth_token", "<-- 请填写应用授权令牌 -->");
             AlipayUserInviteRtaConsultResponse response = alipayClient.execute(request);
-
             System.err.println("调用rta返回:" + JSONObject.parseObject(response.getBody()));
             if (response.isSuccess()) {
                 JSONObject jsonObject = JSONObject.parseObject(response.getBody());
@@ -63,6 +62,8 @@ public class ClickInfoServiceImpl extends ServiceImpl<ClickInfoMapper, ClickInfo
                     returnJson.put("code", alipayUserInviteRtaConsultResponse.getIntValue("code"));
                     returnJson.put("message", alipayUserInviteRtaConsultResponse.getString("msg"));
                     returnJson.put("requiredFlow", alipayUserInviteRtaConsultResponse.getBoolean("required_flow"));
+                    JSONArray rtaInfoList = alipayUserInviteRtaConsultResponse.getJSONArray("rta_info_list");
+                    returnJson.put("rtaInfoList", rtaInfoList);
                 }
             } else {
                 returnJson.put("code", "500");