1.1.1 move aop to package gaea.spring

This commit is contained in:
2022-08-18 15:15:48 +08:00
parent 07684e814d
commit b09e0c0f03
13 changed files with 25 additions and 29 deletions

View File

@@ -11,7 +11,6 @@ dependencies {
api project(":src:gaea.spring")
api("org.springframework.boot:spring-boot-starter-web:$spring_version")
api("org.springframework.boot:spring-boot-starter-aop:$spring_version")
api("org.springframework.boot:spring-boot-starter-mail:$spring_version")
api("org.springframework.boot:spring-boot-starter-security:$spring_version")
api group: 'net.sf.dozer', name: 'dozer', version: '5.5.1'

View File

@@ -1,12 +1,12 @@
package com.synebula.gaea.app.cmd
import com.synebula.gaea.app.IApplication
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
import com.synebula.gaea.domain.service.ICommand
import com.synebula.gaea.domain.service.IService
import com.synebula.gaea.spring.aop.annotation.Method
import org.springframework.web.bind.annotation.*
/**

View File

@@ -1,12 +1,12 @@
package com.synebula.gaea.app.cmd
import com.synebula.gaea.app.IApplication
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
import com.synebula.gaea.domain.model.IAggregateRoot
import com.synebula.gaea.domain.service.ISimpleService
import com.synebula.gaea.spring.aop.annotation.Method
import org.springframework.web.bind.annotation.*
/**

View File

@@ -1,10 +1,10 @@
package com.synebula.gaea.app.query
import com.synebula.gaea.app.IApplication
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
import com.synebula.gaea.spring.aop.annotation.Method
import org.springframework.web.bind.annotation.GetMapping
import org.springframework.web.bind.annotation.PathVariable
import org.springframework.web.bind.annotation.RequestParam

View File

@@ -71,7 +71,7 @@ class MongodbRepoProxy(
} else if (this.query != null) {
this.query!!.javaClass
} else
throw InvalidClassException("class ${this.supertype.name} property repo and query are both null")
throw InvalidClassException("class [${this.supertype.name}] proxy object property [repo] and [query] are both null")
try {
val proxyMethod: Method = proxyClazz.getDeclaredMethod(method.name, *method.parameterTypes)

View File

@@ -10,6 +10,8 @@ dependencies {
implementation project(":src:gaea")
implementation("org.springframework.boot:spring-boot-starter-web:$spring_version")
implementation group: 'com.google.code.gson', name: 'gson', version: '2.8.6'
api("org.springframework.boot:spring-boot-starter-aop:$spring_version")
}
publishing {

View File

@@ -1,14 +1,13 @@
package com.synebula.gaea.app.component.aop
package com.synebula.gaea.spring.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.Method
import com.synebula.gaea.app.component.aop.annotation.Module
import com.synebula.gaea.app.struct.HttpMessage
import com.synebula.gaea.data.message.DataMessage
import com.synebula.gaea.data.message.Status
import com.synebula.gaea.exception.NoticeUserException
import com.synebula.gaea.log.ILogger
import com.synebula.gaea.spring.aop.annotation.Handler
import com.synebula.gaea.spring.aop.annotation.Method
import com.synebula.gaea.spring.aop.annotation.Module
import org.aspectj.lang.ProceedingJoinPoint
import org.aspectj.lang.annotation.Around
import org.springframework.beans.factory.annotation.Autowired
@@ -16,7 +15,7 @@ import org.springframework.context.ApplicationContext
import org.springframework.core.DefaultParameterNameDiscoverer
abstract class AppAspect {
private var paramDiscover = DefaultParameterNameDiscoverer()
private var parameterNameDiscoverer = DefaultParameterNameDiscoverer()
private val gson = Gson()
@@ -63,13 +62,9 @@ abstract class AppAspect {
} catch (ex: Throwable) {
//找到类的模块名称,否则使用类名
var moduleName = clazz.name
if (IApplication::class.java.isAssignableFrom(clazz)) {
moduleName = (point.`this` as IApplication).name
} else {
val name = clazz.annotations.find { it is Module }
if (name != null && name is Module) {
moduleName = name.name
}
val module = clazz.annotations.find { it is Module }
if (module != null && module is Module) {
moduleName = module.name
}
var message = "$moduleName - $funcName 异常"
message = if (ex is NoticeUserException) {
@@ -80,12 +75,12 @@ abstract class AppAspect {
logger.error(
ex,
"$message。Method args ${
paramDiscover.getParameterNames(func)?.contentToString()
parameterNameDiscoverer.getParameterNames(func)?.contentToString()
} values is ${
gson.toJson(point.args)
}"
)
return HttpMessage(Status.Error, message)
return gson.toJson(DataMessage<Any>(Status.Error, message))
}
}
}

View File

@@ -1,6 +1,6 @@
package com.synebula.gaea.app.component.aop.annotation
package com.synebula.gaea.spring.aop.annotation
import com.synebula.gaea.app.component.aop.handler.AccessLogHandler
import com.synebula.gaea.spring.aop.handler.AccessLogHandler
@Target(AnnotationTarget.FUNCTION)
@Handler(AccessLogHandler::class)

View File

@@ -1,6 +1,6 @@
package com.synebula.gaea.app.component.aop.annotation
package com.synebula.gaea.spring.aop.annotation
import com.synebula.gaea.app.component.aop.handler.AnnotationHandler
import com.synebula.gaea.spring.aop.handler.AnnotationHandler
import kotlin.reflect.KClass
/**

View File

@@ -1,4 +1,4 @@
package com.synebula.gaea.app.component.aop.annotation
package com.synebula.gaea.spring.aop.annotation
import java.lang.annotation.Inherited

View File

@@ -1,4 +1,4 @@
package com.synebula.gaea.app.component.aop.annotation
package com.synebula.gaea.spring.aop.annotation
/**
* 模块的业务名称

View File

@@ -1,4 +1,4 @@
package com.synebula.gaea.app.component.aop.handler
package com.synebula.gaea.spring.aop.handler
import com.fasterxml.jackson.databind.ObjectMapper
import com.synebula.gaea.log.ILogger

View File

@@ -1,4 +1,4 @@
package com.synebula.gaea.app.component.aop.handler
package com.synebula.gaea.spring.aop.handler
import java.lang.reflect.Method