package com.product.data.controller; import com.product.common.lang.StringUtils; import com.product.core.config.CoreConst; 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.SyncDataManagerService; import com.product.data.service.impl.ISyncDataConfigService; import com.product.module.sys.version.ApiVersion; import com.product.util.support.AbstractBaseController; 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/2/8 16:03 * @Desc 同步数据配置Controller */ @RestController @RequestMapping("/api/sync-data") public class SyncDataConfigController extends AbstractBaseController { @Autowired ISyncDataConfigService syncDataConfigService; @PostMapping("/save-connection/{version}") @ApiVersion(1) public String saveConnectionConfig(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.getValue(), ErrorCode.SYSTEM_FORM_NODATA.getText()); } //判断表名是否正常 if (!CmnConst.TABLE_SYNC_MANAGER.equals(fse.getTableName())) { return this.error(ErrorCode.SYSTEM_TABLE_NODATA.getValue(), ErrorCode.SYSTEM_TABLE_NODATA.getText()); } ISyncDataConfigService syncDataConfigService = (ISyncDataConfigService) getProxyInstance(this.syncDataConfigService); return OK_Add(syncDataConfigService.saveSyncConnectionConfig(fse)); } catch (BaseException e) { return error(e); } catch (Exception e) { return error(ErrorCode.SAVE_SYNC_CONNECTION_FAIL, e); } } @PostMapping("/save-sync-task/{version}") @ApiVersion(1) public String saveTableConfig(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.getValue(), ErrorCode.SYSTEM_FORM_NODATA.getText()); } //判断表名是否正常 if (!CmnConst.TABLE_SYNC_MANAGER_SUB.equals(fse.getTableName())) { return this.error(ErrorCode.SYSTEM_TABLE_NODATA.getValue(), ErrorCode.SYSTEM_TABLE_NODATA.getText()); } ISyncDataConfigService syncDataConfigService = (ISyncDataConfigService) getProxyInstance(this.syncDataConfigService); return OK_Add(syncDataConfigService.saveSyncTableConfig(fse)); } catch (BaseException e) { return error(e); } catch (Exception e) { return error(ErrorCode.SAVE_SYNC_TABLE_FAIL, e); } } @PostMapping("/del-sync-task/{version}") @ApiVersion(1) public String deleteTableConfig(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.getValue(), ErrorCode.SYSTEM_FORM_NODATA.getText()); } //判断表名是否正常 if (!CmnConst.TABLE_SYNC_MANAGER_SUB.equals(fse.getTableName())) { return this.error(ErrorCode.SYSTEM_TABLE_NODATA.getValue(), ErrorCode.SYSTEM_TABLE_NODATA.getText()); } //验证必要参数 if (StringUtils.isEmpty(fse.getUUID())) { return this.error(ErrorCode.SYSTEM_FORM_COUNT.getValue(), ErrorCode.SYSTEM_FORM_COUNT.getText()); } ISyncDataConfigService syncDataConfigService = (ISyncDataConfigService) getProxyInstance(this.syncDataConfigService); syncDataConfigService.delSyncTableConfig(fse); return OK(); } catch (BaseException e) { return error(e); } catch (Exception e) { return error(ErrorCode.SAVE_SYNC_TABLE_FAIL, e); } } @PostMapping("/find-sync-task/{version}") @ApiVersion(1) public String findTableConfig(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.getValue(), ErrorCode.SYSTEM_FORM_NODATA.getText()); } //判断表名是否正常 if (!CmnConst.TABLE_SYNC_MANAGER_SUB.equals(fse.getTableName())) { return this.error(ErrorCode.SYSTEM_TABLE_NODATA.getValue(), ErrorCode.SYSTEM_TABLE_NODATA.getText()); } //验证必要参数 if (StringUtils.isEmpty(fse.getUUID())) { return this.error(ErrorCode.SYSTEM_FORM_COUNT.getValue(), ErrorCode.SYSTEM_FORM_COUNT.getText()); } return OK_List(syncDataConfigService.findSyncTaskDetail(fse.getUUID())); } catch (BaseException e) { return error(e); } catch (Exception e) { return error(ErrorCode.FIND_SYNC_TABLE_FAIL, e); } } @Autowired SyncDataManagerService syncDataManagerService; @PostMapping("/execute-sync-task/{version}") @ApiVersion(1) public String executeSyncTask(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.getValue(), ErrorCode.SYSTEM_FORM_NODATA.getText()); } syncDataManagerService.executeDataSyncTask(fse.getUUID()); return OK(); } catch (BaseException e) { return error(e); } catch (Exception e) { return error(ErrorCode.SAVE_SYNC_TABLE_FAIL, e); } } }