anderx лет назад: 7
Родитель
Сommit
15f59aa743

+ 56 - 0
src/main/java/com/goafanti/common/utils/InvitationCodeUtils.java

@@ -0,0 +1,56 @@
+package com.goafanti.common.utils;
+
+import java.util.Date;
+import java.util.Random;
+
+
+public class InvitationCodeUtils {
+	/** 自定义进制(选择你想要的进制数,不能重复且最好不要0、1这些容易混淆的字符) */
+    private static final char[] r=new char[]{'Q', 'W', 'E', '8', 'S', '2', 'D', 'Z', 'X', '9', 'C', '7', 'P', '5', 'K', '3', 'M', 'J', 'U', 'F', 'R', '4', 'V', 'Y', 'T', 'N', '6', 'B', 'G', 'H'};
+ 
+    /** 定义一个字符用来补全邀请码长度(该字符前面是计算出来的邀请码,后面是用来补全用的) */
+    private static final char b='a';
+ 
+    /** 进制长度 */
+    private static final int binLen=r.length;
+ 
+    /** 邀请码长度 */
+    private static final int s=6;
+ 
+    /**
+     * 根据ID生成随机码
+     * @param id ID
+     * @return 随机码
+     */
+    public static String toSerialCode(long id) {
+        char[] buf=new char[32];
+        int charPos=32;
+ 
+        while((id / binLen) > 0) {
+            int ind=(int)(id % binLen);
+            buf[--charPos]=r[ind];
+            id /= binLen;
+        }
+        buf[--charPos]=r[(int)(id % binLen)];
+        String str=new String(buf, charPos, (32 - charPos));
+        // 不够长度的自动随机补全
+        if(str.length() < s) {
+            StringBuilder sb=new StringBuilder();
+            sb.append(b);
+            Random rnd=new Random();
+            for(int i=1; i < s - str.length(); i++) {
+            sb.append(r[rnd.nextInt(binLen)]);
+            }
+            str+=sb.toString();
+        }
+        return str;
+    }
+ 
+  public static void main(String[] args) {
+	  for (int i = 0; i < 100; i++) {
+		  System.out.println(toSerialCode(new Date().getTime()));
+	}
+}
+
+	
+}

+ 1 - 0
src/main/java/com/goafanti/message/JGMessageHelper.java

@@ -125,6 +125,7 @@ public class JGMessageHelper implements InitializingBean, DisposableBean{
 					.setPlatform(Platform.android_ios())
 					.setAudience(Audience.all())
 					.setNotification(Notification.newBuilder()
+							.setAlert("")
 			        		.addPlatformNotification(AndroidNotification.newBuilder()
 			        				.addExtra(MESSAGE_ID, mp.getId())
 			        				.addExtra(MESSAGE_TITLE, mp.getTitle())