ColumnScreenService.java 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. package com.server;
  2. import com.dao.ChartsConfigMapper;
  3. import com.dao.ShowChartsMapper;
  4. import com.model.pojo.RepCode;
  5. import com.model.pojo.RepEntity;
  6. import com.model.vo.configVo.ColumnScreenInfo;
  7. import com.util.BasesSource.DynamicDataSourceContextHolder;
  8. import org.springframework.beans.factory.annotation.Autowired;
  9. import org.springframework.stereotype.Service;
  10. import java.util.ArrayList;
  11. import java.util.List;
  12. @Service
  13. public class ColumnScreenService {
  14. @Autowired
  15. ShowChartsMapper showChartsMapper;
  16. @Autowired
  17. GetChartsDataUtilService getChartsDataUtilService;
  18. @Autowired
  19. ChartsConfigMapper chartsConfigMapper;
  20. public RepEntity getScreenData(ColumnScreenInfo columnScreenInfo){
  21. //取表名
  22. int id = columnScreenInfo.getId();
  23. String tableName = chartsConfigMapper.getTableName(id);
  24. if (tableName == null || "".equals(tableName)){
  25. return new RepEntity(RepCode.nullTableName);
  26. }
  27. List<Object> data = new ArrayList<>();
  28. String baseName = getChartsDataUtilService.getBaseName(id);
  29. System.out.println("切换数据库"+baseName);
  30. try{
  31. if (!DynamicDataSourceContextHolder.isContainsDataSource(baseName)) {
  32. //joinPoint.getSignature() :获取连接点的方法签名对象
  33. System.out.println("数据源 " + baseName + " 不存在使用默认的数据源 -> ");
  34. } else {
  35. System.out.println("使用数据源:" + baseName);
  36. DynamicDataSourceContextHolder.setDataSourceType(baseName);
  37. }
  38. data = showChartsMapper.getScreenData(columnScreenInfo.getColumnName(), tableName);
  39. }catch (Exception e){
  40. e.printStackTrace();
  41. System.out.println("异常");
  42. return new RepEntity(RepCode.erro);
  43. }finally {
  44. DynamicDataSourceContextHolder.clearDataSourceType();
  45. }
  46. return new RepEntity(RepCode.success, data);
  47. }
  48. }