<?php
namespace  Api\Controller;
use Think\Controller;
/**
 * 微信支付
 */
class WeixinpayController  extends  Controller{

    /**
     * notify_url接收页面
     */
    public function notify(){
    
        // 导入微信支付sdk
        Vendor('Weixinpay.Weixinpay');
        $wxpay=new \Weixinpay();
        $result=$wxpay->notify();
        if ($result) {
	
	$czsm="微信扫码支付";
	
            // 验证成功 修改数据库的订单状态等 $result['out_trade_no']为订单号
		
		$where=array(
		'payid'=>$result['out_trade_no'],
		);
		$data=array(
		'status'=>'1',
		'payuser'=>$result['openid'],
		'beizhu'=>"微信扫码支付",//备注说明
		'paytime'=>time(),
		);
		D('Money')->where($where)->save($data);
		
		
		
		//同时将金额累加到用户表的余额中
		$czdd = D('Money')->where($where)->find();
		$map['id']=$czdd['uid'];
		$price = $result['total_fee']/100;
		$price=(int)$price;
		D('User')->where($map)->setInc('money',$price);
		
		$User=D('User')->where($map)->find();
		
		//如果开启了邮件通知
		if(C('EMAIL_OPEN')=="1"){
		//邮件相关模板变量替换
		$mbstr=array('${user}','${czje}','${czsm}','${srje}','${srsm}');
		$mbbl=array($User['userid'],$price,$czsm,'-','-');
		send_email($User['email'],strreplace($mbstr,$mbbl,C('EMAIL_T_CW_CZ')),strreplace($mbstr,$mbbl,C('EMAIL_C_CW_CZ')));//向用户发送充值成功的邮件
		}
		
		//如果开启了短信通知
		if(C('SMS_OPEN')=="1"){
	
		//模板中的变量替换成实际值
		$smsmb=array(
		'user'=>$User['userid'],
		'czje'=>$price,
		'czsm'=>$czsm,
		'srje'=>'-',
		'srsm'=>'-',
		);
		
		sendSms($User['phone'],C('SMS_QM'),C('SMS_CW_CZ'),$smsmb);//向用户发送充值成功的短信
		
		}
			    
            
        }
    }

    /**
     * 公众号支付 必须以get形式传递 out_trade_no 参数
     * 示例请看 /Application/Home/Controller/IndexController.class.php
     * 中的weixinpay_js方法
     */
    public function pay(){
        // 导入微信支付sdk
        Vendor('Weixinpay.Weixinpay');
        $wxpay=new \Weixinpay();
        // 获取jssdk需要用到的数据
        $data=$wxpay->getParameters();
        // 将数据分配到前台页面
        $assign=array(
            'data'=>json_encode($data)
            );
        $this->assign($assign);
        $this->display();
    }

}