Change namespace to top.fatweb.oxygen.api

This commit is contained in:
2023-12-28 13:39:42 +08:00
parent 605f3f4152
commit 47baa06125
231 changed files with 698 additions and 682 deletions

View File

@@ -0,0 +1,41 @@
package top.fatweb.oxygen.api.entity.common
/**
* Business code entity
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
enum class BusinessCode(val code: Int) {
/**
* System
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
SYSTEM(100),
/**
* Permission
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
PERMISSION(200),
/**
* Database
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
DATABASE(300),
/**
* Avatar API
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
API_AVATAR(501)
}

View File

@@ -0,0 +1,62 @@
package top.fatweb.oxygen.api.entity.common
/**
* Response code entity
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
enum class ResponseCode(val code: Int) {
SYSTEM_OK(BusinessCode.SYSTEM, 0),
SYSTEM_ERROR(BusinessCode.SYSTEM, 50),
SYSTEM_TIMEOUT(BusinessCode.SYSTEM, 51),
SYSTEM_REQUEST_ILLEGAL(BusinessCode.SYSTEM, 52),
SYSTEM_ARGUMENT_NOT_VALID(BusinessCode.SYSTEM, 53),
PERMISSION_LOGIN_SUCCESS(BusinessCode.PERMISSION, 0),
PERMISSION_PASSWORD_CHANGE_SUCCESS(BusinessCode.PERMISSION, 1),
PERMISSION_LOGOUT_SUCCESS(BusinessCode.PERMISSION, 2),
PERMISSION_TOKEN_RENEW_SUCCESS(BusinessCode.PERMISSION, 3),
PERMISSION_REGISTER_SUCCESS(BusinessCode.PERMISSION, 4),
PERMISSION_RESEND_SUCCESS(BusinessCode.PERMISSION, 5),
PERMISSION_VERIFY_SUCCESS(BusinessCode.PERMISSION, 6),
PERMISSION_FORGET_SUCCESS(BusinessCode.PERMISSION, 7),
PERMISSION_RETRIEVE_SUCCESS(BusinessCode.PERMISSION, 8),
PERMISSION_UNAUTHORIZED(BusinessCode.PERMISSION, 50),
PERMISSION_USERNAME_NOT_FOUND(BusinessCode.PERMISSION, 51),
PERMISSION_ACCESS_DENIED(BusinessCode.PERMISSION, 52),
PERMISSION_USER_LOCKED(BusinessCode.PERMISSION, 53),
PERMISSION_USER_EXPIRED(BusinessCode.PERMISSION, 54),
PERMISSION_USER_CREDENTIALS_EXPIRED(BusinessCode.PERMISSION, 55),
PERMISSION_USER_DISABLE(BusinessCode.PERMISSION, 56),
PERMISSION_LOGIN_USERNAME_PASSWORD_ERROR(BusinessCode.PERMISSION, 57),
PERMISSION_OLD_PASSWORD_NOT_MATCH(BusinessCode.PERMISSION, 58),
PERMISSION_LOGOUT_FAILED(BusinessCode.PERMISSION, 59),
PERMISSION_TOKEN_ILLEGAL(BusinessCode.PERMISSION, 60),
PERMISSION_TOKEN_HAS_EXPIRED(BusinessCode.PERMISSION, 61),
PERMISSION_NO_VERIFICATION_REQUIRED(BusinessCode.PERMISSION, 62),
PERMISSION_VERIFY_CODE_ERROR_OR_EXPIRED(BusinessCode.PERMISSION, 63),
PERMISSION_ACCOUNT_NEED_INIT(BusinessCode.PERMISSION, 64),
PERMISSION_USER_NOT_FOUND(BusinessCode.PERMISSION, 65),
PERMISSION_RETRIEVE_CODE_ERROR_OR_EXPIRED(BusinessCode.PERMISSION, 66),
PERMISSION_ACCOUNT_NEED_RESET_PASSWORD(BusinessCode.PERMISSION, 67),
DATABASE_SELECT_SUCCESS(BusinessCode.DATABASE, 0),
DATABASE_SELECT_FAILED(BusinessCode.DATABASE, 5),
DATABASE_INSERT_SUCCESS(BusinessCode.DATABASE, 10),
DATABASE_INSERT_FAILED(BusinessCode.DATABASE, 15),
DATABASE_UPDATE_SUCCESS(BusinessCode.DATABASE, 20),
DATABASE_UPDATE_FILED(BusinessCode.DATABASE, 25),
DATABASE_DELETE_SUCCESS(BusinessCode.DATABASE, 30),
DATABASE_DELETE_FILED(BusinessCode.DATABASE, 35),
DATABASE_EXECUTE_ERROR(BusinessCode.DATABASE, 50),
DATABASE_DUPLICATE_KEY(BusinessCode.DATABASE, 51),
DATABASE_NO_RECORD_FOUND(BusinessCode.DATABASE, 52),
API_AVATAR_SUCCESS(BusinessCode.API_AVATAR, 0),
API_AVATAR_ERROR(BusinessCode.API_AVATAR, 50);
constructor(businessCode: BusinessCode, code: Int) : this(businessCode.code * 100 + code)
}

View File

@@ -0,0 +1,103 @@
package top.fatweb.oxygen.api.entity.common
import io.swagger.v3.oas.annotations.media.Schema
import java.io.Serializable
/**
* Response result entity
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
class ResponseResult<T> private constructor(
@Schema(description = "响应码", defaultValue = "200") val code: Int,
@Schema(description = "是否调用成功") val success: Boolean,
@Schema(description = "信息") val msg: String,
@Schema(description = "数据") val data: T?
) : Serializable {
companion object {
/**
* Build response result object
*
* @param code Response code
* @param success Is successful
* @param msg Response message
* @param data Response data
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
fun <T> build(code: Int, success: Boolean, msg: String, data: T?) =
ResponseResult(code, success, msg, data)
/**
* Build response result object
*
* @param code Response code object
* @param success Is successful
* @param msg Response message
* @param data Response data
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
* @see ResponseCode
*/
fun <T> build(code: ResponseCode, success: Boolean, msg: String, data: T?) =
build(code.code, success, msg, data)
/**
* Build successful response result object
*
* @param code Response code object
* @param msg Response message
* @param data Response data
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
* @see ResponseCode
*/
fun <T> success(code: ResponseCode = ResponseCode.SYSTEM_OK, msg: String = "success", data: T? = null) =
build(code, true, msg, data)
/**
* Build failure response result object
*
* @param code Response code object
* @param msg Response message
* @param data Response data
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
* @see ResponseCode
*/
fun <T> fail(code: ResponseCode = ResponseCode.SYSTEM_ERROR, msg: String = "fail", data: T? = null) =
build(code, false, msg, data)
/**
* Build database successful response result object
*
* @param code Response code object
* @param msg Response message
* @param data Response data
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
* @see ResponseCode
*/
fun <T> databaseSuccess(
code: ResponseCode = ResponseCode.DATABASE_SELECT_SUCCESS, msg: String = "success", data: T? = null
) = build(code, true, msg, data)
/**
* Build database failure response result object
*
* @param code Response code object
* @param msg Response message
* @param data Response data
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
* @see ResponseCode
*/
fun <T> databaseFail(
code: ResponseCode = ResponseCode.DATABASE_SELECT_FAILED, msg: String = "fail", data: T? = null
) = build(code, false, msg, data)
}
}

