文档章节

java 生成邀请码

@ccny
 @ccny
发布于 2015/11/26 18:29
字数 286
阅读 1336
收藏 16
package com.yikangyiliao.base.utils;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Random;
import com.yikangyiliao.pension.entity.User;
/**
 * @author liushuaic
 * @date 2015/11/18 14:40
 * @desc 邀请码生成工具类
 * */
public class InvitationCodeGnerateUtil{
    private static final String[] storeInvitationChars={"a","c","b","d","f","e","h","i","j","k","l","m","n","o","p"
,"q","r","s","t","u","v","w","x","y","z","0","1","2","3","4","5","6","7","8","9"};
    /**
     * @author liushuaic
     * @date 2015/11/18 14:53
     * @desc  生成邀请码
     * 格式: 15(年)+01(月)+18(日)+id
     * */
    public static Integer generateInvitationCode(User user){
        Date date=Calendar.getInstance().getTime();
        SimpleDateFormat sdf2=new SimpleDateFormat("YYMMdd");
        String dateStr= sdf2.format(date);
        return Integer.valueOf(dateStr+user.getUserId().toString());
    }
    /**
     * @author liushuaic
     * @date 2015/11/26 18:01
     * @desc  生成邀请码
     * 格式: abcd12
     * */
    public static String generateInvitationCodeTwo(User user){
        String userIdStr=user.getUserId().toString();
        int forSize=5-userIdStr.length();
        String randomStr="";
        for(int i=0;i<forSize;i++){
            Random random=new Random();
            int randomIndex=random.nextInt(35);
            randomStr=randomStr+storeInvitationChars[randomIndex];
        }
        return randomStr+userIdStr;
    }
    public static void main(String[] args) {
    //System.out.println(storeInvitationChars.length);
        User user=new User();
        user.setUserId(12l);
        String invitationCode=InvitationCodeGnerateUtil.generateInvitationCodeTwo( user);
        System.out.println(invitationCode);
    }
}

© 著作权归作者所有

共有 人打赏支持
@ccny

@ccny

粉丝 14
博文 113
码字总数 26759
作品 0
东城
架构师
私信 提问
加载中

评论(3)

@ccny
@ccny

引用来自“心有灵犀”的评论

apache-commons包下有RandomStringUtils.randomNumeric(35);
不过,要生成的5位的,不重复的邀请码。 要在想想怎么搞的。
@ccny
@ccny

引用来自“心有灵犀”的评论

apache-commons包下有RandomStringUtils.randomNumeric(35);
嗯,挺好的。我也是才知道,我们要5位的,暂时想不到其他方式。就用这个了。
心有灵犀
心有灵犀
apache-commons包下有RandomStringUtils.randomNumeric(35);
1.3.2 java程序的运行机制和jvm

java语言比较特殊,由java语言编写的程序需要经过编译步骤,但这个编译步骤并不会生成特定平台的机器码,而是生成一种与平台无关的字节码(也就是*.class文件)。当然,这种字节码不是可执行...

Gooiem
2015/08/17
0
0
SAE Java 平台从即日起正式对外开放

来自新浪邮件的消息:SAE Java 平台从即日起正式对外开放啦!新平台全面升级了JDK和安全沙箱,改进了JVM漂移和自动回收、扩展的策略,同时完美支持SSH、Play等框架,支持外连数据库。 目前已...

狼狼A狗
2012/12/19
4.1K
52
JVM学习心得体会 (第一天)

Java虚拟机 Java虚拟机(Java Virtual Machine) 简称JVM Java虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现。Java虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还...

seng
2013/06/25
0
3
JVM规范系列第3章:为Java虚拟机编译

Oracle 的 JDK 包括两部分内容:一部分是将 Java 源代码编译成 Java 虚拟机的指令集的编译器,另一部分是用于Java 虚拟机的运行时环境。 第一部分应该说的是 Javac 这个前置编译器,用于将J...

陈树义
2018/12/19
0
0
01《深入拆解JVM》之Java代码是怎么运行的?

本人本来也想买极客时间中Oracle 高级研究员,计算机博士郑雨迪老师的《深入拆解Java虚拟机》的专栏,但是朋友刚好买了,可以直接邀请我读,也就省去我的银子。由于知识版权原因,不能直接分...

飞鱼说编程
2018/07/24
0
2

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周四乱弹 —— Im fine

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @LuckyXu:分享戴荃的单曲《小荃拳之歌》: 手机党少年们想听歌,请使劲儿戳(这里) 今天遇到倒霉事了, @ FalconChen :电梯宕机了我靠 但是...

小小编辑
28分钟前
32
4
【转载】uclibc和glibc的差别

转载自:http://blog.163.com/huangnan0727@126/blog/static/30626184201042022011225/ CC的标准库,就是glibc这个库,里面有GCC各种标准函数的实现,还有各种unix系的函数在里面。 当初创建...

shzwork
37分钟前
2
0
关于360插件化Replugin Activity动态修改父类的字节码操作

近期在接入360插件化方案Replugin时,发现出现崩溃情况。 大概崩溃内容如下: aused by: java.lang.ClassNotFoundException: Didn't find class "x.x.x.xActivity" on path: 我自己在插件代码......

Gemini-Lin
今天
1
0
mybatis缓存的装饰器模式

一般在开发生产中,对于新需求的实现,我们一般会有两种方式来处理,一种是直接修改已有组件的代码,另一种是使用继承方式。第一种显然会破坏已有组件的稳定性。第二种,会导致大量子类的出现...

算法之名
昨天
22
0
单元测试

右键方法 Go To --> Test,简便快速生成测试方法。 相关注解 @RunWith(SpringRunner.class) 表示要在测试环境中跑,底层实现是 jUnit测试工具。 @SpringBootTest 表示启动整个 Spring工程 @A...

imbiao
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部