修改方法

master
lwj 2024-09-10 19:25:04 +08:00
parent eaf8ba8a83
commit 8a16792a4f
11 changed files with 25 additions and 117 deletions

View File

@ -3,9 +3,9 @@ package com.muyu.mysql;
import com.muyu.basic.SourceConfig; import com.muyu.basic.SourceConfig;
import com.muyu.data.base.BaseDataAbsSource; import com.muyu.data.base.BaseDataAbsSource;
import com.muyu.domain.DataValue;
import com.muyu.domain.Source; import com.muyu.domain.Source;
import com.muyu.domain.enums.DataType; import com.muyu.etl.domain.DataValue;
import com.muyu.etl.enums.DataType;
import com.zaxxer.hikari.HikariConfig; import com.zaxxer.hikari.HikariConfig;
import com.zaxxer.hikari.HikariDataSource; import com.zaxxer.hikari.HikariDataSource;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;
@ -390,6 +390,7 @@ public class MySqlDataSource extends BaseDataAbsSource {
log.info("反复循环的次数为:{}",i); log.info("反复循环的次数为:{}",i);
if (resultSet.isFirst()){ if (resultSet.isFirst()){
String columnTypeName = metaData.getColumnTypeName(i); String columnTypeName = metaData.getColumnTypeName(i);
DatabaseMetaData metaDataColumns = conn.getMetaData(); DatabaseMetaData metaDataColumns = conn.getMetaData();
ResultSet columns = metaDataColumns.getColumns(null, null, metaData.getTableName(i), metaData.getColumnName(i)); ResultSet columns = metaDataColumns.getColumns(null, null, metaData.getTableName(i), metaData.getColumnName(i));
String remarks =null; String remarks =null;
@ -399,14 +400,21 @@ public class MySqlDataSource extends BaseDataAbsSource {
remarks = columns.getString("REMARKS"); remarks = columns.getString("REMARKS");
log.info("字段备注:"+remarks); log.info("字段备注:"+remarks);
} }
log.info("字段备注提取完成"); log.info("字段备注提取完成");
Class clazz = DataType.convertType(columnTypeName); Class clazz = DataType.convertType(columnTypeName);
log.info("字段类型:{}", clazz.getName()); log.info("字段类型:{}", clazz.getName());
Object object = resultSet.getObject(i, clazz); Object object = resultSet.getObject(i, clazz);
log.info("字段类型:{}", object); log.info("字段类型:{}", object);
String key = metaData.getColumnName(i); String key = metaData.getColumnName(i);
log.info("字段Key{}", key); log.info("字段Key{}", key);
log.info("columnTypeName{},",columnTypeName);
log.info("columnTypeName{},",columnTypeName);
DataType bySqlType = DataType.findBySqlType(columnTypeName); DataType bySqlType = DataType.findBySqlType(columnTypeName);
log.info("字段数据类型:{}", bySqlType); log.info("字段数据类型:{}", bySqlType);
DataValue build = DataValue.builder() DataValue build = DataValue.builder()

View File

@ -1,9 +1,7 @@
package com.muyu.data.base; package com.muyu.data.base;
import com.muyu.etl.domain.DataValue;
import com.muyu.domain.DataValue;
/** /**
* *

View File

@ -1,22 +0,0 @@
package com.muyu.domain;
import com.muyu.domain.enums.DataType;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class DataValue {
private String key;
private String label;
private DataType type;
private Object value;
}

View File

@ -1,77 +0,0 @@
package com.muyu.domain.enums;
import java.math.BigDecimal;
import java.util.Date;
public enum DataType {
VARCHAR("varchar",String.class,"String"),
BIGINT("bigint",Long.class,"Long"),
INT("int",Integer.class,"Integer"),
DECIMAL("decimal", BigDecimal.class,"BigDecimal"),
DATETIME("datetime", Date.class,"Date"),
TEXT ("text",String.class,"String"),
DOUBLE ("double",Double.class,"Double");
private final String sourceType;
private final Class<?> targetType;
private final String javaType;
public String getSourceType() {
return sourceType;
}
public Class<?> getTargetType() {
return targetType;
}
public String getJavaType() {
return javaType;
}
DataType(String sourceType, Class<?> targetType, String javaType) {
this.sourceType = sourceType;
this.targetType = targetType;
this.javaType = javaType;
}
public static Class convertType(String type){
for (DataType dataType : DataType.values()) {
if(dataType.sourceType.equalsIgnoreCase(type)){
return dataType.targetType;
}
}
return String.class;
}
public static String convertTypeString(String type){
for (DataType dataType : DataType.values()) {
if (dataType.sourceType.equalsIgnoreCase(type)){
return dataType.javaType;
}
}
return "String";
}
public static DataType findBySqlType(String sqlType){
for (DataType dataType : DataType.values()) {
if (dataType.getSourceType().equalsIgnoreCase(sqlType)){
return dataType;
}
}
return VARCHAR;
}
}

View File

@ -7,6 +7,7 @@ import com.muyu.domain.Accredit;
import com.muyu.domain.rep.AccreditDeptRep; import com.muyu.domain.rep.AccreditDeptRep;
import com.muyu.domain.rep.AccreditUserRep; import com.muyu.domain.rep.AccreditUserRep;
import com.muyu.domain.req.AccreditReq; import com.muyu.domain.req.AccreditReq;
import com.muyu.etl.domain.DataValue;
import com.muyu.mysql.MySqlDataSource; import com.muyu.mysql.MySqlDataSource;
import com.muyu.mysql.MySqlQuery; import com.muyu.mysql.MySqlQuery;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;
@ -67,11 +68,11 @@ public class AccreditController {
@PostMapping("texttt") @PostMapping("texttt")
public Result remove(@RequestBody MySqlQuery query) { public DataValue[][] remove(@RequestBody MySqlQuery query) {
mySqlDataSource.setQuery(query); mySqlDataSource.setQuery(query);
System.out.println("amnmnmnmnmnmmnnm"); System.out.println("amnmnmnmnmnmmnnm");
mySqlDataSource.getRows(); DataValue[][] rows = mySqlDataSource.getRows();
return null; return rows;
} }

View File

@ -2,7 +2,7 @@ package com.muyu.cloud.etl.controller;
import com.muyu.cloud.etl.service.DataValueService; import com.muyu.cloud.etl.service.DataValueService;
import com.muyu.common.core.domain.Result; import com.muyu.common.core.domain.Result;
import com.muyu.domain.DataValue; import com.muyu.etl.domain.DataValue;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -16,7 +16,7 @@ public class DataValueController {
//获取字段值 供任务调用 //获取字段值 供任务调用
@PostMapping("/findTableValue") @PostMapping("/findTableValue")
public Result<List<List<DataValue>>> findTableValue(@RequestParam("basicId") Long basicId,@RequestParam("sql") String sql) { public Result<List<List<DataValue>>> findTableValue(@RequestParam("basicId") Long basicId, @RequestParam("sql") String sql) {
List<List<DataValue>> list= dataValueService.findTableValue(basicId,sql); List<List<DataValue>> list= dataValueService.findTableValue(basicId,sql);
return Result.success(list); return Result.success(list);
} }

View File

@ -2,7 +2,7 @@ package com.muyu.cloud.etl.controller;
import com.muyu.cloud.etl.service.ProductService; import com.muyu.cloud.etl.service.ProductService;
import com.muyu.common.core.domain.Result; import com.muyu.common.core.domain.Result;
import com.muyu.domain.DataValue; import com.muyu.etl.domain.DataValue;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;

View File

@ -1,6 +1,6 @@
package com.muyu.cloud.etl.service; package com.muyu.cloud.etl.service;
import com.muyu.domain.DataValue; import com.muyu.etl.domain.DataValue;
import java.util.List; import java.util.List;

View File

@ -1,6 +1,6 @@
package com.muyu.cloud.etl.service; package com.muyu.cloud.etl.service;
import com.muyu.domain.DataValue; import com.muyu.etl.domain.DataValue;
public interface ProductService { public interface ProductService {
int addProduct(Long basicId, Long tableId, DataValue[][] listList); int addProduct(Long basicId, Long tableId, DataValue[][] listList);

View File

@ -5,10 +5,10 @@ import com.muyu.cloud.etl.service.DataValueService;
import com.muyu.cloud.etl.service.SourceService; import com.muyu.cloud.etl.service.SourceService;
import com.muyu.cloud.etl.service.TableInfoService; import com.muyu.cloud.etl.service.TableInfoService;
import com.muyu.data.base.BaseQueryHandler; import com.muyu.data.base.BaseQueryHandler;
import com.muyu.domain.DataValue;
import com.muyu.domain.Source; import com.muyu.domain.Source;
import com.muyu.domain.TableInfo; import com.muyu.domain.TableInfo;
import com.muyu.domain.enums.DataType; import com.muyu.etl.domain.DataValue;
import com.muyu.etl.enums.DataType;
import com.muyu.mysql.MySqlDataSource; import com.muyu.mysql.MySqlDataSource;
import com.muyu.mysql.MySqlQuery; import com.muyu.mysql.MySqlQuery;
import com.zaxxer.hikari.HikariDataSource; import com.zaxxer.hikari.HikariDataSource;

View File

@ -3,10 +3,10 @@ package com.muyu.cloud.etl.service.impl;
import com.muyu.cloud.etl.service.ProductService; import com.muyu.cloud.etl.service.ProductService;
import com.muyu.cloud.etl.service.SourceService; import com.muyu.cloud.etl.service.SourceService;
import com.muyu.cloud.etl.service.TableInfoService; import com.muyu.cloud.etl.service.TableInfoService;
import com.muyu.domain.DataValue;
import com.muyu.domain.Source; import com.muyu.domain.Source;
import com.muyu.domain.TableInfo; import com.muyu.domain.TableInfo;
import com.muyu.domain.enums.DataType; import com.muyu.etl.domain.DataValue;
import com.muyu.etl.enums.DataType;
import com.zaxxer.hikari.HikariConfig; import com.zaxxer.hikari.HikariConfig;
import com.zaxxer.hikari.HikariDataSource; import com.zaxxer.hikari.HikariDataSource;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;