From 29ad3073a8dbc63ea6512825a71e162d20e20fb0 Mon Sep 17 00:00:00 2001 From: alex Date: Wed, 27 Jul 2022 16:29:25 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E6=9E=84=E5=90=8D=E7=A7=B0=E5=92=8C?= =?UTF-8?q?=E6=B3=A8=E9=87=8A=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kotlin/com/synebula/gaea/app/cmd/ICommandApp.kt | 8 ++++---- .../com/synebula/gaea/app/cmd/ISimpleCommandApp.kt | 8 ++++---- .../com/synebula/gaea/app/component/aop/AppAspect.kt | 12 ++++++------ .../gaea/app/component/aop/annotation/Handler.kt | 5 +++++ .../aop/annotation/{MethodName.kt => Method.kt} | 4 ++-- .../aop/annotation/{ModuleName.kt => Module.kt} | 3 ++- .../kotlin/com/synebula/gaea/app/query/IQueryApp.kt | 8 ++++---- 7 files changed, 27 insertions(+), 21 deletions(-) rename src/gaea.app/src/main/kotlin/com/synebula/gaea/app/component/aop/annotation/{MethodName.kt => Method.kt} (77%) rename src/gaea.app/src/main/kotlin/com/synebula/gaea/app/component/aop/annotation/{ModuleName.kt => Module.kt} (69%) 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 d92374d..8ac4982 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.component.aop.annotation.MethodName +import com.synebula.gaea.app.component.aop.annotation.Method import com.synebula.gaea.app.struct.HttpMessage import com.synebula.gaea.data.message.Status import com.synebula.gaea.data.serialization.json.IJsonSerializer @@ -22,20 +22,20 @@ interface ICommandApp : IApplication { var service: IService @PostMapping - @MethodName("添加") + @Method("添加") fun add(@RequestBody command: TCommand): HttpMessage { return HttpMessage(service.add(command)) } @PutMapping("/{id:.+}") - @MethodName("更新") + @Method("更新") fun update(@PathVariable id: ID, @RequestBody command: TCommand): HttpMessage { this.service.update(id, command) return HttpMessage() } @DeleteMapping("/{id:.+}") - @MethodName("删除") + @Method("删除") fun remove(@PathVariable id: ID): HttpMessage { val msg = HttpMessage() try { 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 bc4451b..6c7b89c 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.component.aop.annotation.MethodName +import com.synebula.gaea.app.component.aop.annotation.Method import com.synebula.gaea.app.struct.HttpMessage import com.synebula.gaea.data.message.Status import com.synebula.gaea.data.serialization.json.IJsonSerializer @@ -22,20 +22,20 @@ interface ISimpleCommandApp, ID> : IApplication { var service: ISimpleService @PostMapping - @MethodName("添加") + @Method("添加") fun add(@RequestBody entity: TRoot): HttpMessage { return HttpMessage(service.add(entity)) } @PutMapping("/{id:.+}") - @MethodName("更新") + @Method("更新") fun update(@PathVariable id: ID, @RequestBody entity: TRoot): HttpMessage { this.service.update(id, entity) return HttpMessage() } @DeleteMapping("/{id:.+}") - @MethodName("删除") + @Method("删除") fun remove(@PathVariable id: ID): HttpMessage { val msg = HttpMessage() try { diff --git a/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/component/aop/AppAspect.kt b/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/component/aop/AppAspect.kt index 1c82838..1c696d8 100644 --- a/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/component/aop/AppAspect.kt +++ b/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/component/aop/AppAspect.kt @@ -3,8 +3,8 @@ package com.synebula.gaea.app.component.aop import com.google.gson.Gson import com.synebula.gaea.app.IApplication import com.synebula.gaea.app.component.aop.annotation.Handler -import com.synebula.gaea.app.component.aop.annotation.MethodName -import com.synebula.gaea.app.component.aop.annotation.ModuleName +import com.synebula.gaea.app.component.aop.annotation.Method +import com.synebula.gaea.app.component.aop.annotation.Module import com.synebula.gaea.app.struct.HttpMessage import com.synebula.gaea.data.message.Status import com.synebula.gaea.exception.NoticeUserException @@ -54,7 +54,7 @@ abstract class AppAspect { val handleClazz = applicationContext.getBean(handler.value.java) handleClazz.handle(clazz, func, point.args) } - if (funcAnnotation is MethodName) + if (funcAnnotation is Method) funcName = funcAnnotation.name } @@ -66,9 +66,9 @@ abstract class AppAspect { if (IApplication::class.java.isAssignableFrom(clazz)) { moduleName = (point.`this` as IApplication).name } else { - val name = clazz.annotations.find { it is ModuleName } - if (name != null && name is ModuleName) { - moduleName = name.value + val name = clazz.annotations.find { it is Module } + if (name != null && name is Module) { + moduleName = name.name } } var message = "$moduleName - $funcName 异常" diff --git a/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/component/aop/annotation/Handler.kt b/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/component/aop/annotation/Handler.kt index 73b5b47..ff159f9 100644 --- a/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/component/aop/annotation/Handler.kt +++ b/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/component/aop/annotation/Handler.kt @@ -3,6 +3,11 @@ package com.synebula.gaea.app.component.aop.annotation import com.synebula.gaea.app.component.aop.handler.AnnotationHandler import kotlin.reflect.KClass +/** + * 标注在注解,表明注解的处理方法 + * + * @param value 注解处理方法 + */ @Target(AnnotationTarget.ANNOTATION_CLASS) @Retention(AnnotationRetention.RUNTIME) annotation class Handler(val value: KClass) \ No newline at end of file diff --git a/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/component/aop/annotation/MethodName.kt b/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/component/aop/annotation/Method.kt similarity index 77% rename from src/gaea.app/src/main/kotlin/com/synebula/gaea/app/component/aop/annotation/MethodName.kt rename to src/gaea.app/src/main/kotlin/com/synebula/gaea/app/component/aop/annotation/Method.kt index 3f09685..3c198a3 100644 --- a/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/component/aop/annotation/MethodName.kt +++ b/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/component/aop/annotation/Method.kt @@ -5,9 +5,9 @@ import java.lang.annotation.Inherited /** * 标记方法名称,由AOP负责记录异常时使用该名称 * - * @param name 异常消息 + * @param name 方法名称 */ @Inherited @Target(AnnotationTarget.FUNCTION) @Retention(AnnotationRetention.RUNTIME) -annotation class MethodName(val name: String) +annotation class Method(val name: String) diff --git a/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/component/aop/annotation/ModuleName.kt b/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/component/aop/annotation/Module.kt similarity index 69% rename from src/gaea.app/src/main/kotlin/com/synebula/gaea/app/component/aop/annotation/ModuleName.kt rename to src/gaea.app/src/main/kotlin/com/synebula/gaea/app/component/aop/annotation/Module.kt index 3ab6e15..03ec88b 100644 --- a/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/component/aop/annotation/ModuleName.kt +++ b/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/component/aop/annotation/Module.kt @@ -2,7 +2,8 @@ package com.synebula.gaea.app.component.aop.annotation /** * 模块的业务名称 + * @param name 模块名称 */ @Target(AnnotationTarget.CLASS) @Retention(AnnotationRetention.RUNTIME) -annotation class ModuleName(val value: String) +annotation class Module(val name: String) 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 dda9478..f6f0865 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.component.aop.annotation.MethodName +import com.synebula.gaea.app.component.aop.annotation.Method import com.synebula.gaea.app.struct.HttpMessage import com.synebula.gaea.query.IQuery import com.synebula.gaea.query.Params @@ -20,7 +20,7 @@ interface IQueryApp : IApplication { */ var clazz: Class - @MethodName("获取数据") + @Method("获取数据") @GetMapping("/{id:.+}") fun get(@PathVariable id: ID): HttpMessage { val data = this.query.get(id, clazz) @@ -29,14 +29,14 @@ interface IQueryApp : IApplication { return msg } - @MethodName("获取列表数据") + @Method("获取列表数据") @GetMapping fun list(@RequestParam params: LinkedHashMap): HttpMessage { val data = this.query.list(params, clazz) return HttpMessage(data) } - @MethodName("获取分页数据") + @Method("获取分页数据") @GetMapping("/segments/{size}/pages/{page}") fun paging( @PathVariable size: Int,