|
|
@@ -1,5 +1,6 @@
|
|
|
package com.usoftchina.bi.server.service.dataSource;
|
|
|
|
|
|
+import com.usoftchina.bi.core.base.BaseContextHolder;
|
|
|
import com.usoftchina.bi.core.exception.MyException;
|
|
|
import com.usoftchina.bi.core.utils.GetTokenDataUtil;
|
|
|
import com.usoftchina.bi.server.dao.chart.ChartsConfigMapper;
|
|
|
@@ -17,10 +18,12 @@ 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;
|
|
|
import com.usoftchina.bi.server.model.vo.dataVo.DataSourceCopyInfo;
|
|
|
import com.usoftchina.bi.server.service.chart.GetChartsDataUtilService;
|
|
|
+import com.usoftchina.bi.server.service.common.MessageLogService;
|
|
|
import com.usoftchina.bi.server.service.strategy.StrategysService;
|
|
|
import com.usoftchina.bi.server.service.chart.ChartsUtilService;
|
|
|
import com.usoftchina.bi.core.jdbc.DynamicDataSourceContextHolder;
|
|
|
@@ -34,6 +37,7 @@ import org.springframework.dao.DataAccessException;
|
|
|
import org.springframework.jdbc.core.JdbcTemplate;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
+import org.springframework.util.ObjectUtils;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Iterator;
|
|
|
@@ -61,6 +65,8 @@ public class DataConnectorService {
|
|
|
GetChartsDataUtilService getChartsDataUtilService;
|
|
|
@Autowired
|
|
|
private JdbcTemplate jdbcTemplate;
|
|
|
+ @Autowired
|
|
|
+ private MessageLogService messageLogService;
|
|
|
|
|
|
private static final Logger logger = LoggerFactory.getLogger(DataConnectorService.class);
|
|
|
|
|
|
@@ -199,10 +205,9 @@ public class DataConnectorService {
|
|
|
/*
|
|
|
转交数据源
|
|
|
*/
|
|
|
- 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());
|
|
|
+ public RepEntity changeOrder(ChangeOrderInfo changeOrderInfo) {
|
|
|
+ int userId = BaseContextHolder.getUserId();
|
|
|
+ String name = BaseContextHolder.getUserName();
|
|
|
int createId = dataConnectorMapper.getCreateIdById(changeOrderInfo.getId());
|
|
|
if (createId != userId) {
|
|
|
return new RepEntity(RepCode.NoAuthority);
|
|
|
@@ -214,34 +219,51 @@ public class DataConnectorService {
|
|
|
/*
|
|
|
更新数据源分组
|
|
|
*/
|
|
|
- public RepEntity updateConfigGroup(GroupUpdateId groupUpdateId) {
|
|
|
+ public RepEntity updateConfigGroup(String token, GroupUpdateId groupUpdateId) {
|
|
|
+ String username = BaseContextHolder.getUserName();
|
|
|
int id = groupUpdateId.getId();
|
|
|
int groupId = groupUpdateId.getGroupId();
|
|
|
+ GroupInfo groupInfo = dataConnectorMapper.getConnectorGroupById(groupId);
|
|
|
+ String groupName = null;
|
|
|
+ if (!ObjectUtils.isEmpty(groupInfo)) {
|
|
|
+ groupName = groupInfo.getGroupName();
|
|
|
+ }
|
|
|
dataConnectorMapper.updateConfigGroup(id, groupId);
|
|
|
+ String dataName = dataConnectorMapper.getOneData(id).getDataName();
|
|
|
+ // 记录LOG
|
|
|
+ MessageLog messageLog = new MessageLog(username, "更新数据源分组为( "+ groupName + ")", "更新成功", null, "数据源", dataName);
|
|
|
+ messageLogService.customizeLog(messageLog);
|
|
|
return new RepEntity(RepCode.success);
|
|
|
}
|
|
|
|
|
|
/*
|
|
|
删除数据源
|
|
|
*/
|
|
|
- public RepEntity delDataConnector(Long id) {
|
|
|
+ public RepEntity delDataConnector(String token, Long id) {
|
|
|
+ String username = BaseContextHolder.getUserName();
|
|
|
+ String dataName = dataConnectorMapper.getOneData(id.intValue()).getDataName();
|
|
|
int count = dataConnectorMapper.countChartsById(id);
|
|
|
if (count > 0) {
|
|
|
throw new MyException(RepCode.CHARTS_USED_DATACONNECTOR);
|
|
|
}
|
|
|
dataConnectorMapper.deleteData(id);
|
|
|
+ // 记录LOG
|
|
|
+ messageLogService.delete("数据源", dataName, username, null);
|
|
|
return new RepEntity(RepCode.success);
|
|
|
}
|
|
|
|
|
|
/*
|
|
|
创建数据源分组
|
|
|
*/
|
|
|
- public RepEntity setDataConnectorGroup(GroupInfo groupInfo) {
|
|
|
+ public RepEntity setDataConnectorGroup(String token, GroupInfo groupInfo) {
|
|
|
+ String username = BaseContextHolder.getUserName();
|
|
|
if (groupInfo == null || "".equals(groupInfo)) {
|
|
|
return new RepEntity(RepCode.Null);
|
|
|
}
|
|
|
dataConnectorMapper.setConnectorGroup(groupInfo);
|
|
|
int id = groupInfo.getId();
|
|
|
+ // 记录LOG
|
|
|
+ messageLogService.save("数据源分组", groupInfo.getGroupName(), username, "创建数据源分组");
|
|
|
return new RepEntity(RepCode.success, id);
|
|
|
}
|
|
|
|
|
|
@@ -251,7 +273,8 @@ public class DataConnectorService {
|
|
|
* @return
|
|
|
*/
|
|
|
@Transactional
|
|
|
- public RepEntity saveConnectorGroups(List<GroupInfo> groupInfoList) {
|
|
|
+ public RepEntity saveConnectorGroups(String token, List<GroupInfo> groupInfoList) {
|
|
|
+ String username = BaseContextHolder.getUserName();
|
|
|
List<GroupInfo> addGroupInfoList = new ArrayList<>();
|
|
|
List<GroupInfo> deleteGroupInfoList = new ArrayList<>();
|
|
|
List<GroupInfo> updateGroupInfoList = new ArrayList<>();
|
|
|
@@ -265,12 +288,16 @@ public class DataConnectorService {
|
|
|
}
|
|
|
});
|
|
|
if (addGroupInfoList.size() > 0) {
|
|
|
+ messageLogService.save("数据源分组", null, username, "批量新增数据源分组");
|
|
|
dataConnectorMapper.batchInsertDataConnector(addGroupInfoList);
|
|
|
}
|
|
|
if (updateGroupInfoList.size() > 0) {
|
|
|
+ messageLogService.save("数据源分组", null, username, "批量更新数据源分组");
|
|
|
dataConnectorMapper.batchUpdateDataConnector(updateGroupInfoList);
|
|
|
}
|
|
|
if (deleteGroupInfoList.size() > 0) {
|
|
|
+ messageLogService.save("数据源分组", null, username, "批量删除数据源分组");
|
|
|
+ dataConnectorMapper.batchUpdateGroupIdToDefault(deleteGroupInfoList);
|
|
|
dataConnectorMapper.batchDeleteDataConnector(deleteGroupInfoList);
|
|
|
}
|
|
|
return new RepEntity(RepCode.success);
|
|
|
@@ -279,16 +306,17 @@ public class DataConnectorService {
|
|
|
/*
|
|
|
更新数据源分组
|
|
|
*/
|
|
|
- @CacheEvict(value = "singleDataConnector", key = "#body.id")
|
|
|
- public RepEntity updataDataConnectorGroup(GroupInfo groupInfo) {
|
|
|
+ public RepEntity updataDataConnectorGroup(String token, GroupInfo groupInfo) {
|
|
|
dataConnectorMapper.updataConnectorGroup(groupInfo);
|
|
|
+ Map<String, String> resMap = GetTokenDataUtil.getTokenData(token);
|
|
|
+ String username = resMap.get("name");
|
|
|
+ messageLogService.update("数据源分组", groupInfo.getGroupName(), username, "更新分组");
|
|
|
return new RepEntity(RepCode.success);
|
|
|
}
|
|
|
|
|
|
/*
|
|
|
批量更新数据源分组
|
|
|
*/
|
|
|
- @CacheEvict(value = "singleDataConnector")
|
|
|
public RepEntity updataConnectorGroups(List<GroupInfo> groupInfoList) {
|
|
|
Iterator isList = groupInfoList.iterator();
|
|
|
GroupInfo groupInfo = new GroupInfo();
|
|
|
@@ -303,8 +331,8 @@ public class DataConnectorService {
|
|
|
/*
|
|
|
删除数据源分组
|
|
|
*/
|
|
|
- @CacheEvict(value = "singleDataConnector")
|
|
|
- public RepEntity delDataConnectorGroup(Long id) {
|
|
|
+ public RepEntity delDataConnectorGroup(String token, Long id) {
|
|
|
+ String username = BaseContextHolder.getUserName();
|
|
|
List<String> groupName = dataConnectorMapper.getFatherId(id.intValue());
|
|
|
if (groupName.size() != 0) {
|
|
|
return new RepEntity(RepCode.hasGroupUsing);
|
|
|
@@ -313,7 +341,11 @@ public class DataConnectorService {
|
|
|
if (chartName.size() != 0) {
|
|
|
return new RepEntity(RepCode.hasConUsing);
|
|
|
}
|
|
|
+ String dataName = dataConnectorMapper.getOneData(id.intValue()).getDataName();
|
|
|
dataConnectorMapper.delConnectorGroup(id);
|
|
|
+ // 更新分组字段值
|
|
|
+ dataConnectorMapper.updateGroupIdToDefault(id);
|
|
|
+ messageLogService.delete("数据源分组", dataName, username, "删除数据源分组");
|
|
|
return new RepEntity(RepCode.success);
|
|
|
}
|
|
|
|
|
|
@@ -380,9 +412,8 @@ public class DataConnectorService {
|
|
|
* @return
|
|
|
*/
|
|
|
public RepEntity<Integer> copyDataSource(String token, DataSourceCopyInfo dataSourceCopyInfo){
|
|
|
- Map<String, String> resultMap = GetTokenDataUtil.getTokenData(token);
|
|
|
- int userId = Integer.parseInt(resultMap.get("id"));
|
|
|
- String userName = resultMap.get("name");
|
|
|
+ int userId = BaseContextHolder.getUserId();
|
|
|
+ String userName = BaseContextHolder.getUserName();
|
|
|
|
|
|
int dataSourceId = dataSourceCopyInfo.getDataSourceId(),
|
|
|
dataConnectionId = dataSourceCopyInfo.getDataConnectionId();
|
|
|
@@ -395,6 +426,7 @@ public class DataConnectorService {
|
|
|
dataConnector.setCreateBy(userName);
|
|
|
dataConnector.setCreateId(userId);
|
|
|
dataConnector.setDbConId(String.valueOf(dataConnectionId));
|
|
|
+ dataConnector.setTableName(dataConnector.getLoadObject());
|
|
|
dataConnectorMapper.insertDataConnector(dataConnector);
|
|
|
int dataId = dataConnector.getDataId();
|
|
|
return new RepEntity(RepCode.success, dataId);
|