Add table t_user_info

This commit is contained in:
2023-10-30 18:39:52 +08:00
parent d4e4ec6cbc
commit c1326f5e7e
11 changed files with 159 additions and 4 deletions

View File

@@ -6,7 +6,7 @@ import org.springframework.web.bind.annotation.RestController
import top.fatweb.api.converter.UserConverter
import top.fatweb.api.entity.common.ResponseResult
import top.fatweb.api.service.permission.IUserService
import top.fatweb.api.vo.authentication.UserInfoVo
import top.fatweb.api.vo.authentication.UserWithInfoVo
/**
* <p>
@@ -22,7 +22,7 @@ class UserController(
private val userService: IUserService
) {
@GetMapping("info")
fun getInfo(): ResponseResult<UserInfoVo> {
fun getInfo(): ResponseResult<UserWithInfoVo> {
userService.getInfo()?.let {
return ResponseResult.databaseSuccess(data = UserConverter.userToUserInfoVo(it))
} ?: let { return ResponseResult.databaseFail() }

View File

@@ -14,7 +14,7 @@ object UserConverter {
return user
}
fun userToUserInfoVo(user: User) = UserInfoVo(
fun userToUserInfoVo(user: User) = UserWithInfoVo(
id = user.id,
username = user.username,
locking = user.locking?.let { it == 1 },

View File

@@ -0,0 +1,62 @@
package top.fatweb.api.entity.permission
import com.baomidou.mybatisplus.annotation.*
import java.io.Serializable
import java.time.LocalDateTime
/**
* <p>
* 用户信息表
* </p>
*
* @author FatttSnake
* @since 2023-10-30
*/
@TableName("t_user_info")
class UserInfo : Serializable {
@TableId("id")
var id: Long? = null
/**
* 昵称
*/
@TableField("nick_name")
var nickName: String? = null
/**
* 头像
*/
@TableField("avatar")
var avatar: String? = null
/**
* 邮箱
*/
@TableField("email")
var email: String? = null
/**
* 创建时间
*/
@TableField("create_time", fill = FieldFill.INSERT)
var createTime: LocalDateTime? = null
/**
* 修改时间
*/
@TableField("update_time", fill = FieldFill.INSERT_UPDATE)
var updateTime: LocalDateTime? = null
@TableField("deleted")
@TableLogic
var deleted: Long? = null
@TableField("version")
@Version
var version: Int? = null
override fun toString(): String {
return "UserInfo(id=$id, nickName=$nickName, avatar=$avatar, email=$email, createTime=$createTime, updateTime=$updateTime, deleted=$deleted, version=$version)"
}
}

View File

@@ -0,0 +1,19 @@
package top.fatweb.api.handler
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler
import org.apache.ibatis.reflection.MetaObject
import org.springframework.stereotype.Component
import java.time.LocalDateTime
import java.time.ZoneOffset
@Component
class DataMetaObjectHandler : MetaObjectHandler {
override fun insertFill(metaObject: MetaObject?) {
this.strictInsertFill(metaObject, "createTime", LocalDateTime::class.java, LocalDateTime.now(ZoneOffset.UTC))
this.strictInsertFill(metaObject, "updateTime", LocalDateTime::class.java, LocalDateTime.now(ZoneOffset.UTC))
}
override fun updateFill(metaObject: MetaObject?) {
this.strictUpdateFill(metaObject, "updateTime", LocalDateTime::class.java, LocalDateTime.now(ZoneOffset.UTC))
}
}

View File

@@ -0,0 +1,16 @@
package top.fatweb.api.mapper.permission
import com.baomidou.mybatisplus.core.mapper.BaseMapper
import org.apache.ibatis.annotations.Mapper
import top.fatweb.api.entity.permission.UserInfo
/**
* <p>
* 用户信息表 Mapper 接口
* </p>
*
* @author FatttSnake
* @since 2023-10-30
*/
@Mapper
interface UserInfoMapper : BaseMapper<UserInfo>

View File

@@ -0,0 +1,14 @@
package top.fatweb.api.service.permission
import com.baomidou.mybatisplus.extension.service.IService
import top.fatweb.api.entity.permission.UserInfo
/**
* <p>
* 用户信息表 服务类
* </p>
*
* @author FatttSnake
* @since 2023-10-30
*/
interface IUserInfoService : IService<UserInfo>

View File

@@ -0,0 +1,18 @@
package top.fatweb.api.service.permission.impl
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
import org.springframework.stereotype.Service
import top.fatweb.api.entity.permission.UserInfo
import top.fatweb.api.mapper.permission.UserInfoMapper
import top.fatweb.api.service.permission.IUserInfoService
/**
* <p>
* 用户信息表 服务实现类
* </p>
*
* @author FatttSnake
* @since 2023-10-30
*/
@Service
class UserInfoServiceImpl : ServiceImpl<UserInfoMapper, UserInfo>(), IUserInfoService

View File

@@ -1,10 +1,13 @@
package top.fatweb.api.vo.authentication
import com.fasterxml.jackson.databind.annotation.JsonSerialize
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer
import io.swagger.v3.oas.annotations.media.Schema
import java.time.LocalDateTime
@Schema(description = "获取用户信息返回参数")
data class UserInfoVo(
data class UserWithInfoVo(
@JsonSerialize(using = ToStringSerializer::class)
val id: Long?,
@Schema(description = "用户名", example = "User")