refactor: 通知公告重构

This commit is contained in:
Ray.Hao
2024-09-27 08:33:55 +08:00
parent ec180c0029
commit c25638f257
75 changed files with 750 additions and 805 deletions

View File

@@ -1,27 +0,0 @@
package com.youlai.boot.common.enums;
/**
* EasyCaptcha 验证码类型枚举
*
* @author haoxr
* @since 2.5.1
*/
public enum CaptchaTypeEnum {
/**
* 圆圈干扰验证码
*/
CIRCLE,
/**
* GIF验证码
*/
GIF,
/**
* 干扰线验证码
*/
LINE,
/**
* 扭曲干扰验证码
*/
SHEAR
}

View File

@@ -1,19 +0,0 @@
package com.youlai.boot.common.enums;
/**
* 联系方式类型
*
* @author Ray
* @since 2.10.0
*/
public enum ContactType {
/**
* 手机
*/
MOBILE,
/**
* 邮箱
*/
EMAIL
}

View File

@@ -1,84 +0,0 @@
package com.youlai.boot.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
import com.youlai.boot.common.base.IBaseEnum;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
/**
* 表单类型枚举
*
* @author Ray
* @since 2.10.0
*/
@Getter
@RequiredArgsConstructor
public enum FormTypeEnum implements IBaseEnum<Integer> {
/**
* 输入框
*/
INPUT(1, "输入框"),
/**
* 下拉框
*/
SELECT(2, "下拉框"),
/**
* 单选框
*/
RADIO(3, "单选框"),
/**
* 复选框
*/
CHECK_BOX(4, "复选框"),
/**
* 数字输入框
*/
INPUT_NUMBER(5, "数字输入框"),
/**
* 开关
*/
SWITCH(6, "开关"),
/**
* 文本域
*/
TEXT_AREA(7, "文本域"),
/**
* 日期时间框
*/
DATE(8, "日期框"),
/**
* 日期框
*/
DATE_TIME(9, "日期时间框");
// Mybatis-Plus 提供注解表示插入数据库时插入该值
@EnumValue
@JsonValue
private final Integer value;
// @JsonValue // 表示对枚举序列化时返回此字段
private final String label;
@JsonCreator
public static QueryTypeEnum fromValue(Integer value) {
for (QueryTypeEnum type : QueryTypeEnum.values()) {
if (type.getValue().equals(value)) {
return type;
}
}
throw new IllegalArgumentException("No enum constant with value " + value);
}
}

View File

@@ -1,28 +0,0 @@
package com.youlai.boot.common.enums;
import com.youlai.boot.common.base.IBaseEnum;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
/**
* 性别枚举
*
* @author haoxr
* @since 2022/10/14
*/
@Getter
@Schema(enumAsRef = true)
public enum GenderEnum implements IBaseEnum<Integer> {
MALE(1, ""),
FEMALE (2, "");
private final Integer value;
private final String label;
GenderEnum(Integer value, String label) {
this.value = value;
this.label = label;
}
}

View File

@@ -1,84 +0,0 @@
package com.youlai.boot.common.enums;
import lombok.Getter;
import java.util.HashMap;
import java.util.Map;
/**
* 表单类型枚举
*
* @author Ray
* @since 2.10.0
*/
@Getter
public enum JavaTypeEnum {
VARCHAR("varchar", "String", "string"),
CHAR("char", "String", "string"),
BLOB("blob", "byte[]", "Uint8Array"),
TEXT("text", "String", "string"),
JSON("json", "String", "any"),
INTEGER("int", "Integer", "number"),
TINYINT("tinyint", "Integer", "number"),
SMALLINT("smallint", "Integer", "number"),
MEDIUMINT("mediumint", "Integer", "number"),
BIGINT("bigint", "Long", "number"),
FLOAT("float", "Float", "number"),
DOUBLE("double", "Double", "number"),
DECIMAL("decimal", "BigDecimal", "number"),
DATE("date", "LocalDate", "Date"),
DATETIME("datetime", "LocalDateTime", "Date");
// 数据库类型
private final String dbType;
// Java类型
private final String javaType;
// TypeScript类型
private final String tsType;
// 数据库类型和Java类型的映射
private static final Map<String, JavaTypeEnum> typeMap = new HashMap<>();
// 初始化映射关系
static {
for (JavaTypeEnum javaTypeEnum : JavaTypeEnum.values()) {
typeMap.put(javaTypeEnum.getDbType(), javaTypeEnum);
}
}
JavaTypeEnum(String dbType, String javaType, String tsType) {
this.dbType = dbType;
this.javaType = javaType;
this.tsType = tsType;
}
/**
* 根据数据库类型获取对应的Java类型
*
* @param columnType 列类型
* @return 对应的Java类型
*/
public static String getJavaTypeByColumnType(String columnType) {
JavaTypeEnum javaTypeEnum = typeMap.get(columnType);
if (javaTypeEnum != null) {
return javaTypeEnum.getJavaType();
}
return null;
}
/**
* 根据Java类型获取对应的TypeScript类型
*
* @param javaType Java类型
* @return 对应的TypeScript类型
*/
public static String getTsTypeByJavaType(String javaType) {
for (JavaTypeEnum javaTypeEnum : JavaTypeEnum.values()) {
if (javaTypeEnum.getJavaType().equals(javaType)) {
return javaTypeEnum.getTsType();
}
}
return null;
}
}