View File

@@ -0,0 +1,55 @@
package top.fatweb.oxygen.api.entity.permission
import com.baomidou.mybatisplus.annotation.TableField
import com.baomidou.mybatisplus.annotation.TableId
import com.baomidou.mybatisplus.annotation.TableName
import java.io.Serializable
/**
* Function entity
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableName("t_func")
class Func : Serializable {
/**
* ID
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableId("id")
var id: Long? = null
/**
* Name
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("name")
var name: String? = null
/**
* Parent ID
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("parent_id")
var parentId: Long? = null
/**
* Menu ID
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("menu_id")
var menuId: Long? = null
override fun toString(): String {
return "Func(id=$id, name=$name, parentId=$parentId, menuId=$menuId)"
}
}

View File

@@ -0,0 +1,95 @@
package top.fatweb.oxygen.api.entity.permission
import com.baomidou.mybatisplus.annotation.*
import java.io.Serializable
import java.time.LocalDateTime
/**
* Group entity
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableName("t_group")
class Group : Serializable {
/**
* ID
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableId("id")
var id: Long? = null
/**
* Name
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("name")
var name: String? = null
/**
* Enable
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("enable")
var enable: Int? = null
/**
* Create time
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
* @see LocalDateTime
*/
@TableField("create_time", fill = FieldFill.INSERT)
var createTime: LocalDateTime? = null
/**
* Update time
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
* @see LocalDateTime
*/
@TableField("update_time", fill = FieldFill.INSERT_UPDATE)
var updateTime: LocalDateTime? = null
/**
* Deleted
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("deleted")
@TableLogic
var deleted: Long? = null
/**
* Version
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("version")
@Version
var version: Int? = null
/**
* Role list
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
* @see Role
*/
@TableField(exist = false)
var roles: List<Role>? = null
override fun toString(): String {
return "Group(id=$id, name=$name, enable=$enable, createTime=$createTime, updateTime=$updateTime, deleted=$deleted, version=$version, roles=$roles)"
}
}

