登录逻辑

This commit is contained in:
2020-05-27 17:22:19 +08:00
parent 378f6dcb19
commit 3d3d6099fe
3 changed files with 12 additions and 3 deletions

View File

@@ -1,6 +1,7 @@
package com.synebula.zeus.query.contr package com.synebula.zeus.query.contr
import com.synebula.gaea.data.message.Message import com.synebula.gaea.data.message.Message
import com.synebula.zeus.query.view.SignUserView
interface IUserQuery { interface IUserQuery {
/** /**
@@ -11,5 +12,5 @@ interface IUserQuery {
* *
* @return 返回消息体, 200为登录成功, data为用户ID * @return 返回消息体, 200为登录成功, data为用户ID
*/ */
fun signIn(name: String, password: String): Message<String> fun signIn(name: String, password: String): Message<SignUserView>
} }

View File

@@ -6,6 +6,7 @@ import com.synebula.gaea.extension.toMd5
import com.synebula.gaea.mongo.query.MongoGenericQuery import com.synebula.gaea.mongo.query.MongoGenericQuery
import com.synebula.gaea.mongo.query.MongoQuery import com.synebula.gaea.mongo.query.MongoQuery
import com.synebula.zeus.query.contr.IUserQuery import com.synebula.zeus.query.contr.IUserQuery
import com.synebula.zeus.query.view.SignUserView
import com.synebula.zeus.query.view.UserView import com.synebula.zeus.query.view.UserView
import org.springframework.data.mongodb.core.MongoTemplate import org.springframework.data.mongodb.core.MongoTemplate
import org.springframework.data.mongodb.core.query.Criteria import org.springframework.data.mongodb.core.query.Criteria
@@ -15,7 +16,7 @@ import org.springframework.data.mongodb.core.query.isEqualTo
class UserQuery(template: MongoTemplate) : class UserQuery(template: MongoTemplate) :
MongoGenericQuery<UserView>("user", UserView::class.java, template), IUserQuery { MongoGenericQuery<UserView>("user", UserView::class.java, template), IUserQuery {
override fun signIn(name: String, password: String): Message<String> { override fun signIn(name: String, password: String): Message<SignUserView> {
this.check() this.check()
val query = Query.query( val query = Query.query(
Criteria.where("name").isEqualTo(name) Criteria.where("name").isEqualTo(name)
@@ -24,7 +25,7 @@ class UserQuery(template: MongoTemplate) :
) )
val user = this.template.findOne(query, this.clazz!!) val user = this.template.findOne(query, this.clazz!!)
return if (user != null) return if (user != null)
Message(user.id) Message(SignUserView(user.id, user.name, user.role ?: ""))
else else
Message(Status.Failure, "用户名或密码错误") Message(Status.Failure, "用户名或密码错误")
} }

View File

@@ -0,0 +1,7 @@
package com.synebula.zeus.query.view
class SignUserView(
var id: String = "",
var name: String = "",
var role: String = ""
)