提交roll日创建

This commit is contained in:
2026-07-14 19:38:41 +08:00
parent 01444937bd
commit 65c290c973
8 changed files with 87 additions and 9 deletions
@@ -386,7 +386,7 @@ public class TtUserServiceImpl extends ServiceImpl<TtUserMapper, TtUser> impleme
List<TtUser> userList = new ArrayList<>();
for (int i = 0; i < num; i++) {
String phoneNumber = getRandomPhoneNumber();
String nickName = RandomUtils.getRandomMixedName(new Random().nextInt(2));
String nickName = RandomUtils.getRandomNetName();
String password = RandomUtil.randomString(10);
String invitationCode = getInvitationCode();
TtUser ttUser = TtUser.builder().build();
@@ -88,6 +88,80 @@ public class RandomUtils {
}
}
// 网名词库——意境前缀词(可与后缀词或名词组合)
private static final String[] NET_NAME_PREFIX = {
"清风", "烟雨", "陌上", "半夏", "浅唱", "微凉", "时光", "旧梦", "南巷", "北岛",
"青柠", "暖阳", "薄荷", "深海", "孤城", "初见", "故人", "流年", "听风", "看海",
"望月", "踏雪", "临风", "揽月", "拾光", "倾城", "繁华", "落花", "飞雪", "听雨",
"拂晓", "黄昏", "星河", "云端", "醉梦", "寻香", "森屿", "橘子", "柠檬", "樱花"
};
// 网名词库——意境后缀词
private static final String[] NET_NAME_SUFFIX = {
"徐来", "花开", "微凉", "易碎", "如初", "未央", "成殇", "如故", "倾城", "难忘",
"向暖", "微光", "暖阳", "成诗", "入梦", "听雨", "观海", "望月", "忘忧", "无痕",
"留香", "寻梦", "逐月", "伴云", "听风", "化蝶", "成风", "如雪", "知返", "初雪",
"未晚", "南栀", "北辰", "浅忆", "不归", "旧梦"
};
// 网名词库——修饰词
private static final String[] NET_NAME_ADJ = {
"孤独", "安静", "温柔", "冷漠", "可爱", "霸道", "忧伤", "快乐", "迷人", "神秘",
"傲娇", "呆萌", "慵懒", "优雅", "洒脱", "深情", "清冷", "明媚", "乖巧", "桀骜",
"疏离", "恬静", "率性", "孤傲", "高冷", "软萌", "元气", "佛系"
};
// 网名词库——名词
private static final String[] NET_NAME_NOUN = {
"少年", "姑娘", "旅人", "小猫", "小狼", "蔷薇", "玫瑰", "月光", "星辰", "江南",
"女子", "先生", "公子", "佳人", "行者", "歌者", "诗人", "剑客", "浪子", "书生",
"猫咪", "橘猫", "仙人", "过客", "看客", "路人", "画师", "少女"
};
// 网名末尾装饰符号
private static final String[] NET_NAME_DECOR = {"", "°", "", "^", "~"};
/**
* 生成随机网名(网络昵称风格)
* 通过意境词、修饰词、名词等多种模式随机组合,并小概率追加符号/数字后缀,贴近真实网络昵称
*
* @return 随机网名
*/
public static String getRandomNetName() {
Random random = new Random();
String name;
switch (random.nextInt(4)) {
case 0:
// 意境前缀 + 意境后缀,如"清风徐来"
name = NET_NAME_PREFIX[random.nextInt(NET_NAME_PREFIX.length)]
+ NET_NAME_SUFFIX[random.nextInt(NET_NAME_SUFFIX.length)];
break;
case 1:
// 修饰词 + 的 + 名词,如"孤独的旅人"
name = NET_NAME_ADJ[random.nextInt(NET_NAME_ADJ.length)] + ""
+ NET_NAME_NOUN[random.nextInt(NET_NAME_NOUN.length)];
break;
case 2:
// 修饰词 + 名词,如"清冷少年"
name = NET_NAME_ADJ[random.nextInt(NET_NAME_ADJ.length)]
+ NET_NAME_NOUN[random.nextInt(NET_NAME_NOUN.length)];
break;
default:
// 意境前缀 + 名词,如"烟雨江南"
name = NET_NAME_PREFIX[random.nextInt(NET_NAME_PREFIX.length)]
+ NET_NAME_NOUN[random.nextInt(NET_NAME_NOUN.length)];
break;
}
// 约 40% 概率追加装饰符号或数字后缀,更贴近真实网名
int decorType = random.nextInt(5);
if (decorType == 0) {
name += NET_NAME_DECOR[random.nextInt(NET_NAME_DECOR.length)];
} else if (decorType == 1) {
name += random.nextInt(100);
}
return name;
}
private static String getRandomName(String name) {
int bodNameIndexOne = randomInt(name.length());
int bodNameIndexTwo = randomInt(name.length());