OneThink发送手机短信验证APP接口

<?php
// +----------------------------------------------------------------------
// | OneThink [ WE CAN DO IT JUST THINK IT ]
// +----------------------------------------------------------------------
// | Copyright (c) 2013 http://www.onethink.cn All rights reserved.
// +----------------------------------------------------------------------
// | Author: 麦当苗儿 <zuojiazi@vip.qq.com> <http://www.zjzit.cn>;
// +----------------------------------------------------------------------
namespace Home\Controller;
use OT\DataDictionary;
use Think\Ucpaas;  //验证码接口文件
use User\Api\UserApi;
/**
 * 前台首页控制器
 * 主要获取首页聚合数据
 */
class ApiZhuceController extends HomeController {
    //发送验证码
    public function fsyzm(){
       //判断手机号是否已经注册
       $datatel['username']= I('tel');
       $dbtel = M('ucenter_member');
       $requlttel = $dbtel->where($datatel)->select();  
       if($requlttel){
        $data['zt']='no';       
        $data['tishi']='该手机号已注册!';
        echo I('huidiao')."(".json_encode($data).")";die;
       }
        $db = M('telyz');  
        $options['accountsid']='XXXXXXXXXXXXXXXXXXXXXXX';
        $options['token']='XXXXXXXXXXXXXXXXXXXXXXXXX';

        $ucpass = new Ucpaas($options);

        $to = I('tel');   
        $appId = "XXXXXXXXXXXXXXXXXXXXX";
        $templateId = "1434";
        $yzm = rand(1000,9999);
        $param="test," . $yzm . ",3";

        $resulta = $db->where(array("tel"=>$to))->select();

        $stime = strtotime(date('Y-m-d')); //取当天凌晨时间濯
        $xianzai = time();
        $fasongdate =  intval($resulta[0]['fasongdate']);
        $tiaoshu = intval($resulta[0]['tiaoshu']);
        //echo "111---" . $stime ."---222---" . $xianzai ."---333---".$fasongdate.">>";
        $zhuangtai = 0;

        //判断数据库有没有记录
        if($resulta){
        $fasongdate =  intval($resulta[0]['fasongdate']);
        $fasongdate6 = $fasongdate + 60;
        $xianzai = time();
        $tiaoshu = $resulta[0]['tiaoshu'];

            if($fasongdate < $stime){
                $zhuangtai = 102;//状态102=今天没有发送验证码。直接发送验证码,并修改数据库记录,条数为1
            }elseif($tiaoshu >= 10){  
                $zhuangtai = 301;//状态301=今天发送条数大于10条,返回JSON no+提示发送条数大于10 
            }elseif($xianzai < $fasongdate6 ){
                $zhuangtai = 302;//状态302=距离上次发送验证码时间小于1分钟。返回JSON no+提示距离上次发送时间小于1分钟。
            }else{
                $zhuangtai = 103;//状态103=满足条件,直接发送验证码,并修改数据库记录,条数+1     
            }

        }else{
            $zhuangtai = 101;//状态101=未找到数据库记录。直接发送验证码,并添加数据库记录,条数为1
        }
        switch ($zhuangtai)
        {

        case 101:  
            //echo "101"; 
            $reqult =  $ucpass->templateSMS($appId,$to,$templateId,$param); 
            $arr= json_decode($reqult,true);
            $res = $arr['resp']['respCode'];
            if ($res=="000000"){
            //发送成功返回JSON
            $data['zt']='yes';      
            echo I('huidiao')."(".json_encode($data).")";
            //发送成功后,将验证码、手机号、发送时间、状态添加到数据库。
            $datadb['yzm'] = $yzm;
            $datadb['tel'] = $to;
            $datadb['fasongdate'] = time();
            $datadb['zt'] = "1";
            $datadb['tiaoshu'] = "1";
            $db = $db->data($datadb)->add();die;
            }else{
            //发送错误返回JSON
            $data['zt']='no';       
            $data['tishi']='错误101';
            echo I('huidiao')."(".json_encode($data).")";die;
             }

          break;
        case 102:

            //echo "102";  
            //状态102=今天没有发送验证码。直接发送验证码,并修改数据库记录,条数为1
            $reqult =  $ucpass->templateSMS($appId,$to,$templateId,$param); 
            $arr= json_decode($reqult,true);
            $res = $arr['resp']['respCode'];
            if ($res=="000000"){
            //发送成功返回JSON
            $data['zt']='yes';      
            echo I('huidiao')."(".json_encode($data).")";
            //发送成功后,将验证码、手机号、发送时间、状态添加到数据库。
            $datadb['yzm'] = $yzm;
            $datadb['tel'] = $to;
            $datadb['fasongdate'] = time();
            $datadb['zt'] = "1";
            $datadb['tiaoshu'] = "1";
            $db->where(array("tel"=>$to))->save($datadb);die;
            }else{
            //发送错误返回JSON
            $data['zt']='no';       
            $data['tishi']='错误102';
            echo I('huidiao')."(".json_encode($data).")";die;
             }
          break;
        case 103:
            //echo "103"; 
            //状态103=满足条件,直接发送验证码,并修改数据库记录,条数+1 
            $reqult =  $ucpass->templateSMS($appId,$to,$templateId,$param); 
            $arr= json_decode($reqult,true);
            $res = $arr['resp']['respCode'];
            if ($res=="000000"){
            //发送成功返回JSON
            $data['zt']='yes';      
            echo I('huidiao')."(".json_encode($data).")";
            //发送成功后,将验证码、手机号、发送时间、状态添加到数据库。
            $datadb['yzm'] = $yzm;
            $datadb['tel'] = $to;
            $datadb['fasongdate'] = time();
            $datadb['zt'] = "1";
            $datadb['tiaoshu'] = $tiaoshu + 1;
            $db->where(array("tel"=>$to))->save($datadb);die;
            }else{
            //发送错误返回JSON
            $data['zt']='no';       
            $data['tishi']='错误103';
            echo I('huidiao')."(".json_encode($data).")";die;
             } 
          break;
        case 301:
          //echo "301";
          //状态301=今天发送条数大于10条,返回JSON no+提示发送条数大于10 
          $data['zt']='no';       
          $data['tishi']='今天已经发送了10条验证码';
          echo I('huidiao')."(".json_encode($data).")";die;  
          break;
        case 302:
          //echo "302"; 
          //状态302=距离上次发送验证码时间小于1分钟。返回JSON no+提示距离上次发送时间小于1分钟。
          $data['zt']='no';       
          $data['tishi']='距离上次发送验证码时间小于1分钟';
          echo I('huidiao')."(".json_encode($data).")";die; 
          break;
        }

    }
}   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值