From 093952b77dcc28b1049596d3d4cc3990a587f88f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=97=AD?= <2795210596@qq.com> Date: Sat, 19 Apr 2025 21:34:12 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=8B=E8=AF=95es?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cloud/search/bo/CueProductBO.java | 73 +++++++++++++++++++ .../listener/CueProductCanalListener.java | 29 ++++++++ 2 files changed, 102 insertions(+) create mode 100644 tmerclub-search/src/main/java/com/tmerclub/cloud/search/bo/CueProductBO.java create mode 100644 tmerclub-search/src/main/java/com/tmerclub/cloud/search/listener/CueProductCanalListener.java diff --git a/tmerclub-search/src/main/java/com/tmerclub/cloud/search/bo/CueProductBO.java b/tmerclub-search/src/main/java/com/tmerclub/cloud/search/bo/CueProductBO.java new file mode 100644 index 0000000..8dce62f --- /dev/null +++ b/tmerclub-search/src/main/java/com/tmerclub/cloud/search/bo/CueProductBO.java @@ -0,0 +1,73 @@ +package com.tmerclub.cloud.search.bo; + +import com.tmerclub.cloud.common.constant.Constant; +import com.tmerclub.cloud.common.model.BaseModel; +import com.tmerclub.cloud.search.canal.annotation.CanalModel; +import com.tmerclub.cloud.search.canal.common.FieldNamingPolicy; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; +import java.io.Serializable; + +/** + * 球杆商品信息 + * + * @author: frank + * @create: 2025-04-19 + **/ +@Data +@EqualsAndHashCode(callSuper = true) +@CanalModel(database = "tmerclub" + Constant.UNDERLINE_ENV + "_local", table = "cue_product", fieldNamingPolicy = FieldNamingPolicy.LOWER_UNDERSCORE) +public class CueProductBO extends BaseModel implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 商品ID + */ + private Long productId; + /** + * 关联的品牌ID + */ + private Long brandId; + /** + * 关联的系列ID + */ + private Long seriesId; + /** + * 关联的球杆类型ID + */ + private Long typeId; + /** + * 商品名称 + */ + private String productName; + /** + * 商品描述 + */ + private String productDescription; + /** + * 商品图片 + */ + private String productImages; + /** + * 价格 + */ + private Long productPrice; + /** + * 排序 + */ + private Integer productSeq; + /** + * 状态:0-禁用,1-启用 + */ + private Integer productStatus; + /** + * 删除状态 0-未删除 1-已删除 + */ + private Integer deleted; + + +} diff --git a/tmerclub-search/src/main/java/com/tmerclub/cloud/search/listener/CueProductCanalListener.java b/tmerclub-search/src/main/java/com/tmerclub/cloud/search/listener/CueProductCanalListener.java new file mode 100644 index 0000000..7132978 --- /dev/null +++ b/tmerclub-search/src/main/java/com/tmerclub/cloud/search/listener/CueProductCanalListener.java @@ -0,0 +1,29 @@ +package com.tmerclub.cloud.search.listener; + +import com.tmerclub.cloud.search.bo.CueProductBO; +import com.tmerclub.cloud.search.canal.model.CanalBinLogResult; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Component; + +/** + * 球杆商品监听器 + * + * @author: frank + * @create: 2025-04-19 + **/ +@Component +public class CueProductCanalListener extends BaseCanalBinlogEventThrowExceptionProcessor { + + private static final Logger log = LoggerFactory.getLogger(CueProductCanalListener.class); + + @Override + protected void processInsertInternal(CanalBinLogResult result) { + log.error("球杆商品新增:{}", result.getDatabaseName()); + } + + @Override + protected void processUpdateInternal(CanalBinLogResult result) { + log.error("球杆商品修改:{}", result.getDatabaseName()); + } +}