session; if(isset($_GET['pid']) && (int)$_GET['pid']>0){ $session->set('pid',(int)$_GET['pid']); } $pid = $session->get('pid'); if(!$pid){ return Yii::$app->response->redirect(['index/index']); } } public function actionIndex() { global $_HI; global $_FM; $_HI['action'] = 'index'; /*自定义常量*/ /*默认配置*/ $_HI['accessKeyId'] = 'LTAIQrJFtHfqsyOt'; // AccessKeyId $_HI['accessKeySecret'] = 'tvGieI3vNI7Si3imauCB4rJ3OX4AR8'; // AccessKeySecret $_HI['sign'] = '嗨路客'; $_HI['tmpl'] = 'SMS_116695055'; $_HI['reportQueueName'] = 'Alicom-Queue-31737903-SmsReport'; //状态报告接收 $_HI['UpQueueName'] = 'Alicom-Queue-31737903-SmsUp'; //上行消息接收 return $this->render('index'); } public function actionGsend() { global $_HI; global $_FM; $session = Yii::$app->session; $session->set('sms::success',0); $session->set('sms::msg',''); $session->set('sms::guests',[]); /*自定义常量*/ /*默认配置*/ $_HI['accessKeyId'] = Yii::$app->params['aliDySms']['accessKeyId']; // AccessKeyId $_HI['accessKeySecret'] = Yii::$app->params['aliDySms']['accessKeySecret']; // AccessKeySecret $_HI['sign'] = Yii::$app->params['aliDySms']['sign']; $_HI['tmpl'] = Yii::$app->params['aliDySms']['tmpl']['acGongxue']; $_HI['reportQueueName'] = Yii::$app->params['aliDySms']['reportQueueName']; //状态报告接收 $_HI['UpQueueName'] = Yii::$app->params['aliDySms']['UpQueueName']; //上行消息接收 return $this->render('gsend'); } public function actionSend() { global $_HI; global $_FM; global $START_TIME; $session = Yii::$app->session; //数据取出方法 $dataPost = Yii::$app->request->post(); //YII应用内的真实或模拟POST数据 $dataGet = Yii::$app->request->get(); //YII应用内的真实或模拟GET数据 $params = Yii::$app->params; $config = array(); $config['accessKeyId'] = isset($dataPost['accessKeyId']) ? $dataPost['accessKeyId'] : $params['aliDySms']['accessKeyId']; $config['accessKeySecret'] = isset($dataPost['accessKeySecret']) ? $dataPost['accessKeySecret'] : $params['aliDySms']['accessKeySecret']; $config['sign'] = isset($dataPost['sign']) ? $dataPost['sign'] : $params['aliDySms']['sign']; if($config){ $session->set('sms::config',$config); }else{ $config = $session->get('sms::config'); } $option = array(); $sms = new Sms($option,$config); $address = isset($dataPost['address']) ? $dataPost['address'] : ''; if($address){ $session->set('sms::address',$address); }else{ $address = $session->get('sms::address'); } $tmpl = isset($dataPost['tmpl']) ? $dataPost['tmpl'] : ''; if($tmpl){ $session->set('sms::tmpl',$tmpl); }else{ $tmpl = $session->get('sms::tmpl'); } $_guests = isset($dataPost['guests']) ? $dataPost['guests'] : ''; if(!$_guests){ $guests = $session->get('sms::guests'); }else{ $_guests = explode("\r\n",$_guests); $guests = array(); foreach($_guests as $c){ $_c = explode(',', $c); if(count($_c)>1){ $k = trim($_c[1]); $v = trim($_c[0]); $guests[$k] = $v; } } unset($_c);unset($k);unset($v); $guests = array_unique($guests); } if(!$guests){ $i = (int)$session->get('sms::success'); $session->set('sms::success',0); $msg = $session->get('sms::msg'); $session->set('sms::msg',''); \Yii::$app->getSession()->setFlash('info', '群发完成,共成功发送'.$i.'条;详情:'.$msg); return $this->render('gsend'); } $results = array(); $msg = ""; $content = []; $content['address'] = $address; $i = 0; $j = 50; foreach($guests as $p=>$username){ $j--; $content['name'] = !empty($username) ? $username.'安诚托车' : '安诚捷顺运车'; $result = $sms->send($p,$tmpl,$content); $results[$p] = $result; if(!$result){ $msg .= "【".$p."】发送失败,接口提示:".$sms->errors."\r\n"; }elseif($result->Code !='OK'){ $msg .= "【".$p."】发送失败,接口提示:".$result->Message."\r\n"; }else{ $i++; $msg .= "【".$p."】发送成功"."\r\n"; } unset($guests[$p]); if($j==0){ break; } } $session->set('sms::guests',$guests); $i += (int)$session->get('sms::success'); $session->set('sms::success',$i); $msg .= $session->get('sms::msg'); $session->set('sms::msg',$msg); \Yii::$app->getSession()->setFlash('info', '群发完成,共成功发送'.$i.'条;详情:'.$msg); return $this->render('ajax'); } //发送验证码 public function actionVcode() { global $_HI,$_FM; $pid = Yii::$app->session->get('pid'); $plat = AcPlat::findOne($pid); $platExt = json_decode($plat->remark,true); //数据取出方法 $dataPost = Yii::$app->request->post(); //YII应用内的真实或模拟POST数据 $dataGet = Yii::$app->request->get(); //YII应用内的真实或模拟GET数据 $params = Yii::$app->params; $config = array(); $config['accessKeyId'] = isset($dataPost['accessKeyId']) ? $dataPost['accessKeyId'] : $params['aliDySms']['accessKeyId']; $config['accessKeySecret'] = isset($dataPost['accessKeySecret']) ? $dataPost['accessKeySecret'] : $params['aliDySms']['accessKeySecret']; $config['sign'] = isset($dataPost['sign']) ? $dataPost['sign'] : $params['aliDySms']['sign']; $option = array(); $sms = new Sms($option,$config); $op = Yii::$app->request->get('op'); $content=[]; switch($op){ case 'caiwu': $phone = $platExt['cw_phone']; $codetype = 'caiwu'; if(!$phone){ $return = []; $return['errorcode'] = 1; $return['msg'] = '还没有配置财务手机号,请联系站长管理员进行设置'; exit(json_encode($return)); } $vcodeModel = new CVcode(); //查询上次发送记录 $_time = time(); $where=[]; $where['mobile'] = $phone; $where['deleted'] = 0; $where['type'] = $codetype; $res = $vcodeModel->find()->where($where)->one(); if($res){ if(($_time-$res->create_at)<7200){ $code = $res->code; $return = []; $return['errorcode'] = 2; $return['msg'] = '上次发送的验证码仍然可用;请注意查看财务手机'; exit(json_encode($return)); }else{ $res->deleted = 1; $res->save(); } } $code = mt_rand(1000,9999); $content['code'] = $code; $tmpl = Yii::$app->params['aliDySms']['tmpl']['cwVcode']; //验证码入库 $vcode = []; $vcode['code'] = $code; $vcode['type'] = $codetype; $vcode['mobile'] = $phone; $vcode['create_at'] = time(); foreach($vcode as $key=>$val){ $vcodeModel->$key = $val; } break; default: $mobile = Yii::$app->request->post('mobile'); break; } $result = $sms->send($phone,$tmpl,$content); //保存发送记录 $smsModel = new CSms(); $smsdata = []; $sid = Yii::$app->params['siteId']; $smsdata['sid'] = (int)$sid; $smsdata['pid'] = $pid; $smsdata['uid'] = Yii::$app->user->identity->id; $smsdata['mobile'] = $phone; $smsdata['content'] = json_encode($content,JSON_UNESCAPED_UNICODE); $smsdata['create_at'] = time(); foreach($smsdata as $key=>$val){ $smsModel->$key = $val; } $smsModel->save(); $return = []; $msg = ''; if(!$result){ $msg .= "发送失败,接口提示:".$sms->errors."\r\n"; $return['errorcode'] = 3; }elseif(is_array($result) && $result['Code'] !='OK'){ $msg .= "发送失败,接口提示:".$result['Message']."\r\n"; $return['errorcode'] = 4; }else{ $vcodeModel->save(); $msg .= "发送成功"."\r\n"; $return['errorcode'] = 0; } $return['msg'] = $msg; exit(json_encode($return)); } }