From 5d742df4661a8b930e9c1d8f02f782311aaef164 Mon Sep 17 00:00:00 2001 From: alex Date: Tue, 23 Aug 2022 16:34:16 +0800 Subject: [PATCH] change HttpMessage location --- .../com/synebula/gaea/app/IApplication.kt | 2 +- .../com/synebula/gaea/app/cmd/ICommandApp.kt | 2 +- .../gaea/app/cmd/ISimpleCommandApp.kt | 2 +- .../component/security/WebAuthorization.kt | 2 +- .../app/component/security/WebSecurity.kt | 2 +- .../com/synebula/gaea/app/query/IQueryApp.kt | 2 +- .../com/synebula/gaea/spring/aop/AppAspect.kt | 48 +++++++++---------- .../gaea/data/message}/HttpMessage.kt | 10 ++-- 8 files changed, 36 insertions(+), 34 deletions(-) rename src/{gaea.app/src/main/kotlin/com/synebula/gaea/app/struct => gaea/src/main/kotlin/com/synebula/gaea/data/message}/HttpMessage.kt (71%) diff --git a/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/IApplication.kt b/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/IApplication.kt index d0b3dfe..e6429c9 100644 --- a/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/IApplication.kt +++ b/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/IApplication.kt @@ -1,7 +1,7 @@ package com.synebula.gaea.app import com.google.gson.Gson -import com.synebula.gaea.app.struct.HttpMessage +import com.synebula.gaea.data.message.HttpMessage import com.synebula.gaea.data.message.Status import com.synebula.gaea.log.ILogger import org.springframework.security.core.context.SecurityContextHolder diff --git a/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/cmd/ICommandApp.kt b/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/cmd/ICommandApp.kt index b95d292..aff4805 100644 --- a/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/cmd/ICommandApp.kt +++ b/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/cmd/ICommandApp.kt @@ -1,7 +1,7 @@ package com.synebula.gaea.app.cmd import com.synebula.gaea.app.IApplication -import com.synebula.gaea.app.struct.HttpMessage +import com.synebula.gaea.data.message.HttpMessage import com.synebula.gaea.data.message.Status import com.synebula.gaea.data.serialization.json.IJsonSerializer import com.synebula.gaea.domain.service.ICommand diff --git a/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/cmd/ISimpleCommandApp.kt b/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/cmd/ISimpleCommandApp.kt index fa7344c..98bd2ec 100644 --- a/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/cmd/ISimpleCommandApp.kt +++ b/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/cmd/ISimpleCommandApp.kt @@ -1,7 +1,7 @@ package com.synebula.gaea.app.cmd import com.synebula.gaea.app.IApplication -import com.synebula.gaea.app.struct.HttpMessage +import com.synebula.gaea.data.message.HttpMessage import com.synebula.gaea.data.message.Status import com.synebula.gaea.data.serialization.json.IJsonSerializer import com.synebula.gaea.domain.model.IAggregateRoot diff --git a/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/component/security/WebAuthorization.kt b/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/component/security/WebAuthorization.kt index 1d451d4..d82f6aa 100644 --- a/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/component/security/WebAuthorization.kt +++ b/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/component/security/WebAuthorization.kt @@ -1,7 +1,7 @@ package com.synebula.gaea.app.component.security -import com.synebula.gaea.app.struct.HttpMessage import com.synebula.gaea.app.struct.exception.TokenCloseExpireException +import com.synebula.gaea.data.message.HttpMessage import com.synebula.gaea.data.message.Status import org.springframework.security.authentication.AuthenticationManager import org.springframework.security.authentication.UsernamePasswordAuthenticationToken diff --git a/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/component/security/WebSecurity.kt b/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/component/security/WebSecurity.kt index fa6208f..1c0ea81 100644 --- a/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/component/security/WebSecurity.kt +++ b/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/component/security/WebSecurity.kt @@ -1,6 +1,6 @@ package com.synebula.gaea.app.component.security -import com.synebula.gaea.app.struct.HttpMessage +import com.synebula.gaea.data.message.HttpMessage import com.synebula.gaea.data.message.Status import org.springframework.beans.factory.annotation.Autowired import org.springframework.context.annotation.Bean diff --git a/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/query/IQueryApp.kt b/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/query/IQueryApp.kt index 7557c9c..b390ad8 100644 --- a/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/query/IQueryApp.kt +++ b/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/query/IQueryApp.kt @@ -1,7 +1,7 @@ package com.synebula.gaea.app.query import com.synebula.gaea.app.IApplication -import com.synebula.gaea.app.struct.HttpMessage +import com.synebula.gaea.data.message.HttpMessage import com.synebula.gaea.query.IQuery import com.synebula.gaea.query.Params import com.synebula.gaea.spring.aop.annotation.Method diff --git a/src/gaea.spring/src/main/kotlin/com/synebula/gaea/spring/aop/AppAspect.kt b/src/gaea.spring/src/main/kotlin/com/synebula/gaea/spring/aop/AppAspect.kt index 5a305db..6033e30 100644 --- a/src/gaea.spring/src/main/kotlin/com/synebula/gaea/spring/aop/AppAspect.kt +++ b/src/gaea.spring/src/main/kotlin/com/synebula/gaea/spring/aop/AppAspect.kt @@ -1,7 +1,7 @@ package com.synebula.gaea.spring.aop import com.google.gson.Gson -import com.synebula.gaea.data.message.DataMessage +import com.synebula.gaea.data.message.HttpMessage import com.synebula.gaea.data.message.Status import com.synebula.gaea.exception.NoticeUserException import com.synebula.gaea.log.ILogger @@ -36,37 +36,37 @@ abstract class AppAspect { */ @Around("func()") fun around(point: ProceedingJoinPoint): Any? { - val clazz = point.`this`.javaClass //获取实际对象的类型避免获取到父类 - val func = point.signature.declaringType.methods.find { - it.name == point.signature.name - }!!//获取声明类型中的方法信息 - val funcAnnotations = func.annotations ?: arrayOf() - - var funcName = func.name - //遍历方法注解 - for (funcAnnotation in funcAnnotations) { - val annotations = funcAnnotation.annotationClass.annotations - - //尝试寻找方法注解的处理类 - val handler = annotations.find { it is Handler } - if (handler != null && handler is Handler) { - val handleClazz = applicationContext.getBean(handler.value.java) - handleClazz.handle(clazz, func, point.args) - } - if (funcAnnotation is Method) - funcName = funcAnnotation.name - } - return try { point.proceed() } catch (ex: Throwable) { + val clazz = point.`this`.javaClass //获取实际对象的类型避免获取到父类 + val func = point.signature.declaringType.methods.find { + it.name == point.signature.name + }!!//获取声明类型中的方法信息 + val funcAnnotations = func.annotations ?: arrayOf() + + var funcName = func.name + //遍历方法注解 + for (funcAnnotation in funcAnnotations) { + val annotations = funcAnnotation.annotationClass.annotations + + //尝试寻找方法注解的处理类 + val handler = annotations.find { it is Handler } + if (handler != null && handler is Handler) { + val handleClazz = applicationContext.getBean(handler.value.java) + handleClazz.handle(clazz, func, point.args) + } + if (funcAnnotation is Method) + funcName = funcAnnotation.name + } + //找到类的模块名称,否则使用类名 var moduleName = clazz.simpleName val module = clazz.annotations.find { it is Module } if (module != null && module is Module) { moduleName = module.name } - var message = "$moduleName - $funcName 异常" + var message = "$moduleName - ${funcName}异常" message = if (ex is NoticeUserException || ex is Error) { "$message: ${ex.message}" } else { @@ -80,7 +80,7 @@ abstract class AppAspect { gson.toJson(point.args) }" ) - return gson.toJson(DataMessage(Status.Error, message)) + return HttpMessage(Status.Error, message) } } } \ No newline at end of file diff --git a/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/struct/HttpMessage.kt b/src/gaea/src/main/kotlin/com/synebula/gaea/data/message/HttpMessage.kt similarity index 71% rename from src/gaea.app/src/main/kotlin/com/synebula/gaea/app/struct/HttpMessage.kt rename to src/gaea/src/main/kotlin/com/synebula/gaea/data/message/HttpMessage.kt index 43e8236..345acb2 100644 --- a/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/struct/HttpMessage.kt +++ b/src/gaea/src/main/kotlin/com/synebula/gaea/data/message/HttpMessage.kt @@ -1,10 +1,12 @@ -package com.synebula.gaea.app.struct +package com.synebula.gaea.data.message + +import com.synebula.gaea.data.serialization.json.IJsonSerializer -import com.google.gson.Gson -import com.synebula.gaea.data.message.DataMessage class HttpMessage() : DataMessage() { + var serializer: IJsonSerializer? = null + constructor(data: Any) : this() { this.data = data } @@ -25,6 +27,6 @@ class HttpMessage() : DataMessage() { } override fun toString(): String { - return Gson().toJson(this) + return serializer?.serialize(this) ?: super.toString() } } \ No newline at end of file