From b7cfd0a7f9d5e19ab2ad3b0b381cf5133366113a Mon Sep 17 00:00:00 2001 From: alex Date: Fri, 29 Jul 2022 15:28:14 +0800 Subject: [PATCH] fix import; update .gradle; add ISpecificQuery --- build.gradle | 12 ++--- src/gaea.app/build.gradle | 4 -- .../synebula/gaea/app/SimpleApplication.kt | 7 --- .../gaea/app/component/bus/EventBus.kt | 38 +------------- .../bus/EventBusSubscriberProcessor.kt | 6 +-- src/gaea.mongo/build.gradle | 3 -- src/gaea/build.gradle | 4 +- .../domain/repository/ISpecificRepository.kt | 4 +- .../com/synebula/gaea/query/ISpecificQuery.kt | 49 +++++++++++++++++++ 9 files changed, 61 insertions(+), 66 deletions(-) create mode 100644 src/gaea/src/main/kotlin/com/synebula/gaea/query/ISpecificQuery.kt diff --git a/build.gradle b/build.gradle index b1eda40..6bc8aba 100644 --- a/build.gradle +++ b/build.gradle @@ -15,16 +15,10 @@ buildscript { } } -allprojects { - ext { - version '2.0' - } - - group 'com.synebula' - version version -} - subprojects { + group 'com.synebula' + version '1.0.0' + buildscript { repositories { mavenLocal() diff --git a/src/gaea.app/build.gradle b/src/gaea.app/build.gradle index ece6833..772fc05 100644 --- a/src/gaea.app/build.gradle +++ b/src/gaea.app/build.gradle @@ -15,16 +15,12 @@ dependencies { api group: 'net.sf.dozer', name: 'dozer', version: '5.5.1' api group: 'org.apache.poi', name: 'poi-ooxml', version: '5.0.0' api group: 'com.google.code.gson', name: 'gson', version: '2.8.6' - api group: 'com.google.guava', name: 'guava', version: '31.1-jre' api group: 'com.auth0', name: 'java-jwt', version: '3.14.0' } publishing { publications { publish(MavenPublication) { - group 'com.synebula' - artifactId 'gaea.app' - version "$version" from components.java } } diff --git a/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/SimpleApplication.kt b/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/SimpleApplication.kt index de5dc96..1a9102b 100644 --- a/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/SimpleApplication.kt +++ b/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/SimpleApplication.kt @@ -1,10 +1,8 @@ package com.synebula.gaea.app -import com.google.common.reflect.TypeToken import com.synebula.gaea.app.cmd.ISimpleCommandApp import com.synebula.gaea.app.query.IQueryApp import com.synebula.gaea.data.serialization.json.IJsonSerializer -import com.synebula.gaea.domain.model.AggregateRoot import com.synebula.gaea.domain.model.IAggregateRoot import com.synebula.gaea.domain.service.ISimpleService import com.synebula.gaea.log.ILogger @@ -31,8 +29,3 @@ open class SimpleApplication, ID>( @Resource override var jsonSerializer: IJsonSerializer? = null } - -fun main() { - val rawType = TypeToken.of(AggregateRoot::class.java).types.rawTypes() - println(rawType) -} \ No newline at end of file diff --git a/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/component/bus/EventBus.kt b/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/component/bus/EventBus.kt index 7d26813..acd6c29 100644 --- a/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/component/bus/EventBus.kt +++ b/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/component/bus/EventBus.kt @@ -1,42 +1,8 @@ package com.synebula.gaea.app.component.bus -import com.google.common.eventbus.AsyncEventBus -import com.google.common.eventbus.EventBus -import com.synebula.gaea.bus.IMessage -import com.synebula.gaea.bus.IMessageBus +import com.synebula.gaea.bus.Bus import org.springframework.stereotype.Component -import java.util.concurrent.Executors @Component -class EventBus : IMessageBus { - - /** - * 同步事件总线 - */ - var eventBus = EventBus() - - /** - * 异步事件总线 - */ - var asyncEventBus = AsyncEventBus(Executors.newFixedThreadPool(2)) - - override fun register(obj: Any) { - eventBus.register(obj) - asyncEventBus.register(obj) - } - - override fun unregister(obj: Any) { - eventBus.unregister(obj) - asyncEventBus.unregister(obj) - } - - override fun publish(message: IMessage) { - eventBus.post(message) - } - - override fun publishAsync(message: IMessage) { - asyncEventBus.post(message) - } - -} +class EventBus : Bus() diff --git a/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/component/bus/EventBusSubscriberProcessor.kt b/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/component/bus/EventBusSubscriberProcessor.kt index 6360801..2a00a4d 100644 --- a/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/component/bus/EventBusSubscriberProcessor.kt +++ b/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/component/bus/EventBusSubscriberProcessor.kt @@ -1,7 +1,7 @@ package com.synebula.gaea.app.component.bus -import com.google.common.eventbus.Subscribe -import com.synebula.gaea.bus.IMessageBus +import com.synebula.gaea.bus.IBus +import com.synebula.gaea.bus.Subscribe import org.springframework.beans.BeansException import org.springframework.beans.factory.annotation.Autowired import org.springframework.beans.factory.config.BeanPostProcessor @@ -14,7 +14,7 @@ class EventBusSubscriberProcessor : BeanPostProcessor { // 事件总线bean由Spring IoC容器负责创建,这里只需要通过@Autowired注解注入该bean即可使用事件总线 @Autowired - var messageBus: IMessageBus? = null + var messageBus: IBus? = null @Throws(BeansException::class) override fun postProcessBeforeInitialization(bean: Any, beanName: String): Any { diff --git a/src/gaea.mongo/build.gradle b/src/gaea.mongo/build.gradle index f0a51c4..41f2957 100644 --- a/src/gaea.mongo/build.gradle +++ b/src/gaea.mongo/build.gradle @@ -6,9 +6,6 @@ dependencies { publishing { publications { publish(MavenPublication) { - group 'com.synebula' - artifactId 'gaea.mongo' - version "$version" from components.java } } diff --git a/src/gaea/build.gradle b/src/gaea/build.gradle index f049c0d..69db5b0 100644 --- a/src/gaea/build.gradle +++ b/src/gaea/build.gradle @@ -1,8 +1,8 @@ publishing { publications { publish(MavenPublication) { - group 'com.synebula' - artifactId 'gaea' + group "${project.group}" + artifactId "${project.name}" version "$version" from components.java } diff --git a/src/gaea/src/main/kotlin/com/synebula/gaea/domain/repository/ISpecificRepository.kt b/src/gaea/src/main/kotlin/com/synebula/gaea/domain/repository/ISpecificRepository.kt index 8b1b8cd..e9501c0 100644 --- a/src/gaea/src/main/kotlin/com/synebula/gaea/domain/repository/ISpecificRepository.kt +++ b/src/gaea/src/main/kotlin/com/synebula/gaea/domain/repository/ISpecificRepository.kt @@ -5,9 +5,9 @@ import com.synebula.gaea.domain.model.IAggregateRoot /** * 继承本接口表示对象为仓储类。 * 定义了提供增删改的仓储接口。 - * 本接口泛型定义在类上,不需要显式提供聚合根的class对象,class对象作为类的成员变量声明。 + * 本接口泛型定义在类上,方法中不需要显式提供聚合根的class对象,class对象作为类的成员变量声明。 * - * @param this T is the parameter + * @param TAggregateRoot 聚合根类型 * @author alex */ interface ISpecificRepository, ID> { diff --git a/src/gaea/src/main/kotlin/com/synebula/gaea/query/ISpecificQuery.kt b/src/gaea/src/main/kotlin/com/synebula/gaea/query/ISpecificQuery.kt new file mode 100644 index 0000000..fbe4c77 --- /dev/null +++ b/src/gaea/src/main/kotlin/com/synebula/gaea/query/ISpecificQuery.kt @@ -0,0 +1,49 @@ +package com.synebula.gaea.query + +/** + * 查询基接口。 + * 本接口泛型定义在类上,方法中不需要显式提供聚合根的class对象,class对象作为类的成员变量声明。 + * @author alex + */ +interface ISpecificQuery { + /** + * 根据Key获取对象。 + * + * @param id 对象Key。 + * @return 视图结果 + */ + fun get(id: ID): TView? + + /** + * 根据实体类条件查询所有符合条件记录 + * + * @param params 查询条件。 + * @return 视图列表 + */ + fun list(params: Map?): List + + /** + * 根据条件查询符合条件记录的数量 + * + * @param params 查询条件。 + * @return 数量 + */ + fun count(params: Map?): Int + + /** + * 根据实体类条件查询所有符合条件记录(分页查询) + * + * @param params 分页条件 + * @return 分页数据 + */ + fun paging(params: Params): Page + + /** + * 查询条件范围内数据。 + * @param field 查询字段 + * @param params 查询条件 + * + * @return 视图列表 + */ + fun range(field: String, params: List): List +}