| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- package com.server;
- import com.dao.ChartsConfigMapper;
- import com.dao.ShowChartsMapper;
- import com.model.pojo.RepCode;
- import com.model.pojo.RepEntity;
- import com.model.vo.configVo.ColumnScreenInfo;
- import com.util.BasesSource.DynamicDataSourceContextHolder;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import java.util.ArrayList;
- import java.util.List;
- @Service
- public class ColumnScreenService {
- @Autowired
- ShowChartsMapper showChartsMapper;
- @Autowired
- GetChartsDataUtilService getChartsDataUtilService;
- @Autowired
- ChartsConfigMapper chartsConfigMapper;
- public RepEntity getScreenData(ColumnScreenInfo columnScreenInfo){
- //取表名
- int id = columnScreenInfo.getId();
- String tableName = chartsConfigMapper.getTableName(id);
- if (tableName == null || "".equals(tableName)){
- return new RepEntity(RepCode.nullTableName);
- }
- List<Object> data = new ArrayList<>();
- String baseName = getChartsDataUtilService.getBaseName(id);
- System.out.println("切换数据库"+baseName);
- try{
- if (!DynamicDataSourceContextHolder.isContainsDataSource(baseName)) {
- //joinPoint.getSignature() :获取连接点的方法签名对象
- System.out.println("数据源 " + baseName + " 不存在使用默认的数据源 -> ");
- } else {
- System.out.println("使用数据源:" + baseName);
- DynamicDataSourceContextHolder.setDataSourceType(baseName);
- }
- data = showChartsMapper.getScreenData(columnScreenInfo.getColumnName(), tableName);
- }catch (Exception e){
- e.printStackTrace();
- System.out.println("异常");
- return new RepEntity(RepCode.erro);
- }finally {
- DynamicDataSourceContextHolder.clearDataSourceType();
- }
- return new RepEntity(RepCode.success, data);
- }
- }
|