概述
对于一些商城类项目而言,有一些需要核销码的地方,其实核销码有很多种生成方式,今天用一个比较简单的方式生成随机核销码,7位的随机数,如果是小商城,在一天内基本上不会有重复的,如果想校验重复的,可以将每次生成的核销码放到缓存里面,然后新生成的核销码和缓存中的核销码进行校验,重复的话再重新生成一个即可。
思路其实很简单,通过两位数的年,例如2021年取21,三位数的天,例如1月1日是一年的第一天,可以取成001,然后再加上随机数(长度可以自己定义)
上代码:
package com.fengchen.verifycode;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* 生成核销码的方法,生成规格为:两位数年 + 当前是今年第几天 + 7位随机数
* 如果生成的核销码较多,可以通过缓存或者redis进行当天的核销码是否重复判断
*
* @author dafei
*
*/
public class VerifyCodeGen {
/**
* 生成订单商品核销码
*
* @return
*/
public static String genVerifyCode() {
String year = new SimpleDateFormat("yy").format(new Date());
String day = String.format("%tj", new Date());
double random = Math.random() * 10000000;
while (random < 1000000) {
random = Math.random() * 10000000;
}
int intRandom = Double.valueOf(random).intValue();
String verifyCode = year + day + intRandom;
return verifyCode;
}
public static void main(String[] args) {
System.out.println(genVerifyCode());
}
}
代码中有一句:
String.format("%tj", new Date());
是获取现在是今年的第几天。长度是3位。
推荐下大飞做的一个Java技术类公众号“Java实战宝典”,主要是收集一些日常工作中常用的工具类,一些实战项目的教学及一些疑难问题整理。
一个干货满满的公众号,后面会增加越来越多的实例教程。
最后
以上就是天真楼房为你收集整理的工具类|Java生成商城常用的核销码,长度12位~的全部内容,希望文章能够帮你解决工具类|Java生成商城常用的核销码,长度12位~所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复