|
@@ -6,6 +6,8 @@ import cn.hutool.core.util.StrUtil;
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.fdkankan.elasticsearch.service.DocumentService;
|
|
|
+import com.fdkankan.redis.constant.RedisKey;
|
|
|
+import com.fdkankan.redis.util.RedisUtil;
|
|
|
import com.fdkankan.tracking.bean.TrackingBody;
|
|
|
import com.fdkankan.tracking.vo.TrackingParamVo;
|
|
|
import com.fdkankan.tracking.service.TrackingService;
|
|
@@ -28,29 +30,36 @@ public class TrackingServiceImpl implements TrackingService {
|
|
|
|
|
|
@Autowired
|
|
|
private DocumentService documentService;
|
|
|
+ @Autowired
|
|
|
+ private RedisUtil redisUtil;
|
|
|
|
|
|
@Override
|
|
|
public ResultData saveLog(TrackingParamVo param, HttpServletRequest request) throws Exception {
|
|
|
+
|
|
|
+ String index = param.getProduct();
|
|
|
+ if(StrUtil.isEmpty(index)){
|
|
|
+ return ResultData.ok();
|
|
|
+ }
|
|
|
+
|
|
|
TrackingBody trackingBody = param.getPayload();
|
|
|
if(ObjectUtils.isEmpty(trackingBody)){
|
|
|
return ResultData.ok();
|
|
|
}
|
|
|
+
|
|
|
+ String appId = trackingBody.getAppId();
|
|
|
+ appId = index.concat(appId.substring(appId.indexOf("-")));
|
|
|
+ trackingBody.setAppId(appId);
|
|
|
+
|
|
|
+ String redisIndex = redisUtil.hget(RedisKey.TRACK_APPID, appId);
|
|
|
+ if(StrUtil.isEmpty(redisIndex) || !redisIndex.equals(index)){
|
|
|
+ return ResultData.ok();
|
|
|
+ }
|
|
|
+
|
|
|
trackingBody.setUserAgent(request.getHeader("user-agent"));
|
|
|
trackingBody.setUserIP(WebUtil.getIpAddress(request));
|
|
|
trackingBody.setTime(Calendar.getInstance().getTime());
|
|
|
trackingBody.setSource("FRONT");
|
|
|
|
|
|
- String referrer = trackingBody.getReferrer();
|
|
|
- if(StrUtil.isNotEmpty(referrer)){
|
|
|
- URI uri = new URI(referrer);
|
|
|
- trackingBody.setScheme(uri.getScheme());
|
|
|
- trackingBody.setHost(uri.getHost());
|
|
|
- trackingBody.setPath(uri.getPath());
|
|
|
- }
|
|
|
-
|
|
|
- //获取索引名
|
|
|
- String index = trackingBody.getAppId().split("-")[0];
|
|
|
-
|
|
|
JSONObject requestData = trackingBody.getRequestData();
|
|
|
|
|
|
if(Objects.nonNull(requestData)){
|
|
@@ -75,4 +84,10 @@ public class TrackingServiceImpl implements TrackingService {
|
|
|
|
|
|
return ResultData.ok(restStatus.getStatus());
|
|
|
}
|
|
|
+
|
|
|
+ public static void main(String[] args) {
|
|
|
+ String appid = "7b5958d5-1ae6-4ad5-8a87-5fc8a4b92999";
|
|
|
+ System.out.println(appid.substring(appid.indexOf("-")));
|
|
|
+
|
|
|
+ }
|
|
|
}
|