浏览代码

feat: 缓存配置

xdd 2 周之前
父节点
当前提交
0dc12ce792

+ 3 - 1
fs-sync/src/main/java/com/fs/fssync/config/FlinkConfig.java

@@ -5,6 +5,8 @@ import lombok.NoArgsConstructor;
 import org.springframework.boot.context.properties.ConfigurationProperties;
 import org.springframework.stereotype.Component;
 
+import java.util.List;
+
 @Data
 @NoArgsConstructor
 @Component
@@ -26,7 +28,7 @@ public class FlinkConfig {
         private String hostname;
         private int port;
         private String databaseList;
-        private String tableList;
+        private String[] tableList;
         private String username;
         private String password;
         private String serverTimeZone;

+ 28 - 0
fs-sync/src/main/java/com/fs/fssync/sink/impl/FsStoreProductAttrValueSinkStrategy.java

@@ -0,0 +1,28 @@
+package com.fs.fssync.sink.impl;
+
+import com.fs.fssync.sink.AbstractCdcSinkStrategy;
+import com.fs.store.domain.FsStoreProduct;
+import com.fs.store.domain.FsStoreProductAttrValue;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+import java.io.Serializable;
+
+@Slf4j
+@Component
+public class FsStoreProductAttrValueSinkStrategy extends AbstractCdcSinkStrategy<FsStoreProductAttrValue> implements Serializable {
+    @Override
+    public boolean canHandle(String table) {
+        return "fs_store_product_attr_value".equals(table);
+    }
+
+    @Override
+    public Class<FsStoreProductAttrValue> getEntityClass() {
+        return FsStoreProductAttrValue.class;
+    }
+
+    @Override
+    public String getKeyPrefix() {
+        return "fs:store:product:attr:value:";
+    }
+}

+ 27 - 0
fs-sync/src/main/java/com/fs/fssync/sink/impl/FsStoreProductPackageSinkStrategy.java

@@ -0,0 +1,27 @@
+package com.fs.fssync.sink.impl;
+
+import com.fs.fssync.sink.AbstractCdcSinkStrategy;
+import com.fs.store.domain.FsStoreProduct;
+import com.fs.store.domain.FsStoreProductPackage;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+import java.io.Serializable;
+@Slf4j
+@Component
+public class FsStoreProductPackageSinkStrategy extends AbstractCdcSinkStrategy<FsStoreProductPackage> implements Serializable {
+    @Override
+    public boolean canHandle(String table) {
+        return "fs_store_product_package".equals(table);
+    }
+
+    @Override
+    public Class<FsStoreProductPackage> getEntityClass() {
+        return FsStoreProductPackage.class;
+    }
+
+    @Override
+    public String getKeyPrefix() {
+        return "fs:store:product:package:";
+    }
+}

+ 33 - 0
fs-sync/src/main/java/com/fs/fssync/sink/impl/FsStoreProductSinkStrategy.java

@@ -0,0 +1,33 @@
+package com.fs.fssync.sink.impl;
+
+import com.fs.fssync.sink.AbstractCdcSinkStrategy;
+import com.fs.store.domain.FsStoreProduct;
+import com.fs.store.domain.FsUser;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+import java.io.Serializable;
+
+@Slf4j
+@Component
+public class FsStoreProductSinkStrategy extends AbstractCdcSinkStrategy<FsStoreProduct> implements Serializable {
+    @Override
+    public boolean canHandle(String table) {
+        return "fs_store_product".equals(table);
+    }
+
+    @Override
+    public Class<FsStoreProduct> getEntityClass() {
+        return FsStoreProduct.class;
+    }
+
+    @Override
+    public String getKeyPrefix() {
+        return "fs:store:product:";
+    }
+
+    @Override
+    protected String getIdField() {
+        return "productId";
+    }
+}

+ 5 - 1
fs-sync/src/main/resources/application.yml

@@ -10,7 +10,11 @@ flink:
       hostname: gz-cdb-of55khc9.sql.tencentcdb.com
       port: 23620
       databaseList: fs_hospital
-      tableList: fs_hospital.fs_user
+      tableList:
+        - fs_hospital.fs_user
+        - fs_hospital.fs_store_product
+        - fs_hospital.fs_store_product_attr_value
+        - fs_hospital.fs_store_product_package
       username: root
       password: Rtyy_2023
       serverTimeZone: Asia/Shanghai