|
|
@@ -1,6 +1,6 @@
|
|
|
package com.usoftchina.bi.server.service.dataSource;
|
|
|
|
|
|
-import com.usoftchina.bi.core.base.BaseContextHolder;
|
|
|
+import com.usoftchina.bi.core.base.*;
|
|
|
import com.usoftchina.bi.core.exception.MyException;
|
|
|
import com.usoftchina.bi.core.utils.GetTokenDataUtil;
|
|
|
import com.usoftchina.bi.server.dao.chart.ChartsConfigMapper;
|
|
|
@@ -15,9 +15,6 @@ import com.usoftchina.bi.server.model.bo.GroupUpdateId;
|
|
|
import com.usoftchina.bi.server.model.po.BaseConfig;
|
|
|
import com.usoftchina.bi.server.model.po.DataConnector;
|
|
|
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.po.MessageLog;
|
|
|
import com.usoftchina.bi.server.model.vo.configVo.*;
|
|
|
import com.usoftchina.bi.server.model.vo.dataVo.ColumnValuesInfo;
|
|
|
@@ -36,6 +33,7 @@ import org.springframework.cache.annotation.CacheEvict;
|
|
|
import org.springframework.dao.DataAccessException;
|
|
|
import org.springframework.jdbc.core.JdbcTemplate;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.transaction.annotation.Propagation;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.util.ObjectUtils;
|
|
|
|
|
|
@@ -128,9 +126,14 @@ public class DataConnectorService {
|
|
|
*/
|
|
|
// @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());
|
|
|
+ int id = BaseContextHolder.getUserId();
|
|
|
+ String role = BaseContextHolder.getRole();
|
|
|
+ List<DataConnectorList> listConnector = new ArrayList<>();
|
|
|
+ if (RoleConstant.SUPER_ADMIN.getRole().equals(role)) {
|
|
|
+ listConnector = dataConnectorMapper.getDataConnectorListWithoutLimit(id, testPage.enablePaging());
|
|
|
+ }else {
|
|
|
+ listConnector = dataConnectorMapper.getDataConnectorList(id, testPage.enablePaging());
|
|
|
+ }
|
|
|
List<DataConnectorList> listConnectors = new ArrayList<>();
|
|
|
Iterator isList = listConnector.iterator();
|
|
|
while (isList.hasNext()) {
|
|
|
@@ -207,9 +210,10 @@ public class DataConnectorService {
|
|
|
*/
|
|
|
public RepEntity changeOrder(ChangeOrderInfo changeOrderInfo) {
|
|
|
int userId = BaseContextHolder.getUserId();
|
|
|
+ String role = BaseContextHolder.getRole();
|
|
|
String name = BaseContextHolder.getUserName();
|
|
|
int createId = dataConnectorMapper.getCreateIdById(changeOrderInfo.getId());
|
|
|
- if (createId != userId) {
|
|
|
+ if (createId != userId && !RoleConstant.SUPER_ADMIN.getRole().equals(role)) {
|
|
|
return new RepEntity(RepCode.NoAuthority);
|
|
|
}
|
|
|
dataConnectorMapper.updataOrder(name, changeOrderInfo.getUserId(), changeOrderInfo.getId());
|
|
|
@@ -308,8 +312,7 @@ public class DataConnectorService {
|
|
|
*/
|
|
|
public RepEntity updataDataConnectorGroup(String token, GroupInfo groupInfo) {
|
|
|
dataConnectorMapper.updataConnectorGroup(groupInfo);
|
|
|
- Map<String, String> resMap = GetTokenDataUtil.getTokenData(token);
|
|
|
- String username = resMap.get("name");
|
|
|
+ String username = BaseContextHolder.getUserName();
|
|
|
messageLogService.update("数据源分组", groupInfo.getGroupName(), username, "更新分组");
|
|
|
return new RepEntity(RepCode.success);
|
|
|
}
|
|
|
@@ -365,14 +368,16 @@ public class DataConnectorService {
|
|
|
int baseId = getChartsDataUtilService.getBaseIdByConnect(dataId);
|
|
|
logger.info("切换数据库:{}", baseId);
|
|
|
|
|
|
- Map<String, String> resultMap = GetTokenDataUtil.getTokenData(token);
|
|
|
- int id = Integer.parseInt(resultMap.get("id"));
|
|
|
+ int id = BaseContextHolder.getUserId();
|
|
|
int createId = dataConnectorMapper.getCreateIdById(dataId);
|
|
|
ColumnValuesInfo columnValuesInfo = new ColumnValuesInfo();
|
|
|
ColumnConfigAndSql columnConfigAndSql = chartsConfigMapper.getConfigAndSql(dataId);
|
|
|
String sql = columnConfigAndSql.getSql();
|
|
|
String columnConfig = columnConfigAndSql.getColumnConfig();
|
|
|
columnValuesInfo.setColumnConfig(columnConfig);
|
|
|
+ if (RoleConstant.SUPER_ADMIN.getRole().equals(BaseContextHolder.getRole())) {
|
|
|
+ id = createId;
|
|
|
+ }
|
|
|
String sqls = chartsUtilService.columnNameUtil(id, dataId, sql, true, 0, createId);
|
|
|
|
|
|
try {
|
|
|
@@ -412,8 +417,9 @@ public class DataConnectorService {
|
|
|
* @return
|
|
|
*/
|
|
|
public RepEntity<Integer> copyDataSource(String token, DataSourceCopyInfo dataSourceCopyInfo){
|
|
|
- int userId = BaseContextHolder.getUserId();
|
|
|
- String userName = BaseContextHolder.getUserName();
|
|
|
+ Map<String,String> userData = GetTokenDataUtil.getTokenData(token);
|
|
|
+ int userId = Integer.valueOf(userData.get("id"));
|
|
|
+ String userName = userData.get("name");
|
|
|
|
|
|
int dataSourceId = dataSourceCopyInfo.getDataSourceId(),
|
|
|
dataConnectionId = dataSourceCopyInfo.getDataConnectionId();
|
|
|
@@ -422,7 +428,7 @@ public class DataConnectorService {
|
|
|
//校验SQL语句是否可正确在目标数据库执行
|
|
|
enableCopy(loadObject, dataConnectionId);
|
|
|
//复制数据源
|
|
|
- dataConnector.setDataName(dataConnector.getDataName() + "_副本");
|
|
|
+ dataConnector.setDataName(dataConnector.getDataName() + dataSourceCopyInfo.getLastName());
|
|
|
dataConnector.setCreateBy(userName);
|
|
|
dataConnector.setCreateId(userId);
|
|
|
dataConnector.setDbConId(String.valueOf(dataConnectionId));
|
|
|
@@ -437,7 +443,7 @@ public class DataConnectorService {
|
|
|
* @param loadObject
|
|
|
* @param dataConnectionId
|
|
|
*/
|
|
|
- private void enableCopy(String loadObject, int dataConnectionId){
|
|
|
+ public void enableCopy(String loadObject, int dataConnectionId){
|
|
|
DynamicDataSourceContextHolder.setDataSourceType(String.valueOf(dataConnectionId));
|
|
|
if (!loadObject.toUpperCase().startsWith("SELECT")) {
|
|
|
loadObject = "SELECT * FROM " + loadObject;
|