|
@ -153,7 +153,7 @@ public class CurrentMysqlToEsQuotaJob implements Job {
|
|
|
//3.统计数据
|
|
|
List<SaveModel> sms = compute(filterModel.getData(), dimensionQuotas, timeLevel, one);
|
|
|
//4.更新数据
|
|
|
Boolean success = updateData(sms, quotaDate, one.getId(), timeLevel,dimensionQuotas.size());
|
|
|
Boolean success = updateData(sms, quotaDate, one.getId(), timeLevel, dimensionQuotas.size());
|
|
|
|
|
|
tjQuotaLog.setJobType(success ? "1" : "0");
|
|
|
tjQuotaLog.setJobEndTime(new Date());
|
|
@ -171,14 +171,16 @@ public class CurrentMysqlToEsQuotaJob implements Job {
|
|
|
|
|
|
/**
|
|
|
* 删除 某个指标某一天的某个timelevel的数据
|
|
|
* @param quotaDate
|
|
|
*
|
|
|
* @param quotaDate
|
|
|
* @param quotaCode
|
|
|
* @param timeLevel
|
|
|
* @param size
|
|
|
*/
|
|
|
private boolean updateData(List<SaveModel> sms, Date quotaDate, String quotaCode, String timeLevel, int size) {
|
|
|
JestClient jestClient = null;
|
|
|
try {
|
|
|
JestClient jestClient = elasticFactory.getJestClient();
|
|
|
jestClient = elasticFactory.getJestClient();
|
|
|
//先根据条件查找出来
|
|
|
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
|
|
|
searchSourceBuilder.query(
|
|
@ -195,19 +197,19 @@ public class CurrentMysqlToEsQuotaJob implements Job {
|
|
|
List<SaveModel> quarySaveModels = result.getSourceAsObjectList(SaveModel.class);
|
|
|
//如果之前有值就用查询出来的然后修改数目即可
|
|
|
if (quarySaveModels != null && quarySaveModels.size() > 0) {
|
|
|
List<SaveModel> saveModels=new ArrayList<>();
|
|
|
List<SaveModel> saveModels = new ArrayList<>();
|
|
|
//把新的值赋值给ES查询出来的值
|
|
|
Map<String,SaveModel> newSaveModelMaps=new HashMap<>();
|
|
|
Map<String, SaveModel> newSaveModelMaps = new HashMap<>();
|
|
|
//list转map
|
|
|
for(SaveModel newSaveModel:sms){
|
|
|
StringBuffer key=new StringBuffer(newSaveModel.getTeam()+"-"+newSaveModel.getSlaveKey1()+"-"+newSaveModel.getSlaveKey2()+"-"+newSaveModel.getSlaveKey3()+"-"+newSaveModel.getSlaveKey4());
|
|
|
newSaveModelMaps.put(key.toString(),newSaveModel);
|
|
|
for (SaveModel newSaveModel : sms) {
|
|
|
StringBuffer key = new StringBuffer(newSaveModel.getTeam() + "-" + newSaveModel.getSlaveKey1() + "-" + newSaveModel.getSlaveKey2() + "-" + newSaveModel.getSlaveKey3() + "-" + newSaveModel.getSlaveKey4());
|
|
|
newSaveModelMaps.put(key.toString(), newSaveModel);
|
|
|
}
|
|
|
|
|
|
for (SaveModel esSavemodel : quarySaveModels) {
|
|
|
StringBuffer key=new StringBuffer(esSavemodel.getTeam()+"-"+esSavemodel.getSlaveKey1()+"-"+esSavemodel.getSlaveKey2()+"-"+esSavemodel.getSlaveKey3()+"-"+esSavemodel.getSlaveKey4());
|
|
|
SaveModel newSaveMode=newSaveModelMaps.get(key.toString());
|
|
|
if(newSaveMode!=null){
|
|
|
StringBuffer key = new StringBuffer(esSavemodel.getTeam() + "-" + esSavemodel.getSlaveKey1() + "-" + esSavemodel.getSlaveKey2() + "-" + esSavemodel.getSlaveKey3() + "-" + esSavemodel.getSlaveKey4());
|
|
|
SaveModel newSaveMode = newSaveModelMaps.get(key.toString());
|
|
|
if (newSaveMode != null) {
|
|
|
esSavemodel.setResult1(newSaveMode.getResult1());
|
|
|
esSavemodel.setResult2(newSaveMode.getResult2());
|
|
|
esSavemodel.setCreateTime(new Date());
|
|
@ -220,6 +222,10 @@ public class CurrentMysqlToEsQuotaJob implements Job {
|
|
|
}
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
} finally {
|
|
|
if (jestClient != null) {
|
|
|
jestClient.shutdownClient();
|
|
|
}
|
|
|
}
|
|
|
return false;
|
|
|
}
|