diff --git a/base-service/src/main/java/com/hzya/frame/sys/flow/entity/SysFlowStepConfigEntity.java b/base-service/src/main/java/com/hzya/frame/sys/flow/entity/SysFlowStepConfigEntity.java index e8e426d9..9c888b85 100644 --- a/base-service/src/main/java/com/hzya/frame/sys/flow/entity/SysFlowStepConfigEntity.java +++ b/base-service/src/main/java/com/hzya/frame/sys/flow/entity/SysFlowStepConfigEntity.java @@ -35,6 +35,8 @@ public class SysFlowStepConfigEntity extends BaseEntity { /** 动态sql语句 */ private String sqlStatement; + //步骤账户表id + private String stepAccountId; public String getFlowId() { return flowId; @@ -132,5 +134,12 @@ public class SysFlowStepConfigEntity extends BaseEntity { this.sqlStatement = sqlStatement; } + public String getStepAccountId() { + return stepAccountId; + } + + public void setStepAccountId(String stepAccountId) { + this.stepAccountId = stepAccountId; + } } diff --git a/base-service/src/main/java/com/hzya/frame/sys/flow/service/impl/SysFlowStepAccountServiceImpl.java b/base-service/src/main/java/com/hzya/frame/sys/flow/service/impl/SysFlowStepAccountServiceImpl.java index f0a61fb7..fb3e1f03 100644 --- a/base-service/src/main/java/com/hzya/frame/sys/flow/service/impl/SysFlowStepAccountServiceImpl.java +++ b/base-service/src/main/java/com/hzya/frame/sys/flow/service/impl/SysFlowStepAccountServiceImpl.java @@ -8,8 +8,11 @@ import com.hzya.frame.serviceUtil.DsDataSourceUtil; import com.hzya.frame.sys.flow.entity.SysFlowStepAccountEntity; import com.hzya.frame.sys.flow.dao.ISysFlowStepAccountDao; import com.hzya.frame.sys.flow.service.ISysFlowStepAccountService; +import com.hzya.frame.sysnew.application.database.entity.SysApplicationDatabaseEntity; +import com.hzya.frame.sysnew.application.database.service.ISysApplicationDatabaseService; import com.hzya.frame.web.entity.BaseResult; import com.hzya.frame.web.entity.JsonResultEntity; +import com.hzya.frame.web.exception.BaseSystemException; import org.apache.commons.collections.CollectionUtils; import org.springframework.stereotype.Service; import org.springframework.beans.factory.annotation.Autowired; @@ -34,6 +37,8 @@ public class SysFlowStepAccountServiceImpl extends BaseService queryList = queryByName(entity); + if (CollectionUtils.isNotEmpty(queryList) && queryList.size() > 0) { + return BaseResult.getFailureMessageEntity(entity.getName() + "重复"); + } + sysFlowStepAccountDao.save(entity); + //保存数据源表,测试sql的时候要用动态数据源,动态数据源是从sys_application_database表查数据的 + saveOrDataBase(entity); } catch (Exception e) { return BaseResult.getFailureMessageEntity(e.getMessage()); } - //控制一下名字不能重复 - List queryList = queryByName(entity); - if (CollectionUtils.isNotEmpty(queryList) && queryList.size() > 0) { - return BaseResult.getFailureMessageEntity(entity.getName() + "重复"); - } - sysFlowStepAccountDao.save(entity); return BaseResult.getSuccessMessageEntity("新增成功"); } + /** + * 保存数据源表,测试sql的时候要用动态数据源,动态数据源是从sys_application_database表查数据的 + * + * @param entity + */ + private void saveOrDataBase(SysFlowStepAccountEntity entity) throws Exception { + Assert.notNull(entity, "参数不能为空"); + Assert.notEmpty(entity.getName(), "账户名称不能为空"); + SysApplicationDatabaseEntity db = new SysApplicationDatabaseEntity(); + db.setSourceCode(entity.getName() + "_flow"); + List queryList = sysApplicationDatabaseService.query(db); + if (CollectionUtils.isNotEmpty(queryList)) { + for (SysApplicationDatabaseEntity sys : queryList) { + sysApplicationDatabaseService.logicRemove(sys); + } + } + SysApplicationDatabaseEntity databaseEntity = new SysApplicationDatabaseEntity(); + databaseEntity.setAppId(entity.getAppId()); + databaseEntity.setSourceCode(entity.getName() + "_flow"); + databaseEntity.setSourceName(entity.getName()); + databaseEntity.setSourceType(entity.getDbType()); + databaseEntity.setSourceIp(entity.getIpAddress()); + databaseEntity.setSourcePort(entity.getPort()); + databaseEntity.setLoginName(entity.getUserName()); + databaseEntity.setPassword(entity.getPassword()); + databaseEntity.setDbName(entity.getDbName()); + databaseEntity.setDbStatus("1"); + sysApplicationDatabaseService.save(databaseEntity); + } + /** * 更新账户信息 * @@ -76,19 +113,21 @@ public class SysFlowStepAccountServiceImpl extends BaseService queryList = queryByName(entity); + if (CollectionUtils.isNotEmpty(queryList) && queryList.size() > 0) { + for (SysFlowStepAccountEntity acc : queryList) { + if (!acc.getId().equals(entity.getId())) { + return BaseResult.getFailureMessageEntity(entity.getName() + "重复"); + } + } + } + sysFlowStepAccountDao.update(entity); + //保存数据源表,测试sql的时候要用动态数据源,动态数据源是从sys_application_database表查数据的 + saveOrDataBase(entity); } catch (Exception e) { return BaseResult.getFailureMessageEntity(e.getMessage()); } - //检查一下名字不能重复 - List queryList = queryByName(entity); - if (CollectionUtils.isNotEmpty(queryList) && queryList.size() > 0) { - for (SysFlowStepAccountEntity acc : queryList) { - if (!acc.getId().equals(entity.getId())) { - return BaseResult.getFailureMessageEntity(entity.getName() + "重复"); - } - } - } - sysFlowStepAccountDao.update(entity); return BaseResult.getSuccessMessageEntity("更新成功"); } @@ -206,9 +245,9 @@ public class SysFlowStepAccountServiceImpl extends BaseService databaseList = sysApplicationDatabaseService.query(database); + if (CollectionUtils.isEmpty(databaseList)){ + throw new BaseSystemException("没有找到数据源"); + } return null; } @@ -56,5 +77,6 @@ public class SysFlowStepConfigServiceImpl extends BaseService