admin
2019-01-15 43ba4b60370a32660df5cdeda4ad3a354d029cb6
增加用户邀请码生成规则
1个文件已修改
29 ■■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/util/account/UserUtil.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/account/UserUtil.java
@@ -1,6 +1,7 @@
package com.yeshi.fanli.util.account;
import java.lang.reflect.InvocationTargetException;
import java.math.BigDecimal;
import org.apache.commons.beanutils.PropertyUtils;
@@ -61,8 +62,32 @@
        if (rank == null)
            rank = 0;
        return String.format(Constant.systemCommonConfig.getBaseUserRankIconUrl() + "/rank_picture_%s.png",
                rank + "");
        return String.format(Constant.systemCommonConfig.getBaseUserRankIconUrl() + "/rank_picture_%s.png", rank + "");
    }
    public static String getInviteCode(Long uid) {
        long num = 1000000000L + uid;
        return convert10To36(num);
    }
    private static String convert10To36(Long num) {
        String numbers = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
        BigDecimal numBig = new BigDecimal(num);
        int ge = numBig.divideAndRemainder(new BigDecimal(36))[1].intValue();
        int n = 1;
        String result = "";
        result += numbers.charAt(ge);
        while (numBig.divideAndRemainder(new BigDecimal(36).pow(n))[0].compareTo(new BigDecimal(0)) > 0) {
            int w = numBig.divideAndRemainder(new BigDecimal(36).pow(n))[0].divideAndRemainder(new BigDecimal(36))[1]
                    .intValue();
            result = numbers.charAt(w) + result;
            n++;
        }
        return result;
    }
}