修改回调类配置状态更新处理逻辑

This commit is contained in:
zhangdongxu
2018-08-21 19:38:18 +08:00
parent fa58b0b584
commit af7767a3d0
7 changed files with 91 additions and 34 deletions

View File

@@ -20,6 +20,7 @@ public class CommonSourceFieldCfg {
private String defaultVal;
private String regexp;
private Boolean isSrcInfo=false;
private Boolean isCfgId=false;
public CommonSourceFieldCfg() {
super();
@@ -37,7 +38,7 @@ public class CommonSourceFieldCfg {
*/
public CommonSourceFieldCfg(String fieldType, String srcName,
String dstName, String range, Boolean isRequired,
String defaultVal, String regexp,Boolean isSrcInfo) {
String defaultVal, String regexp,Boolean isSrcInfo,Boolean isCfgId) {
super();
this.fieldType = fieldType;
this.srcName = srcName;
@@ -47,6 +48,7 @@ public class CommonSourceFieldCfg {
this.defaultVal = defaultVal;
this.regexp = regexp;
this.isSrcInfo = isSrcInfo;
this.isCfgId = isCfgId;
}
public String getSrcName() {
@@ -117,4 +119,19 @@ public class CommonSourceFieldCfg {
public void setIsSrcInfo(Boolean isSrcInfo) {
this.isSrcInfo = isSrcInfo;
}
/**
* @return the isCfgId
*/
public Boolean getIsCfgId() {
return isCfgId;
}
/**
* @param isCfgId the isCfgId to set
*/
public void setIsCfgId(Boolean isCfgId) {
this.isCfgId = isCfgId;
}
}

View File

@@ -94,6 +94,9 @@ public class ReadCommSourceXmlUtil {
if (!StringUtil.isEmpty(field.attribute("isSrcInfo"))) {
fieldCfg.setIsSrcInfo(Boolean.valueOf(field.attribute("isSrcInfo").getValue()));
}
if (!StringUtil.isEmpty(field.attribute("isCfgId"))) {
fieldCfg.setIsCfgId(Boolean.valueOf(field.attribute("isCfgId").getValue()));
}
cfgList.add(fieldCfg);
}
commonSourceCfgMap.put(serviceId.trim(), cfgList);

View File

@@ -179,9 +179,15 @@ public class ConfigJedisServiceimpl implements ConfigRedisService {
} catch (Exception e) {
transaction.discard();
String error = "保存非maat类配置发生了异常," + e.getMessage();
// logger.error(error);
throw new ServiceRuntimeException(error, RestBusinessCode.SaveDataInError.getValue());
if (e instanceof ServiceRuntimeException) {
throw e;
}else {
String error = "保存非maat类配置发生了异常," + e.getMessage();
// logger.error(error);
throw new ServiceRuntimeException(error, RestBusinessCode.SaveDataInError.getValue());
}
} finally {
// 释放连接到连接池
JedisUtils.returnResource(resource);
@@ -525,9 +531,13 @@ public class ConfigJedisServiceimpl implements ConfigRedisService {
throw new ServiceRuntimeException(error, RestBusinessCode.CannotConnectionRedis.getValue());
} catch (Exception e) {
transaction.discard();
String error = "保存maat类配置发生了异常" + e.getMessage();
logger.error(error);
throw new ServiceRuntimeException(error, RestBusinessCode.SaveDataInError.getValue());
if (e instanceof ServiceRuntimeException) {
throw e;
}else {
String error = "保存maat类配置发生了异常" + e.getMessage();
logger.error(error);
throw new ServiceRuntimeException(error, RestBusinessCode.SaveDataInError.getValue());
}
} finally {
// 释放连接到连接池
JedisUtils.returnResource(resource);
@@ -942,7 +952,13 @@ public class ConfigJedisServiceimpl implements ConfigRedisService {
transaction.discard();
String error = "删除非maat类配置发生了异常," + e.getMessage();
// logger.error(error);
throw new ServiceRuntimeException(error, RestBusinessCode.DeleteDataInError.getValue());
if (e instanceof ServiceRuntimeException) {
throw e;
}else {
throw new ServiceRuntimeException(error, RestBusinessCode.DeleteDataInError.getValue());
}
} finally {
// 释放连接到连接池
JedisUtils.returnResource(resource);

View File

@@ -697,7 +697,15 @@ public class ConfigSourcesService extends BaseService {
checkOptForUpdate(srcMap);
validIdMap.put(srcMap.get("isValid").toString(), srcMap.get("isValid").toString());
Integer service = Integer.valueOf(srcMap.get("service").toString());
Long cfgId = Long.valueOf(srcMap.get("cfgId").toString());
List<CommonSourceFieldCfg> list = ReadCommSourceXmlUtil.getCommonSourceCfgByService(service+"");
String srcName="cfgId";
for (CommonSourceFieldCfg commonSourceFieldCfg : list) {
if (commonSourceFieldCfg.getIsCfgId()) {
srcName = commonSourceFieldCfg.getSrcName();
}
}
Long cfgId = Long.valueOf(srcMap.get(srcName).toString());
if (cfgMap.containsKey(service)) {
cfgMap.get(service).add(cfgId);
} else {
@@ -736,7 +744,8 @@ public class ConfigSourcesService extends BaseService {
configRedisService.delUnMaatConfig(restMap,validIdMap.containsKey("0")?true:false);
} catch (Exception e) {
// TODO: handle exception
throw new ServiceRuntimeException(RestBusinessCode.service_runtime_error.getErrorReason(),RestBusinessCode.service_runtime_error.getValue());
throw e;
//throw new ServiceRuntimeException(RestBusinessCode.service_runtime_error.getErrorReason(),RestBusinessCode.service_runtime_error.getValue());
}
}
@@ -749,25 +758,31 @@ public class ConfigSourcesService extends BaseService {
* @throws Exception
*/
private void checkOptForUpdate(Map<String, Object> srcMap) throws Exception{
String cfgId = srcMap.get("cfgId").toString();
String service = srcMap.get("service").toString();
String isValid = srcMap.get("isValid").toString();
if (StringUtil.isEmpty(cfgId)) {
throw new RestServiceException(RestBusinessCode.CfgIdIsNull.getErrorReason(),RestBusinessCode.CfgIdIsNull.getValue());
} else if (!StringUtil.isNumeric(cfgId)) {
throw new RestServiceException("cfgId字段格式不正确,"+RestBusinessCode.MastNumberic.getErrorReason(),RestBusinessCode.MastNumberic.getValue());
}
Object service = srcMap.get("service");
Object isValid = srcMap.get("isValid");
if (StringUtil.isEmpty(service)) {
throw new RestServiceException(RestBusinessCode.ServiceIsNull.getErrorReason(),RestBusinessCode.ServiceIsNull.getValue());
} else if (!StringUtil.isNumeric(service)) {
} else if (!StringUtil.isNumeric(service.toString())) {
throw new RestServiceException("service字段格式不正确,"+RestBusinessCode.MastNumberic.getErrorReason(),RestBusinessCode.MastNumberic.getValue());
}
List<CommonSourceFieldCfg> list = ReadCommSourceXmlUtil.getCommonSourceCfgByService(service+"");
String srcName="cfgId";
for (CommonSourceFieldCfg commonSourceFieldCfg : list) {
if (commonSourceFieldCfg.getIsCfgId()) {
srcName = commonSourceFieldCfg.getSrcName();
}
}
Object cfgId = srcMap.get(srcName);
if (StringUtil.isEmpty(cfgId)) {
throw new RestServiceException(RestBusinessCode.CfgIdIsNull.getErrorReason(),RestBusinessCode.CfgIdIsNull.getValue());
} else if (!StringUtil.isNumeric(cfgId.toString())) {
throw new RestServiceException("cfgId字段格式不正确,"+RestBusinessCode.MastNumberic.getErrorReason(),RestBusinessCode.MastNumberic.getValue());
}
if (StringUtil.isEmpty(isValid)) {
throw new RestServiceException("配置id为" + srcMap.get("cfgId") + "的isValid字段不能为空",RestBusinessCode.IsValidIsNull.getValue());
} else {
if (!StringUtil.isNumeric(service)) {
if (!StringUtil.isNumeric(service.toString())) {
throw new RestServiceException(RestBusinessCode.IsValidInWrongRange.getErrorReason(),RestBusinessCode.IsValidInWrongRange.getValue());
}
//配置取消改为状态更新(停/启用)