同步更新发起页面,在未获取最终状态时不返回,一分钟轮询一次直至返回最终状态
This commit is contained in:
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user