From 2a4ca53249b6b91c9b02bd2e3fbcc5ec7ef5c955 Mon Sep 17 00:00:00 2001 From: lzh Date: Thu, 8 Jan 2026 15:06:38 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20=E3=80=90ops=E3=80=91=E4=BF=9D?= =?UTF-8?q?=E6=B4=81=E5=B7=A5=E5=8D=95mapper-insertOnDuplicateKeyUpdate?= =?UTF-8?q?=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../workorder/OpsOrderCleanExtMapper.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/dal/mysql/workorder/OpsOrderCleanExtMapper.java b/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/dal/mysql/workorder/OpsOrderCleanExtMapper.java index da52dcc..3ee27e2 100644 --- a/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/dal/mysql/workorder/OpsOrderCleanExtMapper.java +++ b/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/dal/mysql/workorder/OpsOrderCleanExtMapper.java @@ -19,4 +19,23 @@ public interface OpsOrderCleanExtMapper extends BaseMapperX return selectOne(OpsOrderCleanExtDO::getOpsOrderId, opsOrderId); } + /** + * 插入或更新扩展信息(基于 opsOrderId) + *

+ * 如果记录不存在则插入,存在则更新 + * 注意:此方法使用 MySQL 的 ON DUPLICATE KEY UPDATE 语法 + * + * @param entity 扩展信息实体 + * @return 影响行数 + */ + default int insertOnDuplicateKeyUpdate(OpsOrderCleanExtDO entity) { + OpsOrderCleanExtDO existing = selectByOpsOrderId(entity.getOpsOrderId()); + if (existing == null) { + return insert(entity); + } else { + entity.setId(existing.getId()); + return updateById(entity); + } + } + }