From 6fcf5d6d402251c73f8645c681e14e28e321511d Mon Sep 17 00:00:00 2001 From: gewuyou Date: Mon, 9 Jun 2025 19:31:15 +0800 Subject: [PATCH] =?UTF-8?q?refactor(webmvc-dto):=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E6=9F=A5=E8=AF=A2=E6=89=A9=E5=B1=95=E5=92=8C?= =?UTF-8?q?=E5=93=8D=E5=BA=94=E5=AF=B9=E8=B1=A1-=20=E5=9C=A8=20PageQueryEx?= =?UTF-8?q?tensions=20=E4=B8=AD=E6=B7=BB=E5=8A=A0=E5=AF=B9=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=E4=B8=8D=E5=AD=98=E5=9C=A8=E7=9A=84=E5=AE=B9=E9=94=99?= =?UTF-8?q?=E5=A4=84=E7=90=86=20-=20=E5=9C=A8=20R=20=E7=B1=BB=E4=B8=AD?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20success=20=E6=96=B9=E6=B3=95=EF=BC=8C?= =?UTF-8?q?=E7=AE=80=E5=8C=96=E6=88=90=E5=8A=9F=E5=93=8D=E5=BA=94=E5=AF=B9?= =?UTF-8?q?=E8=B1=A1=E7=9A=84=E5=88=9B=E5=BB=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/gewuyou/forgeboot/webmvc/dto/R.kt | 21 ++++++++++++ .../dto/extension/PageQueryExtensions.kt | 33 ++++++++++++++----- 2 files changed, 46 insertions(+), 8 deletions(-) diff --git a/forgeboot-webmvc/dto/src/main/kotlin/com/gewuyou/forgeboot/webmvc/dto/R.kt b/forgeboot-webmvc/dto/src/main/kotlin/com/gewuyou/forgeboot/webmvc/dto/R.kt index 3fe5ddb..d1976f9 100644 --- a/forgeboot-webmvc/dto/src/main/kotlin/com/gewuyou/forgeboot/webmvc/dto/R.kt +++ b/forgeboot-webmvc/dto/src/main/kotlin/com/gewuyou/forgeboot/webmvc/dto/R.kt @@ -117,6 +117,27 @@ data class R( val extra = buildExtraMap(extenders) return R(code, true, message, data, reqId, extra) } + /** + * 创建成功响应对象 + * + * @param code 响应码 + * @param message 消息 + * @param data 响应数据 + * @param requestIdProvider 请求ID提供者 + * @param extenders 扩展信息提供者列表 + * @return 成功响应对象 + */ + fun success( + data: T? = null, + code: Int = 200, + message: String = "success", + requestIdProvider: RequestIdProvider? = null, + extenders: List = emptyList(), + ): R { + val reqId = (requestIdProvider ?: DefaultRequestIdProvider).getRequestId() + val extra = buildExtraMap(extenders) + return R(code, true, message, data, reqId, extra) + } /** * 创建失败响应对象 diff --git a/forgeboot-webmvc/dto/src/main/kotlin/com/gewuyou/forgeboot/webmvc/dto/extension/PageQueryExtensions.kt b/forgeboot-webmvc/dto/src/main/kotlin/com/gewuyou/forgeboot/webmvc/dto/extension/PageQueryExtensions.kt index 268d77d..3719b00 100644 --- a/forgeboot-webmvc/dto/src/main/kotlin/com/gewuyou/forgeboot/webmvc/dto/extension/PageQueryExtensions.kt +++ b/forgeboot-webmvc/dto/src/main/kotlin/com/gewuyou/forgeboot/webmvc/dto/extension/PageQueryExtensions.kt @@ -99,25 +99,42 @@ fun PageQueryReq.getPredicates( ): MutableList { val predicates = mutableListOf() - // 添加开始日期条件 + // 添加开始日期条件(容错) startDate?.let { - predicates.add(builder.greaterThanOrEqualTo(root.get(createAtName), it)) + try { + predicates.add(builder.greaterThanOrEqualTo(root.get(createAtName), it)) + } catch (_: IllegalArgumentException) { + // 字段不存在,忽略 + } } - // 添加结束日期条件 + // 添加结束日期条件(容错) endDate?.let { - predicates.add(builder.lessThanOrEqualTo(root.get(createAtName), it)) + try { + predicates.add(builder.lessThanOrEqualTo(root.get(createAtName), it)) + } catch (_: IllegalArgumentException) { + // 字段不存在,忽略 + } } - // 添加是否启用条件 + // 添加是否启用条件(通常字段存在,可不做容错) enabled?.let { - predicates.add(builder.equal(root.get(enabledName), it)) + try { + predicates.add(builder.equal(root.get(enabledName), it)) + } catch (_: IllegalArgumentException) { + // 可选容错 + } } - // 添加是否删除条件 + // 添加是否删除条件(通常字段存在,可不做容错) deleted.let { - predicates.add(builder.equal(root.get(deletedName), it)) + try { + predicates.add(builder.equal(root.get(deletedName), it)) + } catch (_: IllegalArgumentException) { + // 可选容错 + } } + return predicates } \ No newline at end of file