重构Gaea服务, 升级版本

This commit is contained in:
2020-07-07 15:07:27 +08:00
parent 73664e588b
commit 7169453cb1
6 changed files with 25 additions and 28 deletions

View File

@@ -21,8 +21,8 @@ allprojects {
subprojects { subprojects {
ext { ext {
version '0.1.6' version '0.2.0'
gaea_version = '0.3.0' gaea_version = '0.4.0'
spring_version = "2.3.0.RELEASE" spring_version = "2.3.0.RELEASE"
} }

View File

@@ -1,9 +1,7 @@
package com.synebula.zeus.app.controller package com.synebula.zeus.app.controller
import com.synebula.gaea.app.IApplication import com.synebula.gaea.app.IApplication
import com.synebula.gaea.app.ISignInOut
import com.synebula.gaea.app.component.HttpMessage import com.synebula.gaea.app.component.HttpMessage
import com.synebula.gaea.extension.toMd5
import com.synebula.gaea.log.ILogger import com.synebula.gaea.log.ILogger
import com.synebula.zeus.query.contr.IUserQuery import com.synebula.zeus.query.contr.IUserQuery
import org.springframework.web.bind.annotation.PostMapping import org.springframework.web.bind.annotation.PostMapping
@@ -12,18 +10,18 @@ import org.springframework.web.bind.annotation.RestController
@RestController @RestController
@RequestMapping("/sign") @RequestMapping("/sign")
class SignInOutApp(var query: IUserQuery, override var logger: ILogger) : ISignInOut, IApplication { class SignInOutApp(var query: IUserQuery, override var logger: ILogger?) : IApplication {
override var name: String = "用户登录管理" override var name: String = "用户登录管理"
@PostMapping("/in") @PostMapping("/in")
override fun signIn(name: String, password: String): HttpMessage { fun signIn(name: String, password: String): HttpMessage {
return this.safeExecute("用户登录出现异常") { return this.safeExecute("用户登录出现异常") {
it.load(this.query.signIn(name, password)) it.load(this.query.signIn(name, password))
} }
} }
@PostMapping("/out") @PostMapping("/out")
override fun signOut(user: String): HttpMessage { fun signOut(user: String): HttpMessage {
return HttpMessage() return HttpMessage(user)
} }
} }

View File

@@ -1,14 +1,11 @@
package com.synebula.zeus.app.controller.rbac package com.synebula.zeus.app.controller.rbac
import com.synebula.gaea.app.UnionApp import com.synebula.gaea.app.Application
import com.synebula.gaea.log.ILogger import com.synebula.gaea.log.ILogger
import com.synebula.gaea.query.IQuery import com.synebula.gaea.query.IQuery
import com.synebula.zeus.domain.service.cmd.rbac.GroupCmd import com.synebula.zeus.domain.service.cmd.rbac.GroupCmd
import com.synebula.zeus.domain.service.cmd.rbac.RoleCmd
import com.synebula.zeus.domain.service.contr.rbac.IGroupService import com.synebula.zeus.domain.service.contr.rbac.IGroupService
import com.synebula.zeus.domain.service.contr.rbac.IRoleService
import com.synebula.zeus.query.view.GroupView import com.synebula.zeus.query.view.GroupView
import com.synebula.zeus.query.view.RoleView
import org.springframework.web.bind.annotation.RequestMapping import org.springframework.web.bind.annotation.RequestMapping
import org.springframework.web.bind.annotation.RestController import org.springframework.web.bind.annotation.RestController
@@ -18,7 +15,7 @@ class GroupApp(
service: IGroupService, service: IGroupService,
query: IQuery, query: IQuery,
logger: ILogger logger: ILogger
) : UnionApp<GroupCmd, GroupView, String>( ) : Application<GroupCmd, GroupView, String>(
"分组信息", GroupView::class.java, "分组信息", GroupView::class.java,
service, query, logger service, query, logger
) )

View File

@@ -1,6 +1,6 @@
package com.synebula.zeus.app.controller.rbac package com.synebula.zeus.app.controller.rbac
import com.synebula.gaea.app.UnionApp import com.synebula.gaea.app.Application
import com.synebula.gaea.log.ILogger import com.synebula.gaea.log.ILogger
import com.synebula.gaea.query.IQuery import com.synebula.gaea.query.IQuery
import com.synebula.zeus.domain.service.cmd.rbac.RoleCmd import com.synebula.zeus.domain.service.cmd.rbac.RoleCmd
@@ -15,7 +15,7 @@ class RoleApp(
service: IRoleService, service: IRoleService,
query: IQuery, query: IQuery,
logger: ILogger logger: ILogger
) : UnionApp<RoleCmd, RoleView, String>( ) : Application<RoleCmd, RoleView, String>(
"用户信息", RoleView::class.java, "用户信息", RoleView::class.java,
service, query, logger service, query, logger
) )

View File

@@ -1,6 +1,6 @@
package com.synebula.zeus.app.controller.rbac package com.synebula.zeus.app.controller.rbac
import com.synebula.gaea.app.UnionApp import com.synebula.gaea.app.Application
import com.synebula.gaea.app.component.HttpMessage import com.synebula.gaea.app.component.HttpMessage
import com.synebula.gaea.data.message.Status import com.synebula.gaea.data.message.Status
import com.synebula.gaea.data.serialization.json.IJsonSerializer import com.synebula.gaea.data.serialization.json.IJsonSerializer
@@ -18,7 +18,7 @@ class UserApp(
service: IUserService, service: IUserService,
query: IQuery, query: IQuery,
logger: ILogger logger: ILogger
) : UnionApp<UserCmd, UserView, String>( ) : Application<UserCmd, UserView, String>(
"用户信息", UserView::class.java, "用户信息", UserView::class.java,
service, query, logger service, query, logger
) { ) {

View File

@@ -3,7 +3,6 @@ package com.synebula.zeus.query.impl
import com.synebula.gaea.data.message.Message import com.synebula.gaea.data.message.Message
import com.synebula.gaea.data.message.Status import com.synebula.gaea.data.message.Status
import com.synebula.gaea.extension.toMd5 import com.synebula.gaea.extension.toMd5
import com.synebula.gaea.mongo.query.MongoGenericQuery
import com.synebula.gaea.mongo.whereId import com.synebula.gaea.mongo.whereId
import com.synebula.zeus.query.contr.IUserQuery import com.synebula.zeus.query.contr.IUserQuery
import com.synebula.zeus.query.view.GroupView import com.synebula.zeus.query.view.GroupView
@@ -15,29 +14,32 @@ import org.springframework.data.mongodb.core.query.Criteria
import org.springframework.data.mongodb.core.query.Query import org.springframework.data.mongodb.core.query.Query
import org.springframework.data.mongodb.core.query.isEqualTo import org.springframework.data.mongodb.core.query.isEqualTo
class UserQuery(template: MongoTemplate) : class UserQuery(var template: MongoTemplate) : IUserQuery {
MongoGenericQuery<UserView>("user", UserView::class.java, template), IUserQuery { private val clazz = UserView::class.java
override fun signIn(name: String, password: String): Message<SignUserView> { override fun signIn(name: String, password: String): Message<SignUserView> {
this.check()
val query = Query.query( val query = Query.query(
Criteria.where("name").isEqualTo(name) Criteria.where("name").isEqualTo(name)
.and("password").isEqualTo(password.toMd5()) .and("password").isEqualTo(password.toMd5())
.and("alive").isEqualTo(true) .and("alive").isEqualTo(true)
) )
val user = this.template.findOne(query, this.clazz!!, "user") val user = this.template.findOne(query, this.clazz, "user")
return if (user != null) { return if (user != null) {
val role = this.template.findOne(whereId(user.role), RoleView::class.java, "role") val role = this.template.findOne(whereId(user.role), RoleView::class.java, "role")
val group = this.template.findOne(whereId(user.group), GroupView::class.java, "group") val group = this.template.findOne(whereId(user.group), GroupView::class.java, "group")
Message(SignUserView(user.id, user.name, user.realName ?: "", Message(
SignUserView(
user.id, user.name, user.realName ?: "",
user.role ?: "", role?.name ?: "", user.role ?: "", role?.name ?: "",
user.group ?: "", group?.name ?: "")) user.group ?: "", group?.name ?: ""
)
)
} else } else
Message(Status.Failure, "用户名或密码错误") Message(Status.Failure, "用户名或密码错误")
} }
override fun listUsers(idList: List<String>): List<UserView> { override fun listUsers(idList: List<String>): List<UserView> {
return this.template.find(Query.query(Criteria.where("_id").`in`(idList)), this.clazz!!, "user") return this.template.find(Query.query(Criteria.where("_id").`in`(idList)), this.clazz, "user")
} }
} }