You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
79 lines
2.5 KiB
79 lines
2.5 KiB
package com.gyf.csams
|
|
|
|
import org.jetbrains.exposed.dao.IntEntity
|
|
import org.jetbrains.exposed.dao.IntEntityClass
|
|
import org.jetbrains.exposed.dao.id.EntityID
|
|
import org.jetbrains.exposed.dao.id.IntIdTable
|
|
import org.jetbrains.exposed.sql.Column
|
|
import org.jetbrains.exposed.sql.`java-time`.CurrentDateTime
|
|
import org.jetbrains.exposed.sql.`java-time`.CurrentTimestamp
|
|
import org.jetbrains.exposed.sql.`java-time`.datetime
|
|
import java.time.LocalDateTime
|
|
|
|
|
|
@TableComment("用户")
|
|
object Users: IntIdTable(){
|
|
@TableComment("学号")
|
|
val studentId:Column<String> = varchar(name="student_id",length = 8).uniqueIndex()
|
|
|
|
@TableComment("姓名")
|
|
val name:Column<String> = varchar(name="name",length = 10)
|
|
|
|
@TableComment("密码")
|
|
val password:Column<String> = varchar(name="password",length = 32)
|
|
}
|
|
|
|
class User(id:EntityID<Int>):IntEntity(id){
|
|
companion object : IntEntityClass<User>(Users)
|
|
var studentId by Users.studentId
|
|
var name by Users.name
|
|
var password by Users.password
|
|
}
|
|
|
|
@TableComment("用户授权令牌")
|
|
object UserTokens: IntIdTable(){
|
|
|
|
@TableComment("授权学号")
|
|
val studentId:Column<String> = reference("student_id",Users.studentId)
|
|
|
|
@TableComment("令牌")
|
|
val token:Column<String> = varchar(name="token",length = 32)
|
|
|
|
@TableComment("授权ip地址")
|
|
val ip:Column<String> = varchar(name="ip",length = 32)
|
|
|
|
@TableComment("令牌创建时间")
|
|
val createTime:Column<LocalDateTime> = datetime("create_time").defaultExpression(CurrentTimestamp())
|
|
|
|
@TableComment("授权设备")
|
|
val device:Column<String> = varchar(name="device",length = 256)
|
|
}
|
|
|
|
class UserToken(id:EntityID<Int>):IntEntity(id){
|
|
companion object:IntEntityClass<UserToken>(UserTokens)
|
|
var studentId by UserTokens.studentId
|
|
var token by UserTokens.token
|
|
var ip by UserTokens.ip
|
|
var createTime by UserTokens.createTime
|
|
var device by UserTokens.device
|
|
}
|
|
|
|
@TableComment("留言")
|
|
object LeaveMessages:IntIdTable(){
|
|
@TableComment("留言用户")
|
|
val studentId:Column<String> = reference("student_id",Users.studentId)
|
|
|
|
@TableComment("留言内容")
|
|
val message:Column<String> = varchar(name = "message",length = 20)
|
|
|
|
@TableComment("留言创建时间")
|
|
val createTime:Column<LocalDateTime> = datetime("create_time").defaultExpression(CurrentDateTime())
|
|
}
|
|
|
|
class LeaveMessage(id:EntityID<Int>):IntEntity(id){
|
|
companion object:IntEntityClass<LeaveMessage>(LeaveMessages)
|
|
var studentId by LeaveMessages.studentId
|
|
var message by LeaveMessages.message
|
|
var createTime by LeaveMessages.createTime
|
|
}
|
|
|
|
|