You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
188 lines
7.4 KiB
188 lines
7.4 KiB
<?php
|
|
/**
|
|
* Created by PhpStorm.
|
|
* User: Administrator
|
|
* Date: 2018/3/21
|
|
* Time: 9:28
|
|
*/
|
|
|
|
namespace app\api\controller;
|
|
|
|
use think\Db;
|
|
|
|
class Sms{
|
|
/**
|
|
* 会员平台留言提醒
|
|
*/
|
|
public function reminder(){
|
|
$sql="select count(id) as total,kind from wjs_asklog where FROM_UNIXTIME(create_time,'%Y-%m-%d')='".date("Y-m-d")."' and flag=1 group by kind";
|
|
$res=db("asklog")->query($sql);
|
|
foreach ($res as $row){
|
|
if($row['total']>=1){
|
|
$where=['sms_type'=>'reminder',"FROM_UNIXTIME(sms_time,'%Y-%m-%d')"=>date("Y-m-d")];
|
|
if($row['kind']!=''){
|
|
$where['kind']=$row['kind'];
|
|
}else{
|
|
if(strlen($row['kind'])==1){
|
|
$where['kind']=$row['kind'];
|
|
}else{
|
|
$where['kind']=array('exp','is null');
|
|
}
|
|
}
|
|
$item= Db::name('smslog')->where($where)->order('sms_id desc')->find();
|
|
|
|
$kind='';
|
|
switch (intval($row['kind'])){
|
|
case 0:
|
|
$kind='一对一咨询';
|
|
break;
|
|
case 1:
|
|
$kind='文化金融服务中心';
|
|
break;
|
|
case 2:
|
|
$kind='文化艺术资产';
|
|
break;
|
|
case 3:
|
|
$kind='招拍挂中心';
|
|
break;
|
|
case 4:
|
|
$kind='文化艺术投行';
|
|
break;
|
|
case 5:
|
|
$kind='文化艺术拍卖中心';
|
|
break;
|
|
case 6:
|
|
$kind='文化产业要素交易中心';
|
|
break;
|
|
case 7:
|
|
$kind='区域合作发展中心';
|
|
break;
|
|
case 8:
|
|
$kind='古建资产管理中心';
|
|
break;
|
|
case 9:
|
|
$kind='艺版平台珠宝交易中心';
|
|
break;
|
|
case 10:
|
|
$kind='文旅产业要素交易中心';
|
|
break;
|
|
case -1:
|
|
$kind='联系我们';
|
|
break;
|
|
default:
|
|
$kind='常见问题';
|
|
}
|
|
if($row['kind']==''){
|
|
if(strlen($row['kind'])==1){
|
|
$kind='常见问题';
|
|
}else{
|
|
$kind='一对一咨询';
|
|
}
|
|
}
|
|
$msg=date("Y年m月d日 H:i").'系统官网后台收到一条会员平台('.$kind.')用户咨询消息,请及时查看处理!';
|
|
$tel="13670138162";
|
|
//$tel="13612898720";
|
|
$data=[
|
|
'sms_type'=>'reminder',
|
|
'sms_tel'=>$tel,
|
|
'sms_time'=>time(),
|
|
'kind'=>$row['kind'],
|
|
'sms_txt'=>$msg,
|
|
'sms_state'=>0
|
|
];
|
|
|
|
if(!$item){
|
|
//插入数据库
|
|
$rst=Db::name('smslog')->insert($data);
|
|
}else{
|
|
$sendtime=$item['sms_time'];
|
|
if($sendtime+10800<time()&&$item['sms_state']==1){
|
|
dump($item);
|
|
dump($data);
|
|
|
|
$rst=Db::name('smslog')->insert($data);
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
public function sendapply(){
|
|
$find=Db::name('activityapply')->where(['state'=>1,'send'=>0])->find();
|
|
if($find&&$find['utel']){
|
|
$ymsms=new \Ymsms(2);
|
|
$customid=random(16,'number');
|
|
$extcode=random(6,'number');
|
|
|
|
$word='【深圳文化产权交易所要素交易中心】尊敬的客户,您的订单已发货,'.$find['expname'].'快递单号:'.$find['express'].',感谢您的支持';
|
|
if(isset($find['uway'])&&$find['uway']==1){
|
|
$date=$find['exptime']?date("Y-m-d",$find['exptime']):'';
|
|
$word='【深圳文化产权交易所要素交易中心】尊敬的客户,您的订单已于'.$date.'完成自提货物,感谢您的支持!';
|
|
}
|
|
$resobj=$word?$ymsms->SendSimpleSMS($find['utel'],$word,'',$customid,$extcode):'';
|
|
|
|
if($resobj&&$resobj->result=="SUCCESS"){
|
|
Db::name('activityapply')->where(['id'=>$find['id']])->update(['send'=>1,'sendtime'=>time(),'customid'=>$customid,'extend'=>$extcode]);
|
|
die("发送成功");
|
|
}else{
|
|
die("发送失败");
|
|
}
|
|
}
|
|
}
|
|
public function send(){
|
|
$finds=Db::name('smslog')->where(['sms_state'=>0])->limit(5)->select();
|
|
if(count($finds)){
|
|
foreach ($finds as $find){
|
|
if($find&&$find['sms_tel']&&$find['sms_txt']){
|
|
$ymsms=new \Ymsms(2);
|
|
$customid=random(16,'number');
|
|
$extcode=random(6,'number');
|
|
|
|
$resobj=$ymsms->SendSimpleSMS($find['sms_tel'],'【'.config('ymsms2.signname').'】'.$find['sms_txt'],'',$customid,$extcode);
|
|
if($resobj&&$resobj->result=="SUCCESS"){
|
|
Db::name('smslog')->where(['sms_id'=>$find['sms_id']])->update(['sms_state'=>1,'sms_customid'=>$customid,'sms_extend'=>$extcode]);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
/**
|
|
*ymsms 回调
|
|
*/
|
|
public function ymcallback(){
|
|
$ymsms=new \Ymsms(2);
|
|
$resobj=$ymsms->getMo(100);
|
|
dump($resobj);
|
|
if($resobj&&$resobj->plaintext&&$resobj->plaintext!='[]'){
|
|
$msgs=$resobj->plaintext;
|
|
try {
|
|
$msgs=json_decode($msgs,true);
|
|
dump($msgs);
|
|
foreach ($msgs as $msg){
|
|
$extendedCode=$msg['extendedCode'];
|
|
$mobile=$msg['mobile'];
|
|
$find=Db::name('smslog')->where(['sms_tel'=>$mobile,'sms_extend'=>$extendedCode])->find();
|
|
if($find){
|
|
$content=$msg['content'];
|
|
$moTime=$msg['moTime']?strtotime($msg['moTime']):'';
|
|
$scontent=$find['sms_content']?$find['sms_content']:'';
|
|
|
|
try {
|
|
$scontent=$scontent?json_decode($scontent,true):[];
|
|
if(is_array($scontent)){
|
|
array_push($scontent,['time'=>$moTime,'txt'=>$content]);
|
|
}
|
|
} catch (Exception $e) {
|
|
}
|
|
if(is_array($scontent)){
|
|
$scontent=json_encode($scontent);
|
|
}
|
|
$ret=Db::name('smslog')->where(['sms_tel'=>$mobile,'sms_extend'=>$extendedCode])->update(['sms_motime'=>$moTime,'sms_content'=>$scontent]);
|
|
}
|
|
}
|
|
}catch (\Exception $e){
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|