|
@@ -1,8 +1,11 @@
|
|
|
package com.fdkankan.tracking.service.impl;
|
|
|
|
|
|
+import cn.hutool.core.bean.BeanUtil;
|
|
|
+import cn.hutool.core.collection.CollUtil;
|
|
|
import cn.hutool.extra.servlet.ServletUtil;
|
|
|
import cn.hutool.http.HttpUtil;
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
+import com.alibaba.fastjson.JSONArray;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.alibaba.fastjson.serializer.SerializerFeature;
|
|
|
import com.fdkankan.elasticsearch.service.DocumentService;
|
|
@@ -12,6 +15,7 @@ import com.fdkankan.tracking.vo.TrackingParamVo;
|
|
|
import com.fdkankan.tracking.service.TrackingService;
|
|
|
import com.fdkankan.tracking.utils.IpUtils;
|
|
|
import com.fdkankan.web.response.ResultData;
|
|
|
+import com.google.common.collect.Lists;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.elasticsearch.rest.RestStatus;
|
|
|
import org.slf4j.Logger;
|
|
@@ -24,8 +28,8 @@ import org.springframework.web.client.RestTemplate;
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
import java.io.IOException;
|
|
|
-import java.util.Calendar;
|
|
|
-import java.util.Objects;
|
|
|
+import java.util.*;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
@Slf4j
|
|
|
@Service
|
|
@@ -84,8 +88,27 @@ public class TrackingServiceImpl implements TrackingService {
|
|
|
trackingBody.setReferrerParam(reffer[1]);
|
|
|
}
|
|
|
|
|
|
+ //获取索引名
|
|
|
String index = trackingBody.getAppId().split("-")[0];
|
|
|
- RestStatus restStatus = documentService.addDocument(index, null, null, JSON.toJSONString(trackingBody));
|
|
|
+
|
|
|
+ Object data = trackingBody.getRequestData().get("data");
|
|
|
+ //如果是数组,需要拆解成多条数据入库
|
|
|
+ if(data instanceof Iterable){
|
|
|
+ List<LinkedHashMap> dataList = (List<LinkedHashMap>)data;
|
|
|
+ List<JSONObject> list = dataList.stream().map(item -> {
|
|
|
+ TrackingBody subBody = BeanUtil.copyProperties(trackingBody, TrackingBody.class);
|
|
|
+ subBody.getRequestData().put("data", item);
|
|
|
+ return JSON.parseObject(JSON.toJSONString(subBody));
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+ if(CollUtil.isEmpty(list)){
|
|
|
+ return ResultData.ok("data为空");
|
|
|
+ }
|
|
|
+ RestStatus restStatus = documentService.batchImportGoodsData(list, "aaaaa");
|
|
|
+ return ResultData.ok(restStatus.getStatus());
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ RestStatus restStatus = documentService.addDocument("index", null, null, JSON.toJSONString(trackingBody));
|
|
|
|
|
|
return ResultData.ok(restStatus.getStatus());
|
|
|
}
|