增加配置同步信息界面,配置同步过程中,不允许用户操作业务配置。
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
package com.nis.web.controller.configuration;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@@ -9,11 +10,13 @@ import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import net.sf.json.JSONObject;
|
||||
|
||||
import org.apache.commons.httpclient.util.DateUtil;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.Model;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
|
||||
import com.beust.jcommander.internal.Maps;
|
||||
import com.nis.domain.FunctionServiceDict;
|
||||
import com.nis.domain.Page;
|
||||
import com.nis.domain.SysDataDictionaryItem;
|
||||
@@ -23,6 +26,7 @@ import com.nis.domain.maat.ToMaatResult;
|
||||
import com.nis.util.CacheUtils;
|
||||
import com.nis.util.ConfigServiceUtil;
|
||||
import com.nis.util.Constants;
|
||||
import com.nis.util.DateUtils;
|
||||
import com.nis.util.DictUtils;
|
||||
import com.nis.util.StringUtil;
|
||||
import com.nis.web.controller.BaseController;
|
||||
@@ -37,12 +41,16 @@ import com.nis.web.service.BaseService;
|
||||
@RequestMapping("${adminPath}/config/synchronization")
|
||||
public class ConfigSynchronizationController extends BaseController {
|
||||
|
||||
@RequestMapping(value = {"configSyncInfo"})
|
||||
public String configSyncInfo(Model model){
|
||||
return "/sys/configSyncInfo";
|
||||
}
|
||||
/**
|
||||
* @param cmd 0为取消同步,1为同步
|
||||
* 下发同步命令
|
||||
*/
|
||||
@RequestMapping(value = {"cmd"})
|
||||
public String cmd(Model model,Integer cmd,HttpServletRequest request,HttpServletResponse response){
|
||||
@RequestMapping(value = {"configSync"})
|
||||
public String configSync(Model model,Integer cmd,HttpServletRequest request,HttpServletResponse response){
|
||||
Map<String,Integer> map = new HashMap();
|
||||
map.put("syncStatus", cmd);
|
||||
JSONObject result = ConfigServiceUtil.configSyncCmd(BaseService.gsonToJson(map));
|
||||
@@ -52,10 +60,13 @@ public class ConfigSynchronizationController extends BaseController {
|
||||
sysDictName.setMark("currrent_sync_status");
|
||||
List<SysDataDictionaryName> dictList = dictService.findDicByName(sysDictName);
|
||||
if(!StringUtil.isEmpty(dictList)){
|
||||
List<SysDataDictionaryItem> itemList = dictList.get(0).getDictItemList();
|
||||
SysDataDictionaryName dict = dictList.get(0);
|
||||
List<SysDataDictionaryItem> itemList = dict.getDictItemList();
|
||||
if(!StringUtil.isEmpty(itemList)){
|
||||
SysDataDictionaryItem item = itemList.get(0);
|
||||
item.setDictionaryId(dict.getId().intValue());
|
||||
item.setItemValue("0");//0为开始同步
|
||||
item.setItemDesc("最近一次同步时间:"+DateUtils.formatDateTime(new Date()));//记录本次同步时间
|
||||
dictService.updateDictItem(item);
|
||||
//删除字典缓存
|
||||
CacheUtils.remove(Constants.CACHE_DICT_MAP);
|
||||
@@ -66,8 +77,7 @@ public class ConfigSynchronizationController extends BaseController {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
return "";
|
||||
return "/sys/configSyncInfo";
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -75,34 +85,34 @@ public class ConfigSynchronizationController extends BaseController {
|
||||
*/
|
||||
@RequestMapping(value = {"send"})
|
||||
public void send(Model model,HttpServletRequest request,HttpServletResponse response){
|
||||
int status = 1;
|
||||
int status = 0;
|
||||
try {
|
||||
configSynchronizationService.send(request,response,null);
|
||||
status = 1;
|
||||
} catch (NoSuchFieldException e) {
|
||||
e.printStackTrace();
|
||||
status = 0;
|
||||
} catch (SecurityException e) {
|
||||
e.printStackTrace();
|
||||
status = 0;
|
||||
} catch (IllegalArgumentException e) {
|
||||
e.printStackTrace();
|
||||
status = 0;
|
||||
} catch (IllegalAccessException e) {
|
||||
e.printStackTrace();
|
||||
status = 0;
|
||||
} catch (ClassNotFoundException e) {
|
||||
e.printStackTrace();
|
||||
status = 0;
|
||||
}catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}finally{
|
||||
if(status==0){
|
||||
SysDataDictionaryName sysDictName = new SysDataDictionaryName();
|
||||
sysDictName.setMark("currrent_sync_status");
|
||||
List<SysDataDictionaryName> dictList = dictService.findDicByName(sysDictName);
|
||||
if(!StringUtil.isEmpty(dictList)){
|
||||
List<SysDataDictionaryItem> itemList = dictList.get(0).getDictItemList();
|
||||
SysDataDictionaryName dict = dictList.get(0);
|
||||
List<SysDataDictionaryItem> itemList = dict.getDictItemList();
|
||||
if(!StringUtil.isEmpty(itemList)){
|
||||
SysDataDictionaryItem item = itemList.get(0);
|
||||
item.setItemValue("-1");//下发过程中失败
|
||||
item.setDictionaryId(dict.getId().intValue());
|
||||
item.setItemValue("-2");//界面组织数据失败
|
||||
dictService.updateDictItem(item);
|
||||
//删除字典缓存
|
||||
CacheUtils.remove(Constants.CACHE_DICT_MAP);
|
||||
@@ -110,10 +120,9 @@ public class ConfigSynchronizationController extends BaseController {
|
||||
}
|
||||
Map<String,Integer> map = new HashMap();
|
||||
map.put("syncStatus", 1);
|
||||
JSONObject result = ConfigServiceUtil.configSyncCmd(BaseService.gsonToJson(map));//取消
|
||||
if(result.get("status").equals(200)){//取消下发成功
|
||||
|
||||
}
|
||||
JSONObject result = ConfigServiceUtil.configSyncCmd(BaseService.gsonToJson(map));//取消同步
|
||||
}else{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -122,33 +131,42 @@ public class ConfigSynchronizationController extends BaseController {
|
||||
*/
|
||||
@RequestMapping(value = {"getStatus"})
|
||||
@ResponseBody
|
||||
public String getStatus(Model model){
|
||||
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 status = map.get("status").toString();
|
||||
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(!status.equals(item.getItemValue())){//如果状态不同,则更新状态
|
||||
item.setDictionaryId(dict.getId().intValue());
|
||||
item.setItemValue(status);
|
||||
dictService.updateDictItem(item);
|
||||
//删除字典缓存
|
||||
CacheUtils.remove(Constants.CACHE_DICT_MAP);
|
||||
public Map<String,Object> getStatus(Model model){
|
||||
String currentStatus = DictUtils.getDictLabel("currrent_sync_status", "status","0");
|
||||
String successStatus = DictUtils.getDictCode("config_sync_status", "finish","3");
|
||||
String serverFailStatus = DictUtils.getDictCode("config_sync_status", "serverFail","-1");
|
||||
String failStatus = DictUtils.getDictCode("config_sync_status", "fail","-2");
|
||||
Map<String,Object> map = Maps.newHashMap();
|
||||
if(!currentStatus.equals(successStatus) && !currentStatus.equals(failStatus) && !currentStatus.equals(serverFailStatus)){
|
||||
JSONObject result = ConfigServiceUtil.configSyncStatus();//获取同步状态
|
||||
if(result.get("status").equals(200)){
|
||||
List<Map<String,Object>> list = result.getJSONArray("data");
|
||||
if(!StringUtil.isEmpty(list)){
|
||||
map = list.get(0);
|
||||
String status = map.get("status").toString();
|
||||
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(!status.equals(item.getItemValue())){//如果状态不同,则更新状态
|
||||
item.setDictionaryId(dict.getId().intValue());
|
||||
item.setItemValue(status);
|
||||
dictService.updateDictItem(item);
|
||||
//删除字典缓存
|
||||
CacheUtils.remove(Constants.CACHE_DICT_MAP);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}else{
|
||||
map.put("status",currentStatus);
|
||||
}
|
||||
return "";
|
||||
return map;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user