修改伴随定时任务获取资源方法

parent 8b52cd4a
......@@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONObject;
import com.founder.interservice.model.AutoTbStRy;
import com.founder.interservice.regionalanalysis.model.RegionalTaskResultDetail;
import com.founder.interservice.service.IphoneTrackService;
import com.founder.interservice.service.PushWaDataService;
import com.founder.interservice.tracktraveltogether.model.TogetherTaskResult;
import com.founder.interservice.tracktraveltogether.model.TrackTogetherTask;
import com.founder.interservice.tracktraveltogether.repository.TogetherTaskResultRepository;
......@@ -21,10 +22,7 @@ import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import javax.persistence.criteria.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.*;
/**
* @ClassName: TogetherScheduledService
......@@ -38,10 +36,6 @@ import java.util.List;
@Async
public class TogetherScheduledService {
@Value(value = "${wabigdata.trackTravelTogetherForPhoneTaskStatus.url}")
private String TOGETHER_STATUS_URL; //获取任务状态
@Value(value = "${wabigdata.trackTravelTogetherForPhoneTaskInfo.url}")
private String TOGETHER_INFO_URL; //获取任务结果
@Autowired
private TrackTogetherTaskRepository taskRepository;
@Autowired
......@@ -51,6 +45,8 @@ public class TogetherScheduledService {
private IphoneTrackService iphoneTrackService; //调取网安数据接口
@Autowired
private TrackTogetherService togetherService; //调取网安数据接口
@Autowired
private PushWaDataService pushWaDataService;
/**
*
* @Description: 查取任务结果的定时方法
......@@ -78,18 +74,12 @@ public class TogetherScheduledService {
});
if(taskList != null && !taskList.isEmpty()){
for (TrackTogetherTask task:taskList) {
String status_url = TOGETHER_STATUS_URL + "&taskId="+task.getTaskId();
String statusStr = HttpUtil.getWaData(status_url);
//String statusStr = "{\"progress\":0.8,\"state\":\"TIMEOUT\"}";
System.out.println("statusStr ======================== " + statusStr);
JSONObject jsonObject = JSONObject.parseObject(statusStr);
String progress = jsonObject.getString("progress");
String state = jsonObject.getString("state");
Map<String,String> taskStatusMap = this.queryTaskStates(task.getTaskId());
String progress = taskStatusMap.get("progress");
String state = taskStatusMap.get("state");
if("1".equals(progress) && "FINISHED".equals(state)){
String info_url = TOGETHER_INFO_URL + "&taskId=" + task.getTaskId();
String taskInfoResult = HttpUtil.getWaData(info_url);
//String taskInfoResult = "{\"items\":[{\"count\":75,\"objectType\":4394,\"objectTypeName\":\"电话号码\",\"objectValue\":\"460013088311061\"},{\"count\":70,\"objectType\":4394,\"objectTypeName\":\"电话号码\",\"objectValue\":\"460029233464484\"},{\"count\":65,\"objectType\":4394,\"objectTypeName\":\"电话号码\",\"objectValue\":\"460013022609934\"},{\"count\":63,\"objectType\":4394,\"objectTypeName\":\"电话号码\",\"objectValue\":\"460013312607010\"},{\"count\":57,\"objectType\":4394,\"objectTypeName\":\"电话号码\",\"objectValue\":\"460018669002987\"},{\"count\":53,\"objectType\":4394,\"objectTypeName\":\"电话号码\",\"objectValue\":\"460008397079525\"},{\"count\":53,\"objectType\":4394,\"objectTypeName\":\"电话号码\",\"objectValue\":\"460020523597601\"},{\"count\":53,\"objectType\":4394,\"objectTypeName\":\"电话号码\",\"objectValue\":\"460003164872839\"}],\"taskId\":\"98f6bcd4621d373cade4e832627b4f6-540-xzxt-api-3-1536231954767\"}";
getAndSaveInfo(taskInfoResult,task);
String taskInfoResult = pushWaDataService.getTogetherTaskInfo(task.getTaskId());
getAndSaveInfo(taskInfoResult,task);
}
if(!state.equals(task.getState())){
updateTaskStates(task.getTaskId(),progress,state); //修改任务状态
......@@ -103,24 +93,29 @@ public class TogetherScheduledService {
public void getAndSaveInfo(String taskInfoResult,TrackTogetherTask task) throws RuntimeException{
try{
JSONObject o = JSONObject.parseObject(taskInfoResult);
JSONArray jsonArray = o.getJSONArray("items");
if(jsonArray != null && jsonArray.size() > 0){
List<TogetherTaskResult> taskResults = jsonArray.toJavaList(TogetherTaskResult.class);
taskResults = removeDuplicate(taskResults);
if(taskResults != null && !taskResults.isEmpty()){
for (TogetherTaskResult r:taskResults) {
r.setTaskId(task.getTaskId());
r.setXXZJBH(KeyUtil.getUniqueKey("TT"));
r.setDjsj(new Date());
}
TogetherTaskResult param = new TogetherTaskResult();
param.setTaskId(task.getTaskId());
Example<TogetherTaskResult> example = Example.of(param);
List<TogetherTaskResult> results = taskResultRepository.findAll(example);
if(results == null || results.isEmpty()){
taskResultRepository.save(taskResults);
getAndSaveRydetail(taskResults);
if(null != taskInfoResult && taskInfoResult.startsWith("{")) {
JSONObject o = JSONObject.parseObject(taskInfoResult);
JSONObject jsonObject = o.getJSONObject("data");
if (null !=jsonObject) {
JSONArray childrens = jsonObject.getJSONArray("results");
if (childrens != null && childrens.size() > 0) {
List<TogetherTaskResult> taskResults = childrens.toJavaList(TogetherTaskResult.class);
taskResults = removeDuplicate(taskResults);
if (taskResults != null && !taskResults.isEmpty()) {
for (TogetherTaskResult r : taskResults) {
r.setTaskId(task.getTaskId());
r.setXXZJBH(KeyUtil.getUniqueKey("TT"));
r.setDjsj(new Date());
}
TogetherTaskResult param = new TogetherTaskResult();
param.setTaskId(task.getTaskId());
Example<TogetherTaskResult> example = Example.of(param);
List<TogetherTaskResult> results = taskResultRepository.findAll(example);
if (results == null || results.isEmpty()) {
taskResultRepository.save(taskResults);
getAndSaveRydetail(taskResults);
}
}
}
}
}
......@@ -142,42 +137,49 @@ public class TogetherScheduledService {
if (objValue != null && !"".equals(objValue)) {
//MAC地址、用户名、淘宝旺旺号不去调取关联数据,其它类型都使用第四个接口调取
if (!Arrays.asList("4329", "4342","45282").contains(objType)) {
JSONObject jsonObj = iphoneTrackService.getObjectRelationAll(objValue);//使用网安第三个接口调取关联数据
if (jsonObj != null && !jsonObj.isEmpty()) { //说明根节点是身份证号
String results =pushWaDataService.pushRelationAll(DateUtil.getYYYYMMDD(),DateUtil.getYYYYMMDDHHMM(),"admin",objValue,3);
JSONObject jsonObj = new JSONObject();
if(null != results && results.startsWith("{")){
jsonObj = JSONObject.parseObject(results);
}
if (jsonObj != null && !jsonObj.isEmpty()) {
JSONObject dataObj = jsonObj.getJSONObject("data");
RegionalTaskResultDetail detail = new RegionalTaskResultDetail();
detail.setTaskResultId(result.getXXZJBH());
detail.setXXZJBH(KeyUtil.getUniqueKey("EDZ"));
detail.setObjectType(objType);
detail.setObjectValue(objValue);
detail.setObjectTypeName(objName);
String objType2 = jsonObj.getString("objType");
String objValue2 = jsonObj.getString("objValue");
if("1".equals(objType2) && !objValue2.isEmpty()){
detail.setZjlxCode("004");
detail.setZjlx("身份证号");
detail.setZjhm(objValue2);
detail = getEdzxxForSfzh(detail); //获取二代证信息
//根据身份证判断是否存在 如果存在更新 不存在新增
RegionalTaskResultDetail param = new RegionalTaskResultDetail();
param.setObjectType(objType);
param.setObjectValue(objValue);
boolean isExist = togetherService.togetherDetailIsExist(param);
if (!isExist) {
togetherService.saveTogetherDetail(detail);
} else {
togetherService.updateTogetherDetail(detail);
}
}else if(Arrays.asList("20","4394","3996","6003").contains(objType2)){
//手机号码
detail.setSjhm(objValue2);
RegionalTaskResultDetail param = new RegionalTaskResultDetail();
param.setObjectType(objType);
param.setObjectValue(objValue);
boolean isExist = togetherService.togetherDetailIsExist(param);
if (!isExist) {
togetherService.saveTogetherDetail(detail);
} else {
togetherService.updateTogetherDetail(detail);
if(null != dataObj){
String objType2 = dataObj.getString("objType");
String objValue2 = dataObj.getString("objValue");
if("1".equals(objType2) && !objValue2.isEmpty()){
detail.setZjlxCode("004");
detail.setZjlx("身份证号");
detail.setZjhm(objValue2);
detail = getEdzxxForSfzh(detail); //获取二代证信息
//根据身份证判断是否存在 如果存在更新 不存在新增
RegionalTaskResultDetail param = new RegionalTaskResultDetail();
param.setObjectType(objType);
param.setObjectValue(objValue);
boolean isExist = togetherService.togetherDetailIsExist(param);
if (!isExist) {
togetherService.saveTogetherDetail(detail);
} else {
togetherService.updateTogetherDetail(detail);
}
}else if(Arrays.asList("20","4394","3996","6003").contains(objType2)){
//手机号码
detail.setSjhm(objValue2);
RegionalTaskResultDetail param = new RegionalTaskResultDetail();
param.setObjectType(objType);
param.setObjectValue(objValue);
boolean isExist = togetherService.togetherDetailIsExist(param);
if (!isExist) {
togetherService.saveTogetherDetail(detail);
} else {
togetherService.updateTogetherDetail(detail);
}
}
}
}
......@@ -242,4 +244,27 @@ public class TogetherScheduledService {
}
return list;
}
/**
* 调用新版接口获取任务状态
* @param taskId
* @return
*/
public Map<String,String> queryTaskStates(String taskId){
JSONObject jsonObject = null;
String progress=null ,state=null;
Map<String,String> map = new HashMap();
String result = pushWaDataService.pushTaskStatus(taskId,0);
if(null != result && result.startsWith("{")){
jsonObject = JSONObject.parseObject(result);
}
if(jsonObject!=null){
JSONObject JSONObjectData = jsonObject.getJSONObject("data");
progress = JSONObjectData.getString("progress"); //进度
state = JSONObjectData.getString("state"); //状态
}
map.put("progress",progress);
map.put("state",state);
return map;
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment