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