package com.product.data.controller; import com.product.common.lang.StringUtils; import com.product.core.config.CoreConst; import com.product.core.controller.support.AbstractBaseController; import com.product.core.entity.FieldSetEntity; import com.product.core.entity.RequestParameterEntity; import com.product.core.exception.BaseException; import com.product.data.config.CmnConst; import com.product.data.config.ErrorCode; import com.product.data.service.impl.ISyncDataProcessService; import com.product.module.sys.version.ApiVersion; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; /** * @Author cheng * @Date 2022/3/1 14:55 * @Desc 数据处理控制层 */ @RestController @RequestMapping("api/sync-data-process/") public class SyncDataProcessController extends AbstractBaseController { @Autowired ISyncDataProcessService syncDataProcessService; /** * 查找数据同步处理配置 * * @param request * @return */ @PostMapping("find-config/{version}") @ApiVersion(1) public String findDataPorcessConfig(HttpServletRequest request) { try { //获取参数 FieldSetEntity fse = null; Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA); if (bean != null) { RequestParameterEntity reqp = (RequestParameterEntity) bean; fse = reqp.getFormData(); } //判断参数是否为空 if (bean == null || fse == null) { return this.error(ErrorCode.SYSTEM_FORM_NODATA); } //判断表名是否正常 if (!CmnConst.TABLE_PROCESS_CONFIG.equals(fse.getTableName())) { return this.error(ErrorCode.SYSTEM_TABLE_NODATA); } return OK_List(syncDataProcessService.findDataProcessInfo(fse)); } catch (BaseException e) { e.printStackTrace(); return error(e); } catch (Exception e) { return error(ErrorCode.FIND_SYNC_PROCESS_DATA_CONFIG_FAIL); } } /** * 保存数据同步处理配置 * * @param request * @return */ @PostMapping("save-config/{version}") @ApiVersion(1) public String saveDataPorcessConfig(HttpServletRequest request) { try { //获取参数 FieldSetEntity fse = null; Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA); if (bean != null) { RequestParameterEntity reqp = (RequestParameterEntity) bean; fse = reqp.getFormData(); } //判断参数是否为空 if (bean == null || fse == null) { return this.error(ErrorCode.SYSTEM_FORM_NODATA); } //判断表名是否正常 if (!CmnConst.TABLE_PROCESS_CONFIG.equals(fse.getTableName())) { return this.error(ErrorCode.SYSTEM_TABLE_NODATA); } ISyncDataProcessService syncDataProcessService = (ISyncDataProcessService) getProxyInstance(this.syncDataProcessService); syncDataProcessService.saveDataProcessInfo(fse); return OK(); } catch (BaseException e) { e.printStackTrace(); return error(e); } catch (Exception e) { return error(ErrorCode.SAVE_SYNC_PROCESS_DATA_CONFIG_FAIL); } } /** * 查找数据同步处理配置 * * @param request * @return */ @PostMapping("run-sql/{version}") @ApiVersion(1) public String efficacySql(HttpServletRequest request) { try { //获取参数 FieldSetEntity fse = null; Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA); if (bean != null) { RequestParameterEntity reqp = (RequestParameterEntity) bean; fse = reqp.getFormData(); } //判断参数是否为空 if (bean == null || fse == null) { return this.error(ErrorCode.SYSTEM_FORM_NODATA); } //判断表名是否正常 if (StringUtils.isEmpty(fse.getString("run_sql"))) { return this.error(ErrorCode.SYSTEM_FORM_COUNT); } return syncDataProcessService.efficacySql(fse.getString("run_sql")); } catch (BaseException e) { e.printStackTrace(); return error(e); } catch (Exception e) { return error(ErrorCode.FIND_SYNC_PROCESS_DATA_CONFIG_FAIL); } } }