写的定时任务,日志总打到一半就开始重新打
@Override
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
System.out.println(n++);
Map<String, TempSportData> lastMap=new HashMap<>();
//发请求
String json=Utils.sendGet();
String str=json.substring(1, json.length()-1);
String arrStr[]= str.split("force");
System.out.println(arrStr.length);
Map<String,TempSportData> map=new HashMap<>();
if(arrStr.length > arrStr[0].length()) {
for(String s:arrStr){
System.out.println(s);
String objArr[]=s.split(",");
if(objArr.length>=7) {
TempSportData tsd=new TempSportData();
tsd.setForce(Integer.valueOf(objArr[0].split(":")[1]));
tsd.setKm(Double.valueOf(objArr[1].split(":")[1]));
tsd.setDevId(objArr[2].split(":")[1]);
tsd.setSpeed(Double.valueOf(objArr[4].split(":")[1]));
tsd.setCount(Integer.valueOf(objArr[6].split(":")[1]));
System.out.println(tsd.getDevId()+"-------"+tsd.getCount());
map.put(tsd.getDevId(), tsd);
}
}
}
if(lastMap.isEmpty()) {
lastMap.putAll(map);
return;
}
if(lastMap!=null && map!=null) {
for(String str1:map.keySet()) {
if(lastMap.get(str1)!=null) {
int res=map.get(str1).getCount()-lastMap.get(str1).getCount();
String printTime = new SimpleDateFormat("yy-MM-dd HH-mm-ss").format(new Date());
System.out.println(printTime+"----------!"+res);
if(res<=0) {
String log=printTime+map.get(str1).getDevId()+"---"+map.get(str1).getCount()+"-"+lastMap.get(str1).getCount();
System.out.println("错误日志!");
Utils.writeLog(new File(file),log);
}else{
System.out.println("正确日志!");
Utils.writeLog(new File(zhengquefile),printTime+map.get(str1).getDevId());
}
}
}
}
}