This commit is contained in:
jsowell
2026-05-14 17:12:04 +08:00
parent 61603f56d4
commit fa641a8563
12 changed files with 129 additions and 70 deletions

View File

@@ -147,15 +147,12 @@ public class IdUtils {
* 生成八位会员id
*/
public static String getMemberId() {
long id = Long.parseLong(SnowflakeIdWorker.getSnowflakeId());
StringBuilder sb = new StringBuilder(id + "");
StringBuilder reverse = sb.reverse();// 将id翻转我们发现id很长且高位很长部分是一样的数
id = new Long(reverse.toString()) / 1000;// 切去部分长度
while (id > 100000000) {
id /= 10;
}
Integer num = Integer.parseInt(id + "");
return String.valueOf(num);
long snowflakeId = Long.parseLong(SnowflakeIdWorker.getSnowflakeId());
// 对雪花 ID 做轻量混洗,再压缩到 8 位数字区间,分布比原来的“反转后截断”更均匀。
long mixed = snowflakeId ^ (snowflakeId >>> 33) ^ (snowflakeId >>> 17);
long memberId = Math.floorMod(mixed, 90000000L) + 10000000L;
return String.valueOf(memberId);
}
/**