View File

@@ -1,34 +0,0 @@
package com.youlai.boot.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import com.youlai.boot.common.base.IBaseEnum;
import lombok.Getter;
/**
* 菜单类型枚举
*
* @author haoxr
* @since 2022/4/23 9:36
*/
@Getter
public enum MenuTypeEnum implements IBaseEnum<Integer> {
NULL(0, null),
MENU(1, "菜单"),
CATALOG(2, "目录"),
EXTLINK(3, "外链"),
BUTTON(4, "按钮");
// Mybatis-Plus 提供注解表示插入数据库时插入该值
@EnumValue
private final Integer value;
// @JsonValue // 表示对枚举序列化时返回此字段
private final String label;
MenuTypeEnum(Integer value, String label) {
this.value = value;
this.label = label;
}
}

View File

@@ -1,33 +0,0 @@
package com.youlai.boot.common.enums;
import com.youlai.boot.common.base.IBaseEnum;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
/**
* 通知类型枚举
* 0-系统消息
*
* @since 2024-9-1 17:33:06
* @author Theo
*/
@Getter
@RequiredArgsConstructor
public enum NoticeTypeEnum implements IBaseEnum<Integer> {
/**
* 通知类型
*/
SYSTEM_MESSAGE(0, "系统消息");
@Getter
private Integer value;
@Getter
private String label;
NoticeTypeEnum(Integer value, String label) {
this.value = value;
this.label = label;
}
}

View File

@@ -1,30 +0,0 @@
package com.youlai.boot.common.enums;
import com.youlai.boot.common.base.IBaseEnum;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
/**
* 通知方式枚举
* @author Theo
* @since 2024-9-2 14:32:58
*/
@Getter
@RequiredArgsConstructor
public enum NoticeWayEnum implements IBaseEnum<String> {
/**
* 通知方式
*/
WEBSOCKET("webSocket", "发送websocket消息");
@Getter
private String value;
@Getter
private String label;
NoticeWayEnum(String value, String label) {
this.value = value;
this.label = label;
}
}

View File

@@ -1,73 +0,0 @@
package com.youlai.boot.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
import com.youlai.boot.common.base.IBaseEnum;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
/**
* 查询类型枚举
*
* @author Ray
* @since 2.10.0
*/
@Getter
@RequiredArgsConstructor
public enum QueryTypeEnum implements IBaseEnum<Integer> {
/** 等于 */
EQ(1, "="),
/** 模糊匹配 */
LIKE(2, "LIKE '%s%'"),
/** 包含 */
IN(3, "IN"),
/** 范围 */
BETWEEN(4, "BETWEEN"),
/** 大于 */
GT(5, ">"),
/** 大于等于 */
GE(6, ">="),
/** 小于 */
LT(7, "<"),
/** 小于等于 */
LE(8, "<="),
/** 不等于 */
NE(9, "!="),
/** 左模糊匹配 */
LIKE_LEFT(10, "LIKE '%s'"),
/** 右模糊匹配 */
LIKE_RIGHT(11, "LIKE 's%'");
// 存储在数据库中的枚举属性值
@EnumValue
@JsonValue
private final Integer value;
// 序列化成 JSON 时的属性值
private final String label;
@JsonCreator
public static QueryTypeEnum fromValue(Integer value) {
for (QueryTypeEnum type : QueryTypeEnum.values()) {
if (type.getValue().equals(value)) {
return type;
}
}
throw new IllegalArgumentException("No enum constant with value " + value);
}
}

View File

@@ -9,16 +9,16 @@ import lombok.Getter;
* @author haoxr
* @since 2022/10/14
*/
@Getter
public enum StatusEnum implements IBaseEnum<Integer> {
ENABLE(1, "启用"),
DISABLE (0, "禁用");
@Getter
private Integer value;
private final Integer value;
@Getter
private String label;
private final String label;
StatusEnum(Integer value, String label) {
this.value = value;

View File

@@ -1,67 +0,0 @@
package com.youlai.boot.common.util;
import com.youlai.boot.common.constant.SymbolConstant;
import java.util.List;
import java.util.stream.Collectors;
/**
* 通用工具类
*
* @author Theo
* @since 2024-9-1 23:42:33
* @version 1.0.0
*/
public class CommonUtil {
private CommonUtil(){}
/**
* 将List转换为字符串
*
* @param list List
* @param separator 分隔符
* @return 字符串
*/
public static String listToStr(List<String> list, String separator) {
return list.stream().collect(Collectors.joining(separator));
}
/**
* 将字符串转换为List
*
* @param list List
* @return List
*/
public static String listToStr(List<String> list) {
return listToStr(list, SymbolConstant.COMMA);
}
/**
* 将字符串转换为List
*
* @param str 字符串
* @return List
*/
public static List<String> strToList(String str) {
return strToList(str, SymbolConstant.COMMA);
}
/**
* 将字符串转换为List
*
* @param str 字符串
* @param separator 分隔符
* @return List
*/
public static List<String> strToList(String str, String separator) {
return List.of(str.split(separator));
}
public static String delHtmlTags(String htmlStr) {
return htmlStr.replaceAll("<[^>]+>", "");
}
}