diff --git a/src/main/java/com/nis/restful/RestBusinessCode.java b/src/main/java/com/nis/restful/RestBusinessCode.java index 89c5dd6..2c5135a 100644 --- a/src/main/java/com/nis/restful/RestBusinessCode.java +++ b/src/main/java/com/nis/restful/RestBusinessCode.java @@ -29,6 +29,16 @@ public enum RestBusinessCode { */ missing_args (1002,"缺少必要的参数信息"), + /** + * 已接收,响应成功 + */ + syncStatusSuccessed(2021000,"已接收,响应成功"), + + /** + * 已接收,响应失败(原因可能正在忙,指令不规范等) + */ + syncStatusFailed(2021010,"已接收,响应失败(原因可能正在忙,指令不规范等)"), + /** * 操作行为错误,1-插入2-更新 3-删除4-查询 ,插入时选择了删除这种错误返回该异常代码 */ diff --git a/src/main/java/com/nis/web/controller/BaseRestController.java b/src/main/java/com/nis/web/controller/BaseRestController.java index d7043a3..dec2eae 100644 --- a/src/main/java/com/nis/web/controller/BaseRestController.java +++ b/src/main/java/com/nis/web/controller/BaseRestController.java @@ -207,8 +207,13 @@ public class BaseRestController { restResult.setStatus(HttpStatus.CREATED); restResult.setBusinessCode(RestBusinessCode.update_success); } else if (requestMethod.equals(RequestMethod.POST.name())) { - restResult.setStatus(HttpStatus.CREATED); - restResult.setBusinessCode(RestBusinessCode.add_success); + 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.setBusinessCode(RestBusinessCode.add_success); + } } else if (requestMethod.equals(RequestMethod.PATCH.name())) { restResult.setStatus(HttpStatus.CREATED); restResult.setBusinessCode(RestBusinessCode.update_success); diff --git a/src/main/java/com/nis/web/controller/restful/ConfigSourcesController.java b/src/main/java/com/nis/web/controller/restful/ConfigSourcesController.java index e54ee69..61f56f4 100644 --- a/src/main/java/com/nis/web/controller/restful/ConfigSourcesController.java +++ b/src/main/java/com/nis/web/controller/restful/ConfigSourcesController.java @@ -504,6 +504,62 @@ public class ConfigSourcesController extends BaseRestController { return compileServiceResponse(thread, System.currentTimeMillis() - start, request, response, "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) { String errorInfo = "";