fix: DataCopy

This commit is contained in:
SOR
2026-08-17 21:02:49 +08:00
parent 63dafaa568
commit 1938fb120b
2 changed files with 18 additions and 9 deletions
@@ -7,6 +7,7 @@ import kotlin.reflect.full.createInstance
import kotlin.reflect.full.declaredMemberProperties
import kotlin.reflect.full.memberProperties
import kotlin.reflect.jvm.isAccessible
import kotlin.reflect.jvm.javaField
interface DataCopy {
fun <T : Any> toAnotherObject(
@@ -19,15 +20,21 @@ interface DataCopy {
return try {
val vo = toClass.createInstance()
for (prop in toClass.declaredMemberProperties) {
@Suppress("UNCHECKED_CAST")
val mutableProp = prop as? KMutableProperty1<Any, Any?> ?: continue
val value = when {
sourceProps.containsKey(prop.name) -> sourceProps[prop.name]
otherProperties.containsKey(prop.name) -> otherProperties[prop.name]
else -> continue
}
@Suppress("UNCHECKED_CAST")
val mutableProp = prop as? KMutableProperty1<Any, Any?>
if (mutableProp != null) {
mutableProp.isAccessible = true
mutableProp.set(vo, value)
} else {
val field = prop.javaField ?: continue
field.isAccessible = true
field.set(vo, value)
}
}
vo
} catch (e: ReflectiveOperationException) {
@@ -104,6 +104,8 @@ class JwtUtils(
return cal.time
}
fun convertToToken(headerToken: String?): String? =
headerToken?.replace("Bearer ", "")
fun convertToToken(headerToken: String?): String? {
val token = headerToken?.replace("Bearer ", "")?.trim()
return token?.takeIf { it.isNotEmpty() }
}
}