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

@@ -164,6 +164,11 @@
<artifactId>flyway-mysql</artifactId> <artifactId>flyway-mysql</artifactId>
<version>${flyway.version}</version> <version>${flyway.version}</version>
</dependency> </dependency>
<dependency>
<groupId>com.talanlabs</groupId>
<artifactId>avatar-generator</artifactId>
<version>1.1.0</version>
</dependency>
</dependencies> </dependencies>
<build> <build>

View File

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

View File

@@ -14,7 +14,7 @@ object UserConverter {
return user return user
} }
fun userToUserInfoVo(user: User) = UserInfoVo( fun userToUserInfoVo(user: User) = UserWithInfoVo(
id = user.id, id = user.id,
username = user.username, username = user.username,
locking = user.locking?.let { it == 1 }, 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 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 io.swagger.v3.oas.annotations.media.Schema
import java.time.LocalDateTime import java.time.LocalDateTime
@Schema(description = "获取用户信息返回参数") @Schema(description = "获取用户信息返回参数")
data class UserInfoVo( data class UserWithInfoVo(
@JsonSerialize(using = ToStringSerializer::class)
val id: Long?, val id: Long?,
@Schema(description = "用户名", example = "User") @Schema(description = "用户名", example = "User")

View File

@@ -0,0 +1,13 @@
drop table if exists t_user_info;
create table if not exists t_user_info
(
id bigint not null primary key,
nick_name varchar(50) null comment '昵称',
avatar varchar(500) null comment '头像',
email varchar(100) null comment '邮箱',
create_time datetime not null default (utc_timestamp()) comment '创建时间',
update_time datetime not null default (utc_timestamp()) comment '修改时间',
deleted bigint not null default 0,
version int not null default 0
) comment '用户信息表';

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="top.fatweb.api.mapper.permission.UserInfoMapper">
</mapper>