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 03210e0..7b0ecd4 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 @@ -3,39 +3,37 @@ 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.IGenericRepository 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.MongoGenericQuery import com.synebula.gaea.mongo.query.MongoQuery -import com.synebula.gaea.mongo.query.MongoQueryTyped +import com.synebula.gaea.mongo.repository.MongoGenericRepository import com.synebula.gaea.mongo.repository.MongoRepository -import com.synebula.gaea.mongo.repository.MongoRepositoryTyped +import com.synebula.gaea.query.IGenericQuery import com.synebula.gaea.query.IQuery -import com.synebula.gaea.query.IQueryTyped -import org.springframework.boot.web.servlet.FilterRegistrationBean import org.springframework.context.annotation.Bean import org.springframework.context.annotation.Configuration import org.springframework.data.mongodb.core.MongoTemplate -import org.springframework.web.filter.CharacterEncodingFilter @Configuration open class ZeusBeans { + @Bean + open fun > genericRepository(template: MongoTemplate) + : IGenericRepository = MongoGenericRepository(template) + @Bean open fun > repository(template: MongoTemplate) - : IRepository = MongoRepository(template) + : IRepository = MongoRepository(template) @Bean - open fun > typedRepository(template: MongoTemplate) - : IRepositoryTyped = MongoRepositoryTyped(template) + open fun mongoGenericQuery(template: MongoTemplate) + : IGenericQuery = MongoGenericQuery(template) @Bean - open fun mongoQuery(template: MongoTemplate) - : IQuery = MongoQuery(template) - - @Bean - open fun mongoTypedQuery(template: MongoTemplate, logger: ILogger? = null) - : IQueryTyped = MongoQueryTyped(template, logger) + open fun mongoQuery(template: MongoTemplate, logger: ILogger? = null) + : IQuery = MongoQuery(template, logger) @Bean open fun gson(): Gson = Gson() diff --git a/src/zeus.app/src/main/kotlin/com/synebula/zeus/app/controller/rbac/RoleApp.kt b/src/zeus.app/src/main/kotlin/com/synebula/zeus/app/controller/rbac/RoleApp.kt index af8fb88..c0e5581 100644 --- a/src/zeus.app/src/main/kotlin/com/synebula/zeus/app/controller/rbac/RoleApp.kt +++ b/src/zeus.app/src/main/kotlin/com/synebula/zeus/app/controller/rbac/RoleApp.kt @@ -1,8 +1,8 @@ package com.synebula.zeus.app.controller.rbac -import com.synebula.gaea.app.UnionTypedApp +import com.synebula.gaea.app.UnionApp import com.synebula.gaea.log.ILogger -import com.synebula.gaea.query.IQueryTyped +import com.synebula.gaea.query.IQuery import com.synebula.zeus.domain.service.cmd.rbac.RoleCmd import com.synebula.zeus.domain.service.contr.rbac.IRoleService import com.synebula.zeus.query.view.RoleView @@ -13,9 +13,9 @@ import org.springframework.web.bind.annotation.RestController @RequestMapping("/roles") class RoleApp( service: IRoleService, - query: IQueryTyped, + query: IQuery, logger: ILogger -) : UnionTypedApp( +) : UnionApp( "用户信息", RoleView::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/rbac/UserApp.kt b/src/zeus.app/src/main/kotlin/com/synebula/zeus/app/controller/rbac/UserApp.kt index 02cd059..f858739 100644 --- a/src/zeus.app/src/main/kotlin/com/synebula/zeus/app/controller/rbac/UserApp.kt +++ b/src/zeus.app/src/main/kotlin/com/synebula/zeus/app/controller/rbac/UserApp.kt @@ -1,9 +1,9 @@ package com.synebula.zeus.app.controller.rbac -import com.synebula.gaea.app.UnionTypedApp +import com.synebula.gaea.app.UnionApp import com.synebula.gaea.app.component.HttpMessage import com.synebula.gaea.log.ILogger -import com.synebula.gaea.query.IQueryTyped +import com.synebula.gaea.query.IQuery import com.synebula.zeus.app.component.IUserAdded import com.synebula.zeus.domain.service.cmd.rbac.UserCmd import com.synebula.zeus.domain.service.contr.rbac.IUserService @@ -18,9 +18,9 @@ import org.springframework.web.bind.annotation.RestController @RequestMapping("/users") class UserApp( service: IUserService, - query: IQueryTyped, + query: IQuery, logger: ILogger -) : UnionTypedApp( +) : UnionApp( "用户信息", UserView::class.java, service, query, logger ) { diff --git a/src/zeus.app/src/main/resources/logbak.xml b/src/zeus.app/src/main/resources/logback.xml similarity index 94% rename from src/zeus.app/src/main/resources/logbak.xml rename to src/zeus.app/src/main/resources/logback.xml index 0e6aed0..ae36f1a 100644 --- a/src/zeus.app/src/main/resources/logbak.xml +++ b/src/zeus.app/src/main/resources/logback.xml @@ -7,7 +7,7 @@ - + @@ -31,7 +31,7 @@ - + diff --git a/src/zeus.domain/src/main/kotlin/com/synebula/zeus/domain/model/rbac/User.kt b/src/zeus.domain/src/main/kotlin/com/synebula/zeus/domain/model/rbac/User.kt index 4c52ba7..c6698a7 100644 --- a/src/zeus.domain/src/main/kotlin/com/synebula/zeus/domain/model/rbac/User.kt +++ b/src/zeus.domain/src/main/kotlin/com/synebula/zeus/domain/model/rbac/User.kt @@ -7,5 +7,5 @@ class User(override var id: String? = null) : AggregateRoot() { var password: String = "" var realName: String? = null var phone: String? = null - var roleId: String = "" + var role: String = "" } \ No newline at end of file diff --git a/src/zeus.domain/src/main/kotlin/com/synebula/zeus/domain/service/cmd/rbac/UserCmd.kt b/src/zeus.domain/src/main/kotlin/com/synebula/zeus/domain/service/cmd/rbac/UserCmd.kt index 2cdd45a..e578b3b 100644 --- a/src/zeus.domain/src/main/kotlin/com/synebula/zeus/domain/service/cmd/rbac/UserCmd.kt +++ b/src/zeus.domain/src/main/kotlin/com/synebula/zeus/domain/service/cmd/rbac/UserCmd.kt @@ -8,4 +8,5 @@ class UserCmd : Command() { var password = "" var realName: String? = null var phone: String? = null + var role: String? = null } diff --git a/src/zeus.domain/src/main/kotlin/com/synebula/zeus/domain/service/impl/rbac/RoleService.kt b/src/zeus.domain/src/main/kotlin/com/synebula/zeus/domain/service/impl/rbac/RoleService.kt index 03857bb..fcfb274 100644 --- a/src/zeus.domain/src/main/kotlin/com/synebula/zeus/domain/service/impl/rbac/RoleService.kt +++ b/src/zeus.domain/src/main/kotlin/com/synebula/zeus/domain/service/impl/rbac/RoleService.kt @@ -7,5 +7,7 @@ import com.synebula.gaea.log.ILogger import com.synebula.zeus.domain.model.rbac.Role import com.synebula.zeus.domain.service.contr.rbac.IRoleService -class RoleService(repository: IRepository, converter: IObjectConverter, logger: ILogger) : - Service(Role::class.java, repository, converter, logger), IRoleService \ No newline at end of file +class RoleService( + repository: IRepository, + converter: IObjectConverter, logger: ILogger +) : Service(Role::class.java, repository, converter, logger), IRoleService \ 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 index 71d1db9..68b6d38 100644 --- 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 @@ -5,18 +5,18 @@ import com.synebula.gaea.data.message.Message import com.synebula.gaea.domain.repository.IRepository import com.synebula.gaea.domain.service.ICommand import com.synebula.gaea.domain.service.Service -import com.synebula.gaea.extension.toMd5 +import com.synebula.gaea.extension.* 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 { +class UserService(repository: IRepository, converter: IObjectConverter, logger: ILogger) : + Service(User::class.java, repository, converter, logger), IUserService { override fun add(command: ICommand): Message { val user = this.convert(command) user.password = user.password.toMd5() user.alive = false - this.repository.add(user) + this.repository.add(user, this.clazz) return Message(user.id!!) } @@ -26,10 +26,10 @@ class UserService(repository: IRepository, converter: IObjectConve * @param key 用户ID */ override fun active(key: String) { - val user = this.repository.get(key) + val user = this.repository.get(key, this.clazz) if (!user.alive) { user.alive = true - this.repository.update(user) + this.repository.update(user, this.clazz) } } } \ No newline at end of file diff --git a/src/zeus.query/src/main/kotlin/com/synebula/zeus/query/impl/UserQuery.kt b/src/zeus.query/src/main/kotlin/com/synebula/zeus/query/impl/UserQuery.kt index 89f6bb2..0038968 100644 --- a/src/zeus.query/src/main/kotlin/com/synebula/zeus/query/impl/UserQuery.kt +++ b/src/zeus.query/src/main/kotlin/com/synebula/zeus/query/impl/UserQuery.kt @@ -3,6 +3,7 @@ package com.synebula.zeus.query.impl import com.synebula.gaea.data.message.Message import com.synebula.gaea.data.message.Status import com.synebula.gaea.extension.toMd5 +import com.synebula.gaea.mongo.query.MongoGenericQuery import com.synebula.gaea.mongo.query.MongoQuery import com.synebula.zeus.query.contr.IUserQuery import com.synebula.zeus.query.view.UserView @@ -11,15 +12,16 @@ import org.springframework.data.mongodb.core.query.Criteria import org.springframework.data.mongodb.core.query.Query import org.springframework.data.mongodb.core.query.isEqualTo -class UserQuery(template: MongoTemplate) - : MongoQuery("user", UserView::class.java, template), IUserQuery { +class UserQuery(template: MongoTemplate) : + MongoGenericQuery("user", UserView::class.java, template), IUserQuery { override fun signIn(name: String, password: String): Message { this.check() val query = Query.query( - Criteria.where("name").isEqualTo(name) - .and("password").isEqualTo(password) - .and("alive").isEqualTo(true)) + Criteria.where("name").isEqualTo(name) + .and("password").isEqualTo(password.toMd5()) + .and("alive").isEqualTo(true) + ) val user = this.template.findOne(query, this.clazz!!) return if (user != null) Message(user.id) diff --git a/src/zeus.query/src/main/kotlin/com/synebula/zeus/query/view/UserView.kt b/src/zeus.query/src/main/kotlin/com/synebula/zeus/query/view/UserView.kt index 97ba0d7..63b9404 100644 --- a/src/zeus.query/src/main/kotlin/com/synebula/zeus/query/view/UserView.kt +++ b/src/zeus.query/src/main/kotlin/com/synebula/zeus/query/view/UserView.kt @@ -5,9 +5,11 @@ class UserView { var name: String = "" + var password: String = "" + var realName: String? = null var phone: String? = null - var role: RoleView? = null + var role: String? = null } \ No newline at end of file