/**
* 获取激活码
*/
public function getnum()
{
$time = Db::name('fangchan_jihuoma')->group('id desc')->limit(1)->find();//从上一次生成的时间开始计算
$num='';
if(empty($time)){
$num = microtime(true);
}else{
$num = $time['info_time'];
}
for ($i = $num; $i < ($num + 5); $i++) {
// dump(substr(md5($i), 0, 6));exit;
Db::name("fangchan_jihuoma")->insert([
'num' => substr(md5($i), 0, 6),
'status' => '',
'created_time' => time(),
'info_time' => $i
]);
}
$sql = "select count(*) as sum,num from osc_fangchan_jihuoma group by num HAVING sum>1";//查出有多少个重复的验证码和重复验证码内容
$data = Db::query($sql);
if(!empty($data)) {
foreach($data as $k=> $v) {
for($j=0;$j<$v['sum'];$j++){
Db::name("fangchan_jihuoma")->where('num',1)->where('status',0)->delete();删除重复的验证码
}
}
}
$this->success('激活码已生成!');
}
CREATE TABLE `osc_fangchan_jihuoma` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增长id',
`num` varchar(8) NOT NULL COMMENT '激活码',
`uid` int(10) unsigned zerofill DEFAULT NULL COMMENT 'member表id',
`status` tinyint(1) unsigned zerofill NOT NULL DEFAULT '' COMMENT '是否核销 0:未核销,1:已核销',
`created_time` int(11) NOT NULL DEFAULT '' COMMENT '激活码创建时间',
`info_time` int(11) NOT NULL DEFAULT '' COMMENT '标记用时间',
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=134 DEFAULT CHARSET=utf8mb4;

tp5生成6位不重复验证码的更多相关文章

  1. 动态生成16位不重复随机数、随机创建2位ID

    /** 1. * 动态生成16位不重复随机数 * * @return */ public synchronized static String generate16() { StringBuffer ...

  2. java 随机生成6位短信验证码

    生成6位随机数字其实很简单,只需一行代码,具体如下: String verifyCode = String.valueOf(new Random().nextInt(899999) + 100000) ...

  3. Jmeter生成8位不重复的随机数

    jmeter的time函数${__time(,)}  :  默认该公式精确到毫秒级别, 13位数 ${__time(/1000,)}  : 该公式精确到秒级别, 10位数 ${__time(yyyy- ...

  4. C# 生成6位短信验证码

    1 private string VerifyCode() 2 { 3 Random random = new Random(); 4 return random.Next(100000, 99999 ...

  5. Java生成8位随机邀请码,不重复

    public static String[] chars = new String[] { "a", "b", "c", "d&q ...

  6. java 生成20位唯一ID,生成不会重复的20位数字----https://blog.csdn.net/weixin_36751895/article/details/70331781

    java 生成20位唯一ID,生成不会重复的20位数字----https://blog.csdn.net/weixin_36751895/article/details/70331781

  7. 生成base64位图片验证码

    import org.springframework.util.Base64Utils; import javax.imageio.ImageIO; import java.awt.*; import ...

  8. 生成24位字符串ID__IdGenerator.java

    此工具类用于生成24位字符串ID,唯一不重复.直接通过 IdGenerator.get() 获取. 源码如下:(点击下载源码 - IdGenerator.java ) import java.net. ...

  9. 在使用Math.random()生成6位随机数遇到的问题,并成功得到6位随机数

    最近在做卫生局的一个考务网时需要实现一个短信发送验证码的功能,因此就必须使用到随机生成6位验证码的功能,开始觉的简单的,随便写了个 +); String messageCode = String.va ...

随机推荐

  1. 题解 P5301 【[GXOI/GZOI2019]宝牌一大堆】

    这道题除了非常恶心以外也没有什么非常让人恶心的地方 当然一定要说有的话还是有的,就是这题和咱 ZJOI 的 mahjong 真的是好像的说~ 于是就想说这道题出题人应该被 锕 掉 noteskey 整 ...

  2. 011_TCP专项研究监控

    (1)In Segs 数据源: /proc/net/snmp; 采集方式:累计值,每10秒采集一次取差值: 指标:net.snmp.tcp (key: system); In Segs: tcp协议层 ...

  3. springboot接口返回封装与异常控制

    首先,返回有两个状态,status和code status标识response的状态,有2个值:0成功,-1服务错误. code跟业务有关,可以有各种数值,99999服务未知异常,10000参数异常, ...

  4. java:包、继承,访问修饰符

    包 包(package) 用于管理程序中的类,主要用于解决类的同名问题.包可以看出目录. 包的作用 [1] 防止命名冲突. [2] 允许类组成一个单元(模块),便于管理和维护 [3] 更好的保护类.属 ...

  5. SpringBoot相关错误

    1.org.springframework.boot.builder.SpringApplicationBuilder.<init>([Ljava/lang/Object;)V 搭建spr ...

  6. SQL语句原理解析(原创)

    基本的sql语句很好理解这里不做分析,这里只考虑复杂的sql语法和关键词用法的实验分析: 一,join关联的作用: 作用: 1,为了生成信息信息更加全面的中间表:2,为了where可以使用含有单表外字 ...

  7. overlay 文件系统

    overlay文件系统浅析 overlayfs文件系统类似于aufs,相比aufs,overlay实现更简洁,很早就合入了linux主线, 合入主线后overlayfs修改为overlay. dock ...

  8. JS & JQuery 动态处理select option

    原文 出处http://www.51xuediannao.com/html+css/htmlcssjq/cssbuhuanhang.html 今天你问了我一个关于在<select>里动态添 ...

  9. python 集合去重

    data = set() data.clear() data.add('qq1') data.add('qq2') data.add('qq3') data.add('qq4') data.add(' ...

  10. .net基础学java系列(一)视野

    本文目的在于扩展你我视野,求各位大神帮忙补充下表格中的内容,特别是Java的相关内容. 下面的文字纯是为了凑足150个字. 本人作为一名普通的.net程序员,也快混了十年了.在.net方面的知识面较广 ...