| | |
| | | * @date 2022/9/7 |
| | | */ |
| | | public class RandomUtils { |
| | | /** |
| | | * 用户名 |
| | | */ |
| | | private static final String NICK_NAME = "NK"; |
| | | |
| | | /** |
| | | * 标记长度 |
| | | */ |
| | | public static final int SIGN_LENGTH = 6; |
| | | |
| | | /** |
| | | * 标记格式化格式化字符串 |
| | | */ |
| | | private static final String FORMT_STRING = "888888"; |
| | | |
| | | private static final String FORMT_STRING_0 = "000000"; |
| | | |
| | | /** |
| | | * 获取用户名 |
| | | * |
| | | * @param userId |
| | | * @return |
| | | */ |
| | | public static String getUserId(long userId) { |
| | | return NICK_NAME + formatSign(userId) |
| | | + generateRandomInt(SIGN_LENGTH); |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 格式化标记 |
| | | * |
| | | * @return4 |
| | | */ |
| | | public static String formatSign(Integer param, Integer lenght) { |
| | | String str = Long.toString(param); |
| | | int length = str.length() - lenght; |
| | | if (length == 0) { |
| | | return str; |
| | | } else if (length < 0) { |
| | | str = "0" + str; |
| | | return FORMT_STRING_0.substring(0, Math.abs(length) - 1) + str; |
| | | } else { |
| | | return str.substring(length); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 格式化标记 |
| | | * |
| | | * @return4 |
| | | */ |
| | | private static String formatSign(long param) { |
| | | String str = Long.toString(param); |
| | | int length = str.length() - SIGN_LENGTH; |
| | | if (length == 0) { |
| | | return str; |
| | | } else if (length < 0) { |
| | | str = "0" + str; |
| | | return FORMT_STRING.substring(0, Math.abs(length) - 1) + str; |
| | | } else { |
| | | return str.substring(length); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 获取指定长度(1位到9位)的随机数字字符串 |
| | | * |
| | | * @param length 大于1 小于9 |
| | | * @return |
| | | */ |
| | | public static String generateRandomInt(int length) { |
| | | length = length < 1 ? 1 : length; |
| | | length = length > 9 ? 9 : length; |
| | | int max = ((int) Math.pow(10, length)) - 1; |
| | | int min = (int) Math.pow(10, length - 1); |
| | | return String.valueOf((int) (Math.random() * (max - min) + min)); |
| | | } |
| | | } |