Skip to content

Commit

Permalink
mysql注册
Browse files Browse the repository at this point in the history
  • Loading branch information
aiwenmo committed Jul 23, 2021
1 parent 6faa43b commit dce6c81
Show file tree
Hide file tree
Showing 10 changed files with 89 additions and 21 deletions.
9 changes: 9 additions & 0 deletions dlink-admin/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,15 @@
<groupId>com.dlink</groupId>
<artifactId>dlink-common</artifactId>
</dependency>
<dependency>
<groupId>com.dlink</groupId>
<artifactId>dlink-metadata-base</artifactId>
</dependency>
<dependency>
<groupId>com.dlink</groupId>
<artifactId>dlink-metadata-mysql</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,10 @@ public class DataBaseController {
*/
@PutMapping
public Result saveOrUpdate(@RequestBody DataBase database) {
if(databaseService.saveOrUpdate(database)){
return Result.succeed("新增成功");
if(databaseService.saveOrUpdateDataBase(database)){
return Result.succeed("更新成功");
}else {
return Result.failed("新增失败");
return Result.failed("更新失败");
}
}

Expand Down
9 changes: 5 additions & 4 deletions dlink-admin/src/main/java/com/dlink/model/DataBase.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import com.baomidou.mybatisplus.annotation.TableName;
import com.dlink.db.model.SuperEntity;
import com.dlink.metadata.driver.DriverConfig;
import lombok.Data;
import lombok.EqualsAndHashCode;

Expand All @@ -26,10 +27,6 @@ public class DataBase extends SuperEntity {

private String type;

private String ip;

private Integer port;

private String url;

private String username;
Expand All @@ -45,4 +42,8 @@ public class DataBase extends SuperEntity {
private LocalDateTime healthTime;

private LocalDateTime heartbeatTime;

public DriverConfig getDriverConfig(){
return new DriverConfig(type,url,username,password);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,8 @@
* @since 2021/7/20 23:47
*/
public interface DataBaseService extends ISuperService<DataBase> {

boolean checkHeartBeat(DataBase dataBase);

boolean saveOrUpdateDataBase(DataBase dataBase);
}
Original file line number Diff line number Diff line change
@@ -1,11 +1,16 @@
package com.dlink.service.impl;

import com.dlink.assertion.Asserts;
import com.dlink.db.service.impl.SuperServiceImpl;
import com.dlink.mapper.DataBaseMapper;
import com.dlink.metadata.driver.Driver;
import com.dlink.model.DataBase;
import com.dlink.service.DataBaseService;
import org.springframework.stereotype.Service;

import java.time.LocalDateTime;


/**
* DataBaseServiceImpl
*
Expand All @@ -14,4 +19,38 @@
*/
@Service
public class DataBaseServiceImpl extends SuperServiceImpl<DataBaseMapper, DataBase> implements DataBaseService {
@Override
public boolean checkHeartBeat(DataBase dataBase) {
boolean isHealthy = Driver.build(dataBase.getDriverConfig()).test();
dataBase.setStatus(isHealthy);
dataBase.setHeartbeatTime(LocalDateTime.now());
if(isHealthy){
dataBase.setHealthTime(LocalDateTime.now());
}
return isHealthy;
}

@Override
public boolean saveOrUpdateDataBase(DataBase dataBase) {
if(Asserts.isNull(dataBase)){
return false;
}
if(Asserts.isNull(dataBase.getId())){
checkHeartBeat(dataBase);
return save(dataBase);
}else{
DataBase dataBaseInfo = getById(dataBase.getId());
if(Asserts.isNull(dataBase.getUrl())){
dataBase.setUrl(dataBaseInfo.getUrl());
}
if(Asserts.isNull(dataBase.getUsername())){
dataBase.setUsername(dataBaseInfo.getUsername());
}
if(Asserts.isNull(dataBase.getPassword())){
dataBase.setPassword(dataBaseInfo.getPassword());
}
checkHeartBeat(dataBase);
return updateById(dataBase);
}
}
}
4 changes: 1 addition & 3 deletions dlink-admin/src/main/resources/mapper/DataBaseMapper.xml
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,6 @@
<result column="alias" property="alias" />
<result column="group_name" property="groupName" />
<result column="type" property="type" />
<result column="ip" property="ip" />
<result column="port" property="port" />
<result column="url" property="url" />
<result column="username" property="username" />
<result column="password" property="password" />
Expand All @@ -26,7 +24,7 @@

<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
id, name, alias,group_name, type,ip,port, url,username,password,db_version,note,status,health_time,heartbeat_time, enabled, create_time, update_time
id, name, alias,group_name, type,url,username,password,db_version,note,status,health_time,heartbeat_time, enabled, create_time, update_time
</sql>


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,5 +22,13 @@ public class DriverConfig {
private String username;
private String password;

public DriverConfig() {
}

public DriverConfig(String type, String url, String username, String password) {
this.type = type;
this.url = url;
this.username = username;
this.password = password;
}
}
22 changes: 13 additions & 9 deletions dlink-web/src/pages/DataBase/components/DBForm.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,16 @@ const DBForm: React.FC<UpdateFormProps> = (props) => {

};

const onSubmit = async (value:any)=>{
console.log(value);
const success = await handleAddOrUpdate('/api/database', value);
if (success) {
handleChooseDBModalVisible();
setDbType(undefined);
handleUpdate(value);
}
};

return (
<Modal
width={800}
Expand All @@ -74,7 +84,7 @@ const DBForm: React.FC<UpdateFormProps> = (props) => {
<List.Item onClick={()=>{chooseOne(item)}}>
<Card>
<Image
height={60}
height={80}
preview={false}
src={getDBImage(item.type)}
fallback="data:image/png;base64,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"
Expand All @@ -88,14 +98,8 @@ const DBForm: React.FC<UpdateFormProps> = (props) => {
onCancel={() => setDbType(undefined)}
modalVisible={dbType=='MySql'}
values={{}}
onSubmit={async (value) => {
console.log(value);
const success = await handleAddOrUpdate('/api/database', value);
if (success) {
handleChooseDBModalVisible();
setDbType(undefined);
handleUpdate(value);
}
onSubmit={(value) => {
onSubmit(value);
}}
/>
</Modal>
Expand Down
4 changes: 2 additions & 2 deletions dlink-web/src/pages/DataBase/components/MySqlForm.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ const MysqlForm: React.FC<MysqlFormProps> = (props) => {
id: props.values.id,
name: props.values.name,
alias: props.values.alias,
type: "Mysql",
type: "MySql",
groupName: props.values.groupName,
url: props.values.url,
username: props.values.username,
Expand Down Expand Up @@ -71,7 +71,7 @@ const MysqlForm: React.FC<MysqlFormProps> = (props) => {
name="groupName"
label="分组类型"
>
<Select defaultValue="其他">
<Select >
<Option value="来源">来源</Option>
<Option value="数仓">数仓</Option>
<Option value="应用">应用</Option>
Expand Down
5 changes: 5 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,11 @@
<artifactId>dlink-metadata-base</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.dlink</groupId>
<artifactId>dlink-metadata-mysql</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<build>
Expand Down

0 comments on commit dce6c81

Please sign in to comment.