From e306190605bd2c3184835cb05218f1c7151a501e Mon Sep 17 00:00:00 2001 From: alex Date: Tue, 19 May 2020 00:14:23 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E6=9E=84=E4=B8=9A=E5=8A=A1=E5=90=8D?= =?UTF-8?q?=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/zeus.app/build.gradle | 4 ++- .../com/synebula/zeus/app/config/ZeusBeans.kt | 32 +++++++++++-------- .../zeus/app/controller/AccountApp.kt | 26 --------------- .../synebula/zeus/app/controller/UserApp.kt | 21 ++++++++++++ src/zeus.domain/build.gradle | 2 +- .../domain/model/rbac/{Account.kt => User.kt} | 2 +- .../service/cmd/{AccountCmd.kt => UserCmd.kt} | 5 ++- .../{IAccountService.kt => IUserService.kt} | 2 +- .../service/impl/rbac/AccountService.kt | 13 -------- .../domain/service/impl/rbac/UserService.kt | 13 ++++++++ src/zeus.query/build.gradle | 2 +- .../view/{AccountView.kt => UserView.kt} | 2 +- 12 files changed, 63 insertions(+), 61 deletions(-) delete mode 100644 src/zeus.app/src/main/kotlin/com/synebula/zeus/app/controller/AccountApp.kt create mode 100644 src/zeus.app/src/main/kotlin/com/synebula/zeus/app/controller/UserApp.kt rename src/zeus.domain/src/main/kotlin/com/synebula/zeus/domain/model/rbac/{Account.kt => User.kt} (67%) rename src/zeus.domain/src/main/kotlin/com/synebula/zeus/domain/service/cmd/{AccountCmd.kt => UserCmd.kt} (51%) rename src/zeus.domain/src/main/kotlin/com/synebula/zeus/domain/service/contr/rbac/{IAccountService.kt => IUserService.kt} (70%) delete mode 100644 src/zeus.domain/src/main/kotlin/com/synebula/zeus/domain/service/impl/rbac/AccountService.kt create mode 100644 src/zeus.domain/src/main/kotlin/com/synebula/zeus/domain/service/impl/rbac/UserService.kt rename src/zeus.query/src/main/kotlin/com/synebula/zeus/query/view/{AccountView.kt => UserView.kt} (85%) diff --git a/src/zeus.app/build.gradle b/src/zeus.app/build.gradle index aea5e54..1662c1a 100644 --- a/src/zeus.app/build.gradle +++ b/src/zeus.app/build.gradle @@ -13,11 +13,13 @@ dependencies { compile project(":src:zeus.query") compile "com.synebula:gaea.app:$gaea_version" compile "com.synebula:gaea.mongo:$gaea_version" + + compile group: 'com.google.code.gson', name: 'gson', version: '2.8.6' } publishing { publications { - mavenJava(MavenPublication) { + publish(MavenPublication) { group 'com.synebula' artifactId 'zeus.app' version "$version" diff --git a/src/zeus.app/src/main/kotlin/com/synebula/zeus/app/config/ZeusBeans.kt b/src/zeus.app/src/main/kotlin/com/synebula/zeus/app/config/ZeusBeans.kt index bf9d1c8..f8fd379 100644 --- a/src/zeus.app/src/main/kotlin/com/synebula/zeus/app/config/ZeusBeans.kt +++ b/src/zeus.app/src/main/kotlin/com/synebula/zeus/app/config/ZeusBeans.kt @@ -1,15 +1,17 @@ package com.synebula.zeus.app.config +import com.google.gson.Gson +import com.synebula.gaea.data.serialization.json.IJsonSerializer import com.synebula.gaea.domain.model.IAggregateRoot import com.synebula.gaea.domain.repository.IRepository import com.synebula.gaea.domain.repository.IRepositoryTyped import com.synebula.gaea.log.ILogger +import com.synebula.gaea.mongo.query.MongoQuery +import com.synebula.gaea.mongo.query.MongoQueryTyped +import com.synebula.gaea.mongo.repository.MongoRepository +import com.synebula.gaea.mongo.repository.MongoRepositoryTyped import com.synebula.gaea.query.IQuery import com.synebula.gaea.query.IQueryTyped -import com.synebula.gaea.query.mongo.MongoQuery -import com.synebula.gaea.query.mongo.MongoQueryTyped -import com.synebula.gaea.repository.mongo.MongoRepository -import com.synebula.gaea.repository.mongo.MongoRepositoryTyped import org.springframework.context.annotation.Bean import org.springframework.context.annotation.Configuration import org.springframework.data.mongodb.core.MongoTemplate @@ -25,19 +27,23 @@ open class ZeusBeans { : IRepositoryTyped = MongoRepositoryTyped(template) @Bean - open fun typedQuery(template: MongoTemplate, logger: ILogger? = null) - : IQueryTyped = MongoQueryTyped(template, logger) - - @Bean - open fun query(template: MongoTemplate) + open fun mongoQuery(template: MongoTemplate) : IQuery = MongoQuery(template) @Bean - open fun mongoQuery(template: MongoTemplate) - : MongoQuery = MongoQuery(template) + open fun mongoTypedQuery(template: MongoTemplate, logger: ILogger? = null) + : IQueryTyped = MongoQueryTyped(template, logger) @Bean - open fun mongoTypedQuery(template: MongoTemplate, logger: ILogger? = null) - : MongoQueryTyped = MongoQueryTyped(template, logger) + open fun gson(): Gson = Gson() + + @Bean + open fun serializer(gson: Gson): IJsonSerializer { + return object : IJsonSerializer { + override fun serialize(src: S): String { + return gson.toJson(src) + } + } + } } \ No newline at end of file diff --git a/src/zeus.app/src/main/kotlin/com/synebula/zeus/app/controller/AccountApp.kt b/src/zeus.app/src/main/kotlin/com/synebula/zeus/app/controller/AccountApp.kt deleted file mode 100644 index db86516..0000000 --- a/src/zeus.app/src/main/kotlin/com/synebula/zeus/app/controller/AccountApp.kt +++ /dev/null @@ -1,26 +0,0 @@ -package com.synebula.zeus.app.controller - -import com.synebula.gaea.app.CommandApp -import com.synebula.gaea.app.QueryApp -import com.synebula.gaea.app.UnionApp -import com.synebula.gaea.app.UnionTypedApp -import com.synebula.gaea.app.component.HttpMessage -import com.synebula.gaea.domain.service.IService -import com.synebula.gaea.log.ILogger -import com.synebula.gaea.query.mongo.MongoQuery -import com.synebula.gaea.query.mongo.MongoQueryTyped -import com.synebula.zeus.domain.service.cmd.AccountCmd -import com.synebula.zeus.domain.service.contr.rbac.IAccountService -import com.synebula.zeus.query.view.AccountView -import org.springframework.web.bind.annotation.PathVariable -import org.springframework.web.bind.annotation.RequestMapping -import org.springframework.web.bind.annotation.RestController - -@RestController -@RequestMapping("/accounts") -class AccountApp( - service: IAccountService, - query: MongoQueryTyped, - logger: ILogger -) : UnionTypedApp("账户", AccountView::class.java, - service, query, logger) \ No newline at end of file diff --git a/src/zeus.app/src/main/kotlin/com/synebula/zeus/app/controller/UserApp.kt b/src/zeus.app/src/main/kotlin/com/synebula/zeus/app/controller/UserApp.kt new file mode 100644 index 0000000..37b5b4f --- /dev/null +++ b/src/zeus.app/src/main/kotlin/com/synebula/zeus/app/controller/UserApp.kt @@ -0,0 +1,21 @@ +package com.synebula.zeus.app.controller + +import com.synebula.gaea.app.UnionTypedApp +import com.synebula.gaea.log.ILogger +import com.synebula.gaea.query.IQueryTyped +import com.synebula.zeus.domain.service.cmd.UserCmd +import com.synebula.zeus.domain.service.contr.rbac.IUserService +import com.synebula.zeus.query.view.UserView +import org.springframework.web.bind.annotation.RequestMapping +import org.springframework.web.bind.annotation.RestController + +@RestController +@RequestMapping("/users") +class UserApp( + service: IUserService, + query: IQueryTyped, + logger: ILogger +) : UnionTypedApp( + "用户信息", UserView::class.java, + service, query, logger +) \ No newline at end of file diff --git a/src/zeus.domain/build.gradle b/src/zeus.domain/build.gradle index e474561..481df92 100644 --- a/src/zeus.domain/build.gradle +++ b/src/zeus.domain/build.gradle @@ -4,7 +4,7 @@ dependencies { publishing { publications { - mavenJava(MavenPublication) { + publish(MavenPublication) { group 'com.synebula' artifactId 'zeus.domain' version "$version" diff --git a/src/zeus.domain/src/main/kotlin/com/synebula/zeus/domain/model/rbac/Account.kt b/src/zeus.domain/src/main/kotlin/com/synebula/zeus/domain/model/rbac/User.kt similarity index 67% rename from src/zeus.domain/src/main/kotlin/com/synebula/zeus/domain/model/rbac/Account.kt rename to src/zeus.domain/src/main/kotlin/com/synebula/zeus/domain/model/rbac/User.kt index 80945e2..faa494e 100644 --- a/src/zeus.domain/src/main/kotlin/com/synebula/zeus/domain/model/rbac/Account.kt +++ b/src/zeus.domain/src/main/kotlin/com/synebula/zeus/domain/model/rbac/User.kt @@ -2,7 +2,7 @@ package com.synebula.zeus.domain.model.rbac import com.synebula.gaea.domain.model.AggregateRoot -class Account(override var id: String? = null) : AggregateRoot() { +class User(override var id: String? = null) : AggregateRoot() { var name: String = "" var password: String = "" } \ No newline at end of file diff --git a/src/zeus.domain/src/main/kotlin/com/synebula/zeus/domain/service/cmd/AccountCmd.kt b/src/zeus.domain/src/main/kotlin/com/synebula/zeus/domain/service/cmd/UserCmd.kt similarity index 51% rename from src/zeus.domain/src/main/kotlin/com/synebula/zeus/domain/service/cmd/AccountCmd.kt rename to src/zeus.domain/src/main/kotlin/com/synebula/zeus/domain/service/cmd/UserCmd.kt index a45cd0c..bb48359 100644 --- a/src/zeus.domain/src/main/kotlin/com/synebula/zeus/domain/service/cmd/AccountCmd.kt +++ b/src/zeus.domain/src/main/kotlin/com/synebula/zeus/domain/service/cmd/UserCmd.kt @@ -1,10 +1,9 @@ package com.synebula.zeus.domain.service.cmd -import com.synebula.gaea.domain.service.ICommand +import com.synebula.gaea.domain.service.Command -class AccountCmd : ICommand { +class UserCmd : Command() { var id: String? = null var name = "" var password = "" - override var timestamp = 0L } diff --git a/src/zeus.domain/src/main/kotlin/com/synebula/zeus/domain/service/contr/rbac/IAccountService.kt b/src/zeus.domain/src/main/kotlin/com/synebula/zeus/domain/service/contr/rbac/IUserService.kt similarity index 70% rename from src/zeus.domain/src/main/kotlin/com/synebula/zeus/domain/service/contr/rbac/IAccountService.kt rename to src/zeus.domain/src/main/kotlin/com/synebula/zeus/domain/service/contr/rbac/IUserService.kt index 92232b9..60213b9 100644 --- a/src/zeus.domain/src/main/kotlin/com/synebula/zeus/domain/service/contr/rbac/IAccountService.kt +++ b/src/zeus.domain/src/main/kotlin/com/synebula/zeus/domain/service/contr/rbac/IUserService.kt @@ -2,4 +2,4 @@ package com.synebula.zeus.domain.service.contr.rbac import com.synebula.gaea.domain.service.IService -interface IAccountService : IService \ No newline at end of file +interface IUserService : IService \ No newline at end of file diff --git a/src/zeus.domain/src/main/kotlin/com/synebula/zeus/domain/service/impl/rbac/AccountService.kt b/src/zeus.domain/src/main/kotlin/com/synebula/zeus/domain/service/impl/rbac/AccountService.kt deleted file mode 100644 index 8001b13..0000000 --- a/src/zeus.domain/src/main/kotlin/com/synebula/zeus/domain/service/impl/rbac/AccountService.kt +++ /dev/null @@ -1,13 +0,0 @@ -package com.synebula.zeus.domain.service.impl.rbac - -import com.synebula.gaea.data.IObjectConverter -import com.synebula.gaea.domain.repository.IRepository -import com.synebula.gaea.domain.service.Service -import com.synebula.gaea.log.ILogger -import com.synebula.zeus.domain.model.rbac.Account -import com.synebula.zeus.domain.service.contr.rbac.IAccountService - -class AccountService(repository: IRepository, converter: IObjectConverter, logger: ILogger) : - Service(Account::class.java, repository, converter, logger), IAccountService { - -} \ No newline at end of file diff --git a/src/zeus.domain/src/main/kotlin/com/synebula/zeus/domain/service/impl/rbac/UserService.kt b/src/zeus.domain/src/main/kotlin/com/synebula/zeus/domain/service/impl/rbac/UserService.kt new file mode 100644 index 0000000..87c3d8b --- /dev/null +++ b/src/zeus.domain/src/main/kotlin/com/synebula/zeus/domain/service/impl/rbac/UserService.kt @@ -0,0 +1,13 @@ +package com.synebula.zeus.domain.service.impl.rbac + +import com.synebula.gaea.data.IObjectConverter +import com.synebula.gaea.domain.repository.IRepository +import com.synebula.gaea.domain.service.Service +import com.synebula.gaea.log.ILogger +import com.synebula.zeus.domain.model.rbac.User +import com.synebula.zeus.domain.service.contr.rbac.IUserService + +class UserService(repository: IRepository, converter: IObjectConverter, logger: ILogger) : + Service(User::class.java, repository, converter, logger), IUserService { + +} \ No newline at end of file diff --git a/src/zeus.query/build.gradle b/src/zeus.query/build.gradle index fbd930c..a62203f 100644 --- a/src/zeus.query/build.gradle +++ b/src/zeus.query/build.gradle @@ -4,7 +4,7 @@ dependencies { publishing { publications { - mavenJava(MavenPublication) { + publish(MavenPublication) { group 'com.synebula' artifactId 'zeus.view' version "$version" diff --git a/src/zeus.query/src/main/kotlin/com/synebula/zeus/query/view/AccountView.kt b/src/zeus.query/src/main/kotlin/com/synebula/zeus/query/view/UserView.kt similarity index 85% rename from src/zeus.query/src/main/kotlin/com/synebula/zeus/query/view/AccountView.kt rename to src/zeus.query/src/main/kotlin/com/synebula/zeus/query/view/UserView.kt index 5dc7af9..66a8f61 100644 --- a/src/zeus.query/src/main/kotlin/com/synebula/zeus/query/view/AccountView.kt +++ b/src/zeus.query/src/main/kotlin/com/synebula/zeus/query/view/UserView.kt @@ -1,6 +1,6 @@ package com.synebula.zeus.query.view -class AccountView { +class UserView { var id: String = "" var name: String = ""