This commit is contained in:
2023-11-16 17:33:49 +08:00
parent ab9425f4c2
commit d0897e57e0
145 changed files with 604 additions and 304 deletions

View File

@@ -7,6 +7,12 @@ import org.springframework.transaction.annotation.EnableTransactionManagement
import java.io.File import java.io.File
import java.util.* import java.util.*
/**
* Application main class
*
* @author FatttSnake
* @since 1.0.0
*/
@SpringBootApplication @SpringBootApplication
@EnableTransactionManagement @EnableTransactionManagement
class FatWebApiApplication class FatWebApiApplication

View File

@@ -2,6 +2,12 @@ package top.fatweb.api.annotation
import org.springframework.core.annotation.AliasFor import org.springframework.core.annotation.AliasFor
/**
* Api controller version annotation
*
* @author FatttSnake
* @since 1.0.0
*/
@Target(AnnotationTarget.CLASS) @Target(AnnotationTarget.CLASS)
@Retention(AnnotationRetention.RUNTIME) @Retention(AnnotationRetention.RUNTIME)
annotation class ApiVersion( annotation class ApiVersion(

View File

@@ -13,7 +13,12 @@ import java.time.LocalDateTime
import java.time.format.DateTimeFormatter import java.time.format.DateTimeFormatter
import java.util.* import java.util.*
/**
* Data format config
*
* @author FatttSnake
* @since 1.0.0
*/
@JsonComponent @JsonComponent
class DataFormatConfig { class DataFormatConfig {
@set:Value("\${spring.jackson.date-format}") @set:Value("\${spring.jackson.date-format}")

View File

@@ -5,6 +5,12 @@ import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Configuration import org.springframework.context.annotation.Configuration
import top.fatweb.api.filter.ExceptionFilter import top.fatweb.api.filter.ExceptionFilter
/**
* Filter config
*
* @author FatttSnake
* @since 1.0.0
*/
@Configuration @Configuration
class FilterConfig { class FilterConfig {
@Bean @Bean

View File

@@ -14,6 +14,12 @@ import top.fatweb.api.service.permission.IUserInfoService
import top.fatweb.api.service.permission.IUserService import top.fatweb.api.service.permission.IUserService
import kotlin.random.Random import kotlin.random.Random
/**
* Application initialization config
*
* @author FatttSnake
* @since 1.0.0
*/
@DependsOn("adminProperties") @DependsOn("adminProperties")
@Component @Component
class InitConfig( class InitConfig(

View File

@@ -6,6 +6,12 @@ import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerIntercept
import org.springframework.context.annotation.Bean import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Configuration import org.springframework.context.annotation.Configuration
/**
* Mybatis-plus config
*
* @author FatttSnake
* @since 1.0.0
*/
@Configuration @Configuration
class MybatisPlusConfig { class MybatisPlusConfig {
@Bean @Bean

View File

@@ -12,6 +12,12 @@ import org.springframework.data.redis.core.RedisTemplate
import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer
import org.springframework.data.redis.serializer.StringRedisSerializer import org.springframework.data.redis.serializer.StringRedisSerializer
/**
* Redis config
*
* @author FatttSnake
* @since 1.0.0
*/
@Configuration @Configuration
class RedisConfig { class RedisConfig {
@Bean @Bean

View File

@@ -17,6 +17,12 @@ import top.fatweb.api.filter.JwtAuthenticationTokenFilter
import top.fatweb.api.handler.JwtAccessDeniedHandler import top.fatweb.api.handler.JwtAccessDeniedHandler
import top.fatweb.api.handler.JwtAuthenticationEntryPointHandler import top.fatweb.api.handler.JwtAuthenticationEntryPointHandler
/**
* Spring Security config
*
* @author FatttSnake
* @since 1.0.0
*/
@Configuration @Configuration
@EnableMethodSecurity @EnableMethodSecurity
class SecurityConfig( class SecurityConfig(

View File

@@ -7,6 +7,12 @@ import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Configuration import org.springframework.context.annotation.Configuration
import top.fatweb.api.properties.ServerProperties import top.fatweb.api.properties.ServerProperties
/**
* Swagger API doc config
*
* @author FatttSnake
* @since 1.0.0
*/
@Configuration @Configuration
class SwaggerConfig { class SwaggerConfig {

View File

@@ -5,6 +5,12 @@ import org.springframework.web.servlet.config.annotation.InterceptorRegistry
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer import org.springframework.web.servlet.config.annotation.WebMvcConfigurer
import top.fatweb.api.interceptor.SysLogInterceptor import top.fatweb.api.interceptor.SysLogInterceptor
/**
* System log config
*
* @author FatttSnake
* @since 1.0.0
*/
@Configuration @Configuration
class SysLogConfig( class SysLogConfig(
private val sysLogInterceptor: SysLogInterceptor private val sysLogInterceptor: SysLogInterceptor

View File

@@ -5,6 +5,12 @@ import org.springframework.context.annotation.Configuration
import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping
import top.fatweb.api.util.ApiResponseMappingHandlerMapping import top.fatweb.api.util.ApiResponseMappingHandlerMapping
/**
* Web MVC config
*
* @author FatttSnake
* @since 1.0.0
*/
@Configuration @Configuration
class WebMvcRegistrationsConfig : WebMvcRegistrations { class WebMvcRegistrationsConfig : WebMvcRegistrations {
override fun getRequestMappingHandlerMapping(): RequestMappingHandlerMapping = ApiResponseMappingHandlerMapping() override fun getRequestMappingHandlerMapping(): RequestMappingHandlerMapping = ApiResponseMappingHandlerMapping()

View File

@@ -5,6 +5,12 @@ import jakarta.servlet.http.HttpServletRequest
import org.springframework.web.bind.annotation.RequestMapping import org.springframework.web.bind.annotation.RequestMapping
import org.springframework.web.bind.annotation.RestController import org.springframework.web.bind.annotation.RestController
/**
* Exception controller
*
* @author FatttSnake
* @since 1.0.0
*/
@Hidden @Hidden
@RestController @RestController
@RequestMapping("/error") @RequestMapping("/error")

View File

@@ -15,6 +15,12 @@ import top.fatweb.api.param.authentication.LoginParam
import top.fatweb.api.service.permission.IAuthenticationService import top.fatweb.api.service.permission.IAuthenticationService
import top.fatweb.api.util.WebUtil import top.fatweb.api.util.WebUtil
/**
* Authentication controller
*
* @author FatttSnake
* @since 1.0.0
*/
@Tag(name = "身份认证", description = "身份认证相关接口") @Tag(name = "身份认证", description = "身份认证相关接口")
@RestController @RestController
class AuthenticationController( class AuthenticationController(

View File

@@ -13,12 +13,10 @@ import top.fatweb.api.vo.permission.GroupVo
import top.fatweb.api.vo.permission.GroupWithRoleVo import top.fatweb.api.vo.permission.GroupWithRoleVo
/** /**
* <p> * Group controller
* 用户组表 前端控制器
* </p>
* *
* @author FatttSnake * @author FatttSnake
* @since 2023-11-09 * @since 1.0.0
*/ */
@Tag(name = "用户组管理", description = "用户组管理相关接口") @Tag(name = "用户组管理", description = "用户组管理相关接口")
@RestController @RestController

View File

@@ -9,7 +9,10 @@ import top.fatweb.api.entity.common.ResponseResult
import top.fatweb.api.service.permission.IPowerService import top.fatweb.api.service.permission.IPowerService
/** /**
* 权限 前端控制器 * Power controller
*
* @author FatttSnake
* @since 1.0.0
*/ */
@Tag(name = "权限管理", description = "权限管理相关接口") @Tag(name = "权限管理", description = "权限管理相关接口")
@RestController @RestController

View File

@@ -13,10 +13,10 @@ import top.fatweb.api.vo.permission.RoleVo
import top.fatweb.api.vo.permission.RoleWithPowerVo import top.fatweb.api.vo.permission.RoleWithPowerVo
/** /**
* 角色表 前端控制器 * Role controller
* *
* @author FatttSnake * @author FatttSnake
* @since 2023-11-09 * @since 1.0.0
*/ */
@Tag(name = "角色管理", description = "角色管理相关接口") @Tag(name = "角色管理", description = "角色管理相关接口")
@RestController @RestController

View File

@@ -12,12 +12,10 @@ import top.fatweb.api.vo.permission.UserWithPowerInfoVo
import top.fatweb.api.vo.permission.UserWithRoleInfoVo import top.fatweb.api.vo.permission.UserWithRoleInfoVo
/** /**
* <p> * User controller
* 用户表 前端控制器
* </p>
* *
* @author FatttSnake * @author FatttSnake
* @since 2023-10-04 * @since 1.0.0
*/ */
@Tag(name = "用户管理", description = "用户管理相关接口") @Tag(name = "用户管理", description = "用户管理相关接口")
@RestController @RestController

View File

@@ -12,15 +12,13 @@ import top.fatweb.api.entity.common.ResponseResult
import top.fatweb.api.param.system.SysLogGetParam import top.fatweb.api.param.system.SysLogGetParam
import top.fatweb.api.service.system.ISysLogService import top.fatweb.api.service.system.ISysLogService
import top.fatweb.api.vo.PageVo import top.fatweb.api.vo.PageVo
import top.fatweb.api.vo.system.SysLogGetVo import top.fatweb.api.vo.system.SysLogVo
/** /**
* <p> * System log controller
* 系统日志表 前端控制器
* </p>
* *
* @author FatttSnake * @author FatttSnake
* @since 2023-10-18 * @since 1.0.0
*/ */
@RestController @RestController
@RequestMapping("/system/log") @RequestMapping("/system/log")
@@ -30,7 +28,7 @@ class SysLogController(
) { ) {
@Operation(summary = "获取") @Operation(summary = "获取")
@GetMapping @GetMapping
fun get(@Valid sysLogGetParam: SysLogGetParam?): ResponseResult<PageVo<SysLogGetVo>> { fun get(@Valid sysLogGetParam: SysLogGetParam?): ResponseResult<PageVo<SysLogVo>> {
return ResponseResult.success( return ResponseResult.success(
ResponseCode.DATABASE_SELECT_SUCCESS, data = SysLogConverter.sysLogPageToSysLogPageVo( ResponseCode.DATABASE_SELECT_SUCCESS, data = SysLogConverter.sysLogPageToSysLogPageVo(
sysLogService.getPage(sysLogGetParam) sysLogService.getPage(sysLogGetParam)

View File

@@ -3,6 +3,12 @@ package top.fatweb.api.converter.permission
import top.fatweb.api.entity.permission.Element import top.fatweb.api.entity.permission.Element
import top.fatweb.api.vo.permission.ElementVo import top.fatweb.api.vo.permission.ElementVo
/**
* Element converter
*
* @author FatttSnake
* @since 1.0.0
*/
object ElementConverter { object ElementConverter {
fun elementToElementVo(element: Element) = ElementVo( fun elementToElementVo(element: Element) = ElementVo(
id = element.id, id = element.id,

View File

@@ -10,6 +10,12 @@ import top.fatweb.api.vo.PageVo
import top.fatweb.api.vo.permission.GroupVo import top.fatweb.api.vo.permission.GroupVo
import top.fatweb.api.vo.permission.GroupWithRoleVo import top.fatweb.api.vo.permission.GroupWithRoleVo
/**
* Group converter
*
* @author FatttSnake
* @since 1.0.0
*/
object GroupConverter { object GroupConverter {
fun groupToGroupVo(group: Group) = GroupVo( fun groupToGroupVo(group: Group) = GroupVo(
id = group.id, id = group.id,

View File

@@ -3,6 +3,12 @@ package top.fatweb.api.converter.permission
import top.fatweb.api.entity.permission.Menu import top.fatweb.api.entity.permission.Menu
import top.fatweb.api.vo.permission.MenuVo import top.fatweb.api.vo.permission.MenuVo
/**
* Menu converter
*
* @author FatttSnake
* @since 1.0.0
*/
object MenuConverter { object MenuConverter {
fun menuToMenuVo(menu: Menu) = MenuVo( fun menuToMenuVo(menu: Menu) = MenuVo(
id = menu.id, id = menu.id,

View File

@@ -3,6 +3,12 @@ package top.fatweb.api.converter.permission
import top.fatweb.api.entity.permission.Module import top.fatweb.api.entity.permission.Module
import top.fatweb.api.vo.permission.ModuleVo import top.fatweb.api.vo.permission.ModuleVo
/**
* Module converter
*
* @author FatttSnake
* @since 1.0.0
*/
object ModuleConverter { object ModuleConverter {
fun moduleToModuleVo(module: Module) = ModuleVo( fun moduleToModuleVo(module: Module) = ModuleVo(
id = module.id, id = module.id,

View File

@@ -3,6 +3,12 @@ package top.fatweb.api.converter.permission
import top.fatweb.api.entity.permission.Operation import top.fatweb.api.entity.permission.Operation
import top.fatweb.api.vo.permission.OperationVo import top.fatweb.api.vo.permission.OperationVo
/**
* Operation converter
*
* @author FatttSnake
* @since 1.0.0
*/
object OperationConverter { object OperationConverter {
fun operationToOperationVo(operation: Operation) = OperationVo( fun operationToOperationVo(operation: Operation) = OperationVo(
id = operation.id, id = operation.id,

View File

@@ -3,6 +3,12 @@ package top.fatweb.api.converter.permission
import top.fatweb.api.entity.permission.PowerSet import top.fatweb.api.entity.permission.PowerSet
import top.fatweb.api.vo.permission.PowerSetVo import top.fatweb.api.vo.permission.PowerSetVo
/**
* Power converter
*
* @author FatttSnake
* @since 1.0.0
*/
object PowerConverter { object PowerConverter {
fun powerSetToPowerSetVo(powerSet: PowerSet) = PowerSetVo( fun powerSetToPowerSetVo(powerSet: PowerSet) = PowerSetVo(
moduleList = powerSet.moduleList?.map { ModuleConverter.moduleToModuleVo(it) }, moduleList = powerSet.moduleList?.map { ModuleConverter.moduleToModuleVo(it) },

View File

@@ -10,6 +10,12 @@ import top.fatweb.api.vo.PageVo
import top.fatweb.api.vo.permission.RoleVo import top.fatweb.api.vo.permission.RoleVo
import top.fatweb.api.vo.permission.RoleWithPowerVo import top.fatweb.api.vo.permission.RoleWithPowerVo
/**
* Role converter
*
* @author FatttSnake
* @since 1.0.0
*/
object RoleConverter { object RoleConverter {
fun roleToRoleVo(role: Role) = RoleVo( fun roleToRoleVo(role: Role) = RoleVo(
id = role.id, id = role.id,

View File

@@ -4,6 +4,12 @@ import top.fatweb.api.entity.permission.User
import top.fatweb.api.param.authentication.LoginParam import top.fatweb.api.param.authentication.LoginParam
import top.fatweb.api.vo.permission.* import top.fatweb.api.vo.permission.*
/**
* User converter
*
* @author FatttSnake
* @since 1.0.0
*/
object UserConverter { object UserConverter {
fun loginParamToUser(loginParam: LoginParam) = User().apply { fun loginParamToUser(loginParam: LoginParam) = User().apply {
username = loginParam.username username = loginParam.username

View File

@@ -3,6 +3,12 @@ package top.fatweb.api.converter.permission
import top.fatweb.api.entity.permission.UserInfo import top.fatweb.api.entity.permission.UserInfo
import top.fatweb.api.vo.permission.UserInfoVo import top.fatweb.api.vo.permission.UserInfoVo
/**
* User information converter
*
* @author FatttSnake
* @since 1.0.0
*/
object UserInfoConverter { object UserInfoConverter {
fun userInfoToUserInfoVo(userInfo: UserInfo) = UserInfoVo( fun userInfoToUserInfoVo(userInfo: UserInfo) = UserInfoVo(
id = userInfo.id, id = userInfo.id,

View File

@@ -3,16 +3,22 @@ package top.fatweb.api.converter.system
import com.baomidou.mybatisplus.core.metadata.IPage import com.baomidou.mybatisplus.core.metadata.IPage
import top.fatweb.api.entity.system.SysLog import top.fatweb.api.entity.system.SysLog
import top.fatweb.api.vo.PageVo import top.fatweb.api.vo.PageVo
import top.fatweb.api.vo.system.SysLogGetVo import top.fatweb.api.vo.system.SysLogVo
/**
* System log converter
*
* @author FatttSnake
* @since 1.0.0
*/
object SysLogConverter { object SysLogConverter {
fun sysLogPageToSysLogPageVo(syslogPage: IPage<SysLog>): PageVo<SysLogGetVo> = PageVo( fun sysLogPageToSysLogPageVo(syslogPage: IPage<SysLog>): PageVo<SysLogVo> = PageVo(
syslogPage.total, syslogPage.total,
syslogPage.pages, syslogPage.pages,
syslogPage.size, syslogPage.size,
syslogPage.current, syslogPage.current,
syslogPage.records.map { syslogPage.records.map {
SysLogGetVo( SysLogVo(
id = it.id, id = it.id,
logType = it.logType, logType = it.logType,
operateUserId = it.operateUserId, operateUserId = it.operateUserId,

View File

@@ -1,5 +1,11 @@
package top.fatweb.api.entity.common package top.fatweb.api.entity.common
/**
* Business code entity
*
* @author FatttSnake
* @since 1.0.0
*/
enum class BusinessCode(val code: Int) { enum class BusinessCode(val code: Int) {
SYSTEM(100), SYSTEM(100),
DATABASE(200) DATABASE(200)

View File

@@ -1,5 +1,11 @@
package top.fatweb.api.entity.common package top.fatweb.api.entity.common
/**
* Response code entity
*
* @author FatttSnake
* @since 1.0.0
*/
enum class ResponseCode(val code: Int) { enum class ResponseCode(val code: Int) {
SYSTEM_OK(BusinessCode.SYSTEM, 0), SYSTEM_OK(BusinessCode.SYSTEM, 0),
SYSTEM_LOGIN_SUCCESS(BusinessCode.SYSTEM, 20), SYSTEM_LOGIN_SUCCESS(BusinessCode.SYSTEM, 20),

View File

@@ -3,6 +3,12 @@ package top.fatweb.api.entity.common
import io.swagger.v3.oas.annotations.media.Schema import io.swagger.v3.oas.annotations.media.Schema
import java.io.Serializable import java.io.Serializable
/**
* Response result entity
*
* @author FatttSnake
* @since 1.0.0
*/
class ResponseResult<T> private constructor( class ResponseResult<T> private constructor(
@Schema(description = "响应码", defaultValue = "200") val code: Int, @Schema(description = "响应码", defaultValue = "200") val code: Int,

View File

@@ -6,12 +6,10 @@ import com.baomidou.mybatisplus.annotation.TableName
import java.io.Serializable import java.io.Serializable
/** /**
* <p> * Element entity
* 页面元素表
* </p>
* *
* @author FatttSnake * @author FatttSnake
* @since 2023-10-25 * @since 1.0.0
*/ */
@TableName("t_element") @TableName("t_element")
class Element : Serializable { class Element : Serializable {

View File

@@ -5,12 +5,10 @@ import java.io.Serializable
import java.time.LocalDateTime import java.time.LocalDateTime
/** /**
* <p> * Group entity
* 用户组表
* </p>
* *
* @author FatttSnake * @author FatttSnake
* @since 2023-10-25 * @since 1.0.0
*/ */
@TableName("t_group") @TableName("t_group")
class Group : Serializable { class Group : Serializable {

View File

@@ -7,6 +7,12 @@ import org.springframework.security.core.userdetails.UserDetails
import java.time.LocalDateTime import java.time.LocalDateTime
import java.time.ZoneOffset import java.time.ZoneOffset
/**
* Login user entity
*
* @author FatttSnake
* @since 1.0.0
*/
@JsonTypeInfo(use = JsonTypeInfo.Id.CLASS) @JsonTypeInfo(use = JsonTypeInfo.Id.CLASS)
class LoginUser() : UserDetails { class LoginUser() : UserDetails {
lateinit var user: User lateinit var user: User

View File

@@ -6,12 +6,10 @@ import com.baomidou.mybatisplus.annotation.TableName
import java.io.Serializable import java.io.Serializable
/** /**
* <p> * Menu entity
* 菜单表
* </p>
* *
* @author FatttSnake * @author FatttSnake
* @since 2023-10-25 * @since 1.0.0
*/ */
@TableName("t_menu") @TableName("t_menu")
class Menu : Serializable { class Menu : Serializable {

View File

@@ -6,12 +6,10 @@ import com.baomidou.mybatisplus.annotation.TableName
import java.io.Serializable import java.io.Serializable
/** /**
* <p> * Module Entity
* 模块表
* </p>
* *
* @author FatttSnake * @author FatttSnake
* @since 2023-10-25 * @since 1.0.0
*/ */
@TableName("t_module") @TableName("t_module")
class Module : Serializable { class Module : Serializable {

View File

@@ -6,12 +6,10 @@ import com.baomidou.mybatisplus.annotation.TableName
import java.io.Serializable import java.io.Serializable
/** /**
* <p> * Operation entity
* 功能表
* </p>
* *
* @author FatttSnake * @author FatttSnake
* @since 2023-10-25 * @since 1.0.0
*/ */
@TableName("t_operation") @TableName("t_operation")
class Operation : Serializable { class Operation : Serializable {

View File

@@ -6,12 +6,10 @@ import com.baomidou.mybatisplus.annotation.TableName
import java.io.Serializable import java.io.Serializable
/** /**
* <p> * Power entity
* 权限表
* </p>
* *
* @author FatttSnake * @author FatttSnake
* @since 2023-10-25 * @since 1.0.0
*/ */
@TableName("t_power") @TableName("t_power")
class Power : Serializable { class Power : Serializable {

View File

@@ -4,12 +4,10 @@ import com.baomidou.mybatisplus.annotation.*
import java.io.Serializable import java.io.Serializable
/** /**
* <p> * Power role intermediate entity
* 中间表-权限-角色
* </p>
* *
* @author FatttSnake * @author FatttSnake
* @since 2023-10-25 * @since 1.0.0
*/ */
@TableName("t_power_role") @TableName("t_power_role")
class PowerRole : Serializable { class PowerRole : Serializable {

View File

@@ -3,7 +3,10 @@ package top.fatweb.api.entity.permission
import java.io.Serializable import java.io.Serializable
/** /**
* 权限集合 * Set of power entity
*
* @author FatttSnake
* @since 1.0.0
*/ */
class PowerSet : Serializable { class PowerSet : Serializable {
var moduleList: List<Module>? = null var moduleList: List<Module>? = null

View File

@@ -6,12 +6,10 @@ import com.baomidou.mybatisplus.annotation.TableName
import java.io.Serializable import java.io.Serializable
/** /**
* <p> * Power type entity
* 权限类型表
* </p>
* *
* @author FatttSnake * @author FatttSnake
* @since 2023-10-25 * @since 1.0.0
*/ */
@TableName("t_power_type") @TableName("t_power_type")
class PowerType : Serializable { class PowerType : Serializable {

View File

@@ -5,12 +5,10 @@ import java.io.Serializable
import java.time.LocalDateTime import java.time.LocalDateTime
/** /**
* <p> * Role entity
* 角色表
* </p>
* *
* @author FatttSnake * @author FatttSnake
* @since 2023-10-25 * @since 1.0.0
*/ */
@TableName("t_role") @TableName("t_role")
class Role : Serializable { class Role : Serializable {

View File

@@ -4,12 +4,10 @@ import com.baomidou.mybatisplus.annotation.*
import java.io.Serializable import java.io.Serializable
/** /**
* <p> * Role group intermediate entity
* 中间表-角色-用户组
* </p>
* *
* @author FatttSnake * @author FatttSnake
* @since 2023-10-25 * @since 1.0.0
*/ */
@TableName("t_role_group") @TableName("t_role_group")
class RoleGroup : Serializable { class RoleGroup : Serializable {

View File

@@ -5,12 +5,10 @@ import java.io.Serializable
import java.time.LocalDateTime import java.time.LocalDateTime
/** /**
* <p> * User entity
* 用户表
* </p>
* *
* @author FatttSnake * @author FatttSnake
* @since 2023-10-04 * @since 1.0.0
*/ */
@TableName("t_user") @TableName("t_user")
class User() : Serializable { class User() : Serializable {

View File

@@ -4,12 +4,10 @@ import com.baomidou.mybatisplus.annotation.*
import java.io.Serializable import java.io.Serializable
/** /**
* <p> * User group intermediate entity
* 中间表-用户-用户组
* </p>
* *
* @author FatttSnake * @author FatttSnake
* @since 2023-10-25 * @since 1.0.0
*/ */
@TableName("t_user_group") @TableName("t_user_group")
class UserGroup : Serializable { class UserGroup : Serializable {

View File

@@ -5,12 +5,10 @@ import java.io.Serializable
import java.time.LocalDateTime import java.time.LocalDateTime
/** /**
* <p> * User information entity
* 用户资料表
* </p>
* *
* @author FatttSnake * @author FatttSnake
* @since 2023-10-30 * @since 1.0.0
*/ */
@TableName("t_user_info") @TableName("t_user_info")
class UserInfo : Serializable { class UserInfo : Serializable {

View File

@@ -4,12 +4,10 @@ import com.baomidou.mybatisplus.annotation.*
import java.io.Serializable import java.io.Serializable
/** /**
* <p> * User role intermediate entity
* 中间表-用户-角色
* </p>
* *
* @author FatttSnake * @author FatttSnake
* @since 2023-10-25 * @since 1.0.0
*/ */
@TableName("t_user_role") @TableName("t_user_role")
class UserRole : Serializable { class UserRole : Serializable {

View File

@@ -7,12 +7,10 @@ import java.io.Serializable
import java.time.LocalDateTime import java.time.LocalDateTime
/** /**
* <p> * System log entity
* 系统日志表
* </p>
* *
* @author FatttSnake * @author FatttSnake
* @since 2023-10-18 * @since 1.0.0
*/ */
@TableName("t_sys_log") @TableName("t_sys_log")
class SysLog : Serializable { class SysLog : Serializable {

View File

@@ -1,3 +1,9 @@
package top.fatweb.api.exception package top.fatweb.api.exception
/**
* Token has expired exception
*
* @author FatttSnake
* @since 1.0.0
*/
class TokenHasExpiredException : RuntimeException("Token has expired") class TokenHasExpiredException : RuntimeException("Token has expired")

View File

@@ -6,6 +6,12 @@ import jakarta.servlet.ServletRequest
import jakarta.servlet.ServletResponse import jakarta.servlet.ServletResponse
import org.springframework.stereotype.Component import org.springframework.stereotype.Component
/**
* Exception filter
*
* @author FatttSnake
* @since 1.0.0
*/
@Component @Component
class ExceptionFilter : Filter { class ExceptionFilter : Filter {
override fun doFilter( override fun doFilter(

View File

@@ -15,6 +15,12 @@ import top.fatweb.api.util.JwtUtil
import top.fatweb.api.util.RedisUtil import top.fatweb.api.util.RedisUtil
import top.fatweb.api.util.WebUtil import top.fatweb.api.util.WebUtil
/**
* Jwt authentication token filter
*
* @author FatttSnake
* @since 1.0.0
*/
@Component @Component
class JwtAuthenticationTokenFilter(private val redisUtil: RedisUtil) : OncePerRequestFilter() { class JwtAuthenticationTokenFilter(private val redisUtil: RedisUtil) : OncePerRequestFilter() {
override fun doFilterInternal( override fun doFilterInternal(

View File

@@ -6,6 +6,12 @@ import org.springframework.stereotype.Component
import java.time.LocalDateTime import java.time.LocalDateTime
import java.time.ZoneOffset import java.time.ZoneOffset
/**
* Date meta object handler
*
* @author FatttSnake
* @since 1.0.0
*/
@Component @Component
class DataMetaObjectHandler : MetaObjectHandler { class DataMetaObjectHandler : MetaObjectHandler {
override fun insertFill(metaObject: MetaObject?) { override fun insertFill(metaObject: MetaObject?) {

View File

@@ -19,6 +19,12 @@ import top.fatweb.api.entity.common.ResponseCode
import top.fatweb.api.entity.common.ResponseResult import top.fatweb.api.entity.common.ResponseResult
import top.fatweb.api.exception.TokenHasExpiredException import top.fatweb.api.exception.TokenHasExpiredException
/**
* Exception handler
*
* @author FatttSnake
* @since 1.0.0
*/
@RestControllerAdvice @RestControllerAdvice
class ExceptionHandler { class ExceptionHandler {
private val logger: Logger = LoggerFactory.getLogger(this::class.java) private val logger: Logger = LoggerFactory.getLogger(this::class.java)

View File

@@ -6,6 +6,12 @@ import org.springframework.security.access.AccessDeniedException
import org.springframework.security.web.access.AccessDeniedHandler import org.springframework.security.web.access.AccessDeniedHandler
import org.springframework.stereotype.Component import org.springframework.stereotype.Component
/**
* Jwt access denied handler
*
* @author FatttSnake
* @since 1.0.0
*/
@Component @Component
class JwtAccessDeniedHandler : AccessDeniedHandler { class JwtAccessDeniedHandler : AccessDeniedHandler {
override fun handle( override fun handle(

View File

@@ -6,6 +6,12 @@ import org.springframework.security.core.AuthenticationException
import org.springframework.security.web.AuthenticationEntryPoint import org.springframework.security.web.AuthenticationEntryPoint
import org.springframework.stereotype.Component import org.springframework.stereotype.Component
/**
* Jwt authentication entry point handler
*
* @author FatttSnake
* @since 1.0.0
*/
@Component @Component
class JwtAuthenticationEntryPointHandler : AuthenticationEntryPoint { class JwtAuthenticationEntryPointHandler : AuthenticationEntryPoint {
override fun commence( override fun commence(

View File

@@ -22,6 +22,12 @@ import java.time.temporal.ChronoUnit
import java.util.* import java.util.*
import java.util.concurrent.Executor import java.util.concurrent.Executor
/**
* System log interceptor
*
* @author FatttSnake
* @since 1.0.0
*/
@ControllerAdvice @ControllerAdvice
class SysLogInterceptor( class SysLogInterceptor(
private val customThreadPoolTaskExecutor: Executor, private val sysLogService: ISysLogService private val customThreadPoolTaskExecutor: Executor, private val sysLogService: ISysLogService

View File

@@ -5,12 +5,10 @@ import org.apache.ibatis.annotations.Mapper
import top.fatweb.api.entity.permission.Element import top.fatweb.api.entity.permission.Element
/** /**
* <p> * Element mapper
* 页面元素表 Mapper 接口
* </p>
* *
* @author FatttSnake * @author FatttSnake
* @since 2023-10-25 * @since 1.0.0
*/ */
@Mapper @Mapper
interface ElementMapper : BaseMapper<Element> interface ElementMapper : BaseMapper<Element>

View File

@@ -6,12 +6,10 @@ import org.apache.ibatis.annotations.Mapper
import top.fatweb.api.entity.permission.Group import top.fatweb.api.entity.permission.Group
/** /**
* <p> * Group mapper
* 用户组表 Mapper 接口
* </p>
* *
* @author FatttSnake * @author FatttSnake
* @since 2023-10-25 * @since 1.0.0
*/ */
@Mapper @Mapper
interface GroupMapper : BaseMapper<Group> { interface GroupMapper : BaseMapper<Group> {

View File

@@ -5,12 +5,10 @@ import org.apache.ibatis.annotations.Mapper
import top.fatweb.api.entity.permission.Menu import top.fatweb.api.entity.permission.Menu
/** /**
* <p> * Menu mapper
* 菜单表 Mapper 接口
* </p>
* *
* @author FatttSnake * @author FatttSnake
* @since 2023-10-25 * @since 1.0.0
*/ */
@Mapper @Mapper
interface MenuMapper : BaseMapper<Menu> interface MenuMapper : BaseMapper<Menu>

View File

@@ -5,12 +5,10 @@ import org.apache.ibatis.annotations.Mapper
import top.fatweb.api.entity.permission.Module import top.fatweb.api.entity.permission.Module
/** /**
* <p> * Module mapper
* 模块表 Mapper 接口
* </p>
* *
* @author FatttSnake * @author FatttSnake
* @since 2023-10-25 * @since 1.0.0
*/ */
@Mapper @Mapper
interface ModuleMapper : BaseMapper<Module> interface ModuleMapper : BaseMapper<Module>

View File

@@ -5,12 +5,10 @@ import org.apache.ibatis.annotations.Mapper
import top.fatweb.api.entity.permission.Operation import top.fatweb.api.entity.permission.Operation
/** /**
* <p> * Operation mapper
* 功能表 Mapper 接口
* </p>
* *
* @author FatttSnake * @author FatttSnake
* @since 2023-10-25 * @since 1.0.0
*/ */
@Mapper @Mapper
interface OperationMapper : BaseMapper<Operation> interface OperationMapper : BaseMapper<Operation>

View File

@@ -5,12 +5,10 @@ import org.apache.ibatis.annotations.Mapper
import top.fatweb.api.entity.permission.Power import top.fatweb.api.entity.permission.Power
/** /**
* <p> * Power mapper
* 权限表 Mapper 接口
* </p>
* *
* @author FatttSnake * @author FatttSnake
* @since 2023-10-25 * @since 1.0.0
*/ */
@Mapper @Mapper
interface PowerMapper : BaseMapper<Power> interface PowerMapper : BaseMapper<Power>

View File

@@ -5,12 +5,10 @@ import org.apache.ibatis.annotations.Mapper
import top.fatweb.api.entity.permission.PowerRole import top.fatweb.api.entity.permission.PowerRole
/** /**
* <p> * Power role intermediate mapper
* 中间表-权限-角色 Mapper 接口
* </p>
* *
* @author FatttSnake * @author FatttSnake
* @since 2023-10-25 * @since 1.0.0
*/ */
@Mapper @Mapper
interface PowerRoleMapper : BaseMapper<PowerRole> interface PowerRoleMapper : BaseMapper<PowerRole>

View File

@@ -1,16 +0,0 @@
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.PowerType
/**
* <p>
* 权限类型表 Mapper 接口
* </p>
*
* @author FatttSnake
* @since 2023-10-25
*/
@Mapper
interface PowerTypeMapper : BaseMapper<PowerType>

View File

@@ -5,12 +5,10 @@ import org.apache.ibatis.annotations.Mapper
import top.fatweb.api.entity.permission.RoleGroup import top.fatweb.api.entity.permission.RoleGroup
/** /**
* <p> * Role group intermediate mapper
* 中间表-角色-用户组 Mapper 接口
* </p>
* *
* @author FatttSnake * @author FatttSnake
* @since 2023-10-25 * @since 1.0.0
*/ */
@Mapper @Mapper
interface RoleGroupMapper : BaseMapper<RoleGroup> interface RoleGroupMapper : BaseMapper<RoleGroup>

View File

@@ -6,12 +6,10 @@ import org.apache.ibatis.annotations.Mapper
import top.fatweb.api.entity.permission.Role import top.fatweb.api.entity.permission.Role
/** /**
* <p> * Role mapper
* 角色表 Mapper 接口
* </p>
* *
* @author FatttSnake * @author FatttSnake
* @since 2023-10-25 * @since 1.0.0
*/ */
@Mapper @Mapper
interface RoleMapper : BaseMapper<Role> { interface RoleMapper : BaseMapper<Role> {

View File

@@ -5,12 +5,10 @@ import org.apache.ibatis.annotations.Mapper
import top.fatweb.api.entity.permission.UserGroup import top.fatweb.api.entity.permission.UserGroup
/** /**
* <p> * User group intermediate mapper
* 中间表-用户-用户组 Mapper 接口
* </p>
* *
* @author FatttSnake * @author FatttSnake
* @since 2023-10-25 * @since 1.0.0
*/ */
@Mapper @Mapper
interface UserGroupMapper : BaseMapper<UserGroup> interface UserGroupMapper : BaseMapper<UserGroup>

View File

@@ -5,12 +5,10 @@ import org.apache.ibatis.annotations.Mapper
import top.fatweb.api.entity.permission.UserInfo import top.fatweb.api.entity.permission.UserInfo
/** /**
* <p> * User information mapper
* 用户资料表 Mapper 接口
* </p>
* *
* @author FatttSnake * @author FatttSnake
* @since 2023-10-30 * @since 1.0.0
*/ */
@Mapper @Mapper
interface UserInfoMapper : BaseMapper<UserInfo> interface UserInfoMapper : BaseMapper<UserInfo>

View File

@@ -6,12 +6,10 @@ import org.apache.ibatis.annotations.Param
import top.fatweb.api.entity.permission.User import top.fatweb.api.entity.permission.User
/** /**
* <p> * User mapper
* 用户表 Mapper 接口
* </p>
* *
* @author FatttSnake * @author FatttSnake
* @since 2023-10-04 * @since 1.0.0
*/ */
@Mapper @Mapper
interface UserMapper : BaseMapper<User> { interface UserMapper : BaseMapper<User> {

View File

@@ -5,12 +5,10 @@ import org.apache.ibatis.annotations.Mapper
import top.fatweb.api.entity.permission.UserRole import top.fatweb.api.entity.permission.UserRole
/** /**
* <p> * User role intermediate mapper
* 中间表-用户-角色 Mapper 接口
* </p>
* *
* @author FatttSnake * @author FatttSnake
* @since 2023-10-25 * @since 1.0.0
*/ */
@Mapper @Mapper
interface UserRoleMapper : BaseMapper<UserRole> interface UserRoleMapper : BaseMapper<UserRole>

View File

@@ -7,12 +7,10 @@ import top.fatweb.api.entity.system.SysLog
import java.time.LocalDateTime import java.time.LocalDateTime
/** /**
* <p> * System log mapper
* 系统日志表 Mapper 接口
* </p>
* *
* @author FatttSnake * @author FatttSnake
* @since 2023-10-18 * @since 1.0.0
*/ */
@Mapper @Mapper
interface SysLogMapper : BaseMapper<SysLog> { interface SysLogMapper : BaseMapper<SysLog> {

View File

@@ -3,6 +3,12 @@ package top.fatweb.api.param
import io.swagger.v3.oas.annotations.media.Schema import io.swagger.v3.oas.annotations.media.Schema
import jakarta.validation.constraints.Min import jakarta.validation.constraints.Min
/**
* Page sort param
*
* @author FatttSnake
* @since 1.0.0
*/
open class PageSortParam { open class PageSortParam {
@Schema(description = "分页页码", example = "1", defaultValue = "1") @Schema(description = "分页页码", example = "1", defaultValue = "1")
@field:Min(1, message = "Pagination page number must be a positive integer") @field:Min(1, message = "Pagination page number must be a positive integer")

View File

@@ -3,6 +3,12 @@ package top.fatweb.api.param.authentication
import io.swagger.v3.oas.annotations.media.Schema import io.swagger.v3.oas.annotations.media.Schema
import jakarta.validation.constraints.NotBlank import jakarta.validation.constraints.NotBlank
/**
* Group add param
*
* @author FatttSnake
* @since 1.0.0
*/
@Schema(description = "用户组添加请求参数") @Schema(description = "用户组添加请求参数")
data class GroupAddParam( data class GroupAddParam(
@Schema(description = "用户组名称") @Schema(description = "用户组名称")

View File

@@ -4,6 +4,12 @@ import io.swagger.v3.oas.annotations.media.Schema
import jakarta.validation.constraints.Min import jakarta.validation.constraints.Min
import jakarta.validation.constraints.NotNull import jakarta.validation.constraints.NotNull
/**
* Group change status param
*
* @author FatttSnake
* @since 1.0.0
*/
@Schema(description = "用户组更改状态请求参数") @Schema(description = "用户组更改状态请求参数")
data class GroupChangeStatusParam( data class GroupChangeStatusParam(
@Schema(description = "用户组 ID") @Schema(description = "用户组 ID")

View File

@@ -2,6 +2,12 @@ package top.fatweb.api.param.authentication
import io.swagger.v3.oas.annotations.media.Schema import io.swagger.v3.oas.annotations.media.Schema
/**
* Group delete param
*
* @author FatttSnake
* @since 1.0.0
*/
@Schema(description = "用户组删除请求参数") @Schema(description = "用户组删除请求参数")
data class GroupDeleteParam( data class GroupDeleteParam(
@Schema(description = "用户组 ID 列表") @Schema(description = "用户组 ID 列表")

View File

@@ -3,6 +3,12 @@ package top.fatweb.api.param.authentication
import io.swagger.v3.oas.annotations.media.Schema import io.swagger.v3.oas.annotations.media.Schema
import top.fatweb.api.param.PageSortParam import top.fatweb.api.param.PageSortParam
/**
* Group get param
*
* @author FatttSnake
* @since 1.0.0
*/
@Schema(description = "用户组查询请求参数") @Schema(description = "用户组查询请求参数")
data class GroupGetParam( data class GroupGetParam(
@Schema(description = "查询用户组名称") @Schema(description = "查询用户组名称")

View File

@@ -4,6 +4,12 @@ import io.swagger.v3.oas.annotations.media.Schema
import jakarta.validation.constraints.Min import jakarta.validation.constraints.Min
import jakarta.validation.constraints.NotBlank import jakarta.validation.constraints.NotBlank
/**
* Group update param
*
* @author FatttSnake
* @since 1.0.0
*/
@Schema(description = "用户组更新请求参数") @Schema(description = "用户组更新请求参数")
data class GroupUpdateParam( data class GroupUpdateParam(
@Schema(description = "用户组 ID") @Schema(description = "用户组 ID")

View File

@@ -3,6 +3,12 @@ package top.fatweb.api.param.authentication
import io.swagger.v3.oas.annotations.media.Schema import io.swagger.v3.oas.annotations.media.Schema
import jakarta.validation.constraints.NotBlank import jakarta.validation.constraints.NotBlank
/**
* Login param
*
* @author FatttSnake
* @since 1.0.0
*/
@Schema(description = "登录请求参数") @Schema(description = "登录请求参数")
data class LoginParam( data class LoginParam(
@Schema(description = "用户名", example = "test", required = true) @Schema(description = "用户名", example = "test", required = true)

View File

@@ -3,6 +3,12 @@ package top.fatweb.api.param.authentication
import io.swagger.v3.oas.annotations.media.Schema import io.swagger.v3.oas.annotations.media.Schema
import jakarta.validation.constraints.NotBlank import jakarta.validation.constraints.NotBlank
/**
* Role add param
*
* @author FatttSnake
* @since 1.0.0
*/
@Schema(description = "角色添加请求参数") @Schema(description = "角色添加请求参数")
data class RoleAddParam( data class RoleAddParam(
@Schema(description = "角色名称") @Schema(description = "角色名称")

View File

@@ -4,6 +4,12 @@ import io.swagger.v3.oas.annotations.media.Schema
import jakarta.validation.constraints.Min import jakarta.validation.constraints.Min
import jakarta.validation.constraints.NotNull import jakarta.validation.constraints.NotNull
/**
* Role change status param
*
* @author FatttSnake
* @since 1.0.0
*/
@Schema(description = "角色更改状态请求参数") @Schema(description = "角色更改状态请求参数")
data class RoleChangeStatusParam( data class RoleChangeStatusParam(
@Schema(description = "角色 ID") @Schema(description = "角色 ID")

View File

@@ -2,6 +2,12 @@ package top.fatweb.api.param.authentication
import io.swagger.v3.oas.annotations.media.Schema import io.swagger.v3.oas.annotations.media.Schema
/**
* Role delete param
*
* @author FatttSnake
* @since 1.0.0
*/
@Schema(description = "角色删除请求参数") @Schema(description = "角色删除请求参数")
data class RoleDeleteParam( data class RoleDeleteParam(
@Schema(description = "角色 ID 列表") @Schema(description = "角色 ID 列表")

View File

@@ -3,6 +3,12 @@ package top.fatweb.api.param.authentication
import io.swagger.v3.oas.annotations.media.Schema import io.swagger.v3.oas.annotations.media.Schema
import top.fatweb.api.param.PageSortParam import top.fatweb.api.param.PageSortParam
/**
* Role get param
*
* @author FatttSnake
* @since 1.0.0
*/
@Schema(description = "角色查询请求参数") @Schema(description = "角色查询请求参数")
data class RoleGetParam( data class RoleGetParam(
@Schema(description = "查询角色名称") @Schema(description = "查询角色名称")

View File

@@ -4,6 +4,12 @@ import io.swagger.v3.oas.annotations.media.Schema
import jakarta.validation.constraints.Min import jakarta.validation.constraints.Min
import jakarta.validation.constraints.NotBlank import jakarta.validation.constraints.NotBlank
/**
* Role update param
*
* @author FatttSnake
* @since 1.0.0
*/
@Schema(description = "角色更新请求参数") @Schema(description = "角色更新请求参数")
data class RoleUpdateParam( data class RoleUpdateParam(
@Schema(description = "角色 ID") @Schema(description = "角色 ID")

View File

@@ -5,6 +5,12 @@ import org.springframework.format.annotation.DateTimeFormat
import top.fatweb.api.param.PageSortParam import top.fatweb.api.param.PageSortParam
import java.time.LocalDateTime import java.time.LocalDateTime
/**
* System log get param
*
* @author FatttSnake
* @since 1.0.0
*/
@Schema(description = "获取系统日志请求参数") @Schema(description = "获取系统日志请求参数")
data class SysLogGetParam( data class SysLogGetParam(
@Schema(description = "类型过滤(多个使用逗号分隔)", example = "INFO", allowableValues = ["INFO", "ERROR"]) @Schema(description = "类型过滤(多个使用逗号分隔)", example = "INFO", allowableValues = ["INFO", "ERROR"])

View File

@@ -3,6 +3,12 @@ package top.fatweb.api.properties
import org.springframework.boot.context.properties.ConfigurationProperties import org.springframework.boot.context.properties.ConfigurationProperties
import org.springframework.stereotype.Component import org.springframework.stereotype.Component
/**
* Admin properties
*
* @author FatttSnake
* @since 1.0.0
*/
@Component @Component
@ConfigurationProperties("app.admin") @ConfigurationProperties("app.admin")
object AdminProperties { object AdminProperties {

View File

@@ -4,6 +4,12 @@ import org.springframework.boot.context.properties.ConfigurationProperties
import org.springframework.stereotype.Component import org.springframework.stereotype.Component
import java.util.concurrent.TimeUnit import java.util.concurrent.TimeUnit
/**
* Security properties
*
* @author FatttSnake
* @since 1.0.0
*/
@Component @Component
@ConfigurationProperties("app.security") @ConfigurationProperties("app.security")
object SecurityProperties { object SecurityProperties {

View File

@@ -6,6 +6,12 @@ import java.time.LocalDateTime
import java.time.ZoneId import java.time.ZoneId
import java.time.ZonedDateTime import java.time.ZonedDateTime
/**
* Application properties
*
* @author FatttSnake
* @since 1.0.0
*/
@Component @Component
@ConfigurationProperties("app") @ConfigurationProperties("app")
object ServerProperties { object ServerProperties {

View File

@@ -5,6 +5,12 @@ import top.fatweb.api.entity.permission.User
import top.fatweb.api.vo.permission.LoginVo import top.fatweb.api.vo.permission.LoginVo
import top.fatweb.api.vo.permission.TokenVo import top.fatweb.api.vo.permission.TokenVo
/**
* Authentication service interface
*
* @author FatttSnake
* @since 1.0.0
*/
interface IAuthenticationService { interface IAuthenticationService {
fun login(request: HttpServletRequest, user: User): LoginVo fun login(request: HttpServletRequest, user: User): LoginVo

View File

@@ -4,11 +4,9 @@ import com.baomidou.mybatisplus.extension.service.IService
import top.fatweb.api.entity.permission.Element import top.fatweb.api.entity.permission.Element
/** /**
* <p> * Element service interface
* 页面元素表 服务类
* </p>
* *
* @author FatttSnake * @author FatttSnake
* @since 2023-10-25 * @since 1.0.0
*/ */
interface IElementService : IService<Element> interface IElementService : IService<Element>

View File

@@ -8,12 +8,10 @@ import top.fatweb.api.vo.permission.GroupVo
import top.fatweb.api.vo.permission.GroupWithRoleVo import top.fatweb.api.vo.permission.GroupWithRoleVo
/** /**
* <p> * Group service interface
* 用户组表 服务类
* </p>
* *
* @author FatttSnake * @author FatttSnake
* @since 2023-10-25 * @since 1.0.0
*/ */
interface IGroupService : IService<Group> { interface IGroupService : IService<Group> {
fun getPage(groupGetParam: GroupGetParam?): PageVo<GroupWithRoleVo> fun getPage(groupGetParam: GroupGetParam?): PageVo<GroupWithRoleVo>

View File

@@ -4,11 +4,9 @@ import com.baomidou.mybatisplus.extension.service.IService
import top.fatweb.api.entity.permission.Menu import top.fatweb.api.entity.permission.Menu
/** /**
* <p> * Menu service interface
* 菜单表 服务类
* </p>
* *
* @author FatttSnake * @author FatttSnake
* @since 2023-10-25 * @since 1.0.0
*/ */
interface IMenuService : IService<Menu> interface IMenuService : IService<Menu>

View File

@@ -4,11 +4,9 @@ import com.baomidou.mybatisplus.extension.service.IService
import top.fatweb.api.entity.permission.Module import top.fatweb.api.entity.permission.Module
/** /**
* <p> * Module service interface
* 模块表 服务类
* </p>
* *
* @author FatttSnake * @author FatttSnake
* @since 2023-10-25 * @since 1.0.0
*/ */
interface IModuleService : IService<Module> interface IModuleService : IService<Module>

View File

@@ -4,11 +4,9 @@ import com.baomidou.mybatisplus.extension.service.IService
import top.fatweb.api.entity.permission.Operation import top.fatweb.api.entity.permission.Operation
/** /**
* <p> * Operation service interface
* 功能表 服务类
* </p>
* *
* @author FatttSnake * @author FatttSnake
* @since 2023-10-25 * @since 1.0.0
*/ */
interface IOperationService : IService<Operation> interface IOperationService : IService<Operation>

View File

@@ -4,11 +4,9 @@ import com.baomidou.mybatisplus.extension.service.IService
import top.fatweb.api.entity.permission.PowerRole import top.fatweb.api.entity.permission.PowerRole
/** /**
* <p> * Power role intermediate service interface
* 中间表-权限-角色 服务类
* </p>
* *
* @author FatttSnake * @author FatttSnake
* @since 2023-10-25 * @since 1.0.0
*/ */
interface IPowerRoleService : IService<PowerRole> interface IPowerRoleService : IService<PowerRole>

View File

@@ -5,12 +5,10 @@ import top.fatweb.api.entity.permission.Power
import top.fatweb.api.vo.permission.PowerSetVo import top.fatweb.api.vo.permission.PowerSetVo
/** /**
* <p> * Power service interface
* 权限表 服务类
* </p>
* *
* @author FatttSnake * @author FatttSnake
* @since 2023-10-25 * @since 1.0.0
*/ */
interface IPowerService : IService<Power> { interface IPowerService : IService<Power> {
fun getList(): PowerSetVo fun getList(): PowerSetVo

View File

@@ -1,14 +0,0 @@
package top.fatweb.api.service.permission
import com.baomidou.mybatisplus.extension.service.IService
import top.fatweb.api.entity.permission.PowerType
/**
* <p>
* 权限类型表 服务类
* </p>
*
* @author FatttSnake
* @since 2023-10-25
*/
interface IPowerTypeService : IService<PowerType>

View File

@@ -4,11 +4,9 @@ import com.baomidou.mybatisplus.extension.service.IService
import top.fatweb.api.entity.permission.RoleGroup import top.fatweb.api.entity.permission.RoleGroup
/** /**
* <p> * Role group intermediate service interface
* 中间表-角色-用户组 服务类
* </p>
* *
* @author FatttSnake * @author FatttSnake
* @since 2023-10-25 * @since 1.0.0
*/ */
interface IRoleGroupService : IService<RoleGroup> interface IRoleGroupService : IService<RoleGroup>

View File

@@ -8,12 +8,10 @@ import top.fatweb.api.vo.permission.RoleVo
import top.fatweb.api.vo.permission.RoleWithPowerVo import top.fatweb.api.vo.permission.RoleWithPowerVo
/** /**
* <p> * Role service interface
* 角色表 服务类
* </p>
* *
* @author FatttSnake * @author FatttSnake
* @since 2023-10-25 * @since 1.0.0
*/ */
interface IRoleService : IService<Role> { interface IRoleService : IService<Role> {
fun getPage(roleGetParam: RoleGetParam?): PageVo<RoleWithPowerVo> fun getPage(roleGetParam: RoleGetParam?): PageVo<RoleWithPowerVo>

View File

@@ -4,11 +4,9 @@ import com.baomidou.mybatisplus.extension.service.IService
import top.fatweb.api.entity.permission.UserGroup import top.fatweb.api.entity.permission.UserGroup
/** /**
* <p> * User group intermediate service interface
* 中间表-用户-用户组 服务类
* </p>
* *
* @author FatttSnake * @author FatttSnake
* @since 2023-10-25 * @since 1.0.0
*/ */
interface IUserGroupService : IService<UserGroup> interface IUserGroupService : IService<UserGroup>

View File

@@ -4,11 +4,9 @@ import com.baomidou.mybatisplus.extension.service.IService
import top.fatweb.api.entity.permission.UserInfo import top.fatweb.api.entity.permission.UserInfo
/** /**
* <p> * User information service interface
* 用户资料表 服务类
* </p>
* *
* @author FatttSnake * @author FatttSnake
* @since 2023-10-30 * @since 1.0.0
*/ */
interface IUserInfoService : IService<UserInfo> interface IUserInfoService : IService<UserInfo>

Some files were not shown because too many files have changed in this diff Show More