View File

@@ -0,0 +1,67 @@
package top.fatweb.oxygen.api.entity.permission
import com.fasterxml.jackson.annotation.JsonIgnore
import com.fasterxml.jackson.annotation.JsonTypeInfo
import org.springframework.security.core.GrantedAuthority
import org.springframework.security.core.authority.SimpleGrantedAuthority
import org.springframework.security.core.userdetails.UserDetails
import java.time.LocalDateTime
import java.time.ZoneOffset
/**
* Login user entity
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
* @see UserDetails
*/
@JsonTypeInfo(use = JsonTypeInfo.Id.CLASS)
class LoginUser() : UserDetails {
/**
* User object
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
* @see User
*/
lateinit var user: User
@JsonIgnore
private var authorities: List<GrantedAuthority>? = null
constructor(user: User) : this() {
this.user = user
}
@JsonIgnore
override fun getAuthorities(): List<GrantedAuthority> {
authorities?.let { return it }
authorities = user.operations?.map { SimpleGrantedAuthority(it.code) } ?: emptyList()
return authorities as List<GrantedAuthority>
}
@JsonIgnore
override fun getPassword() = user.password
@JsonIgnore
override fun getUsername() = user.username
@JsonIgnore
override fun isAccountNonExpired() =
user.expiration == null || user.expiration!!.isAfter(LocalDateTime.now(ZoneOffset.UTC))
@JsonIgnore
override fun isAccountNonLocked() = user.locking == 0
@JsonIgnore
override fun isCredentialsNonExpired() =
user.credentialsExpiration == null || user.credentialsExpiration!!.isAfter(LocalDateTime.now(ZoneOffset.UTC))
@JsonIgnore
override fun isEnabled() = user.enable == 1
override fun toString(): String {
return "LoginUser(user=$user, authorities=$authorities)"
}
}

View File

@@ -0,0 +1,64 @@
package top.fatweb.oxygen.api.entity.permission
import com.baomidou.mybatisplus.annotation.TableField
import com.baomidou.mybatisplus.annotation.TableId
import com.baomidou.mybatisplus.annotation.TableName
import java.io.Serializable
/**
* Menu entity
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableName("t_menu")
class Menu : Serializable {
/**
* ID
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableId("id")
var id: Long? = null
/**
* Name
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("name")
var name: String? = null
/**
* URL
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("url")
var url: String? = null
/**
* Parent ID
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("parent_id")
var parentId: Long? = null
/**
* Module ID
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("module_id")
var moduleId: Long? = null
override fun toString(): String {
return "Menu(id=$id, name=$name, url=$url, parentId=$parentId, moduleId=$moduleId)"
}
}

View File

@@ -0,0 +1,37 @@
package top.fatweb.oxygen.api.entity.permission
import com.baomidou.mybatisplus.annotation.TableField
import com.baomidou.mybatisplus.annotation.TableId
import com.baomidou.mybatisplus.annotation.TableName
import java.io.Serializable
/**
* Module Entity
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableName("t_module")
class Module : Serializable {
/**
* ID
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableId("id")
var id: Long? = null
/**
* Name
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("name")
var name: String? = null
override fun toString(): String {
return "Module(id=$id, name=$name)"
}
}

View File

@@ -0,0 +1,55 @@
package top.fatweb.oxygen.api.entity.permission
import com.baomidou.mybatisplus.annotation.TableField
import com.baomidou.mybatisplus.annotation.TableId
import com.baomidou.mybatisplus.annotation.TableName
import java.io.Serializable
/**
* Operation entity
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableName("t_operation")
class Operation : Serializable {
/**
* ID
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableId("id")
var id: Long? = null
/**
* Name
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("name")
var name: String? = null
/**
* Code
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("code")
var code: String? = null
/**
* Function ID
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("func_id")
var funcId: Long? = null
override fun toString(): String {
return "Operation(id=$id, name=$name, code=$code, funcId=$funcId)"
}
}

View File

@@ -0,0 +1,37 @@
package top.fatweb.oxygen.api.entity.permission
import com.baomidou.mybatisplus.annotation.TableField
import com.baomidou.mybatisplus.annotation.TableId
import com.baomidou.mybatisplus.annotation.TableName
import java.io.Serializable
/**
* Power entity
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableName("t_power")
class Power : Serializable {
/**
* ID
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableId("id")
var id: Long? = null
/**
* Type ID
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("type_id")
var typeId: Int? = null
override fun toString(): String {
return "Power(id=$id, typeId=$typeId)"
}
}

View File

@@ -0,0 +1,64 @@
package top.fatweb.oxygen.api.entity.permission
import com.baomidou.mybatisplus.annotation.*
import java.io.Serializable
/**
* Power role intermediate entity
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableName("t_power_role")
class PowerRole : Serializable {
/**
* ID
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableId("id")
var id: Long? = null
/**
* Power ID
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("power_id")
var powerId: Long? = null
/**
* Role ID
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("role_id")
var roleId: Long? = null
/**
* Deleted
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("deleted")
@TableLogic
var deleted: Long? = null
/**
* Version
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("version")
@Version
var version: Int? = null
override fun toString(): String {
return "PowerRole(id=$id, powerId=$powerId, roleId=$roleId, deleted=$deleted, version=$version)"
}
}

View File

@@ -0,0 +1,51 @@
package top.fatweb.oxygen.api.entity.permission
import java.io.Serializable
/**
* Set of power entity
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
class PowerSet : Serializable {
/**
* Module list
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
* @see Module
*/
var moduleList: List<Module>? = null
/**
* Menu list
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
* @see Menu
*/
var menuList: List<Menu>? = null
/**
* Function list
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
* @see Func
*/
var funcList: List<Func>? = null
/**
* Operation list
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
* @see Operation
*/
var operationList: List<Operation>? = null
override fun toString(): String {
return "PowerSet(moduleList=$moduleList, menuList=$menuList, funcList=$funcList, operationList=$operationList)"
}
}

View File

@@ -0,0 +1,37 @@
package top.fatweb.oxygen.api.entity.permission
import com.baomidou.mybatisplus.annotation.TableField
import com.baomidou.mybatisplus.annotation.TableId
import com.baomidou.mybatisplus.annotation.TableName
import java.io.Serializable
/**
* Power type entity
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableName("t_power_type")
class PowerType : Serializable {
/**
* ID
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableId("id")
var id: Long? = null
/**
* Name
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("name")
var name: String? = null
override fun toString(): String {
return "PowerType(id=$id, name=$name)"
}
}

View File

@@ -0,0 +1,135 @@
package top.fatweb.oxygen.api.entity.permission
import com.baomidou.mybatisplus.annotation.*
import java.io.Serializable
import java.time.LocalDateTime
/**
* Role entity
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableName("t_role")
class Role : Serializable {
/**
* ID
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableId("id")
var id: Long? = null
/**
* Name
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("name")
var name: String? = null
/**
* Enable
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("enable")
var enable: Int? = null
/**
* Create time
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
* @see LocalDateTime
*/
@TableField("create_time", fill = FieldFill.INSERT)
var createTime: LocalDateTime? = null
/**
* Update time
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
* @see LocalDateTime
*/
@TableField("update_time", fill = FieldFill.INSERT_UPDATE)
var updateTime: LocalDateTime? = null
/**
* Deleted
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("deleted")
@TableLogic
var deleted: Long? = null
/**
* Version
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("version")
@Version
var version: Int? = null
/**
* Module list
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
* @see Module
*/
@TableField(exist = false)
var modules: List<Module>? = null
/**
* Menu list
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
* @see Menu
*/
@TableField(exist = false)
var menus: List<Menu>? = null
/**
* Function list
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
* @see Func
*/
@TableField(exist = false)
var funcs: List<Func>? = null
/**
* Operation list
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
* @see Operation
*/
@TableField(exist = false)
var operations: List<Operation>? = null
/**
* Power list
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
* @see Power
*/
@TableField(exist = false)
var powers: List<Power>? = null
override fun toString(): String {
return "Role(id=$id, name=$name, enable=$enable, createTime=$createTime, updateTime=$updateTime, deleted=$deleted, version=$version, modules=$modules, menus=$menus, funcs=$funcs, operations=$operations, powers=$powers)"
}
}

