diff --git a/muyu-common/muyu-common-system/src/main/java/com/muyu/common/system/remote/RemoteUserService.java b/muyu-common/muyu-common-system/src/main/java/com/muyu/common/system/remote/RemoteUserService.java index cb968e0..ed50484 100644 --- a/muyu-common/muyu-common-system/src/main/java/com/muyu/common/system/remote/RemoteUserService.java +++ b/muyu-common/muyu-common-system/src/main/java/com/muyu/common/system/remote/RemoteUserService.java @@ -37,4 +37,5 @@ public interface RemoteUserService { */ @PostMapping("/user/register") public Result registerUserInfo (@RequestBody SysUser sysUser, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); -} + + } diff --git a/muyu-common/pom.xml b/muyu-common/pom.xml index 5b58e93..2505976 100644 --- a/muyu-common/pom.xml +++ b/muyu-common/pom.xml @@ -23,8 +23,6 @@ muyu-common pom - - muyu-common通用模块 - + diff --git a/muyu-modules/muyu-kvt/muyu-kvt-common/src/main/java/com/muyu/kvt/dictionary/DictionaryType.java b/muyu-modules/muyu-kvt/muyu-kvt-common/src/main/java/com/muyu/kvt/dictionary/DictionaryType.java index 0ccf600..b62f5eb 100644 --- a/muyu-modules/muyu-kvt/muyu-kvt-common/src/main/java/com/muyu/kvt/dictionary/DictionaryType.java +++ b/muyu-modules/muyu-kvt/muyu-kvt-common/src/main/java/com/muyu/kvt/dictionary/DictionaryType.java @@ -16,7 +16,7 @@ import java.util.Date; @NoArgsConstructor @Builder -public class DictionaryType extends BaseEntity{ +public class DictionaryType{ /** * 主鍵 diff --git a/muyu-modules/muyu-kvt/muyu-kvt-common/src/main/java/com/muyu/kvt/domain/AssetStructureList.java b/muyu-modules/muyu-kvt/muyu-kvt-common/src/main/java/com/muyu/kvt/domain/AssetStructureList.java index a902249..2dc79e7 100644 --- a/muyu-modules/muyu-kvt/muyu-kvt-common/src/main/java/com/muyu/kvt/domain/AssetStructureList.java +++ b/muyu-modules/muyu-kvt/muyu-kvt-common/src/main/java/com/muyu/kvt/domain/AssetStructureList.java @@ -21,6 +21,19 @@ public class AssetStructureList { private String databaseName; private Long type; + /** + * 总接口 + */ + private Integer kvtNumber; + /** + * 总表数 + */ + private Integer tableSum; + /** + * 总表数中的总数量 + */ + private Integer sum; + diff --git a/muyu-modules/muyu-kvt/muyu-kvt-common/src/main/java/com/muyu/kvt/domain/Authorization.java b/muyu-modules/muyu-kvt/muyu-kvt-common/src/main/java/com/muyu/kvt/domain/Authorization.java deleted file mode 100644 index 3ab378f..0000000 --- a/muyu-modules/muyu-kvt/muyu-kvt-common/src/main/java/com/muyu/kvt/domain/Authorization.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.muyu.kvt.domain; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * 授权 Authorization - * - * @author LeYang - * on 2024/4/24 - */ -@Data -@AllArgsConstructor -@NoArgsConstructor -@Builder -public class Authorization { - private Integer id; - private Long uid; - private Long kvtId; -} diff --git a/muyu-modules/muyu-kvt/muyu-kvt-common/src/main/java/com/muyu/kvt/domain/ChildrenList.java b/muyu-modules/muyu-kvt/muyu-kvt-common/src/main/java/com/muyu/kvt/domain/ChildrenList.java index cc003cb..d87f21e 100644 --- a/muyu-modules/muyu-kvt/muyu-kvt-common/src/main/java/com/muyu/kvt/domain/ChildrenList.java +++ b/muyu-modules/muyu-kvt/muyu-kvt-common/src/main/java/com/muyu/kvt/domain/ChildrenList.java @@ -20,6 +20,7 @@ import lombok.experimental.SuperBuilder; @NoArgsConstructor @SuperBuilder public class ChildrenList { + private Integer id; private String name; private String as; private Integer dataTotal; diff --git a/muyu-modules/muyu-kvt/muyu-kvt-common/src/main/java/com/muyu/kvt/domain/DataStructure.java b/muyu-modules/muyu-kvt/muyu-kvt-common/src/main/java/com/muyu/kvt/domain/DataStructure.java index 19de2a1..0a59557 100644 --- a/muyu-modules/muyu-kvt/muyu-kvt-common/src/main/java/com/muyu/kvt/domain/DataStructure.java +++ b/muyu-modules/muyu-kvt/muyu-kvt-common/src/main/java/com/muyu/kvt/domain/DataStructure.java @@ -65,11 +65,12 @@ public class DataStructure { * 是否字典 */ private String isDict; + /** * 映射字典 */ private String dictKey; - + private String value; } diff --git a/muyu-modules/muyu-kvt/muyu-kvt-common/src/main/java/com/muyu/kvt/domain/req/AssetStructureResponse.java b/muyu-modules/muyu-kvt/muyu-kvt-common/src/main/java/com/muyu/kvt/domain/req/AssetStructureResponse.java deleted file mode 100644 index 3474e0b..0000000 --- a/muyu-modules/muyu-kvt/muyu-kvt-common/src/main/java/com/muyu/kvt/domain/req/AssetStructureResponse.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.muyu.kvt.domain.req; - -import com.muyu.kvt.domain.AssetStructureList; -import com.muyu.kvt.domain.ChildrenList; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.SuperBuilder; - -import java.util.List; - -/** - * AssetStructureResponse - * - * @author LeYang - * on 2024/4/21 - */ -@Data -@SuperBuilder -@NoArgsConstructor -public class AssetStructureResponse { - private List assetStructureLists; - private List childrenLists; -} diff --git a/muyu-modules/muyu-kvt/muyu-kvt-remote/pom.xml b/muyu-modules/muyu-kvt/muyu-kvt-remote/pom.xml index 45ab994..bf75af7 100644 --- a/muyu-modules/muyu-kvt/muyu-kvt-remote/pom.xml +++ b/muyu-modules/muyu-kvt/muyu-kvt-remote/pom.xml @@ -16,5 +16,12 @@ 17 UTF-8 + + + + com.muyu + muyu-common-system + + diff --git a/muyu-modules/muyu-kvt/muyu-kvt-server/pom.xml b/muyu-modules/muyu-kvt/muyu-kvt-server/pom.xml index c50da50..d4554f5 100644 --- a/muyu-modules/muyu-kvt/muyu-kvt-server/pom.xml +++ b/muyu-modules/muyu-kvt/muyu-kvt-server/pom.xml @@ -89,6 +89,12 @@ 3.6.3 compile + + com.muyu + muyu-kvt-remote + 3.6.3 + compile + diff --git a/muyu-modules/muyu-kvt/muyu-kvt-server/src/main/java/com/muyu/kvt/MuyuApplication.java b/muyu-modules/muyu-kvt/muyu-kvt-server/src/main/java/com/muyu/kvt/MuyuApplication.java index 423341d..0e64aec 100644 --- a/muyu-modules/muyu-kvt/muyu-kvt-server/src/main/java/com/muyu/kvt/MuyuApplication.java +++ b/muyu-modules/muyu-kvt/muyu-kvt-server/src/main/java/com/muyu/kvt/MuyuApplication.java @@ -5,6 +5,7 @@ import com.muyu.common.security.annotation.EnableMyFeignClients; import com.muyu.common.swagger.annotation.EnableCustomSwagger2; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.openfeign.EnableFeignClients; import java.sql.*; @@ -20,32 +21,7 @@ import java.sql.*; @SpringBootApplication public class MuyuApplication { public static void main(String[] args) { - SpringApplication.run(MuyuApplication.class); - -// Connection connection=null; -// Statement statement=null; -// try { -// Class.forName("org.postgresql.Driver"); -// -// String url = "jdbc:postgresql://localhost:5432/postgres"; -// String user = "postgres"; -// String password = "root"; -// connection = DriverManager.getConnection(url,user,password); -// statement= connection.createStatement(); -// String sql =" select * from user"; -// ResultSet resultSet = statement.executeQuery(sql); -// while (resultSet.next()){ -// System.out.println("wfegrth"+resultSet); -// } -// resultSet.close(); -// statement.close(); -// connection.close(); -// -// } catch (ClassNotFoundException e) { -// throw new RuntimeException(e); -// } catch (SQLException e) { -// throw new RuntimeException(e); -// } + SpringApplication.run(MuyuApplication.class); } } diff --git a/muyu-modules/muyu-kvt/muyu-kvt-server/src/main/java/com/muyu/kvt/controller/KvtController.java b/muyu-modules/muyu-kvt/muyu-kvt-server/src/main/java/com/muyu/kvt/controller/KvtController.java index 62297d4..04a2fe8 100644 --- a/muyu-modules/muyu-kvt/muyu-kvt-server/src/main/java/com/muyu/kvt/controller/KvtController.java +++ b/muyu-modules/muyu-kvt/muyu-kvt-server/src/main/java/com/muyu/kvt/controller/KvtController.java @@ -1,7 +1,6 @@ package com.muyu.kvt.controller; import java.sql.SQLException; -import java.util.Dictionary; import java.util.List; @@ -12,9 +11,9 @@ import com.muyu.common.core.web.page.TableDataInfo; import com.muyu.common.log.annotation.Log; import com.muyu.common.log.enums.BusinessType; import com.muyu.common.security.annotation.RequiresPermissions; -import com.muyu.common.security.utils.SecurityUtils; import com.muyu.common.system.domain.SysDept; -import com.muyu.common.system.domain.SysUser; +import com.muyu.kvt.dataStructure.OverallDataStructure; +import com.muyu.kvt.datadisplay.DataDisplay; import com.muyu.kvt.dictionary.Diction; import com.muyu.kvt.dictionary.DictionaryType; import com.muyu.kvt.dictionary.Dictionaryy; @@ -25,7 +24,6 @@ import com.muyu.kvt.domain.req.KvtSaveReq; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiOperation; -import org.apache.commons.lang3.SystemUtils; import org.springframework.beans.factory.annotation.Autowired; import com.muyu.kvt.service.KvtService; import org.springframework.web.bind.annotation.*; @@ -84,7 +82,6 @@ public class KvtController extends BaseController { /** * 新增kvt - */ @RequiresPermissions("kvt:kvt:add") @Log(title = "kvt ", businessType = BusinessType.INSERT) @@ -133,6 +130,10 @@ public class KvtController extends BaseController { } + /** + * 数据库类型 + * @return + */ @PostMapping("/dataTypeList") public Result> dataTypeList(){ List dataTypeList=kvtService.dataTypeList(); @@ -140,16 +141,11 @@ public class KvtController extends BaseController { } -// @PostMapping("/synchronizationAdd") -// public Result synchronizationAdd (@RequestBody Kvt kvt) throws SQLException, ClassNotFoundException { -// -//// //构建当前授权 -//// Authorization.builder() -//// .kvtId(kvt.getId()) -//// .uid(SecurityUtils.getUserId()); -// return kvtService.synchronizationAdd(kvt); -// -// } + /** + * + * @param databaseName 数据库名称 + * @return + */ @PostMapping("/selectDataAuthorization") public Result selectDataAuthorization (@RequestParam String databaseName){ @@ -182,26 +178,12 @@ public class KvtController extends BaseController { return Result.success(structureList); } -// @PostMapping("/selectName") -// public Result> listResult(@RequestParam String name) throws SQLException, ClassNotFoundException { -// Kvt kvt= kvtService.listResult(name); -// List list= kvtService.kvtList(kvt); -// return Result.success(list); -// } -// -// @PostMapping("/assetStructureResponse") -// public Result> assetStructureResponse( ) throws SQLException, ClassNotFoundException { -// List assetStructureList= kvtService.assetStructureResponse(); -// -// return Result.success(assetStructureList) ; -// } - @PostMapping("/selectChild") public Result selectChild(@RequestParam String tableName){ Child child= kvtService.selectChild(tableName); return Result.success(child); } - + //查询数据结构 @PostMapping("/selectChildAll") public Result> selectChildAll(){ List childList=kvtService.selectChildAll(); @@ -224,12 +206,9 @@ public class KvtController extends BaseController { - - //同步数据添加到数据库 @PostMapping("/synchronizationAdd") public Result synchronizationAdd(@RequestBody Kvt kvt) throws SQLException, ClassNotFoundException { - return kvtService.synchronizationAdd(kvt); } //添加字典 @@ -250,12 +229,34 @@ public class KvtController extends BaseController { @PostMapping("/selectDictionaryTypeId") public Result selectDictionaryTypeId(@RequestBody Dictionaryy dictionaryy) { Dictionaryy dictionaryType = kvtService.selectDictionaryTypeId(dictionaryy.getId()); - if (dictionaryy !=null ){ + if (dictionaryType !=null ){ kvtService.delDictionaryTypeId(dictionaryy); return Result.success("修改成功"); } + kvtService.dictionaryTypeAdd(dictionaryy); return Result.success("添加成功"); } + /** + * 修改数据模型(字典) + */ + @PostMapping("utilAssetModel") + public Result utilAssetModel(@RequestBody DataStructure dataStructure){ + kvtService.utilAssetModel(dataStructure); + return Result.success("修改成功"); + } + //查询数据结构数量 + @PostMapping("/OverallDataStructure") + public Result selectOver(){ + return kvtService.OverallDataStructure(); + } + + + //查询资产展示 + @PostMapping("/selectDataDisplay") + public Result> listResult(){ + List list= kvtService.listResult(); + return Result.success(list); + } } diff --git a/muyu-modules/muyu-kvt/muyu-kvt-server/src/main/java/com/muyu/kvt/mapper/KvtMapper.java b/muyu-modules/muyu-kvt/muyu-kvt-server/src/main/java/com/muyu/kvt/mapper/KvtMapper.java index 920e52e..a66bdd6 100644 --- a/muyu-modules/muyu-kvt/muyu-kvt-server/src/main/java/com/muyu/kvt/mapper/KvtMapper.java +++ b/muyu-modules/muyu-kvt/muyu-kvt-server/src/main/java/com/muyu/kvt/mapper/KvtMapper.java @@ -2,6 +2,9 @@ package com.muyu.kvt.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.muyu.common.system.domain.SysDept; +import com.muyu.kvt.datadisplay.DataDisplay; +import com.muyu.kvt.dept.DataSource; +import com.muyu.kvt.dept.DeptUserKvt; import com.muyu.kvt.dictionary.Diction; import com.muyu.kvt.dictionary.DictionaryType; import com.muyu.kvt.dictionary.Dictionaryy; @@ -75,4 +78,19 @@ public interface KvtMapper extends BaseMapper { Dictionaryy selectDictionaryTypeId(Integer id); void updateDictionaryTypeId(Dictionaryy dictionaryy); + + void DeptUserKvtAdd(DeptUserKvt build); + + List selectDataSource(String tableName); + + void utilAssetModel(DataStructure dataStructure); + + List selectSyn(); + + List list(); + + void dataDisplayAdd(@Param("dataDisplays") List dataDisplays); + + List listResult(); + } diff --git a/muyu-modules/muyu-kvt/muyu-kvt-server/src/main/java/com/muyu/kvt/service/KvtService.java b/muyu-modules/muyu-kvt/muyu-kvt-server/src/main/java/com/muyu/kvt/service/KvtService.java index 2cafa2e..0671cc4 100644 --- a/muyu-modules/muyu-kvt/muyu-kvt-server/src/main/java/com/muyu/kvt/service/KvtService.java +++ b/muyu-modules/muyu-kvt/muyu-kvt-server/src/main/java/com/muyu/kvt/service/KvtService.java @@ -3,11 +3,12 @@ package com.muyu.kvt.service; import com.baomidou.mybatisplus.extension.service.IService; import com.muyu.common.core.domain.Result; import com.muyu.common.system.domain.SysDept; +import com.muyu.kvt.dataStructure.OverallDataStructure; +import com.muyu.kvt.datadisplay.DataDisplay; import com.muyu.kvt.dictionary.Diction; import com.muyu.kvt.dictionary.DictionaryType; import com.muyu.kvt.dictionary.Dictionaryy; import com.muyu.kvt.domain.*; -import com.muyu.kvt.domain.req.AssetStructureResponse; import org.apache.ibatis.annotations.Param; import java.sql.SQLException; @@ -21,15 +22,7 @@ Service接口 * @date 2024-04-20 */ public interface KvtService extends IService { - /** - * 查询kvt -列表 - * - * @param kvt kvt - * @return kvt -集合 - */ public List list(Kvt kvt); boolean connectionTest(Kvt kvt) throws ClassNotFoundException, SQLException; @@ -37,16 +30,6 @@ public interface KvtService extends IService { List dataTypeList(); - Kvt listResult(String name); - -// List assetStructureList() throws ClassNotFoundException, SQLException; - - List assetStructureResponse() throws ClassNotFoundException, SQLException; - -// Result synchronizationAdd(Kvt kvt) throws SQLException, ClassNotFoundException; - - - List assetStructureList(); List selectDepartment(String databaseName); @@ -77,7 +60,11 @@ public interface KvtService extends IService { void delDictionaryTypeId(Dictionaryy dictionaryy); + void utilAssetModel(DataStructure dataStructure); -// List kvtList(Kvt kvt) throws ClassNotFoundException, SQLException; + Result OverallDataStructure(); + + + List listResult(); } diff --git a/muyu-modules/muyu-kvt/muyu-kvt-server/src/main/java/com/muyu/kvt/service/impl/KvtServiceImpl.java b/muyu-modules/muyu-kvt/muyu-kvt-server/src/main/java/com/muyu/kvt/service/impl/KvtServiceImpl.java index 8d850ff..273f58a 100644 --- a/muyu-modules/muyu-kvt/muyu-kvt-server/src/main/java/com/muyu/kvt/service/impl/KvtServiceImpl.java +++ b/muyu-modules/muyu-kvt/muyu-kvt-server/src/main/java/com/muyu/kvt/service/impl/KvtServiceImpl.java @@ -3,24 +3,36 @@ package com.muyu.kvt.service.impl; import java.sql.*; import java.util.ArrayList; import java.util.List; +import java.util.stream.IntStream; + import com.muyu.common.core.domain.Result; import com.muyu.common.core.utils.ObjUtils; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.muyu.common.security.utils.SecurityUtils; import com.muyu.common.system.domain.SysDept; +import com.muyu.common.system.domain.SysUser; +import com.muyu.kvt.dataStructure.OverallDataStructure; +import com.muyu.kvt.datadisplay.DataDisplay; +import com.muyu.kvt.dept.DeptUserKvt; import com.muyu.kvt.dictionary.Diction; import com.muyu.kvt.dictionary.DictionaryType; import com.muyu.kvt.dictionary.Dictionaryy; import com.muyu.kvt.domain.*; -import com.muyu.kvt.domain.req.AssetStructureResponse; + +import com.muyu.kvt.remote.RemoteUserSer; + import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.muyu.kvt.mapper.KvtMapper; import com.muyu.kvt.service.KvtService; + + /** * kvt -Service业务层处理 + * Service业务层处理 * * @author muyu * @date 2024-04-20 @@ -34,271 +46,125 @@ public class KvtServiceImpl extends ServiceImpl implements KvtSe * * @param kvt kvt * @return kvt - */ @Override public List list(Kvt kvt) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - if (ObjUtils.notNull(kvt.getName())){ + if (ObjUtils.notNull(kvt.getName())) { queryWrapper.like(Kvt::getName, kvt.getName()); } - if (ObjUtils.notNull(kvt.getSystemName())){ + if (ObjUtils.notNull(kvt.getSystemName())) { queryWrapper.like(Kvt::getSystemName, kvt.getSystemName()); } - if (ObjUtils.notNull(kvt.getType())){ + if (ObjUtils.notNull(kvt.getType())) { queryWrapper.eq(Kvt::getType, kvt.getType()); } - if (ObjUtils.notNull(kvt.getHost())){ + if (ObjUtils.notNull(kvt.getHost())) { queryWrapper.eq(Kvt::getHost, kvt.getHost()); } - if (ObjUtils.notNull(kvt.getPort())){ + if (ObjUtils.notNull(kvt.getPort())) { queryWrapper.eq(Kvt::getPort, kvt.getPort()); } - if (ObjUtils.notNull(kvt.getDatabaseName())){ + if (ObjUtils.notNull(kvt.getDatabaseName())) { queryWrapper.like(Kvt::getDatabaseName, kvt.getDatabaseName()); } - if (ObjUtils.notNull(kvt.getConnectionParam())){ + if (ObjUtils.notNull(kvt.getConnectionParam())) { queryWrapper.eq(Kvt::getConnectionParam, kvt.getConnectionParam()); } - if (ObjUtils.notNull(kvt.getInitNum())){ + if (ObjUtils.notNull(kvt.getInitNum())) { queryWrapper.eq(Kvt::getInitNum, kvt.getInitNum()); } - if (ObjUtils.notNull(kvt.getMaxNum())){ + if (ObjUtils.notNull(kvt.getMaxNum())) { queryWrapper.eq(Kvt::getMaxNum, kvt.getMaxNum()); } - if (ObjUtils.notNull(kvt.getMaxWaitTime())){ + if (ObjUtils.notNull(kvt.getMaxWaitTime())) { queryWrapper.eq(Kvt::getMaxWaitTime, kvt.getMaxWaitTime()); } - if (ObjUtils.notNull(kvt.getMaxWaitSize())){ + if (ObjUtils.notNull(kvt.getMaxWaitSize())) { queryWrapper.eq(Kvt::getMaxWaitSize, kvt.getMaxWaitSize()); } - - - return list(queryWrapper); } @Override public boolean connectionTest(Kvt kvt) throws ClassNotFoundException, SQLException { - try { - if (kvt.getType() == 1){ - return Mysql(kvt); - }else { - return PostgreSQL(kvt); - } - }catch (Exception e){ - e.printStackTrace(); - return false; - } + try { + if (kvt.getType() == 1) { + return Mysql(kvt); + } else { + return PostgreSQL(kvt); + } + } catch (Exception e) { + e.printStackTrace(); + return false; + } } - public boolean Mysql(Kvt kvt) throws SQLException, ClassNotFoundException { - String user = kvt.getUsername(); - String password = kvt.getPassword(); - String jdbcDriver = "com.mysql.cj.jdbc.Driver"; - String jdbcUrl = "jdbc:mysql://"+kvt.getHost()+":"+kvt.getPort()+"/"+kvt.getDatabaseName()+"?"+kvt.getConnectionParam(); - Class.forName(jdbcDriver); - Connection connection = DriverManager.getConnection(jdbcUrl, user, password); - if (connection==null){ - return false; - } - return true; - } - public boolean PostgreSQL(Kvt kvt) throws SQLException, ClassNotFoundException { - String user = kvt.getUsername(); - String password = kvt.getPassword(); - String jdbcDriver="org.postgresql.Driver"; - String jdbcUrl = "jdbc:postgresql://"+kvt.getHost()+":"+kvt.getPort()+"/"+kvt.getDatabaseName(); - Class.forName(jdbcDriver); - Connection connection = DriverManager.getConnection(jdbcUrl, user, password); - if (connection==null){ - return false; - } - return true; - } + + public boolean Mysql(Kvt kvt) throws SQLException, ClassNotFoundException { + String user = kvt.getUsername(); + String password = kvt.getPassword(); + String jdbcDriver = "com.mysql.cj.jdbc.Driver"; + String jdbcUrl = "jdbc:mysql://" + kvt.getHost() + ":" + kvt.getPort() + "/" + kvt.getDatabaseName() + "?" + kvt.getConnectionParam(); + Class.forName(jdbcDriver); + Connection connection = DriverManager.getConnection(jdbcUrl, user, password); + if (connection == null) { + return false; + } + return true; + } + + public boolean PostgreSQL(Kvt kvt) throws SQLException, ClassNotFoundException { + String user = kvt.getUsername(); + String password = kvt.getPassword(); + String jdbcDriver = "org.postgresql.Driver"; + String jdbcUrl = "jdbc:postgresql://" + kvt.getHost() + ":" + kvt.getPort() + "/" + kvt.getDatabaseName(); + Class.forName(jdbcDriver); + Connection connection = DriverManager.getConnection(jdbcUrl, user, password); + if (connection == null) { + return false; + } + return true; + } + @Override public List dataTypeList() { return baseMapper.dataTypeList(); } - @Override - public Kvt listResult(String name) { - return baseMapper.findName(name); - } - -// @Override -// public List assetStructureList() throws ClassNotFoundException, SQLException { -// List list = list(); -// for (Kvt kvt : list) { -// String user = kvt.getUsername(); -// String password = kvt.getPassword(); -// String jdbcDriver = "com.mysql.cj.jdbc.Driver"; -// String jdbcUrl = "jdbc:mysql://" + kvt.getHost() + ":" + kvt.getPort() + "/" + kvt.getDatabaseName() + "?" + kvt.getConnectionParam(); -// Class.forName(jdbcDriver); -// Connection connection = DriverManager.getConnection(jdbcUrl, user, password); -// if (connection == null) { -// throw new RuntimeException("连接失败"); -// } -// -// AssetStructureList assetStructureList = new AssetStructureList(); -// assetStructureList.setName(kvt.getName()); -// assetStructureList.setType(kvt.getType()); -// assetStructureList.setSystemName(kvt.getSystemName()); -// assetStructureList.setDatabaseName(kvt.getDatabaseName()); -// -// -// } -// AssetStructureList assetStructureList = new AssetStructureList(); -// return assetStructureList; -// -// } - - @Override - public List assetStructureResponse() throws ClassNotFoundException, SQLException { - List list = list(); - for (Kvt kvt : list) { - String user = kvt.getUsername(); - String password = kvt.getPassword(); - String jdbcDriver = "com.mysql.cj.jdbc.Driver"; - String jdbcUrl = "jdbc:mysql://"+kvt.getHost()+":"+kvt.getPort()+"/"+kvt.getDatabaseName()+"?"+kvt.getConnectionParam(); - Class.forName(jdbcDriver); - Connection connection = DriverManager.getConnection(jdbcUrl, user, password); - if (connection==null){ - throw new RuntimeException("连接失败"); - } - - AssetStructureList assetStructureList = new AssetStructureList(); - assetStructureList.setName(kvt.getName()); - assetStructureList.setType(kvt.getType()); - assetStructureList.setSystemName(kvt.getSystemName()); - assetStructureList.setDatabaseName(kvt.getDatabaseName()); - ArrayList assetStructureLists = new ArrayList<>(); - assetStructureLists.add(assetStructureList); - - Statement statement = connection.createStatement(); - String sql = "SHOW TABLES FROM "+kvt.getDatabaseName(); // 查询数据库中的所有表 - ResultSet resultSet = statement.executeQuery(sql); - ResultSetMetaData metaData = resultSet.getMetaData(); - int columnCount = metaData.getColumnCount(); - - - List childrenLists = new ArrayList<>(); - List assetStructureResponses = new ArrayList<>(); - - // 遍历结果集的列,获取表名 - while (resultSet.next()) { - for (int i = 1; i <= columnCount; i++) { - ChildrenList childrenList = new ChildrenList(); - String tableName = resultSet.getString(i); - - - - String remark = "SELECT table_name, table_comment FROM information_schema.tables WHERE table_schema = '" + kvt.getDatabaseName() + "' AND table_name = '" + tableName + "'"; - System.out.println(remark); - ResultSet resultSet22 = statement.executeQuery(remark); - if (resultSet22.next()) { - String tableComment = resultSet22.getString(tableName); - System.out.println("表备注:" + tableComment); - System.out.println("seggredhjrdfg"+tableComment); - childrenList.setName(tableComment); - } - - - String count = "SELECT COUNT(*) AS total_records FROM "+tableName; // 查询数据库中的所有表 - ResultSet resultSet11 = statement.executeQuery(count); - if (resultSet11.next()){ - int totalRecords = resultSet11.getInt(tableName); - childrenList.setDataTotal(totalRecords); - } - - - childrenList.setAs(tableName); - - -// childrenList.setType(kvt.getType()); - childrenLists.add(childrenList); - } - } - AssetStructureResponse build = AssetStructureResponse.builder() - .assetStructureLists(assetStructureLists) - .childrenLists(childrenLists) - .build(); - assetStructureResponses.add(build ); - } - - return assetStructureResponse(); - } - -// @Override -// public Result synchronizationAdd(Kvt kvt) throws SQLException, ClassNotFoundException { -// boolean b = this.connectionTest(kvt); -// -// if (b){ -// //删除之前已经存在的数据 -// List stringList= baseMapper.selectTable(kvt.getDatabaseName()); -//// for (String s : stringList) { -//// baseMapper.del(s); -//// } -// baseMapper.synchronizationAdd(kvt); -// -// for (String s : stringList) { -// List dataStructure= baseMapper.selectDataStructure(kvt.getDatabaseName(),s); -// for (DataStructure structure : dataStructure) { -// structure.setTableName(s); -// structure.setWarName(kvt.getDatabaseName()); -// baseMapper.add(structure); -// } -// -// } -// -// //查询库下的所有表以及数量 备注等 -// List assetStructureLists= baseMapper.selectDepartment(kvt.getDatabaseName()); -// -// for (ChildrenList assetStructureList : assetStructureLists) { -// -// DataAuthorization build = DataAuthorization.builder() -// .name(kvt.getName()) -// .as(assetStructureList.getAs()) -// .dataTotal(assetStructureList.getDataTotal()) -// .systemName(kvt.getSystemName()) -// .tableName(assetStructureList.getName()) -// .databaseName(kvt.getDatabaseName()).build(); -// baseMapper.DataAuthorizationAdd(build); -// -// baseMapper.ChildAdd(assetStructureLists); -// } -// -// return Result.success(kvt, "同步成功"); -// }else { -// -// throw new RuntimeException("同步失败"); -// } -// -// } @Override public List assetStructureList() { + List assetStructureListList = baseMapper.assetStructureList(); - return baseMapper.assetStructureList(); + // private Integer kvtNumber; + // private Integer tableSum; + // private Integer sum; + int kvtNumber = assetStructureListList.size(); + int tableSum = 0; + int sum = 0; + int count = 0; + + return assetStructureListList; } @Override public List selectDepartment(String databaseName) { List list = baseMapper.selectDepartment(databaseName); - Kvt kvt = baseMapper.selectType(databaseName); +// Kvt kvt = baseMapper.selectType(databaseName); List childrenLists = new ArrayList<>(); for (ChildrenList childrenList : list) { ChildrenList build = ChildrenList.builder() @@ -309,13 +175,13 @@ public class KvtServiceImpl extends ServiceImpl implements KvtSe .build(); childrenLists.add(build); } - return childrenLists; + return childrenLists; } @Override public List selectDataStructure(String databaseName, String name) { - return baseMapper.selectDataStructure(databaseName,name); + return baseMapper.selectDataStructure(databaseName, name); } @Override @@ -361,175 +227,296 @@ public class KvtServiceImpl extends ServiceImpl implements KvtSe return build; }).toList(); return dictions1; -// List dictTypeList = list(new LambdaQueryWrapper<>() {{ -// eq(Dictionaryy::get, id); -// }}); -// -// List dictDataRespList = dictTypeList.stream().map(dictType -> { -// List dictDataList = dictDataService.list(new LambdaQueryWrapper<>() {{ -// eq(DictData::getDictTypeId, dictType.getId()); -// }}); -// return dictType.toDataDictResp(dictDataList); -// }).toList(); } @Override public List selectDataAuthorization(String databaseName) { - List list= baseMapper.selectDepartment(databaseName); - return null; + List list = baseMapper.selectDepartment(databaseName); + return null; } - /** - * 同步数据 - * @param kvt - */ - @Override - public Result synchronizationAdd(Kvt kvt){ - int count =0; + @Autowired + private RemoteUserSer remoteUserSer; + + public Result mysql(Kvt kvt) { + //用户名 - String user =kvt.getUsername(); + String user = kvt.getUsername(); //密码 String password = kvt.getPassword(); + //驱动程序 String jdbcDriver = "com.mysql.cj.jdbc.Driver"; + //连接对象 String jdbcUrl = "jdbc:mysql://" + kvt.getHost() + ":" + kvt.getPort() + "/" + kvt.getDatabaseName() + "?" + kvt.getConnectionParam(); - Connection connection=null; - String sql =" "; + Connection connection = null; + String sql = " "; try { Class.forName(jdbcDriver); connection = DriverManager.getConnection(jdbcUrl, user, password); - + if (connection == null){ + return Result.error("连接失败"); + } Statement statement = connection.createStatement(); DatabaseMetaData metaData = connection.getMetaData(); - String sql1="SELECT table_name FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA ='"+kvt.getDatabaseName()+"'"; - baseMapper.synchronizationAdd(kvt); - sql ="SELECT\n" + - " TABLE_NAME AS 'tableName',\n" + - " COLUMN_NAME AS 'name',\n" + - " COLUMN_COMMENT AS 'comment',\n" + - " CASE WHEN COLUMN_KEY = 'PRI' THEN '是' ELSE '否' END AS 'isPrimaryKey',\n" + - "\n" + - " CASE\n" + - " WHEN DATA_TYPE = 'int' THEN 'Integer'\n" + - " WHEN DATA_TYPE = 'varchar' THEN 'String'\n" + - " WHEN DATA_TYPE = 'decimal' THEN 'BigDecimal'\n" + - " WHEN DATA_TYPE = 'tinyint' AND COLUMN_TYPE = 'tinyint(1)' THEN 'Boolean'\n" + - "\n" + - " ELSE DATA_TYPE\n" + - " END AS 'type',\n" + - " DATA_TYPE AS 'mappingType',\n" + - " COLUMN_TYPE AS 'detailType',\n" + - " CHARACTER_MAXIMUM_LENGTH AS 'length',\n" + - " NUMERIC_SCALE AS 'decimalPlaces',\n" + - " IS_NULLABLE AS 'isNull',\n" + - " COLUMN_DEFAULT AS 'defaultValue'\n" + - " FROM\n" + - " INFORMATION_SCHEMA.COLUMNS\n" + - " WHERE\n" + - " TABLE_SCHEMA = ?\n" + - " AND TABLE_NAME = ?"; + //添加到同步表中 + baseMapper.synchronizationAdd(kvt); - String sql2 ="SELECT\n" + - " TABLE_NAME as 'name',\n" + - " TABLE_COMMENT as 'as',\n" + - " TABLE_ROWS as 'dataTotal'\n" + - " FROM INFORMATION_SCHEMA.TABLES\n" + - " WHERE\n" + - " TABLE_SCHEMA = ?"; + // 根据 库名查询所有的表名 + String sql1 = "SELECT table_name FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA ='" + kvt.getDatabaseName() + "'"; ResultSet resultSet = statement.executeQuery(sql1); - - while (resultSet.next()){ - + //处理数据库查询结果的循环结构 + while (resultSet.next()) { + //获取表名 String tableName = resultSet.getString("table_name"); - PreparedStatement preparedStatement = connection.prepareStatement(sql); - preparedStatement.setString(1, kvt.getDatabaseName()); // 设置第一个参数的值 - preparedStatement.setString(2, tableName); // 设置第二个参数的值 - ResultSet executeQuery = preparedStatement.executeQuery(); - while (executeQuery.next()){ - String name = executeQuery.getString("name"); - /** - * 注释 - */ - String comment = executeQuery.getString("comment"); - /** - * 是否主键 - */ - String isPrimaryKey = executeQuery.getString("isPrimaryKey"); - /** - * 类型 - */ - String type = executeQuery.getString("type"); - /** - * 映射类型 - */ - String mappingType = executeQuery.getString("mappingType"); - /** - * 长度 - */ - String length = executeQuery.getString("length"); - /** - * 小数位 - */ - String decimalPlaces = executeQuery.getString("decimalPlaces"); - /** - * 是否为空 - */ - String isNull = executeQuery.getString("isNull"); - /** - * 默认值 - */ - String defaultValue = executeQuery.getString("defaultValue"); -// String isDict = executeQuery.getString("isDict"); -// String dictKey = executeQuery.getString("dictKey"); - DataStructure build = DataStructure.builder() - .tableName(tableName) - .warName(kvt.getDatabaseName()) - .name(name) - .comment(comment) - .isPrimaryKey(isPrimaryKey) - .type(type) - .mappingType(mappingType) - .length(length) - .decimalPlaces(decimalPlaces) - .isNull(isNull) - .defaultValue(defaultValue) - .isDict(null) - .dictKey(null) - .build(); - baseMapper.add(build); - } + //添加资产展示数据 + this.dataDisplayAdd(tableName,connection,kvt); + //添加数据结构 + this.dataStructureAdd(connection,kvt,tableName); - } - PreparedStatement preparedStatement2 = connection.prepareStatement(sql2); - preparedStatement2.setString(1, kvt.getDatabaseName()); // 设置第一个参数的值 - ResultSet query = preparedStatement2.executeQuery(); - while (query.next()){ - count++; - String name2 = query.getString("name"); - String as = query.getString("as"); - String dataTotal = query.getString("dataTotal"); - Child build1 = Child.builder() - .dataTotal(Integer.valueOf(dataTotal)) - .name(name2) - .as(as) - .isPrimaryKey(null) - .build(); - baseMapper.childAdd(build1); } - resultSet.close(); + this.selectDatabaseName(connection, kvt); + + + Result sysUserResult = remoteUserSer.selectUserId(SecurityUtils.getUserId()); + SysUser data = sysUserResult.getData(); + DeptUserKvt build = DeptUserKvt.builder() + .userId(SecurityUtils.getUserId()) + .kvtId(kvt.getId()) + .deptId(data.getDeptId()).build(); + baseMapper.DeptUserKvtAdd(build); + + resultSet.close(); } catch (ClassNotFoundException e) { throw new RuntimeException(e); } catch (SQLException e) { throw new RuntimeException(e); } + return Result.success("mysql同步成功"); + } + + /** + * 同步添加资产展示 + * @param tableName + * @param connection + * @param kvt + */ + public void dataDisplayAdd(String tableName,Connection connection,Kvt kvt) { + try { + //查询表中的数据 + String selectSql = "SELECT * FROM " + tableName; + + Statement stmt = connection.createStatement(); + + //执行查询sql语句 + ResultSet resultSet2 = stmt.executeQuery(selectSql); + + ResultSetMetaData metaDataTest = resultSet2.getMetaData(); + + int columnCount = metaDataTest.getColumnCount(); - return Result.success("同步成功"); + List dataDisplays = new ArrayList<>(); + + while (resultSet2.next()) { + for (int i = 1; i <= columnCount; i++) { + DataDisplay dataDisplay = new DataDisplay(); + String columnName = metaDataTest.getColumnName(i); + //资产展示类型 + String typeName = metaDataTest.getColumnTypeName(i); + dataDisplay.setValue(resultSet2.getObject(i)); + dataDisplay.setType(typeName); + dataDisplay.setWarName(kvt.getDatabaseName() + "-" + tableName + "-" + columnName); + dataDisplays.add(dataDisplay); + } + } + + System.out.println(dataDisplays); + if(dataDisplays!=null && dataDisplays.size()!=0){ + baseMapper.dataDisplayAdd(dataDisplays); + } + resultSet2.close(); + } catch (SQLException e) { + throw new RuntimeException("添加资产展示数据有误",e); } + log.info("资产展示添加成功"); + + } + + + /** + *添加数据结构 + * @param connection + * @param kvt + * @param tableName + */ + private void dataStructureAdd(Connection connection,Kvt kvt,String tableName){ + try{ + //执行一个预编译的 SQL 查询 + PreparedStatement preparedStatement = connection.prepareStatement(this.sql() + + " TABLE_SCHEMA = ?\n" + + " AND TABLE_NAME = ?"); + preparedStatement.setString(1, kvt.getDatabaseName()); // 设置第一个参数的值 + preparedStatement.setString(2, tableName); // 设置第二个参数的值 + ResultSet executeQuery = preparedStatement.executeQuery(); + while (executeQuery.next()) { + + String name = executeQuery.getString("name"); + /** + * 注释 + */ + String comment = executeQuery.getString("comment"); + /** + * 是否主键 + */ + String isPrimaryKey = executeQuery.getString("isPrimaryKey"); + /** + * 类型 + */ + String type = executeQuery.getString("type"); + /** + * 映射类型 + */ + String mappingType = executeQuery.getString("mappingType"); + /** + * 长度 + */ + String length = executeQuery.getString("length"); + /** + * 小数位 + */ + String decimalPlaces = executeQuery.getString("decimalPlaces"); + /** + * 是否为空 + */ + String isNull = executeQuery.getString("isNull"); + /** + * 默认值 + */ + String defaultValue = executeQuery.getString("defaultValue"); + + DataStructure build = DataStructure.builder() + .tableName(tableName) + .warName(kvt.getDatabaseName()) + .name(name) + .comment(comment) + .isPrimaryKey(isPrimaryKey) + .type(type) + .mappingType(mappingType) + .length(length) + .decimalPlaces(decimalPlaces) + .isNull(isNull) + .defaultValue(defaultValue) + .isDict(null) + .dictKey(null) + .build(); + baseMapper.add(build); + } + executeQuery.close(); + } catch (SQLException e) { + throw new RuntimeException("添加数据结构失败"); + } + log.info("添加数据结构成功"); + + } + + /** + * 查询数据库中表的总条数 以及备注 名称 + * @param connection + * @param kvt + */ + public void selectDatabaseName(Connection connection,Kvt kvt){ + try { + //查询总条数 + String sql2 = "SELECT\n" + + " TABLE_NAME as 'name',\n" + + " TABLE_COMMENT as 'as',\n" + + " TABLE_ROWS as 'dataTotal'\n" + + " FROM INFORMATION_SCHEMA.TABLES\n" + + " WHERE\n" + + " TABLE_SCHEMA = ?"; + PreparedStatement preparedStatement2 = connection.prepareStatement(sql2); + preparedStatement2.setString(1, kvt.getDatabaseName()); // 设置第一个参数的值 + ResultSet query = preparedStatement2.executeQuery(); + while (query.next()) { + //表名 + String name = query.getString("name"); + //备注 + String as = query.getString("as"); + //总数量 + String dataTotal = query.getString("dataTotal"); + + Child build1 = Child.builder() + .dataTotal(Integer.valueOf(dataTotal)) + .name(name) + .as(as) + .isPrimaryKey(null) + .build(); + baseMapper.childAdd(build1); + } + + } catch (SQLException e) { + throw new RuntimeException(e); + } + log.info("查询总条数成功"); + } + + public Result postgres(Kvt kvt) { + Connection connection = null; + Statement stmt = null; + try { + // 加载 PostgreSQL 驱动类 + Class.forName("org.postgresql.Driver"); + + // 创建数据库连接 + String url = "jdbc:postgresql://" + kvt.getHost() + ":" + kvt.getPort() + "/" + kvt.getDatabaseName(); + String user = kvt.getUsername(); + String password = kvt.getPassword(); + connection = DriverManager.getConnection(url, user, password); + + Statement statement = connection.createStatement(); + ResultSet resultSet = stmt.executeQuery("SELECT table_name FROM information_schema.tables WHERE table_schema = 'public';"); + + while (resultSet.next()) { + String name = resultSet.getString("name"); + System.out.println("name" + name); + } + resultSet.close(); + statement.close(); + connection.close(); + } catch (ClassNotFoundException | SQLException e) { + e.printStackTrace(); + } finally { + try { + if (connection != null) { + connection.close(); + } + } catch (SQLException e) { + e.printStackTrace(); + } + } + return Result.success("postgres同步成功"); + } + + /** + * 同步数据 + * + * @param kvt + */ + @Override + public Result synchronizationAdd(Kvt kvt) { + //先判断哪种数据库 + if (kvt.getType() == 1) { + mysql(kvt); + } else { + postgres(kvt); + } + return Result.success("同步成功"); + } @Override public void dictionaryTypeAdd(Dictionaryy diction) { @@ -538,12 +525,12 @@ public class KvtServiceImpl extends ServiceImpl implements KvtSe @Override public void dictionTypeAdd(DictionaryType dictionaryType) { - baseMapper. dictionTypeAdd(dictionaryType); + baseMapper.dictionTypeAdd(dictionaryType); } @Override public Dictionaryy selectDictionaryTypeId(Integer id) { - return baseMapper.selectDictionaryTypeId(id); + return baseMapper.selectDictionaryTypeId(id); } @Override @@ -551,149 +538,58 @@ public class KvtServiceImpl extends ServiceImpl implements KvtSe baseMapper.updateDictionaryTypeId(dictionaryy); } + @Override + public void utilAssetModel(DataStructure dataStructure) { + baseMapper.utilAssetModel(dataStructure); + } -// @Override -// public List kvtList(Kvt kvt) { -// String user = kvt.getUsername(); -// String password = kvt.getPassword(); -// String jdbcDriver = "com.mysql.cj.jdbc.Driver"; -// String jdbcUrl = "jdbc:mysql://" + kvt.getHost() + ":" + kvt.getPort() + "/" + kvt.getDatabaseName() + "?" + kvt.getConnectionParam(); -// -// Connection connection = null; -// List tables = new ArrayList<>(); -// -// try { -// Class.forName(jdbcDriver); -// connection = DriverManager.getConnection(jdbcUrl, user, password); -// Statement statement = connection.createStatement(); -// String sql = "SHOW TABLES"; // 查询数据库中的所有表 -// ResultSet resultSet = statement.executeQuery(sql); -// ResultSetMetaData metaData = resultSet.getMetaData(); -// int columnCount = metaData.getColumnCount(); -// -// // 遍历结果集的列,获取表名 -// while (resultSet.next()) { -// for (int i = 1; i <= columnCount; i++) { -// String tableName = resultSet.getString(i); -// tables.add(tableName); -// System.out.println("表名:" + tableName); -// } -// } -// } catch (ClassNotFoundException e) { -// e.printStackTrace(); -// } catch (SQLException e) { -// e.printStackTrace(); -// } finally { -// // 关闭连接 -// if (connection != null) { -// try { -// connection.close(); -// } catch (SQLException e) { -// e.printStackTrace(); -// } -// } -// } -// -// return tables; -// } + @Override + public Result OverallDataStructure() { + List synchronizationList = baseMapper.selectSyn(); + List list = baseMapper.list(); + IntStream intStream = list.stream().mapToInt(Child::getDataTotal); + OverallDataStructure build = OverallDataStructure.builder() + .table(list.size()) + .datas(intStream.sum() + list.size()) + .kvt(synchronizationList.size()) + .build(); - // sql = "show tables"; - // ResultSet resultSet = statement.executeQuery(sql); - // while (resultSet.next()) { - // String tableName = resultSet.getString("Tables_in_data_basete");//表名称 - // ResultSetMetaData resultSetMetaData = resultSet.getMetaData(); - // //遍历表所有元数据信息 - // for (int i = 1; i <= resultSetMetaData.getColumnCount(); i++) { - // System.out.println(resultSet.getString(i) + "-==-" + resultSetMetaData.getColumnName(i)); - // } - // ResultSet resultSet1 = metaData.getColumns(connection.getCatalog(), metaData.getUserName(), tableName, null); - // // /** - // // * 主键 - // // */ - // // private Integer id; - // // - // // - // // private String tableName; - // // private String warName; - // // - // // /** - // // * 名称 - // // */ - // // private String name; - // // /** - // // * 注释 - // // */ - // // private String comment; - // // /** - // // * 是否主键 - // // */ - // // private String isPrimaryKey; - // // /** - // // * 类型 - // // */ - // // private String type; - // // /** - // // * 映射类型 - // // */ - // // private String mappingType; - // // /** - // // * 长度 - // // */ - // // private String length; - // // /** - // // * 小数位 - // // */ - // // private String decimalPlaces; - // // /** - // // * 是否为空 - // // */ - // // private String isNull; - // // /** - // // * 默认值 - // // */ - // // private String defaultValue; - // // /** - // // * 是否字典 - // // */ - // // private String isDict; - // // /** - // // * 映射字典 - // // */ - // // private String dictKey; - // - // while (resultSet1.next()) { - // String table_name = resultSet.getString("Tables_in_data_basete");//表名 - // String columnName = resultSet.getString("name");//字段名 - // String typeName = resultSet.getString("type");//字段类型 - // String dataType = resultSet.getString("mappingType");//字段类型 - // String columnSize = resultSet.getString("length");//长度 - //// String decimalDigits = resultSet.getString("DECIMAL_DIGITS");//长度 - // String columnDef = resultSet.getString("defaultValue");//默认值 - // String remarks = resultSet.getString("comment");//注释 - // String decimalPlaces = resultSet.getString("decimalPlaces");//小数值 - // String isNull = resultSet.getString("isNull");//是否为空 - // String isDict = resultSet.getString("isDict");//是否字典 - // String dictKey = resultSet.getString("dictKey");//映射字典 - // ResultSet rs2 = connection.getMetaData().getPrimaryKeys(connection.getCatalog(), null, tableName); - // ResultSetMetaData resultSetMetaData2 = rs2.getMetaData(); - // while (rs2.next()) { - // String columnName1 = rs2.getString("isPrimaryKey");//主键 - // sql = "select count(*) from " + table_name; - // ResultSet resultSet2 = statement.executeQuery(sql); - // resultSet2.next(); - // int row = resultSet2.getInt(1);//总数量 - // baseMapper.synchronizationAdd(kvt); - // DataAuthorization build = DataAuthorization.builder() - // .name(kvt.getName()) - // .systemName(kvt.getSystemName()) - // .databaseName(kvt.getDatabaseName()) - // .tableName(table_name) - // .dataTotal(row) - // .as(remarks) - // .build(); - // baseMapper.DataAuthorizationAdd(build); - // } - // } - // } - // return Result.success(kvt, "同步成功"); + return Result.success(build); + } + + @Override + public List listResult() { + return baseMapper.listResult(); + } + + /** + * 查询 根据库名跟表名查询字段信息 + * @return + */ + private String sql () { + //查询 根据库名跟表名查询字段信息 + return "SELECT\n" + + " TABLE_NAME AS 'tableName',\n" + + " COLUMN_NAME AS 'name',\n" + + " COLUMN_COMMENT AS 'comment',\n" + + " CASE WHEN COLUMN_KEY = 'PRI' THEN '是' ELSE '否' END AS 'isPrimaryKey',\n" + + "\n" + + " CASE\n" + + " WHEN DATA_TYPE = 'int' THEN 'Integer'\n" + + " WHEN DATA_TYPE = 'varchar' THEN 'String'\n" + + " WHEN DATA_TYPE = 'decimal' THEN 'BigDecimal'\n" + + " WHEN DATA_TYPE = 'tinyint' AND COLUMN_TYPE = 'tinyint(1)' THEN 'Boolean'\n" + + "\n" + + " ELSE DATA_TYPE\n" + + " END AS 'type',\n" + + " DATA_TYPE AS 'mappingType',\n" + + " COLUMN_TYPE AS 'detailType',\n" + + " CHARACTER_MAXIMUM_LENGTH AS 'length',\n" + + " NUMERIC_SCALE AS 'decimalPlaces',\n" + + " IS_NULLABLE AS 'isNull',\n" + + " COLUMN_DEFAULT AS 'defaultValue'\n" + + " FROM\n" + + " INFORMATION_SCHEMA.COLUMNS\n" + + " WHERE\n"; + } } diff --git a/muyu-modules/muyu-kvt/muyu-kvt-server/src/main/resources/mapper/kvt/KvtMapper.xml b/muyu-modules/muyu-kvt/muyu-kvt-server/src/main/resources/mapper/kvt/KvtMapper.xml index 866318a..594e2e7 100644 --- a/muyu-modules/muyu-kvt/muyu-kvt-server/src/main/resources/mapper/kvt/KvtMapper.xml +++ b/muyu-modules/muyu-kvt/muyu-kvt-server/src/main/resources/mapper/kvt/KvtMapper.xml @@ -41,6 +41,26 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" WHERE `id` = #{id} + + + UPDATE `data_basete`.`data_structure` + SET `war_name` = #{warName}, + `table_name` = #{tableName}, + `name` = #{name}, + `comment` = #{comment}, + `isPrimaryKey` = #{isPrimaryKey}, + `type` = #{type}, + `mappingType` = #{mappingType}, + `length` = #{length}, + `decimalPlaces` = #{decimalPlaces}, + `isNull` = #{isNull}, + `defaultValue` = #{defaultValue}, + `isDict` = #{isDict}, + `dictKey` = #{dictKey}, + `value` = #{value} + WHERE `id` = #{id}; + + truncate table #{tableName} @@ -104,9 +124,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + @@ -138,6 +156,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + + + @@ -197,9 +230,31 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" INSERT INTO `data_basete`.`dictionary_type` - ( `name`, `type`, `status`) - VALUES (#{name}, #{type}, #{status}); + (`data_access`, `name`, `type`, `status`) + VALUES (#{dataAccess},#{name}, #{type}, #{status}); + + INSERT INTO `data_basete`.`detp_user_kvt` + ( `user_id`, `kvt_id`, `dept_id`) + VALUES ( #{userId}, #{kvtId}, #{deptId}); + + + INSERT INTO `data_basete`.`dictionary` + ( `dictionary_name`, `dictionary_value`, `type`, `diction_status` + ) + VALUES ( #{dictionaryName}, #{dictionaryValue}, #{type}, 0); + + + + + INSERT INTO `data_basete`.`data_display` + (`war_name`, `type`, `value`) + VALUES + + (#{dataDisplays.warName}, #{dataDisplays.type}, #{dataDisplays.value}) + + + diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/MuYuSystemApplication.java b/muyu-modules/muyu-system/src/main/java/com/muyu/system/MuYuSystemApplication.java index 8dab51e..354efdd 100644 --- a/muyu-modules/muyu-system/src/main/java/com/muyu/system/MuYuSystemApplication.java +++ b/muyu-modules/muyu-system/src/main/java/com/muyu/system/MuYuSystemApplication.java @@ -5,6 +5,7 @@ import com.muyu.common.security.annotation.EnableMyFeignClients; import com.muyu.common.swagger.annotation.EnableCustomSwagger2; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.openfeign.EnableFeignClients; /** * 系统模块 diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/SysUserController.java b/muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/SysUserController.java index 096c714..733e888 100644 --- a/muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/SysUserController.java +++ b/muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/SysUserController.java @@ -306,5 +306,12 @@ public class SysUserController extends BaseController { return success(deptService.selectDeptTreeList(dept)); } + @PostMapping("/selectUserId") + public Result selectUserId(@RequestParam("userId") Long userId){ + SysUser sysUser = userService.selectUserById(userId); + return Result.success(sysUser); + } +// @PostMapping("/updateUserPermissions") +// public Result updateUserPermissions(@RequestBody ) }