<?php
/**
* Created by PhpStorm.
* User: 86183
* Date: 2020/5/12
* Time: 13:03
*/
namespace app\admin\controller;
use app\common\controller\Backend;
use ChuanglanSmsHelper\ChuanglanSmsApi;
class Reminder extends Backend
{
//crontab -u yizhimao 0 0 12 * * ? php think admin/crontab/exec
protected $noNeedLogin = ['exec'];
/**
* 無需鑑權的方法,但需要登錄
* @var array
*/
protected $noNeedRight = ['*'];
public function exec(){
$db=db('userinfo');
$result=$db->select();
foreach ($result as $item){
$date2=date('Y',time()).'-'.date('m-d',strtotime($item['birthday']));
$date1=date('Y',time()).'-'.date('m-d',time());
echo $date1;
echo "<br>";
echo $date2;
$bool=$this->diffDay($date2,$date1);
if ($bool){
$mobile=db('user')->where('id',$item['uid'])->value('mobile');
if ($mobile){
$this->send($mobile);
echo $item['turename']."生日提醒已經發送<br>";
}else{
echo "您不是我們平臺的普通會員,請先綁定手機號碼";
}
}else{
echo $item['turename'].'沒到生日前三天呢'."<br>";
}
}
}
private function diffDay($date1,$date2){
$strdata1=strtotime($date1);
$strdata2=strtotime($date2);
if($strdata1<$strdata2){
return false;
}else{
$diff=($strdata1-$strdata2)/86400;
return $diff== 3 ? true:false;
}
}
private function send($mobile){
header("Content-type:text/html; charset=UTF-8");
//Loader::import('ChuanglanSmsHelper\ChuanglanSmsApi','extend/');
$clapi = new ChuanglanSmsApi();
$code = mt_rand(100000,999999);
if(!preg_match('/^1[3,5,7,8]\d{9}/',$mobile)){
return json(['code'=>400,'msg'=>'電話號碼非法']);
}
$result = $clapi->sendSMS($mobile,'【莊浪融媒】尊敬的依之貓會員,您今年的生日將於3天后到來,請你到依之貓門店領取生日禮物,您的領取短信驗證碼是'.$code );
if(!is_null(json_decode($result))){
$output=json_decode($result,true);
if(isset($output['code']) && $output['code']=='0'){
return json(['code'=>200,'msg'=>'發送成功','data'=>$output['code']]);
}else{
return json(['code'=>400,'msg'=>$output['errorMsg']]);
}
}else{
return json(['code'=>500,'msg'=>'發送短信服務器異常']);
}
}
}
表結構: