调试多租户参数
diff --git a/payapi/src/main/java/com/supwisdom/dlpay/framework/dao/SysparaDao.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/dao/SysparaDao.java
index b4f5da3..f48391e 100644
--- a/payapi/src/main/java/com/supwisdom/dlpay/framework/dao/SysparaDao.java
+++ b/payapi/src/main/java/com/supwisdom/dlpay/framework/dao/SysparaDao.java
@@ -19,6 +19,4 @@
@QueryHints({@QueryHint(name = "javax.persistence.lock.timeout", value ="0")})
@Query(value = "from TSyspara where paraid=?1 ")
TSyspara findByParaidWithLockNowait(int paraid);
-
-
}
diff --git a/payapi/src/main/java/com/supwisdom/dlpay/framework/dao/TenantCatalogDao.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/dao/TenantCatalogDao.java
deleted file mode 100644
index ce9fe0e..0000000
--- a/payapi/src/main/java/com/supwisdom/dlpay/framework/dao/TenantCatalogDao.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package com.supwisdom.dlpay.framework.dao;
-
-import com.supwisdom.dlpay.framework.domain.TTenantCatalog;
-import org.springframework.data.jpa.repository.JpaRepository;
-
-public interface TenantCatalogDao extends JpaRepository<TTenantCatalog, Integer> {
- TTenantCatalog findTTenantCatalogByTenantid(String tenant);
-}
diff --git a/payapi/src/main/java/com/supwisdom/dlpay/framework/dao/TenantUserDBDao.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/dao/TenantUserDBDao.java
new file mode 100644
index 0000000..f51aae5
--- /dev/null
+++ b/payapi/src/main/java/com/supwisdom/dlpay/framework/dao/TenantUserDBDao.java
@@ -0,0 +1,10 @@
+package com.supwisdom.dlpay.framework.dao;
+
+import com.supwisdom.dlpay.framework.domain.TTenantUserDB;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.stereotype.Repository;
+
+@Repository
+public interface TenantUserDBDao extends JpaRepository<TTenantUserDB, String> {
+ TTenantUserDB findTTenantUserDBById(String id);
+}
diff --git a/payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TTenantCatalog.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TTenantCatalog.java
deleted file mode 100644
index c893617..0000000
--- a/payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TTenantCatalog.java
+++ /dev/null
@@ -1,71 +0,0 @@
-package com.supwisdom.dlpay.framework.domain;
-
-import javax.persistence.*;
-import javax.validation.constraints.NotNull;
-import java.sql.Timestamp;
-
-@Entity
-@Table(name = "tb_tenant_catalog", schema = "public")
-@SequenceGenerator(name = "tenant_catalog_seq")
-public class TTenantCatalog {
- @Id
- @Column(name = "id")
- @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "tenant_catalog_seq")
- private Integer id;
-
- @Column(name = "tenantid", length = 32)
- @NotNull
- private String tenantid;
-
- @Column(name = "datecenter", length = 10)
- @NotNull
- private String dataCenter;
-
- @Column(name = "expire_date")
- @NotNull
- private Timestamp expireDate;
-
- @Column(name = "enabled")
- @NotNull
- private Boolean enabled;
-
- public Integer getId() {
- return id;
- }
-
- public void setId(Integer id) {
- this.id = id;
- }
-
- public String getTenantid() {
- return tenantid;
- }
-
- public void setTenantid(String tenantid) {
- this.tenantid = tenantid;
- }
-
- public String getDataCenter() {
- return dataCenter;
- }
-
- public void setDataCenter(String dataCenter) {
- this.dataCenter = dataCenter;
- }
-
- public Timestamp getExpireDate() {
- return expireDate;
- }
-
- public void setExpireDate(Timestamp expireDate) {
- this.expireDate = expireDate;
- }
-
- public Boolean getEnabled() {
- return enabled;
- }
-
- public void setEnabled(Boolean enabled) {
- this.enabled = enabled;
- }
-}
diff --git a/payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TTenantUserDB.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TTenantUserDB.java
new file mode 100644
index 0000000..7df05a7
--- /dev/null
+++ b/payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TTenantUserDB.java
@@ -0,0 +1,101 @@
+package com.supwisdom.dlpay.framework.domain;
+
+import javax.persistence.*;
+import javax.validation.constraints.NotNull;
+
+@Entity
+@Table(name = "t_tenant_user_db", schema = "public",
+ indexes = {@Index(name = "tenant_db_dbid_idx", columnList = "dbid"),
+ @Index(name = "tenant_db_schema_idx", columnList = "schema"),
+ @Index(name = "tenant_db_idx2", columnList = "dbid, schema", unique = true)})
+public class TTenantUserDB {
+ @Id
+ @Column(name = "id", length = 32)
+ private String id;
+
+ @Column(name = "dbid")
+ private Integer dbid;
+
+ @Column(name = "dbstatus", length = 4)
+ private String dbStatus;
+
+ @Column(name = "dbversion", length = 20)
+ private String dbVersion;
+
+ @Column(name = "dbupdateversion", length = 20)
+ private String dbUpdateVersion;
+
+ @Column(name = "dbcreatetime", length = 20)
+ private String dbCreateTime;
+
+ @Column(name = "dbupdatetime", length = 20)
+ private String dbUpdateTime;
+
+ @Column(name = "schema", length = 32)
+ @NotNull
+ private String schema;
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public Integer getDbid() {
+ return dbid;
+ }
+
+ public void setDbid(Integer dbid) {
+ this.dbid = dbid;
+ }
+
+ public String getDbStatus() {
+ return dbStatus;
+ }
+
+ public void setDbStatus(String dbStatus) {
+ this.dbStatus = dbStatus;
+ }
+
+ public String getDbVersion() {
+ return dbVersion;
+ }
+
+ public void setDbVersion(String dbVersion) {
+ this.dbVersion = dbVersion;
+ }
+
+ public String getDbUpdateVersion() {
+ return dbUpdateVersion;
+ }
+
+ public void setDbUpdateVersion(String dbUpdateVersion) {
+ this.dbUpdateVersion = dbUpdateVersion;
+ }
+
+ public String getDbCreateTime() {
+ return dbCreateTime;
+ }
+
+ public void setDbCreateTime(String dbCreateTime) {
+ this.dbCreateTime = dbCreateTime;
+ }
+
+ public String getDbUpdateTime() {
+ return dbUpdateTime;
+ }
+
+ public void setDbUpdateTime(String dbUpdateTime) {
+ this.dbUpdateTime = dbUpdateTime;
+ }
+
+ public String getSchema() {
+ return schema;
+ }
+
+ public void setSchema(String schema) {
+ this.schema = schema;
+ }
+}
diff --git a/payapi/src/main/java/com/supwisdom/dlpay/framework/service/TenantService.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/service/TenantService.java
new file mode 100644
index 0000000..7b10af0
--- /dev/null
+++ b/payapi/src/main/java/com/supwisdom/dlpay/framework/service/TenantService.java
@@ -0,0 +1,8 @@
+package com.supwisdom.dlpay.framework.service;
+
+
+import com.supwisdom.dlpay.framework.domain.TTenantUserDB;
+
+public interface TenantService {
+ TTenantUserDB findByTenantId(String tenantId);
+}
diff --git a/payapi/src/main/java/com/supwisdom/dlpay/framework/service/impl/TenantServiceImpl.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/service/impl/TenantServiceImpl.java
new file mode 100644
index 0000000..aa7be5c
--- /dev/null
+++ b/payapi/src/main/java/com/supwisdom/dlpay/framework/service/impl/TenantServiceImpl.java
@@ -0,0 +1,22 @@
+package com.supwisdom.dlpay.framework.service.impl;
+
+import com.supwisdom.dlpay.framework.dao.TenantUserDBDao;
+import com.supwisdom.dlpay.framework.domain.TTenantUserDB;
+import com.supwisdom.dlpay.framework.service.TenantService;
+import org.springframework.cache.annotation.Cacheable;
+import org.springframework.stereotype.Service;
+
+@Service
+public class TenantServiceImpl implements TenantService {
+ private final TenantUserDBDao tenantUserDBDao;
+
+ public TenantServiceImpl(TenantUserDBDao tenantUserDBDao) {
+ this.tenantUserDBDao = tenantUserDBDao;
+ }
+
+ @Override
+ @Cacheable(cacheNames = "tenantCache", key = "#tenantId")
+ public TTenantUserDB findByTenantId(String tenantId) {
+ return tenantUserDBDao.findTTenantUserDBById(tenantId);
+ }
+}
diff --git a/payapi/src/main/java/com/supwisdom/dlpay/framework/tenant/TenantCacheKeyGen.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/tenant/TenantCacheKeyGen.java
index fa72e3e..6affdb4 100644
--- a/payapi/src/main/java/com/supwisdom/dlpay/framework/tenant/TenantCacheKeyGen.java
+++ b/payapi/src/main/java/com/supwisdom/dlpay/framework/tenant/TenantCacheKeyGen.java
@@ -3,6 +3,7 @@
import com.supwisdom.multitenant.TenantContextHolder;
import org.apache.commons.lang3.StringUtils;
+import org.jetbrains.annotations.NotNull;
import org.springframework.cache.interceptor.KeyGenerator;
import java.lang.reflect.Method;
@@ -10,8 +11,9 @@
public class TenantCacheKeyGen implements KeyGenerator {
private static final char delimiter = ':';
+ @NotNull
@Override
- public Object generate(Object target, Method method, Object... params) {
+ public Object generate(Object target, @NotNull Method method, @NotNull Object... params) {
StringBuilder name = new StringBuilder();
name.append(target.getClass().getSimpleName())
.append(delimiter);
diff --git a/payapi/src/main/kotlin/com/supwisdom/dlpay/PayApiApplication.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/PayApiApplication.kt
index 746f6b2..a422391 100644
--- a/payapi/src/main/kotlin/com/supwisdom/dlpay/PayApiApplication.kt
+++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/PayApiApplication.kt
@@ -1,6 +1,6 @@
package com.supwisdom.dlpay
-import com.supwisdom.dlpay.framework.dao.TenantCatalogDao
+import com.supwisdom.dlpay.framework.service.TenantService
import com.supwisdom.dlpay.framework.tenant.TenantCacheKeyGen
import com.supwisdom.dlpay.framework.util.Constants
import com.supwisdom.multitenant.TenantDetails
@@ -170,20 +170,20 @@
@Component
class MyTenantDetailsProvider : TenantDetailsProvider {
@Autowired
- private lateinit var tenantCatalogDao: TenantCatalogDao
+ private lateinit var tenantService: TenantService
private val defaultTenant = TenantDetails().apply {
id = Constants.DEFAULT_TENANTID
dbSchema = "public"
- dataCenter = "defaul"
+ dataCenter = "default"
}
override fun createDetailsById(id: String?): TenantDetails {
- return tenantCatalogDao.findTTenantCatalogByTenantid(id)?.let { catalog ->
+ return tenantService.findByTenantId(id)?.let { catalog ->
TenantDetails().apply {
- this.id = catalog.tenantid
- dbSchema = catalog.tenantid
- dataCenter = catalog.dataCenter
+ this.id = catalog.id
+ dbSchema = catalog.schema
+ dataCenter = "default"
}
} ?: return defaultTenant
}