View File

@@ -0,0 +1,64 @@
package top.fatweb.oxygen.api.entity.permission
import com.baomidou.mybatisplus.annotation.*
import java.io.Serializable
/**
* Role group intermediate entity
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableName("t_role_group")
class RoleGroup : Serializable {
/**
* ID
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableId("id")
var id: Long? = null
/**
* Role ID
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("role_id")
var roleId: Long? = null
/**
* Group ID
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("group_id")
var groupId: Long? = null
/**
* Deleted
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("deleted")
@TableLogic
var deleted: Long? = null
/**
* Version
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("version")
@Version
var version: Int? = null
override fun toString(): String {
return "RoleGroup(id=$id, roleId=$roleId, groupId=$groupId, deleted=$deleted, version=$version)"
}
}

View File

@@ -0,0 +1,256 @@
package top.fatweb.oxygen.api.entity.permission
import com.baomidou.mybatisplus.annotation.*
import java.io.Serializable
import java.time.LocalDateTime
/**
* User entity
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableName("t_user")
class User() : Serializable {
constructor(id: Long?, username: String, password: String, enable: Boolean = true) : this() {
this.id = id
this.username = username
this.password = password
this.enable = if (enable) 1 else 0
}
/**
* ID
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableId("id")
var id: Long? = null
/**
* Username
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("username")
var username: String? = null
/**
* Password
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("password")
var password: String? = null
/**
* Verify email
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("verify")
var verify: String? = null
/**
* Forget password
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("forget")
var forget: String? = null
/**
* Locking
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("locking")
var locking: Int? = null
/**
* Expiration time
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
* @see LocalDateTime
*/
@TableField("expiration")
var expiration: LocalDateTime? = null
/**
* Credentials expiration time
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
* @see LocalDateTime
*/
@TableField("credentials_expiration")
var credentialsExpiration: LocalDateTime? = null
/**
* Enable
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("enable")
var enable: Int? = null
/**
* Current login time
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
* @see LocalDateTime
*/
@TableField("current_login_time")
var currentLoginTime: LocalDateTime? = null
/**
* Current login IP
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("current_login_ip")
var currentLoginIp: String? = null
/**
* Last login time
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
* @see LocalDateTime
*/
@TableField("last_login_time")
var lastLoginTime: LocalDateTime? = null
/**
* Last login IP
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("last_login_ip")
var lastLoginIp: String? = null
/**
* Create time
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
* @see LocalDateTime
*/
@TableField("create_time")
var createTime: LocalDateTime? = null
/**
* Update time
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
* @see LocalDateTime
*/
@TableField("update_time")
var updateTime: LocalDateTime? = null
/**
* Deleted
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("deleted")
@TableLogic
var deleted: Long? = null
/**
* Version
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("version")
@Version
var version: Int? = null
/**
* User info
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
* @see UserInfo
*/
@TableField(exist = false)
var userInfo: UserInfo? = null
/**
* Role list
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
* @see Role
*/
@TableField(exist = false)
var roles: List<Role>? = null
/**
* Group list
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
* @see Group
*/
@TableField(exist = false)
var groups: List<Group>? = null
/**
* Module list
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
* @see Module
*/
@TableField(exist = false)
var modules: List<Module>? = null
/**
* Menu list
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
* @see Menu
*/
@TableField(exist = false)
var menus: List<Menu>? = null
/**
* Function list
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
* @see Func
*/
@TableField(exist = false)
var funcs: List<Func>? = null
/**
* Operation list
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
* @see Operation
*/
@TableField(exist = false)
var operations: List<Operation>? = null
override fun toString(): String {
return "User(id=$id, username=$username, password=$password, verify=$verify, forget=$forget, locking=$locking, expiration=$expiration, credentialsExpiration=$credentialsExpiration, enable=$enable, currentLoginTime=$currentLoginTime, currentLoginIp=$currentLoginIp, lastLoginTime=$lastLoginTime, lastLoginIp=$lastLoginIp, createTime=$createTime, updateTime=$updateTime, deleted=$deleted, version=$version, userInfo=$userInfo, roles=$roles, groups=$groups, modules=$modules, menus=$menus, funcs=$funcs, operations=$operations)"
}
}

