|
|
@@ -1,6 +1,7 @@
|
|
|
package com.usoftchina.bi.server.service.dataSource;
|
|
|
|
|
|
import com.usoftchina.bi.core.utils.GetTokenDataUtil;
|
|
|
+import com.usoftchina.bi.core.utils.JsonUtils;
|
|
|
import com.usoftchina.bi.server.dao.chart.ChartsConfigMapper;
|
|
|
import com.usoftchina.bi.server.dao.dataSource.DataConnectorMapper;
|
|
|
import com.usoftchina.bi.server.dao.user.UserMapper;
|
|
|
@@ -17,10 +18,7 @@ import com.usoftchina.bi.server.model.po.DataConnectorList;
|
|
|
import com.usoftchina.bi.core.base.RepCode;
|
|
|
import com.usoftchina.bi.core.base.RepEntity;
|
|
|
import com.usoftchina.bi.core.base.TestPage;
|
|
|
-import com.usoftchina.bi.server.model.vo.configVo.ChangeOrderInfo;
|
|
|
-import com.usoftchina.bi.server.model.vo.configVo.ColumnRenameInfo;
|
|
|
-import com.usoftchina.bi.server.model.vo.configVo.DataConnectorInfo;
|
|
|
-import com.usoftchina.bi.server.model.vo.configVo.GroupInfo;
|
|
|
+import com.usoftchina.bi.server.model.vo.configVo.*;
|
|
|
import com.usoftchina.bi.server.model.vo.dataVo.ColumnValuesInfo;
|
|
|
import com.usoftchina.bi.server.service.chart.GetChartsDataUtilService;
|
|
|
import com.usoftchina.bi.server.service.strategy.StrategysService;
|
|
|
@@ -65,29 +63,22 @@ public class DataConnectorService {
|
|
|
/*
|
|
|
保存数据源
|
|
|
*/
|
|
|
- public RepEntity setDataConnector(String token, DataConnectorInfo dataConnectorInfo){
|
|
|
+ public RepEntity setDataConnector(String token, DataConnectorInfo dataConnectorInfo) {
|
|
|
|
|
|
Map<String, String> resultMap = GetTokenDataUtil.getTokenData(token);
|
|
|
int id = Integer.parseInt(resultMap.get("id"));
|
|
|
String userName = resultMap.get("name");
|
|
|
|
|
|
- if (dataConnectorInfo == null || "".equals(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);
|
|
|
+ BeanUtils.copyProperties(dataConnectorInfo, dataConnector);
|
|
|
|
|
|
dataConnector.setTableName(dataConnector.getLoadObject());
|
|
|
|
|
|
- String columnConfig = null;
|
|
|
- String databaseConfig = null;
|
|
|
- String dataTag = null;
|
|
|
+ String columnConfig = null;
|
|
|
+ String dataTag = null;
|
|
|
|
|
|
try {
|
|
|
columnConfig = objectmapper.writeValueAsString(dataConnectorInfo.getColumnConfig());
|
|
|
@@ -95,12 +86,6 @@ public class DataConnectorService {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
|
|
|
- try {
|
|
|
- databaseConfig = objectmapper.writeValueAsString(dbConfig);
|
|
|
- } catch (JsonProcessingException e) {
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
-
|
|
|
try {
|
|
|
dataTag = objectmapper.writeValueAsString(dataConnectorInfo.getDataTag());
|
|
|
} catch (JsonProcessingException e) {
|
|
|
@@ -108,13 +93,12 @@ public class DataConnectorService {
|
|
|
}
|
|
|
|
|
|
dataConnector.setColumnConfig(columnConfig);
|
|
|
- dataConnector.setDbConfig(databaseConfig);
|
|
|
dataConnector.setDataTag(dataTag);
|
|
|
- if (dataConnector.getConnectorGroup() == 0){
|
|
|
+ if (dataConnector.getConnectorGroup() == 0) {
|
|
|
dataConnector.setConnectorGroup(-1);
|
|
|
}
|
|
|
|
|
|
- if (dataConnectorInfo.getNote() == null || "".equals(dataConnectorInfo)){
|
|
|
+ if (dataConnectorInfo.getNote() == null || "".equals(dataConnectorInfo)) {
|
|
|
dataConnector.setNote("");
|
|
|
}
|
|
|
|
|
|
@@ -122,38 +106,28 @@ public class DataConnectorService {
|
|
|
dataConnector.setCreateId(id);
|
|
|
dataConnectorMapper.insertDataConnector(dataConnector);
|
|
|
int dataId = dataConnector.getDataId();
|
|
|
- return new RepEntity(RepCode.success,dataId);
|
|
|
+ return new RepEntity(RepCode.success, dataId);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 查看数据源列表
|
|
|
+ *
|
|
|
* @param token
|
|
|
* @param testPage
|
|
|
* @return
|
|
|
*/
|
|
|
- @Cacheable(value = "dataConnector", key = "#testPage.pageNum")
|
|
|
- public RepEntity getListConnector(String token, TestPage testPage){
|
|
|
+// @Cacheable(value = "dataConnector", key = "#testPage.pageNum")
|
|
|
+ public RepEntity getListConnector(String token, TestPage testPage) {
|
|
|
Map<String, String> resultMap = GetTokenDataUtil.getTokenData(token);
|
|
|
String id = resultMap.get("id");
|
|
|
List<DataConnectorList> listConnector = dataConnectorMapper.getDataConnectorList(Integer.parseInt(id), testPage.enablePaging());
|
|
|
List<DataConnectorList> listConnectors = new ArrayList<>();
|
|
|
Iterator isList = listConnector.iterator();
|
|
|
- while (isList.hasNext()){
|
|
|
+ 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 baseConfig = dataConnectorList.getDbConfig();
|
|
|
baseConfig.setPassWord("");
|
|
|
- try{
|
|
|
- dbConfig = objectmapper.writeValueAsString(baseConfig);
|
|
|
- }catch (Exception e) {
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
- dataConnectorList.setDbConfig(dbConfig);
|
|
|
+ dataConnectorList.setDbConfig(baseConfig);
|
|
|
listConnectors.add(dataConnectorList);
|
|
|
}
|
|
|
PageInfo<DataConnectorList> pageInfo = new PageInfo<>(listConnectors);
|
|
|
@@ -164,40 +138,26 @@ public class DataConnectorService {
|
|
|
/*
|
|
|
查看单个数据源配置
|
|
|
*/
|
|
|
- @Cacheable(value = "singleDataConnector", key = "#body")
|
|
|
- public RepEntity getConnector(int id){
|
|
|
+// @Cacheable(value = "singleDataConnector", key = "#body")
|
|
|
+ public RepEntity getConnector(int id) {
|
|
|
DataConnector dataConnector = dataConnectorMapper.getOneData(id);
|
|
|
- if (dataConnector == null){
|
|
|
+ if (dataConnector == null) {
|
|
|
return new RepEntity(RepCode.DataNonExistent);
|
|
|
}
|
|
|
- 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);
|
|
|
return new RepEntity(RepCode.success, dataConnector);
|
|
|
}
|
|
|
|
|
|
/*
|
|
|
更新数据源配置
|
|
|
*/
|
|
|
- @CacheEvict(value = "singleDataConnector", key = "#body.dataId")
|
|
|
- public RepEntity updateData(DataConnectorInfo dataConnectorInfo){
|
|
|
+ //@CacheEvict(value = "singleDataConnector", key = "#body.dataId")
|
|
|
+ public RepEntity updateData(DataConnectorInfo dataConnectorInfo) {
|
|
|
|
|
|
- if (dataConnectorInfo == null && "".equals(dataConnectorInfo)){
|
|
|
+ if (dataConnectorInfo == null && "".equals(dataConnectorInfo)) {
|
|
|
return new RepEntity(RepCode.Null);
|
|
|
}
|
|
|
DataConnector dataConnector = new DataConnector();
|
|
|
- BeanUtils.copyProperties(dataConnectorInfo,dataConnector);
|
|
|
+ BeanUtils.copyProperties(dataConnectorInfo, dataConnector);
|
|
|
//获取表名
|
|
|
dataConnector.setTableName(dataConnector.getLoadObject());
|
|
|
List<ColumnRenameInfo> columnConfig = dataConnectorInfo.getColumnConfig();
|
|
|
@@ -205,10 +165,9 @@ public class DataConnectorService {
|
|
|
|
|
|
|
|
|
String columnConfigJson = null;
|
|
|
- String dbConfigJson = null;
|
|
|
String dataTagJson = null;
|
|
|
|
|
|
- if (!("".equals(columnConfig)) && columnConfig != null){
|
|
|
+ if (!("".equals(columnConfig)) && columnConfig != null) {
|
|
|
try {
|
|
|
columnConfigJson = objectmapper.writeValueAsString(columnConfig);
|
|
|
} catch (JsonProcessingException e) {
|
|
|
@@ -216,9 +175,7 @@ public class DataConnectorService {
|
|
|
}
|
|
|
dataConnector.setColumnConfig(columnConfigJson);
|
|
|
}
|
|
|
-
|
|
|
- dataConnector.setDbConfig(dbConfigJson);
|
|
|
- if (dataTag != null){
|
|
|
+ if (dataTag != null) {
|
|
|
try {
|
|
|
dataTagJson = objectmapper.writeValueAsString(dataTag);
|
|
|
} catch (JsonProcessingException e) {
|
|
|
@@ -227,7 +184,7 @@ public class DataConnectorService {
|
|
|
dataConnector.setDataTag(dataTagJson);
|
|
|
}
|
|
|
|
|
|
- if (dataConnector.getConnectorGroup() == 0){
|
|
|
+ if (dataConnector.getConnectorGroup() == 0) {
|
|
|
dataConnector.setConnectorGroup(-1);
|
|
|
}
|
|
|
|
|
|
@@ -238,12 +195,12 @@ public class DataConnectorService {
|
|
|
/*
|
|
|
转交数据源
|
|
|
*/
|
|
|
- public RepEntity changeOrder(ChangeOrderInfo changeOrderInfo, String token){
|
|
|
+ public RepEntity changeOrder(ChangeOrderInfo changeOrderInfo, String token) {
|
|
|
Map<String, String> resMap = GetTokenDataUtil.getTokenData(token);
|
|
|
int userId = Integer.parseInt(resMap.get("id"));
|
|
|
String name = userMapper.getName(changeOrderInfo.getUserId());
|
|
|
int createId = dataConnectorMapper.getCreateIdById(changeOrderInfo.getId());
|
|
|
- if (createId != userId){
|
|
|
+ if (createId != userId) {
|
|
|
return new RepEntity(RepCode.NoAuthority);
|
|
|
}
|
|
|
dataConnectorMapper.updataOrder(name, changeOrderInfo.getUserId(), changeOrderInfo.getId());
|
|
|
@@ -254,7 +211,7 @@ public class DataConnectorService {
|
|
|
更新数据源分组
|
|
|
*/
|
|
|
@CacheEvict(value = "singleDataConnector", key = "#body.id")
|
|
|
- public RepEntity updateConfigGroup(GroupUpdateId groupUpdateId){
|
|
|
+ public RepEntity updateConfigGroup(GroupUpdateId groupUpdateId) {
|
|
|
int id = groupUpdateId.getId();
|
|
|
int groupId = groupUpdateId.getGroupId();
|
|
|
dataConnectorMapper.updateConfigGroup(id, groupId);
|
|
|
@@ -265,7 +222,7 @@ public class DataConnectorService {
|
|
|
删除数据源
|
|
|
*/
|
|
|
@CacheEvict(value = "singleDataConnector")
|
|
|
- public RepEntity delDataConnector(List<Integer> idList){
|
|
|
+ public RepEntity delDataConnector(List<Integer> idList) {
|
|
|
Iterator isList = idList.iterator();
|
|
|
// while (isList.hasNext()){
|
|
|
// int id = (int) isList.next();
|
|
|
@@ -281,8 +238,8 @@ public class DataConnectorService {
|
|
|
/*
|
|
|
创建数据源分组
|
|
|
*/
|
|
|
- public RepEntity setDataConnectorGroup(GroupInfo groupInfo){
|
|
|
- if (groupInfo == null || "".equals(groupInfo)){
|
|
|
+ public RepEntity setDataConnectorGroup(GroupInfo groupInfo) {
|
|
|
+ if (groupInfo == null || "".equals(groupInfo)) {
|
|
|
return new RepEntity(RepCode.Null);
|
|
|
}
|
|
|
dataConnectorMapper.setConnectorGroup(groupInfo);
|
|
|
@@ -294,7 +251,7 @@ public class DataConnectorService {
|
|
|
更新数据源分组
|
|
|
*/
|
|
|
@CacheEvict(value = "singleDataConnector", key = "#body.id")
|
|
|
- public RepEntity updataDataConnectorGroup(GroupInfo groupInfo){
|
|
|
+ public RepEntity updataDataConnectorGroup(GroupInfo groupInfo) {
|
|
|
dataConnectorMapper.updataConnectorGroup(groupInfo);
|
|
|
return new RepEntity(RepCode.success);
|
|
|
}
|
|
|
@@ -303,10 +260,10 @@ public class DataConnectorService {
|
|
|
批量更新数据源分组
|
|
|
*/
|
|
|
@CacheEvict(value = "singleDataConnector")
|
|
|
- public RepEntity updataConnectorGroups(List<GroupInfo> groupInfoList){
|
|
|
+ public RepEntity updataConnectorGroups(List<GroupInfo> groupInfoList) {
|
|
|
Iterator isList = groupInfoList.iterator();
|
|
|
GroupInfo groupInfo = new GroupInfo();
|
|
|
- while (isList.hasNext()){
|
|
|
+ while (isList.hasNext()) {
|
|
|
groupInfo = (GroupInfo) isList.next();
|
|
|
dataConnectorMapper.updataConnectorGroup(groupInfo);
|
|
|
}
|
|
|
@@ -318,17 +275,17 @@ public class DataConnectorService {
|
|
|
删除数据源分组
|
|
|
*/
|
|
|
@CacheEvict(value = "singleDataConnector")
|
|
|
- public RepEntity delDataConnectorGroup(List<Integer> idList){
|
|
|
+ public RepEntity delDataConnectorGroup(List<Integer> idList) {
|
|
|
List<Integer> integerList = idList;
|
|
|
Iterator isList = integerList.iterator();
|
|
|
- while (isList.hasNext()){
|
|
|
+ while (isList.hasNext()) {
|
|
|
int id = (int) isList.next();
|
|
|
List<String> groupName = dataConnectorMapper.getFatherId(id);
|
|
|
- if (groupName.size() != 0){
|
|
|
+ if (groupName.size() != 0) {
|
|
|
return new RepEntity(RepCode.hasGroupUsing);
|
|
|
}
|
|
|
List<String> chartName = dataConnectorMapper.getConName(id);
|
|
|
- if (chartName.size() != 0){
|
|
|
+ if (chartName.size() != 0) {
|
|
|
return new RepEntity(RepCode.hasConUsing);
|
|
|
}
|
|
|
}
|
|
|
@@ -339,14 +296,14 @@ public class DataConnectorService {
|
|
|
/*
|
|
|
查询数据源分组列表
|
|
|
*/
|
|
|
- public RepEntity getConnectorGroup(){
|
|
|
+ public RepEntity getConnectorGroup() {
|
|
|
return new RepEntity(RepCode.success, dataConnectorMapper.getConnectorGroup());
|
|
|
}
|
|
|
|
|
|
/*
|
|
|
查询数据源数据
|
|
|
*/
|
|
|
- public RepEntity getConnectorData(String token, BaseToDataInfo baseToDataInfo){
|
|
|
+ public RepEntity getConnectorData(String token, BaseToDataInfo baseToDataInfo) {
|
|
|
|
|
|
int dataId = baseToDataInfo.getId();
|
|
|
int baseId = getChartsDataUtilService.getBaseIdByConnect(dataId);
|
|
|
@@ -362,33 +319,33 @@ public class DataConnectorService {
|
|
|
columnValuesInfo.setColumnConfig(columnConfig);
|
|
|
String sqls = chartsUtilService.columnNameUtil(id, dataId, sql, true, 0, createId);
|
|
|
|
|
|
- try {
|
|
|
- if (!DynamicDataSourceContextHolder.isContainsDataSource(String.valueOf(baseId))) {
|
|
|
- logger.info("数据源:{} 不存在, 使用默认的数据源", baseId);
|
|
|
- } else {
|
|
|
- logger.info("使用数据源:", baseId);
|
|
|
- DynamicDataSourceContextHolder.setDataSourceType(String.valueOf(baseId));
|
|
|
- }
|
|
|
- List<Map<String, Object>> val = new ArrayList<>();
|
|
|
- if (id == createId) {
|
|
|
- val = dataConnectorMapper.getValues(sql, baseToDataInfo.getTestPage().enablePaging());
|
|
|
- } else {
|
|
|
- if ("".equals(sqls)) {
|
|
|
- return new RepEntity(RepCode.NoAuthority);
|
|
|
- }
|
|
|
- val = dataConnectorMapper.getValues(sql, baseToDataInfo.getTestPage().enablePaging());
|
|
|
+ try {
|
|
|
+ if (!DynamicDataSourceContextHolder.isContainsDataSource(String.valueOf(baseId))) {
|
|
|
+ logger.info("数据源:{} 不存在, 使用默认的数据源", baseId);
|
|
|
+ } else {
|
|
|
+ logger.info("使用数据源:", baseId);
|
|
|
+ DynamicDataSourceContextHolder.setDataSourceType(String.valueOf(baseId));
|
|
|
+ }
|
|
|
+ List<Map<String, Object>> val = new ArrayList<>();
|
|
|
+ if (id == createId) {
|
|
|
+ val = dataConnectorMapper.getValues(sql, baseToDataInfo.getTestPage().enablePaging());
|
|
|
+ } else {
|
|
|
+ if ("".equals(sqls)) {
|
|
|
+ return new RepEntity(RepCode.NoAuthority);
|
|
|
}
|
|
|
-
|
|
|
- PageInfo<Map<String, Object>> pageInfo = new PageInfo<>(val);
|
|
|
- columnValuesInfo.setValues(pageInfo);
|
|
|
- } catch (Exception e) {
|
|
|
- e.printStackTrace();
|
|
|
- logger.error("异常");
|
|
|
- return new RepEntity(RepCode.erro);
|
|
|
- } finally {
|
|
|
- logger.info("关闭数据源");
|
|
|
- DynamicDataSourceContextHolder.clearDataSourceType();
|
|
|
+ val = dataConnectorMapper.getValues(sql, baseToDataInfo.getTestPage().enablePaging());
|
|
|
}
|
|
|
+
|
|
|
+ PageInfo<Map<String, Object>> pageInfo = new PageInfo<>(val);
|
|
|
+ columnValuesInfo.setValues(pageInfo);
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ logger.error("异常");
|
|
|
+ return new RepEntity(RepCode.erro);
|
|
|
+ } finally {
|
|
|
+ logger.info("关闭数据源");
|
|
|
+ DynamicDataSourceContextHolder.clearDataSourceType();
|
|
|
+ }
|
|
|
return new RepEntity(RepCode.success, columnValuesInfo);
|
|
|
}
|
|
|
|