Commit cf33eaf6eb6a238aa5443c30486f42db9dbf0ae2

Authored by 杨鸣坤
1 parent 81b37680

添加数据库链接信息配置增加ssl和ssh配置

@@ -429,12 +429,12 @@ COMMENT ON COLUMN qg_db_connect.connect_timeout IS '最大等待时间(毫秒)ï¼ @@ -429,12 +429,12 @@ COMMENT ON COLUMN qg_db_connect.connect_timeout IS '最大等待时间(毫秒)ï¼
429 CREATE TABLE "qg_db_connect_ssh" ( 429 CREATE TABLE "qg_db_connect_ssh" (
430 "id" varchar(36) PRIMARY KEY, 430 "id" varchar(36) PRIMARY KEY,
431 "connect_id" varchar(36) NOT NULL, 431 "connect_id" varchar(36) NOT NULL,
432 - "ip" varchar(20) NOT NULL,  
433 - "port" varchar(20) NOT NULL,  
434 - "ssh_name" varchar(50) NOT NULL,  
435 - "ssh_password" varchar(50) NOT NULL,  
436 - "verify_method" varchar(200) NOT NULL,  
437 - "private_key" varchar(200) NOT NULL, 432 + "ip" varchar(20),
  433 + "port" varchar(20),
  434 + "ssh_name" varchar(50),
  435 + "ssh_password" varchar(50),
  436 + "verify_method" varchar(200),
  437 + "private_key" varchar(200),
438 "tenant_id" varchar(36), 438 "tenant_id" varchar(36),
439 "create_time" timestamp(6), 439 "create_time" timestamp(6),
440 "creator" varchar(36) NULL, 440 "creator" varchar(36) NULL,
@@ -447,44 +447,17 @@ COMMENT ON COLUMN qg_db_connect.connect_id IS 'æ•°æ®åº“链接信æ¯id'; @@ -447,44 +447,17 @@ COMMENT ON COLUMN qg_db_connect.connect_id IS 'æ•°æ®åº“链接信æ¯id';
447 COMMENT ON COLUMN qg_db_connect_ssh.ip IS 'ssh的ip'; 447 COMMENT ON COLUMN qg_db_connect_ssh.ip IS 'ssh的ip';
448 COMMENT ON COLUMN qg_db_connect_ssh.port IS 'ssh的port'; 448 COMMENT ON COLUMN qg_db_connect_ssh.port IS 'ssh的port';
449 COMMENT ON COLUMN qg_db_connect_ssh.ssh_name IS '用户名'; 449 COMMENT ON COLUMN qg_db_connect_ssh.ssh_name IS '用户名';
450 -COMMENT ON COLUMN qg_db_connect_ssh.ssh_password IS '租户ID';  
451 COMMENT ON COLUMN qg_db_connect_ssh.ssh_password IS '密码/密码短语'; 450 COMMENT ON COLUMN qg_db_connect_ssh.ssh_password IS '密码/密码短语';
452 -COMMENT ON COLUMN qg_db_connect_ssh.verify_method IS '验证方式(PASSWORD:密码;PUBLIC_KEY)'; 451 +COMMENT ON COLUMN qg_db_connect_ssh.verify_method IS '验证方式(PASSWORD:密码;PUBLIC_KEY:公钥)';
453 COMMENT ON COLUMN qg_db_connect_ssh.private_key IS '私钥文件'; 452 COMMENT ON COLUMN qg_db_connect_ssh.private_key IS '私钥文件';
454 453
455 CREATE TABLE "qg_db_connect_ssl" ( 454 CREATE TABLE "qg_db_connect_ssl" (
456 - "id" varchar(36) PRIMARY KEY,  
457 - "connect_id" varchar(36) NOT NULL,  
458 - "ip" varchar(20) NOT NULL,  
459 - "port" varchar(20) NOT NULL,  
460 - "ssh_name" varchar(50) NOT NULL,  
461 - "ssh_password" varchar(50) NOT NULL,  
462 - "verify_method" varchar(200) NOT NULL,  
463 - "private_key" varchar(200) NOT NULL,  
464 - "tenant_id" varchar(36),  
465 - "create_time" timestamp(6),  
466 - "creator" varchar(36) NULL,  
467 - "updater" varchar(36) NULL,  
468 - "update_time" timestamp(6)  
469 -);  
470 -COMMENT ON TABLE qg_db_connect IS 'SSH通道配置信息';  
471 -COMMENT ON COLUMN qg_db_connect.tenant_id IS '租户ID';  
472 -COMMENT ON COLUMN qg_db_connect.connect_id IS '数据库链接信息id';  
473 -COMMENT ON COLUMN qg_db_connect.ip IS 'ssh的ip';  
474 -COMMENT ON COLUMN qg_db_connect.port IS 'ssh的port';  
475 -COMMENT ON COLUMN qg_db_connect.ssh_name IS '用户名';  
476 -COMMENT ON COLUMN qg_db_connect.ssh_password IS '租户ID';  
477 -COMMENT ON COLUMN qg_db_connect.ssh_password IS '密码/密码短语';  
478 -COMMENT ON COLUMN qg_db_connect.verify_method IS '验证方式(PASSWORD:密码;PUBLIC_KEY)';  
479 -COMMENT ON COLUMN qg_db_connect.private_key IS '私钥文件';  
480 -  
481 -CREATE TABLE "qg_db_connect_ssl" (  
482 "id" varchar(36) PRIMARY KEY, 455 "id" varchar(36) PRIMARY KEY,
483 "connect_id" varchar(36) NOT NULL, 456 "connect_id" varchar(36) NOT NULL,
484 - "ca_cert" varchar(50) NOT NULL, 457 + "ca_cert" varchar(50),
485 "verify_ca_cert" bool NOT NULL DEFAULT FALSE, 458 "verify_ca_cert" bool NOT NULL DEFAULT FALSE,
486 - "client_key" varchar(50) NOT NULL,  
487 - "client_cert" varchar(50) NOT NULL, 459 + "client_key" varchar(50),
  460 + "client_cert" varchar(50),
488 "tenant_id" varchar(36), 461 "tenant_id" varchar(36),
489 "create_time" timestamp(6), 462 "create_time" timestamp(6),
490 "creator" varchar(36) NULL, 463 "creator" varchar(36) NULL,
@@ -1161,12 +1161,12 @@ CREATE TABLE IF NOT EXISTS qg_db_connect ( @@ -1161,12 +1161,12 @@ CREATE TABLE IF NOT EXISTS qg_db_connect (
1161 CREATE TABLE IF NOT EXISTS qg_db_connect_ssl ( 1161 CREATE TABLE IF NOT EXISTS qg_db_connect_ssl (
1162 "id" varchar(36) PRIMARY KEY, 1162 "id" varchar(36) PRIMARY KEY,
1163 "connect_id" varchar(36) NOT NULL, 1163 "connect_id" varchar(36) NOT NULL,
1164 - "ip" varchar(20) NOT NULL,  
1165 - "port" varchar(20) NOT NULL,  
1166 - "ssh_name" varchar(50) NOT NULL,  
1167 - "ssh_password" varchar(50) NOT NULL,  
1168 - "verify_method" varchar(200) NOT NULL,  
1169 - "private_key" varchar(200) NOT NULL, 1164 + "ip" varchar(20),
  1165 + "port" varchar(20),
  1166 + "ssh_name" varchar(50),
  1167 + "ssh_password" varchar(50),
  1168 + "verify_method" varchar(200),
  1169 + "private_key" varchar(200),
1170 "tenant_id" varchar(36), 1170 "tenant_id" varchar(36),
1171 "create_time" timestamp(6), 1171 "create_time" timestamp(6),
1172 "creator" varchar(36) NULL, 1172 "creator" varchar(36) NULL,
@@ -1176,11 +1176,11 @@ CREATE TABLE IF NOT EXISTS qg_db_connect_ssl ( @@ -1176,11 +1176,11 @@ CREATE TABLE IF NOT EXISTS qg_db_connect_ssl (
1176 1176
1177 CREATE TABLE IF NOT EXISTS qg_db_connect_ssl ( 1177 CREATE TABLE IF NOT EXISTS qg_db_connect_ssl (
1178 "id" varchar(36) PRIMARY KEY, 1178 "id" varchar(36) PRIMARY KEY,
1179 - "connect_id" varchar(36) NOT NULL,  
1180 - "ca_cert" varchar(50) NOT NULL, 1179 + "connect_id" varchar(36,
  1180 + "ca_cert" varchar(50),
1181 "verify_ca_cert" bool NOT NULL DEFAULT FALSE, 1181 "verify_ca_cert" bool NOT NULL DEFAULT FALSE,
1182 - "client_key" varchar(50) NOT NULL,  
1183 - "client_cert" varchar(50) NOT NULL, 1182 + "client_key" varchar(50),
  1183 + "client_cert" varchar(50),
1184 "tenant_id" varchar(36), 1184 "tenant_id" varchar(36),
1185 "create_time" timestamp(6), 1185 "create_time" timestamp(6),
1186 "creator" varchar(36) NULL, 1186 "creator" varchar(36) NULL,
@@ -53,4 +53,10 @@ public class TkDbConnectDTO extends TenantDTO { @@ -53,4 +53,10 @@ public class TkDbConnectDTO extends TenantDTO {
53 53
54 @ApiModelProperty("最大等待时间(毫秒)") 54 @ApiModelProperty("最大等待时间(毫秒)")
55 private int connectTimeout; 55 private int connectTimeout;
  56 +
  57 + @ApiModelProperty("SSH通道配置信息")
  58 + private TkDbConnectSshDTO ssh;
  59 +
  60 + @ApiModelProperty("SSL通道配置信息")
  61 + private TkDbConnectSslDTO ssl;
56 } 62 }
  1 +package org.thingsboard.server.common.data.yunteng.dto;
  2 +
  3 +import io.swagger.annotations.ApiModelProperty;
  4 +import lombok.Data;
  5 +import lombok.EqualsAndHashCode;
  6 +
  7 +/**
  8 + * SSH通道配置信息
  9 + */
  10 +@EqualsAndHashCode(callSuper = true)
  11 +@Data
  12 +public class TkDbConnectSshDTO extends TenantDTO {
  13 +
  14 + @ApiModelProperty("数据库链接信息id")
  15 + private String connectId;
  16 +
  17 + @ApiModelProperty("ssh的ip")
  18 + private String ip;
  19 +
  20 + @ApiModelProperty("ssh的port")
  21 + private String port;
  22 +
  23 + @ApiModelProperty("用户名")
  24 + private String sshName;
  25 +
  26 + @ApiModelProperty("ssh的ip")
  27 + private String sshPassword;
  28 +
  29 + @ApiModelProperty("验证方式(PASSWORD:密码;PUBLIC_KEY:公钥)")
  30 + private String verifyMethod;
  31 +
  32 + @ApiModelProperty("私钥文件")
  33 + private String privateKey;
  34 +}
  1 +package org.thingsboard.server.common.data.yunteng.dto;
  2 +
  3 +import io.swagger.annotations.ApiModelProperty;
  4 +import lombok.Data;
  5 +import lombok.EqualsAndHashCode;
  6 +
  7 +/**
  8 + * SSL通道配置信息
  9 + */
  10 +@EqualsAndHashCode(callSuper = true)
  11 +@Data
  12 +public class TkDbConnectSslDTO extends TenantDTO {
  13 +
  14 + @ApiModelProperty("数据库链接信息id")
  15 + private String connectId;
  16 +
  17 + @ApiModelProperty("CA证书")
  18 + private String caCert;
  19 +
  20 + @ApiModelProperty("验证CA证书")
  21 + private boolean verifyCaCert;
  22 +
  23 + @ApiModelProperty("客户端秘钥")
  24 + private String clientKey;
  25 +
  26 + @ApiModelProperty("客户端证书")
  27 + private String clientCert;
  28 +}
1 /** 1 /**
2 * Copyright © 2016-2024 The Thingsboard Authors 2 * Copyright © 2016-2024 The Thingsboard Authors
3 - * 3 + * <p>
4 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License. 5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at 6 * You may obtain a copy of the License at
7 - *  
8 - * http://www.apache.org/licenses/LICENSE-2.0  
9 - * 7 + * <p>
  8 + * http://www.apache.org/licenses/LICENSE-2.0
  9 + * <p>
10 * Unless required by applicable law or agreed to in writing, software 10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS, 11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and 13 * See the License for the specific language governing permissions and
14 * limitations under the License. 14 * limitations under the License.
  15 + * <p>
  16 + * This file has been modified from its original version.
  17 + * Source: ThingsBoard Community Edition
  18 + * Modifications made by: Chengdu Yunteng Wuzhou Technology Co., Ltd
  19 + * Modification date: 2022-05-17
  20 + * Description of changes: extend constant for table.
15 */ 21 */
16 /** 22 /**
17 * This file has been modified from its original version. 23 * This file has been modified from its original version.
@@ -45,7 +51,7 @@ public class ModelConstants { @@ -45,7 +51,7 @@ public class ModelConstants {
45 */ 51 */
46 public static final String ID_PROPERTY = "id"; 52 public static final String ID_PROPERTY = "id";
47 public static final String CREATED_TIME_PROPERTY = "created_time"; 53 public static final String CREATED_TIME_PROPERTY = "created_time";
48 - //thingskit 54 + //thingskit
49 public static final String STATUS_PROPERTY = "status"; 55 public static final String STATUS_PROPERTY = "status";
50 public static final String USER_ID_PROPERTY = "user_id"; 56 public static final String USER_ID_PROPERTY = "user_id";
51 public static final String TENANT_ID_PROPERTY = "tenant_id"; 57 public static final String TENANT_ID_PROPERTY = "tenant_id";
@@ -71,7 +77,7 @@ public class ModelConstants { @@ -71,7 +77,7 @@ public class ModelConstants {
71 public static final String EVENT_TIME_COLUMN = "event_time"; 77 public static final String EVENT_TIME_COLUMN = "event_time";
72 public static final String EVENT_TYPE_COLUMN = "event_type"; 78 public static final String EVENT_TYPE_COLUMN = "event_type";
73 public static final String EVENT_VALUE_COLUMN = "event_value"; 79 public static final String EVENT_VALUE_COLUMN = "event_value";
74 - public static final String DATA_COMBINATION_IS_DEFAULT_PROPERTY= "is_data_combination"; 80 + public static final String DATA_COMBINATION_IS_DEFAULT_PROPERTY = "is_data_combination";
75 81
76 /** 82 /**
77 * User constants. 83 * User constants.
@@ -689,13 +695,15 @@ public class ModelConstants { @@ -689,13 +695,15 @@ public class ModelConstants {
689 public static final String TKINSTALLLOCATION_TABLE_NAME = "qg_install_location";//设备台账 695 public static final String TKINSTALLLOCATION_TABLE_NAME = "qg_install_location";//设备台账
690 public static final String TKSUPPLIER_TABLE_NAME = "qg_supplier";//供应商 696 public static final String TKSUPPLIER_TABLE_NAME = "qg_supplier";//供应商
691 697
692 - public static final String TKINSPECTIONPLAN_TABLE_NAME= "qg_inspection_plan"; // 巡检计划  
693 - public static final String TKCHECKPLAN_TABLE_NAME= "qg_check_plan"; // 巡检/保养方案  
694 - public static final String TKCHECKDETAILS_TABLE_NAME= "qg_check_details"; // 巡检明细  
695 - public static final String TKINSPECTIONRECORD_TABLE_NAME= "qg_inspection_record"; // 巡检记录  
696 - public static final String TKINSPECTIONDETAILS_TABLE_NAME= "qg_inspection_details"; // 巡检记录明细 698 + public static final String TKINSPECTIONPLAN_TABLE_NAME = "qg_inspection_plan"; // 巡检计划
  699 + public static final String TKCHECKPLAN_TABLE_NAME = "qg_check_plan"; // 巡检/保养方案
  700 + public static final String TKCHECKDETAILS_TABLE_NAME = "qg_check_details"; // 巡检明细
  701 + public static final String TKINSPECTIONRECORD_TABLE_NAME = "qg_inspection_record"; // 巡检记录
  702 + public static final String TKINSPECTIONDETAILS_TABLE_NAME = "qg_inspection_details"; // 巡检记录明细
697 703
698 - public static final String TKDBCONNECT_TABLE_NAME= "qg_db_connect"; // 数据库链接信息 704 + public static final String TKDBCONNECT_TABLE_NAME = "qg_db_connect"; // 数据库链接信息
  705 + public static final String TKDBCONNECTSSH_TABLE_NAME = "qg_db_connect_ssh"; // SSH通道配置信息
  706 + public static final String TKDBCONNECTSSL_TABLE_NAME = "qg_db_connect_ssl"; // SSL通道配置信息
699 707
700 protected static final String[] NONE_AGGREGATION_COLUMNS = new String[]{LONG_VALUE_COLUMN, DOUBLE_VALUE_COLUMN, BOOLEAN_VALUE_COLUMN, STRING_VALUE_COLUMN, JSON_VALUE_COLUMN, KEY_COLUMN, TS_COLUMN}; 708 protected static final String[] NONE_AGGREGATION_COLUMNS = new String[]{LONG_VALUE_COLUMN, DOUBLE_VALUE_COLUMN, BOOLEAN_VALUE_COLUMN, STRING_VALUE_COLUMN, JSON_VALUE_COLUMN, KEY_COLUMN, TS_COLUMN};
701 709
  1 +package org.thingsboard.server.dao.yunteng.entities;
  2 +
  3 +import com.baomidou.mybatisplus.annotation.TableName;
  4 +import lombok.Data;
  5 +import lombok.EqualsAndHashCode;
  6 +import org.thingsboard.server.dao.model.ModelConstants;
  7 +
  8 +/**
  9 + * SSH通道配置信息
  10 + */
  11 +@Data
  12 +@EqualsAndHashCode(callSuper = true)
  13 +@TableName(value = ModelConstants.TKDBCONNECTSSH_TABLE_NAME, autoResultMap = true)
  14 +public class TkDbConnectSshEntity extends TenantBaseEntity {
  15 +
  16 + private String connectId;
  17 +
  18 + private String ip;
  19 +
  20 + private String port;
  21 +
  22 + private String sshName;
  23 +
  24 + private String sshPassword;
  25 +
  26 + private String verifyMethod;
  27 +
  28 + private String privateKey;
  29 +
  30 +}
  1 +package org.thingsboard.server.dao.yunteng.entities;
  2 +
  3 +import com.baomidou.mybatisplus.annotation.TableName;
  4 +import io.swagger.annotations.ApiModelProperty;
  5 +import lombok.Data;
  6 +import lombok.EqualsAndHashCode;
  7 +import org.thingsboard.server.dao.model.ModelConstants;
  8 +
  9 +/**
  10 + * SSL通道配置信息
  11 + */
  12 +@Data
  13 +@EqualsAndHashCode(callSuper = true)
  14 +@TableName(value = ModelConstants.TKDBCONNECTSSL_TABLE_NAME, autoResultMap = true)
  15 +public class TkDbConnectSslEntity extends TenantBaseEntity {
  16 +
  17 + private String connectId;
  18 +
  19 + private String ip;
  20 +
  21 + private String port;
  22 +
  23 + private String sshName;
  24 +
  25 + private String sshPassword;
  26 +
  27 + private String verifyMethod;
  28 +
  29 + private String privateKey;
  30 +
  31 +}
@@ -9,11 +9,15 @@ import org.apache.commons.lang3.StringUtils; @@ -9,11 +9,15 @@ import org.apache.commons.lang3.StringUtils;
9 import org.springframework.stereotype.Service; 9 import org.springframework.stereotype.Service;
10 import org.thingsboard.server.common.data.yunteng.core.exception.TkDataValidationException; 10 import org.thingsboard.server.common.data.yunteng.core.exception.TkDataValidationException;
11 import org.thingsboard.server.common.data.yunteng.dto.TkDbConnectDTO; 11 import org.thingsboard.server.common.data.yunteng.dto.TkDbConnectDTO;
  12 +import org.thingsboard.server.common.data.yunteng.dto.TkDbConnectSshDTO;
  13 +import org.thingsboard.server.common.data.yunteng.dto.TkDbConnectSslDTO;
12 import org.thingsboard.server.common.data.yunteng.utils.tools.TkPageData; 14 import org.thingsboard.server.common.data.yunteng.utils.tools.TkPageData;
13 import org.thingsboard.server.dao.yunteng.entities.TkDbConnectEntity; 15 import org.thingsboard.server.dao.yunteng.entities.TkDbConnectEntity;
14 import org.thingsboard.server.dao.yunteng.mapper.TkDbConnectMapper; 16 import org.thingsboard.server.dao.yunteng.mapper.TkDbConnectMapper;
15 import org.thingsboard.server.dao.yunteng.service.AbstractBaseService; 17 import org.thingsboard.server.dao.yunteng.service.AbstractBaseService;
16 import org.thingsboard.server.dao.yunteng.service.TkDbConnectService; 18 import org.thingsboard.server.dao.yunteng.service.TkDbConnectService;
  19 +import org.thingsboard.server.dao.yunteng.service.TkDbConnectSshService;
  20 +import org.thingsboard.server.dao.yunteng.service.TkDbConnectSslService;
17 21
18 import java.util.Map; 22 import java.util.Map;
19 23
@@ -22,6 +26,8 @@ import java.util.Map; @@ -22,6 +26,8 @@ import java.util.Map;
22 @Slf4j 26 @Slf4j
23 public class TkDbConnectServiceImpl extends AbstractBaseService<TkDbConnectMapper, TkDbConnectEntity> 27 public class TkDbConnectServiceImpl extends AbstractBaseService<TkDbConnectMapper, TkDbConnectEntity>
24 implements TkDbConnectService { 28 implements TkDbConnectService {
  29 + private final TkDbConnectSshService tkDbConnectSshService;
  30 + private final TkDbConnectSslService tkDbConnectSslService;
25 31
26 @Override 32 @Override
27 public TkPageData<TkDbConnectDTO> page(Map<String, Object> queryMap, String tenantId) { 33 public TkPageData<TkDbConnectDTO> page(Map<String, Object> queryMap, String tenantId) {
@@ -55,7 +61,15 @@ public class TkDbConnectServiceImpl extends AbstractBaseService<TkDbConnectMappe @@ -55,7 +61,15 @@ public class TkDbConnectServiceImpl extends AbstractBaseService<TkDbConnectMappe
55 entity = tkDbConnectDTO.getEntity(TkDbConnectEntity.class); 61 entity = tkDbConnectDTO.getEntity(TkDbConnectEntity.class);
56 baseMapper.update(entity, filter); 62 baseMapper.update(entity, filter);
57 } 63 }
58 - 64 + String connectId = entity.getId();
  65 + TkDbConnectSshDTO ssh = tkDbConnectDTO.getSsh();
  66 + ssh.setConnectId(connectId);
  67 + ssh.setTenantId(tkDbConnectDTO.getTenantId());
  68 + tkDbConnectSshService.save(ssh);
  69 + TkDbConnectSslDTO ssl = tkDbConnectDTO.getSsl();
  70 + ssl.setConnectId(connectId);
  71 + ssl.setTenantId(tkDbConnectDTO.getTenantId());
  72 + tkDbConnectSslService.save(ssl);
59 entity.copyToDTO(tkDbConnectDTO); 73 entity.copyToDTO(tkDbConnectDTO);
60 return tkDbConnectDTO; 74 return tkDbConnectDTO;
61 } 75 }
@@ -68,6 +82,8 @@ public class TkDbConnectServiceImpl extends AbstractBaseService<TkDbConnectMappe @@ -68,6 +82,8 @@ public class TkDbConnectServiceImpl extends AbstractBaseService<TkDbConnectMappe
68 82
69 @Override 83 @Override
70 public boolean delete(String id) { 84 public boolean delete(String id) {
  85 + tkDbConnectSshService.deleteByConnectId(id);
  86 + tkDbConnectSslService.deleteByConnectId(id);
71 int count = baseMapper.deleteById(id); 87 int count = baseMapper.deleteById(id);
72 return count > 0; 88 return count > 0;
73 } 89 }
@@ -81,6 +97,11 @@ public class TkDbConnectServiceImpl extends AbstractBaseService<TkDbConnectMappe @@ -81,6 +97,11 @@ public class TkDbConnectServiceImpl extends AbstractBaseService<TkDbConnectMappe
81 TkDbConnectEntity entity = baseMapper.selectById(id); 97 TkDbConnectEntity entity = baseMapper.selectById(id);
82 TkDbConnectDTO tkDbConnectDTO = new TkDbConnectDTO(); 98 TkDbConnectDTO tkDbConnectDTO = new TkDbConnectDTO();
83 entity.copyToDTO(tkDbConnectDTO); 99 entity.copyToDTO(tkDbConnectDTO);
  100 +
  101 + TkDbConnectSshDTO ssh = tkDbConnectSshService.getByConnectId(id);
  102 + TkDbConnectSslDTO ssl = tkDbConnectSslService.getByConnectId(id);
  103 + tkDbConnectDTO.setSsh(ssh);
  104 + tkDbConnectDTO.setSsl(ssl);
84 return tkDbConnectDTO; 105 return tkDbConnectDTO;
85 } 106 }
86 } 107 }
  1 +package org.thingsboard.server.dao.yunteng.impl;
  2 +
  3 +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  4 +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  5 +import lombok.RequiredArgsConstructor;
  6 +import lombok.extern.slf4j.Slf4j;
  7 +import org.apache.commons.lang3.StringUtils;
  8 +import org.springframework.stereotype.Service;
  9 +import org.thingsboard.server.common.data.yunteng.core.exception.TkDataValidationException;
  10 +import org.thingsboard.server.common.data.yunteng.dto.TkDbConnectSshDTO;
  11 +import org.thingsboard.server.dao.yunteng.entities.TkDbConnectSshEntity;
  12 +import org.thingsboard.server.dao.yunteng.mapper.TkDbConnectSshMapper;
  13 +import org.thingsboard.server.dao.yunteng.service.AbstractBaseService;
  14 +import org.thingsboard.server.dao.yunteng.service.TkDbConnectSshService;
  15 +
  16 +@Service
  17 +@RequiredArgsConstructor
  18 +@Slf4j
  19 +public class TkDbConnectSshServiceImpl extends AbstractBaseService<TkDbConnectSshMapper, TkDbConnectSshEntity>
  20 + implements TkDbConnectSshService {
  21 +
  22 + @Override
  23 + public TkDbConnectSshDTO save(TkDbConnectSshDTO tkDbConnectSshDTO) {
  24 + checkDto(tkDbConnectSshDTO);
  25 + TkDbConnectSshEntity entity = new TkDbConnectSshEntity();
  26 + if (StringUtils.isBlank(tkDbConnectSshDTO.getId())) {
  27 + tkDbConnectSshDTO.copyToEntity(entity);
  28 + baseMapper.insert(entity);
  29 + } else {
  30 + LambdaQueryWrapper<TkDbConnectSshEntity> filter = new QueryWrapper<TkDbConnectSshEntity>().lambda()
  31 + .eq(TkDbConnectSshEntity::getId, tkDbConnectSshDTO.getId());
  32 + entity = tkDbConnectSshDTO.getEntity(TkDbConnectSshEntity.class);
  33 + baseMapper.update(entity, filter);
  34 + }
  35 +
  36 + entity.copyToDTO(tkDbConnectSshDTO);
  37 + return tkDbConnectSshDTO;
  38 + }
  39 +
  40 + @Override
  41 + public void deleteByConnectId(String connectId) {
  42 + if (StringUtils.isBlank(connectId)) {
  43 + return;
  44 + }
  45 +
  46 + baseMapper.delete(new LambdaQueryWrapper<TkDbConnectSshEntity>().eq(TkDbConnectSshEntity::getConnectId, connectId));
  47 + }
  48 +
  49 + @Override
  50 + public TkDbConnectSshDTO getByConnectId(String connectId) {
  51 + if (StringUtils.isBlank(connectId)) {
  52 + return new TkDbConnectSshDTO();
  53 + }
  54 +
  55 + TkDbConnectSshEntity entity = baseMapper.selectOne(new LambdaQueryWrapper<TkDbConnectSshEntity>().eq(TkDbConnectSshEntity::getConnectId, connectId));
  56 + if (entity == null) {
  57 + return new TkDbConnectSshDTO();
  58 + }
  59 +
  60 + TkDbConnectSshDTO dto = new TkDbConnectSshDTO();
  61 + entity.copyToDTO(dto);
  62 + return dto;
  63 + }
  64 +
  65 + private void checkDto(TkDbConnectSshDTO dto) {
  66 + if (StringUtils.isBlank(dto.getTenantId())) {
  67 + throw new TkDataValidationException("租户id为空!");
  68 + }
  69 + }
  70 +
  71 +}
  1 +package org.thingsboard.server.dao.yunteng.impl;
  2 +
  3 +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  4 +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  5 +import lombok.RequiredArgsConstructor;
  6 +import lombok.extern.slf4j.Slf4j;
  7 +import org.apache.commons.lang3.StringUtils;
  8 +import org.springframework.stereotype.Service;
  9 +import org.thingsboard.server.common.data.yunteng.core.exception.TkDataValidationException;
  10 +import org.thingsboard.server.common.data.yunteng.dto.TkDbConnectSslDTO;
  11 +import org.thingsboard.server.dao.yunteng.entities.TkDbConnectSslEntity;
  12 +import org.thingsboard.server.dao.yunteng.mapper.TkDbConnectSslMapper;
  13 +import org.thingsboard.server.dao.yunteng.service.AbstractBaseService;
  14 +import org.thingsboard.server.dao.yunteng.service.TkDbConnectSslService;
  15 +
  16 +@Service
  17 +@RequiredArgsConstructor
  18 +@Slf4j
  19 +public class TkDbConnectSslServiceImpl extends AbstractBaseService<TkDbConnectSslMapper, TkDbConnectSslEntity>
  20 + implements TkDbConnectSslService {
  21 +
  22 + @Override
  23 + public TkDbConnectSslDTO save(TkDbConnectSslDTO tkDbConnectSslDTO) {
  24 + checkDto(tkDbConnectSslDTO);
  25 + TkDbConnectSslEntity entity = new TkDbConnectSslEntity();
  26 + if (StringUtils.isBlank(tkDbConnectSslDTO.getId())) {
  27 + tkDbConnectSslDTO.copyToEntity(entity);
  28 + baseMapper.insert(entity);
  29 + } else {
  30 + LambdaQueryWrapper<TkDbConnectSslEntity> filter = new QueryWrapper<TkDbConnectSslEntity>().lambda()
  31 + .eq(TkDbConnectSslEntity::getId, tkDbConnectSslDTO.getId());
  32 + entity = tkDbConnectSslDTO.getEntity(TkDbConnectSslEntity.class);
  33 + baseMapper.update(entity, filter);
  34 + }
  35 +
  36 + entity.copyToDTO(tkDbConnectSslDTO);
  37 + return tkDbConnectSslDTO;
  38 + }
  39 +
  40 + @Override
  41 + public void deleteByConnectId(String connectId) {
  42 + if (StringUtils.isBlank(connectId)) {
  43 + return;
  44 + }
  45 +
  46 + baseMapper.delete(new LambdaQueryWrapper<TkDbConnectSslEntity>().eq(TkDbConnectSslEntity::getConnectId, connectId));
  47 + }
  48 +
  49 + @Override
  50 + public TkDbConnectSslDTO getByConnectId(String connectId) {
  51 + if (StringUtils.isBlank(connectId)) {
  52 + return new TkDbConnectSslDTO();
  53 + }
  54 +
  55 + TkDbConnectSslEntity entity = baseMapper.selectOne(new LambdaQueryWrapper<TkDbConnectSslEntity>().eq(TkDbConnectSslEntity::getConnectId, connectId));
  56 + if (entity == null) {
  57 + return new TkDbConnectSslDTO();
  58 + }
  59 +
  60 + TkDbConnectSslDTO dto = new TkDbConnectSslDTO();
  61 + entity.copyToDTO(dto);
  62 + return dto;
  63 + }
  64 +
  65 + private void checkDto(TkDbConnectSslDTO dto) {
  66 + if (StringUtils.isBlank(dto.getTenantId())) {
  67 + throw new TkDataValidationException("租户id为空!");
  68 + }
  69 + }
  70 +}
  1 +package org.thingsboard.server.dao.yunteng.mapper;
  2 +
  3 +import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  4 +import org.apache.ibatis.annotations.Mapper;
  5 +import org.thingsboard.server.dao.yunteng.entities.TkDbConnectSshEntity;
  6 +
  7 +@Mapper
  8 +public interface TkDbConnectSshMapper extends BaseMapper<TkDbConnectSshEntity> {
  9 +}
  1 +package org.thingsboard.server.dao.yunteng.mapper;
  2 +
  3 +import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  4 +import org.apache.ibatis.annotations.Mapper;
  5 +import org.thingsboard.server.dao.yunteng.entities.TkDbConnectSslEntity;
  6 +
  7 +@Mapper
  8 +public interface TkDbConnectSslMapper extends BaseMapper<TkDbConnectSslEntity> {
  9 +}
  1 +package org.thingsboard.server.dao.yunteng.service;
  2 +
  3 +import org.thingsboard.server.common.data.yunteng.dto.TkDbConnectSshDTO;
  4 +import org.thingsboard.server.dao.yunteng.entities.TkDbConnectSshEntity;
  5 +
  6 +public interface TkDbConnectSshService extends BaseService<TkDbConnectSshEntity> {
  7 +
  8 + TkDbConnectSshDTO save(TkDbConnectSshDTO tkDbConnectSshDTO);
  9 +
  10 + void deleteByConnectId(String connectId);
  11 +
  12 + TkDbConnectSshDTO getByConnectId(String connectId);
  13 +}
  1 +package org.thingsboard.server.dao.yunteng.service;
  2 +
  3 +import org.thingsboard.server.common.data.yunteng.dto.TkDbConnectSslDTO;
  4 +import org.thingsboard.server.dao.yunteng.entities.TkDbConnectSslEntity;
  5 +
  6 +public interface TkDbConnectSslService extends BaseService<TkDbConnectSslEntity> {
  7 +
  8 + TkDbConnectSslDTO save(TkDbConnectSslDTO tkDbConnectSslDTO);
  9 +
  10 + void deleteByConnectId(String connectId);
  11 +
  12 + TkDbConnectSslDTO getByConnectId(String connectId);
  13 +}