| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353 |
- package com.server;
- import com.dao.DataConnectorMapper;
- import com.fasterxml.jackson.core.JsonProcessingException;
- import com.fasterxml.jackson.databind.ObjectMapper;
- import com.model.bo.DatabaseConfig;
- import com.model.bo.GroupUpdateId;
- import com.model.po.BaseConfig;
- import com.model.po.BdStrategys;
- import com.model.po.DataConnector;
- import com.model.po.DataConnectorList;
- import com.model.pojo.RepCode;
- import com.model.pojo.RepEntity;
- import com.model.vo.configVo.BdStrategysInfo;
- import com.model.vo.configVo.ColumnRenameInfo;
- import com.model.vo.configVo.DataConnectorInfo;
- import com.model.vo.configVo.GroupInfo;
- import com.util.ScreenUtil;
- import com.util.SqlMatch;
- import com.util.TimeUtil;
- import org.springframework.beans.BeanUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import java.util.ArrayList;
- import java.util.Iterator;
- import java.util.List;
- @Service
- public class DataConnectorService {
- @Autowired
- private DataConnectorMapper dataConnectorMapper;
- @Autowired
- private TimeUtil timeUtil;
- @Autowired
- SqlMatch sqlMatch;
- @Autowired
- ObjectMapper objectmapper;
- @Autowired
- ScreenUtil screenUtil;
- /*
- 保存数据源
- */
- public RepEntity setDataConnector(DataConnectorInfo dataConnectorInfo){
- if (dataConnectorInfo == null || "".equals(dataConnectorInfo)){
- return new RepEntity(RepCode.Null);
- }
- DataConnector dataConnector = new DataConnector();
- BeanUtils.copyProperties(dataConnectorInfo,dataConnector);
- //取出数据库连接ID
- DatabaseConfig dbConfig = dataConnectorInfo.getDbConfig();
- int dbConId = dbConfig.getId();
- String pw = dataConnectorMapper.getBasesById(dbConId);
- dbConfig.setPassWord(pw);
- // String tableName = SqlMatch.matchSql(dataConnector.getLoadObject());
- dataConnector.setTableName(dataConnector.getLoadObject());
- String columnConfig = null;
- String databaseConfig = null;
- String dataTag = null;
- try {
- columnConfig = objectmapper.writeValueAsString(dataConnectorInfo.getColumnConfig());
- } catch (JsonProcessingException e) {
- e.printStackTrace();
- }
- try {
- databaseConfig = objectmapper.writeValueAsString(dbConfig);
- } catch (JsonProcessingException e) {
- e.printStackTrace();
- }
- try {
- dataTag = objectmapper.writeValueAsString(dataConnectorInfo.getDataTag());
- } catch (JsonProcessingException e) {
- e.printStackTrace();
- }
- dataConnector.setColumnConfig(columnConfig);
- dataConnector.setDbConfig(databaseConfig);
- dataConnector.setDataTag(dataTag);
- dataConnector.setCreateDate(timeUtil.SystemTime());
- if (dataConnector.getConnectorGroup() == 0){
- dataConnector.setConnectorGroup(-1);
- }
- if (dataConnectorInfo.getNote() == null || "".equals(dataConnectorInfo)){
- dataConnector.setNote("");
- }
- System.out.println(dataConnector);
- dataConnectorMapper.insertDataConnector(dataConnector);
- int id = dataConnector.getDataId();
- return new RepEntity(RepCode.success,id);
- }
- //查看数据源列表
- public RepEntity getListConnector(){
- // if (pages == null || "".equals(pages)){
- // int pageNum = pages.getPageNum();
- // int pageSize = pages.getPageSize();
- //使用分页插件,核心代码就这一行
- // PageHelper.startPage(pageNum, pageSize);
- // }
- List<DataConnectorList> listConnector = dataConnectorMapper.getDataConnectorList();
- List<DataConnectorList> listConnectors = new ArrayList<>();
- Iterator isList = listConnector.iterator();
- while (isList.hasNext()){
- DataConnectorList dataConnectorList = (DataConnectorList) isList.next();
- BaseConfig baseConfig = new BaseConfig();
- String dbConfig = dataConnectorList.getDbConfig();
- try {
- baseConfig = objectmapper.readValue(dbConfig, BaseConfig.class);
- } catch (Exception e) {
- e.printStackTrace();
- }
- baseConfig.setPassWord("");
- try{
- dbConfig = objectmapper.writeValueAsString(baseConfig);
- }catch (Exception e) {
- e.printStackTrace();
- }
- dataConnectorList.setDbConfig(dbConfig);
- listConnectors.add(dataConnectorList);
- }
- return new RepEntity(RepCode.success, listConnectors);
- }
- /*
- 查看单个数据源配置
- */
- public RepEntity getConnector(int id){
- DataConnector dataConnector = dataConnectorMapper.getOneData(id);
- BaseConfig baseConfig = new BaseConfig();
- String dbConfig = dataConnector.getDbConfig();
- try {
- baseConfig = objectmapper.readValue(dbConfig, BaseConfig.class);
- } catch (Exception e) {
- e.printStackTrace();
- }
- baseConfig.setPassWord("");
- try{
- dbConfig = objectmapper.writeValueAsString(baseConfig);
- }catch (Exception e) {
- e.printStackTrace();
- }
- dataConnector.setDbConfig(dbConfig);
- System.out.println(dataConnector);
- return new RepEntity(RepCode.success, dataConnector);
- }
- /*
- 更新数据源配置
- */
- public RepEntity updateData(DataConnectorInfo dataConnectorInfo){
- if (dataConnectorInfo == null && "".equals(dataConnectorInfo)){
- return new RepEntity(RepCode.Null);
- }
- DataConnector dataConnector = new DataConnector();
- BeanUtils.copyProperties(dataConnectorInfo,dataConnector);
- //获取表名
- // String tableName = SqlMatch.matchSql(dataConnector.getLoadObject());
- dataConnector.setTableName(dataConnector.getLoadObject());
- List<ColumnRenameInfo> columnConfig = dataConnectorInfo.getColumnConfig();
- // DatabaseConfig dbConfig = dataConnectorInfo.getDbConfig();
- List<String> dataTag = dataConnectorInfo.getDataTag();
- String columnConfigJson = null;
- String dbConfigJson = null;
- String dataTagJson = null;
- if (!("".equals(columnConfig)) && columnConfig != null){
- try {
- columnConfigJson = objectmapper.writeValueAsString(columnConfig);
- } catch (JsonProcessingException e) {
- e.printStackTrace();
- }
- dataConnector.setColumnConfig(columnConfigJson);
- }
- // if (!("".equals(dbConfig)) && dbConfig != null){
- // try {
- // dbConfigJson = objectmapper.writeValueAsString(dbConfig);
- // } catch (JsonProcessingException e) {
- // e.printStackTrace();
- // }
- // dataConnector.setDbConfig(null);
- // }
- dataConnector.setDbConfig(dbConfigJson);
- if (dataTag != null){
- try {
- dataTagJson = objectmapper.writeValueAsString(dataTag);
- } catch (JsonProcessingException e) {
- e.printStackTrace();
- }
- dataConnector.setDataTag(dataTagJson);
- }
- dataConnector.setUpdateDate(timeUtil.SystemTime());
- if (dataConnector.getConnectorGroup() == 0){
- dataConnector.setConnectorGroup(-1);
- }
- System.out.println(dataConnector);
- dataConnectorMapper.updateData(dataConnector);
- return new RepEntity(RepCode.success);
- }
- /*
- 更新数据源分组
- */
- public RepEntity updateConfigGroup(GroupUpdateId groupUpdateId){
- int id = groupUpdateId.getId();
- int groupId = groupUpdateId.getGroupId();
- dataConnectorMapper.updateConfigGroup(id, groupId);
- return new RepEntity(RepCode.success);
- }
- /*
- 删除数据源
- */
- public RepEntity delDataConnector(List<Integer> idList){
- Iterator isList = idList.iterator();
- while (isList.hasNext()){
- int id = (int) isList.next();
- List<String> chartName = dataConnectorMapper.getChartsName(id);
- if (chartName.size() != 0){
- return new RepEntity(RepCode.hasChartsUsing, chartName);
- }
- }
- dataConnectorMapper.deleteData(idList);
- return new RepEntity(RepCode.success);
- }
- /*
- 创建数据源分组
- */
- public RepEntity setDataConnectorGroup(GroupInfo groupInfo){
- if (groupInfo == null || "".equals(groupInfo)){
- return new RepEntity(RepCode.Null);
- }
- dataConnectorMapper.setConnectorGroup(groupInfo);
- int id = groupInfo.getId();
- return new RepEntity(RepCode.success, id);
- }
- /*
- 更新数据源分组
- */
- public RepEntity updataDataConnectorGroup(GroupInfo groupInfo){
- dataConnectorMapper.updataConnectorGroup(groupInfo);
- return new RepEntity(RepCode.success);
- }
- /*
- 批量更新数据源分组
- */
- public RepEntity updataConnectorGroups(List<GroupInfo> groupInfoList){
- Iterator isList = groupInfoList.iterator();
- GroupInfo groupInfo = new GroupInfo();
- while (isList.hasNext()){
- groupInfo = (GroupInfo) isList.next();
- dataConnectorMapper.updataConnectorGroup(groupInfo);
- }
- return new RepEntity(RepCode.success);
- }
- /*
- 删除数据源分组
- */
- public RepEntity delDataConnectorGroup(List<Integer> idList){
- List<Integer> integerList = idList;
- Iterator isList = integerList.iterator();
- while (isList.hasNext()){
- int id = (int) isList.next();
- List<String> groupName = dataConnectorMapper.getFatherId(id);
- if (groupName.size() != 0){
- return new RepEntity(RepCode.hasGroupUsing);
- }
- List<String> chartName = dataConnectorMapper.getConName(id);
- if (chartName.size() != 0){
- return new RepEntity(RepCode.hasConUsing);
- }
- }
- dataConnectorMapper.delConnectorGroup(idList);
- return new RepEntity(RepCode.success);
- }
- /*
- 查询数据源分组列表
- */
- public RepEntity getConnectorGroup(){
- return new RepEntity(RepCode.success, dataConnectorMapper.getConnectorGroup());
- }
- /*
- 保存数据源策略
- */
- public RepEntity addDbStrategys(BdStrategysInfo bdStrategysInfo){
- BdStrategys bdStrategys = new BdStrategys();
- BeanUtils.copyProperties(bdStrategysInfo, bdStrategys);
- String scr = screenUtil.screensUtil(bdStrategysInfo.getRule(), "", "").getRet();
- bdStrategys.setRule(scr);
- dataConnectorMapper.addStrategys(bdStrategys);
- return new RepEntity(RepCode.success, bdStrategys.getId());
- }
- /*
- 更新数据源策略
- */
- public RepEntity updateDbStrategys(BdStrategysInfo bdStrategysInfo){
- BdStrategys bdStrategys = new BdStrategys();
- BeanUtils.copyProperties(bdStrategysInfo, bdStrategys);
- String scr = screenUtil.screensUtil(bdStrategysInfo.getRule(), "", "").getRet();
- bdStrategys.setRule(scr);
- dataConnectorMapper.addStrategys(bdStrategys);
- return new RepEntity(RepCode.success);
- }
- /*
- 删除数据源策略
- */
- public RepEntity delDbStrategys(List<Integer> idList){
- dataConnectorMapper.delDbStrategys(idList);
- return new RepEntity(RepCode.success);
- }
- /*
- 查询数据源策略列表
- */
- public RepEntity getDbStrategys(){
- List<BdStrategys> bdStrategys = dataConnectorMapper.getDbStrategys();
- return new RepEntity(RepCode.success);
- }
- }
|