View File

@@ -0,0 +1,64 @@
package top.fatweb.oxygen.api.entity.permission
import com.baomidou.mybatisplus.annotation.*
import java.io.Serializable
/**
* User group intermediate entity
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableName("t_user_group")
class UserGroup : Serializable {
/**
* ID
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableId("id")
var id: Long? = null
/**
* User ID
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("user_id")
var userId: Long? = null
/**
* Group ID
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("group_id")
var groupId: Long? = null
/**
* Deleted
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("deleted")
@TableLogic
var deleted: Long? = null
/**
* Version
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("version")
@Version
var version: Int? = null
override fun toString(): String {
return "UserGroup(id=$id, userId=$userId, groupId=$groupId, deleted=$deleted, version=$version)"
}
}

View File

@@ -0,0 +1,103 @@
package top.fatweb.oxygen.api.entity.permission
import com.baomidou.mybatisplus.annotation.*
import java.io.Serializable
import java.time.LocalDateTime
/**
* User information entity
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableName("t_user_info")
class UserInfo : Serializable {
/**
* ID
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableId("id")
var id: Long? = null
/**
* User ID
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("user_id")
var userId: Long? = null
/**
* Nickname
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("nickname")
var nickname: String? = null
/**
* Avatar in base64
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("avatar")
var avatar: String? = null
/**
* Email
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("email")
var email: String? = null
/**
* Create time
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
* @see LocalDateTime
*/
@TableField("create_time", fill = FieldFill.INSERT)
var createTime: LocalDateTime? = null
/**
* Update time
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
* @see LocalDateTime
*/
@TableField("update_time", fill = FieldFill.INSERT_UPDATE)
var updateTime: LocalDateTime? = null
/**
* Deleted
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("deleted")
@TableLogic
var deleted: Long? = null
/**
* Version
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("version")
@Version
var version: Int? = null
override fun toString(): String {
return "UserInfo(id=$id, userId=$userId, nickname=$nickname, avatar=$avatar, email=$email, createTime=$createTime, updateTime=$updateTime, deleted=$deleted, version=$version)"
}
}

View File

@@ -0,0 +1,64 @@
package top.fatweb.oxygen.api.entity.permission
import com.baomidou.mybatisplus.annotation.*
import java.io.Serializable
/**
* User role intermediate entity
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableName("t_user_role")
class UserRole : Serializable {
/**
* ID
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableId("id")
var id: Long? = null
/**
* User ID
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("user_id")
var userId: Long? = null
/**
* Role ID
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("role_id")
var roleId: Long? = null
/**
* Deleted
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("deleted")
@TableLogic
var deleted: Long? = null
/**
* Version
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("version")
@Version
var version: Int? = null
override fun toString(): String {
return "UserRole(id=$id, userId=$userId, roleId=$roleId, deleted=$deleted, version=$version)"
}
}

View File

@@ -0,0 +1,64 @@
package top.fatweb.oxygen.api.entity.system
import com.baomidou.mybatisplus.annotation.EnumValue
import com.baomidou.mybatisplus.annotation.TableField
import com.baomidou.mybatisplus.annotation.TableId
import com.baomidou.mybatisplus.annotation.TableName
import com.fasterxml.jackson.annotation.JsonFormat
import com.fasterxml.jackson.annotation.JsonValue
import java.io.Serializable
import java.time.LocalDateTime
/**
* Event log entity
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableName("t_event_log")
class EventLog : Serializable {
enum class Event(@field:EnumValue @field:JsonValue val code: String) {
LOGIN("LOGIN"), LOGOUT("LOGOUT"), REGISTER("REGISTER"), VERIFY("VERIFY"), API("API")
}
/**
* ID
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableId("id")
var id: Long? = null
/**
* Event
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("event")
var event: Event? = null
/**
* Operate user ID
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("operate_user_id")
var operateUserId: Long? = null
/**
* Operate time
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss.SSS")
@TableField("operate_time")
var operateTime: LocalDateTime? = null
override fun toString(): String {
return "EventLog(id=$id, event=$event, operateUserId=$operateUserId, operateTime=$operateTime)"
}
}

View File

@@ -0,0 +1,64 @@
package top.fatweb.oxygen.api.entity.system
import com.baomidou.mybatisplus.annotation.EnumValue
import com.baomidou.mybatisplus.annotation.TableField
import com.baomidou.mybatisplus.annotation.TableId
import com.baomidou.mybatisplus.annotation.TableName
import com.fasterxml.jackson.annotation.JsonFormat
import com.fasterxml.jackson.annotation.JsonValue
import java.io.Serializable
import java.time.LocalDateTime
/**
* Statistics log entity
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableName("t_statistics_log")
class StatisticsLog : Serializable {
enum class KeyItem(@field:EnumValue @field:JsonValue val code: String) {
ONLINE_USERS_COUNT("ONLINE_USER_COUNT")
}
/**
* ID
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableId("id")
var id: Long? = null
/**
* Key
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("key")
var key: KeyItem? = null
/**
* Value
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("value")
var value: String? = null
/**
* Record time
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss.SSS")
@TableField("record_time")
var recordTime: LocalDateTime? = null
override fun toString(): String {
return "StatisticsLog(id=$id, key=$key, value=$value, recordTime=$recordTime)"
}
}

View File

@@ -0,0 +1,186 @@
package top.fatweb.oxygen.api.entity.system
import com.baomidou.mybatisplus.annotation.EnumValue
import com.baomidou.mybatisplus.annotation.TableField
import com.baomidou.mybatisplus.annotation.TableId
import com.baomidou.mybatisplus.annotation.TableName
import com.fasterxml.jackson.annotation.JsonFormat
import com.fasterxml.jackson.annotation.JsonValue
import java.io.Serializable
import java.time.LocalDateTime
/**
* System log entity
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableName("t_sys_log")
class SysLog : Serializable {
/**
* Log type enum
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
enum class LogType(@field:EnumValue @field:JsonValue val code: String) {
INFO("INFO"), ERROR("ERROR"), LOGIN("LOGIN"), LOGOUT("LOGOUT"), REGISTER("REGISTER"), STATISTICS("STATISTICS"), API(
"API"
)
}
/**
* ID
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableId("id")
var id: Long? = null
/**
* Log type
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
* @see LogType
*/
@TableField("log_type")
var logType: LogType? = null
/**
* Operate user ID
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("operate_user_id")
var operateUserId: Long? = null
/**
* Operate time
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
* @see LocalDateTime
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss.SSS")
@TableField("operate_time")
var operateTime: LocalDateTime? = null
/**
* Request URI
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("request_uri")
var requestUri: String? = null
/**
* Request method
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("request_method")
var requestMethod: String? = null
/**
* Request parameters
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("request_params")
var requestParams: String? = null
/**
* Request IP
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("request_ip")
var requestIp: String? = null
/**
* Request server address
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("request_server_address")
var requestServerAddress: String? = null
/**
* Is exception
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("exception")
var exception: Int? = null
/**
* Exception information
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("exception_info")
var exceptionInfo: String? = null
/**
* Start time
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
* @see LocalDateTime
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss.SSS")
@TableField("start_time")
var startTime: LocalDateTime? = null
/**
* End time
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
* @see LocalDateTime
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss.SSS")
@TableField("end_time")
var endTime: LocalDateTime? = null
/**
* Execute time
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("execute_time")
var executeTime: Long? = null
/**
* User agent
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("user_agent")
var userAgent: String? = null
/**
* Operate username
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField(exist = false)
var operateUsername: String? = null
override fun toString(): String {
return "SysLog(id=$id, logType=$logType, operateUserId=$operateUserId, operateTime=$operateTime, requestUri=$requestUri, requestMethod=$requestMethod, requestParams=$requestParams, requestIp=$requestIp, requestServerAddress=$requestServerAddress, exception=$exception, exceptionInfo=$exceptionInfo, startTime=$startTime, endTime=$endTime, executeTime=$executeTime, userAgent=$userAgent, operateUsername=$operateUsername)"
}
}