<?php

namespace app\api\controller\notify;

use app\common\controller\Api;
use think\Db;
use think\exception\PDOException;
use think\Validate;
/**
 * 
 */
class Sms extends Api
{
    protected $noNeedLogin = ['*'];
    protected $noNeedRight = ['*'];


    public function _initialize()
    {
        parent::_initialize(); 
        $this->model =  new \app\admin\model\reservoir\Sms;
    }
    
    public function list()
    {
        $page = $this->request->param('page',1);
        $limit = $this->request->param('limit',10);
        $total = $this->model::count();
        $list = $this->model
            ->page($page,$limit)
            ->select();
        $data = [
            'page' => $page,
            'total'=> $total,
            'data' => $list 
        ];
        $this->success('',$data);
    }
    public function sendmsg($ids=null)
    {
        if ($this->request->isPost()) {
            $params = $this->request->post();
            if (!Validate::regex($params['mobile'], "^1\d{10}$")) {
                $this->error(__('手机号格式错误'));
            }
            if(!$params['code']){
                 $this->error(__('模板编号为空'));
            }
            if(!$params['data']){
                $this->error('参数错误');
            }
            $res = \app\common\library\Sms::notice($params['mobile'], $params['data'], $params['code']);
            if(!$res){
                $this->error('网络繁忙');
            }
            $this->writesmg($params['reservoir_id'],$params['title'],$params['remark']);
            $this->success('发送成功');
        }
        $sms  = $this->model::get($ids);
        if (!$sms) {
            $this->error('短信模板不存在');
        }
        preg_match_all('/\${.*?}/', $sms->message, $matches);
        $smsvar = $matches[0];
        $values = [];
        foreach ($smsvar as $key=>$item) {
            $values[] = str_replace(['${', '}'], '', $item);
        }
        $this->success('',[
            'smsvar'=> $values,
            'sms' => $sms
        ]);
    }
    private function writesmg($r=null,$c=null,$remark=null)
    {
        $model = new \app\admin\model\reservoir\Messagelog;
        $data= [
            'type'=>'sms',
            'reservoir_id'=>$r,
            'content'=>$c,
            'createtime'=> time(),
            'remark'=>$remark
        ];
            
        $model->allowField(true)->save($data);
    }
    public function userlist()
    {
        $list = Db::name('reservoir_user')
            ->field('name,mobile')
            ->select();
        $this->success('',$list);;
    }
    public function reservoirlist()
    {
        $list = Db::name('reservoir_list')
            ->field('name,id')
            ->where('county_id',1)
            ->select();
        $this->success('',$list);;
    }
    
    
    
    
    
    
    
    
    
    
    
}