重构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

@@ -3,7 +3,6 @@ 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.whereId
import com.synebula.zeus.query.contr.IUserQuery
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.isEqualTo
class UserQuery(template: MongoTemplate) :
MongoGenericQuery<UserView>("user", UserView::class.java, template), IUserQuery {
class UserQuery(var template: MongoTemplate) : IUserQuery {
private val clazz = UserView::class.java
override fun signIn(name: String, password: String): Message<SignUserView> {
this.check()
val query = Query.query(
Criteria.where("name").isEqualTo(name)
.and("password").isEqualTo(password.toMd5())
.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!!, "user")
val user = this.template.findOne(query, this.clazz, "user")
return if (user != null) {
val role = this.template.findOne(whereId(user.role), RoleView::class.java, "role")
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.group ?: "", group?.name ?: ""))
user.group ?: "", group?.name ?: ""
)
)
} else
Message(Status.Failure, "用户名或密码错误")
}
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")
}
}