添加全量同步接口

This commit is contained in:
zhangdongxu
2018-11-26 14:20:19 +08:00
parent 69f984e361
commit 3ecda50e80
3 changed files with 73 additions and 2 deletions

View File

@@ -29,6 +29,16 @@ public enum RestBusinessCode {
*/ */
missing_args (1002,"缺少必要的参数信息"), missing_args (1002,"缺少必要的参数信息"),
/**
* 已接收,响应成功
*/
syncStatusSuccessed(2021000,"已接收,响应成功"),
/**
* 已接收,响应失败(原因可能正在忙,指令不规范等)
*/
syncStatusFailed(2021010,"已接收,响应失败(原因可能正在忙,指令不规范等)"),
/** /**
* 操作行为错误,1-插入2-更新 3-删除4-查询 ,插入时选择了删除这种错误返回该异常代码 * 操作行为错误,1-插入2-更新 3-删除4-查询 ,插入时选择了删除这种错误返回该异常代码
*/ */

View File

@@ -207,8 +207,13 @@ public class BaseRestController {
restResult.setStatus(HttpStatus.CREATED); restResult.setStatus(HttpStatus.CREATED);
restResult.setBusinessCode(RestBusinessCode.update_success); restResult.setBusinessCode(RestBusinessCode.update_success);
} else if (requestMethod.equals(RequestMethod.POST.name())) { } else if (requestMethod.equals(RequestMethod.POST.name())) {
if (thread.getBusinessCode()!=0&&(HttpStatus.ACCEPTED+"").equals((thread.getBusinessCode()+"").substring(0, 3))) {
restResult.setStatus(HttpStatus.ACCEPTED);
restResult.setBusinessCode(RestBusinessCode.valueOf(thread.getBusinessCode()));
}else{
restResult.setStatus(HttpStatus.CREATED); restResult.setStatus(HttpStatus.CREATED);
restResult.setBusinessCode(RestBusinessCode.add_success); restResult.setBusinessCode(RestBusinessCode.add_success);
}
} else if (requestMethod.equals(RequestMethod.PATCH.name())) { } else if (requestMethod.equals(RequestMethod.PATCH.name())) {
restResult.setStatus(HttpStatus.CREATED); restResult.setStatus(HttpStatus.CREATED);
restResult.setBusinessCode(RestBusinessCode.update_success); restResult.setBusinessCode(RestBusinessCode.update_success);

View File

@@ -504,6 +504,62 @@ public class ConfigSourcesController extends BaseRestController {
return compileServiceResponse(thread, System.currentTimeMillis() - start, request, response, return compileServiceResponse(thread, System.currentTimeMillis() - start, request, response,
"MAAT规则分组复用域配置删除成功" + sb.toString(), Constants.IS_DEBUG ?groupReuseSource : null); "MAAT规则分组复用域配置删除成功" + sb.toString(), Constants.IS_DEBUG ?groupReuseSource : null);
} }
@RequestMapping(value = "/cfg_batch/v1/configSources", method = RequestMethod.POST, produces = org.springframework.http.MediaType.APPLICATION_JSON_VALUE)
@ApiOperation(value = "全量同步配置接收接口", httpMethod = "POST", response = Map.class, notes = "接收全量同步配置")
public Map receiveConfigSources(@RequestBody String jsonString, HttpServletRequest request,
HttpServletResponse response) {
long start = System.currentTimeMillis();
AuditLogThread thread = super.saveRequestLog(servicesRequestLogService, Constants.OPACTION_POST, request,
null);
try {
JSONObject obj= JSONObject.fromObject(jsonString);
logger.info("-----------接收到json格式数据"+new Date());
} catch (Exception e) {
// TODO: handle exception
throw new RestServiceException(RestBusinessCode.config_integrity_error.getErrorReason() + "," + e.getMessage(),
RestBusinessCode.config_integrity_error.getValue());
}
return compileServiceResponse(thread, System.currentTimeMillis() - start, request, response, "已接收全量同步配置信息",
Constants.IS_DEBUG ? jsonString : null);
}
@RequestMapping(value = "/cfg_batch/v1/status", method = RequestMethod.POST, produces = org.springframework.http.MediaType.APPLICATION_JSON_VALUE)
@ApiOperation(value = "配置全量同步指令下发接口", httpMethod = "POST", response = Map.class, notes = "下发配置同步指令")
public Map acceptStatus(@RequestBody String jsonString, HttpServletRequest request,
HttpServletResponse response) {
long start = System.currentTimeMillis();
AuditLogThread thread = super.saveRequestLog(servicesRequestLogService, Constants.OPACTION_POST, request,
null);
JSONObject obj= JSONObject.fromObject(jsonString);
if (!StringUtil.isEmpty(obj.get("syncStatus"))&&"1".equals(obj.get("syncStatus").toString())) {
logger.info("-----------配置同步指令下发:"+new Date());
}else{
logger.error("未获取到同步状态码");
thread.setBusinessCode(RestBusinessCode.syncStatusFailed.getValue());
throw new RestServiceException("未获取到同步状态码", RestBusinessCode.syncStatusFailed.getValue());
}
thread.setBusinessCode(RestBusinessCode.syncStatusSuccessed.getValue());
return compileServiceResponse(thread, System.currentTimeMillis() - start, request, response, "配置同步指令下发成功",
Constants.IS_DEBUG ? jsonString : null);
}
@RequestMapping(value = "/cfg_batch/v1/status", method = RequestMethod.GET)
@ApiOperation(value = "获取全量同步状态服务接口", httpMethod = "GET", response = Map.class, notes = "获取全量同步状态服务")
public Map getSyncStatus(HttpServletRequest request,
HttpServletResponse response) {
long start = System.currentTimeMillis();
AuditLogThread thread = super.saveRequestLog(servicesRequestLogService, Constants.OPACTION_GET, request,
null);
JSONObject obj = new JSONObject();
obj.put("service", "ntc");
obj.put("status", 0);
obj.put("opTime", "2018-11-23 08:31:27");
return compileServiceResponse(thread, System.currentTimeMillis() - start, request, response, "获取全量同步状态成功",
obj);
}
private void validateGroupReuseSource(AuditLogThread thread, long start, GroupReuseSource groupReuseSource) { private void validateGroupReuseSource(AuditLogThread thread, long start, GroupReuseSource groupReuseSource) {
String errorInfo = ""; String errorInfo = "";