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); + } + } + }