why.xingtongworld.com项目
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

<?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){
}
}
}
}