|
@@ -9,6 +9,7 @@ import com.customer.service.ITableInfoService;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
+import org.springframework.util.StringUtils;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import java.util.List;
|
|
@@ -21,9 +22,6 @@ public class TableInfoServiceImpl implements ITableInfoService {
|
|
|
@Resource
|
|
|
private TableInfoMapper tableInfoMapper;
|
|
|
|
|
|
- @Autowired
|
|
|
- private DynamicDataSource dynamicDataSource;
|
|
|
-
|
|
|
@Override
|
|
|
@Transactional
|
|
|
public void createMysqlDataBase(Map<String, Object> map) {
|
|
@@ -52,7 +50,6 @@ public class TableInfoServiceImpl implements ITableInfoService {
|
|
|
@Override
|
|
|
@Transactional
|
|
|
public void createSqlServerDataBase(Map<String, Object> map) {
|
|
|
-
|
|
|
String dataBaseName = (String) map.get("dataBaseName");
|
|
|
String tableName = (String) map.get("tableName");
|
|
|
List<TableInfo> filedList = JSON.parseArray(JSON.toJSONString(map.get("field")), TableInfo.class);
|
|
@@ -72,15 +69,44 @@ public class TableInfoServiceImpl implements ITableInfoService {
|
|
|
return stringBuilder.toString();
|
|
|
}).collect(Collectors.toList());
|
|
|
|
|
|
- if(tableInfoMapper.existOrNot(dataBaseName)>0){
|
|
|
- tableInfoMapper.useDataBase(dataBaseName);
|
|
|
- tableInfoMapper.createSqlServerTable(tableName,list);
|
|
|
- }else {
|
|
|
- tableInfoMapper.createSqlServerDataBase(dataBaseName);
|
|
|
- tableInfoMapper.useDataBase(dataBaseName);
|
|
|
- tableInfoMapper.createSqlServerTable(tableName,list);
|
|
|
- }
|
|
|
+ List<String> descriptionList = filedList.stream().map(filed ->{
|
|
|
+ StringBuilder stringBuilder = new StringBuilder();
|
|
|
+ if(StringUtils.hasLength(filed.getFieldDescription())){
|
|
|
+ stringBuilder.append("EXECUTE sp_addextendedproperty N'MS_Description',")
|
|
|
+ .append("'"+filed.getFieldDescription()+"'")
|
|
|
+ .append(", N'user', N'dbo', N'table', N")
|
|
|
+ .append("'"+tableName+"'")
|
|
|
+ .append(", N'column', N")
|
|
|
+ .append("'"+filed.getFieldName()+"'");
|
|
|
+ }
|
|
|
+ return stringBuilder.toString();
|
|
|
+ }).collect(Collectors.toList());
|
|
|
|
|
|
+ tableInfoMapper.createSqlServerDataBase(dataBaseName);
|
|
|
+ tableInfoMapper.createSqlServerTable(dataBaseName,tableName,list,descriptionList);
|
|
|
+ }
|
|
|
|
|
|
+ @Override
|
|
|
+ public int mysqlDataBaseExist(String dataBaseName) {
|
|
|
+ return tableInfoMapper.mysqlDataBaseExist(dataBaseName);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public int mysqlTableExist(String dataBaseName, String tableName) {
|
|
|
+ return tableInfoMapper.mysqlTableExist(dataBaseName,tableName);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public int sqlServerTableExist(String dataBaseName,String tableName) {
|
|
|
+ StringBuilder stringBuilder = new StringBuilder();
|
|
|
+ stringBuilder.append(dataBaseName)
|
|
|
+ .append(".dbo.")
|
|
|
+ .append(tableName);
|
|
|
+ return tableInfoMapper.sqlServerTableExist(stringBuilder.toString());
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public int dmTableExist(String dataBaseName, String tableName) {
|
|
|
+ return tableInfoMapper.dmTableExist(dataBaseName,tableName);
|
|
|
}
|
|
|
}
|