同步更新发起页面,在未获取最终状态时不返回,一分钟轮询一次直至返回最终状态

This commit is contained in:
zhangwei
2018-12-05 17:09:40 +08:00
parent 0fd791a0e3
commit 489d4271b5

View File

@@ -126,6 +126,44 @@ public class ConfigSynchronizationController extends BaseController {
map.put("syncStatus", 0);
JSONObject result = ConfigServiceUtil.configSyncCmd(BaseService.gsonToJson(map));//取消同步
}else{
boolean isFinished = true;
while(isFinished){
JSONObject result = ConfigServiceUtil.configSyncStatus();//获取同步状态
if(result.get("status").equals(200)){
List<Map<String,Object>> list = result.getJSONArray("data");
if(!StringUtil.isEmpty(list)){
Map<String,Object> map = list.get(0);
String serverStatus = map.get("status").toString();
if(serverStatus.equals("-1")||serverStatus.equals("3")){
isFinished = false;
SysDataDictionaryName sysDictName = new SysDataDictionaryName();
sysDictName.setMark("currrent_sync_status");
List<SysDataDictionaryName> dictList = dictService.findDicByName(sysDictName);
if(!StringUtil.isEmpty(dictList)){
SysDataDictionaryName dict = dictList.get(0);
List<SysDataDictionaryItem> itemList =dict.getDictItemList();
if(!StringUtil.isEmpty(itemList)){
SysDataDictionaryItem item = itemList.get(0);
if(!serverStatus.equals(item.getItemValue())){//如果状态不同,则更新状态
item.setDictionaryId(dict.getId().intValue());
item.setItemValue(serverStatus);
dictService.updateDictItem(item);
//删除字典缓存
CacheUtils.remove(Constants.CACHE_DICT_MAP);
}
}
}
}
}
}
try{
Thread.sleep(60000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}