Add sensitive word filter

This commit is contained in:
2024-01-04 17:55:41 +08:00
parent f3b63ce17d
commit 3b9111392e
21 changed files with 466 additions and 9 deletions

View File

@@ -15,6 +15,7 @@ enum class ResponseCode(val code: Int) {
SYSTEM_ARGUMENT_NOT_VALID(BusinessCode.SYSTEM, 53),
SYSTEM_INVALID_CAPTCHA_CODE(BusinessCode.SYSTEM, 54),
SYSTEM_REQUEST_TOO_FREQUENT(BusinessCode.SYSTEM, 55),
SYSTEM_MATCH_SENSITIVE_WORD(BusinessCode.SYSTEM, 56),
PERMISSION_LOGIN_SUCCESS(BusinessCode.PERMISSION, 0),
PERMISSION_PASSWORD_CHANGE_SUCCESS(BusinessCode.PERMISSION, 1),

View File

@@ -0,0 +1,63 @@
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.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler
import com.fasterxml.jackson.annotation.JsonValue
import java.io.Serializable
/**
* Sensitive word entity
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableName("t_sensitive_word", autoResultMap = true)
class SensitiveWord : Serializable {
enum class Use(@field:EnumValue @field:JsonValue val code: String) {
USERNAME("USERNAME"), TITLE("TITLE");
}
/**
* ID
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableId("id")
var id: Long? = null
/**
* Word
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("word")
var word: String? = null
/**
* Use for
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField(value = "use_for", typeHandler = JacksonTypeHandler::class)
@JvmField
var useFor: Set<String>? = null
/**
* Enable
*
* @author FatttSnake, fatttsnake@gmail.com
* @since 1.0.0
*/
@TableField("enable")
var enable: Int? = null
override fun toString(): String {
return "SensitiveWord(id=$id, word=$word, useFor=$useFor, enable=$enable)"
}
}