php验证微信用户是否领过红包

<?php
require_once("../includes/public.inc.php"); 
require_once("../includes/tools.class.php");    
require_once('pay/WxXianjinHelper.php');

$sysconfig=mysql_fetch_array(mysql_query("select cappid,cappsecret,cappkey,cmchid,cyongjin from ".DBQIAN."sys_config order by id desc limit 1"));
$hongbaorow=mysql_fetch_array(mysql_query("select htotalmoney,hminmoney,hmaxmoney,hdesc from ".DBQIAN."xianjin_set order by id desc limit 1"));

define('ROOT_PATH', dirname(__FILE__));
define('DS', DIRECTORY_SEPARATOR);
define('APPID', $sysconfig['cappid']);
define('APPSECRET', $sysconfig['cappsecret']);
define('PARTNERKEY',$sysconfig['cappkey']);//密钥
define('MCHID', $sysconfig['cmchid']);//商户号
define("TOTALMONEY",$hongbaorow['htotalmoney']);//发送总金额,分为单位

$tools=new tools();
$commonUtil = new CommonUtil();
$wxHongBaoHelper = new WxHongBaoHelper();

//状态码说明,0正常 1ucode错误 2领取过了 3领取成功返回领取金额 4系统错误
$actioncode=0;
$ucode=$_POST['ucode'];
if($ucode=='' && $actioncode == 0 ){
    $actioncode=1;
}
//判断是否领过了
$ulingnum=mysql_num_rows(mysql_query("select * from ".DBQIAN."user_xianjin where ucode='$ucode' and xtype=1 limit 1"));
if($ulingnum > 0 && $actioncode == 0 ){
    $actioncode=2;
}

//计算大小
if($actioncode==0){
    $thismoney=$hongbaorow['hminmoney'];
    if($hongbaorow['hmaxmoney'] > $hongbaorow['hminmoney']){
         $thismoney=rand($hongbaorow['hminmoney'],$hongbaorow['hmaxmoney']);
    }
    $wxHongBaoHelper->setParameter("nonce_str", $commonUtil->create_noncestr());//随机字符串
    $wxHongBaoHelper->setParameter("partner_trade_no", MCHID.date('His').rand(10000, 99999));//商户订单号 
    $wxHongBaoHelper->setParameter("mchid", MCHID);//商户号
    $wxHongBaoHelper->setParameter("mch_appid", APPID); //公众账号appid
    $wxHongBaoHelper->setParameter("openid", $ucode);//用户openid
    $wxHongBaoHelper->setParameter("check_name","NO_CHECK");//校验用户姓名选项
    $wxHongBaoHelper->setParameter("amount", $thismoney);//金额
    $wxHongBaoHelper->setParameter("re_user_name", "李四");//企业付款描述信息
    $wxHongBaoHelper->setParameter("desc", iconv("GBK","UTF-8",$hongbaorow['hdesc']));//企业付款描述信息
    $wxHongBaoHelper->setParameter("spbill_create_ip", $wxHongBaoHelper->Getip());

    $postXml = $wxHongBaoHelper->create_hongbao_xml();
    $url = 'https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers';
    $responseXml = $wxHongBaoHelper->curl_post_ssl($url, $postXml);

    $responseObj = simplexml_load_string($responseXml);
    if( $responseObj->result_code=="SUCCESS" && $responseObj->return_code=="SUCCESS"){
         $actioncode=$thismoney/100;
         $utime=time();
         $utxt="";
         $utxtarr=array();
         $query=mysql_query("select tcontent from ".DBQIAN."user_txt order by id desc");
         $utxtnum=mysql_num_rows($query);
         if($utxtnum > 0){
             while($row=mysql_fetch_array($query)){
                $utxtarr[]=$row['tcontent'];   
             }
             $thisnum=rand(0,count($utxtarr)-1);
             $utxt=$utxtarr[$thisnum];
         }       
         mysql_query("insert into ".DBQIAN."user_xianjin(ucode,umoney,utxt,utime)values('$ucode',$thismoney,'$utxt',$utime)");
    } else {
         $tools->create_file("log.txt","",$responseXml);
         $actioncode=4;
    }
}

$utnums=0;
$row=mysql_fetch_array(mysql_query("select utcode,uystate from ".DBQIAN."user_list where ucode='$ucode' limit 1"));
if($row['utcode']!='' && $row['uystate']==1 && $sysconfig['cyongjin'] > 0){
    $utcode=$row['utcode'];
    $thismoney=$sysconfig['cyongjin'];
    $wxHongBaoHelper->setParameter("nonce_str", $commonUtil->create_noncestr());//随机字符串
    $wxHongBaoHelper->setParameter("partner_trade_no", MCHID.date('His').rand(10000, 99999));//商户订单号 
    $wxHongBaoHelper->setParameter("mchid", MCHID);//商户号
    $wxHongBaoHelper->setParameter("mch_appid", APPID); //公众账号appid
    $wxHongBaoHelper->setParameter("openid", $utcode);//用户openid
    $wxHongBaoHelper->setParameter("check_name","NO_CHECK");//校验用户姓名选项
    $wxHongBaoHelper->setParameter("amount", $thismoney);//金额
    $wxHongBaoHelper->setParameter("re_user_name", "李四");//企业付款描述信息
    $wxHongBaoHelper->setParameter("desc", iconv("GBK","UTF-8",$hongbaorow['hdesc']));//企业付款描述信息
    $wxHongBaoHelper->setParameter("spbill_create_ip", $wxHongBaoHelper->Getip());

    $postXml = $wxHongBaoHelper->create_hongbao_xml();
    $url = 'https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers';
    $responseXml = $wxHongBaoHelper->curl_post_ssl($url, $postXml);

    $responseObj = simplexml_load_string($responseXml);
    if( $responseObj->result_code=="SUCCESS" && $responseObj->return_code=="SUCCESS"){
         $utime=time();
         mysql_query("insert into ".DBQIAN."user_xianjin(ucode,umoney,xtype,utime)values('$utcode',$thismoney,2,$utime)");
         mysql_query("update ".DBQIAN."user_list set uystate=2 where ucode='$ucode'");
    } else {
         $tools->create_file("log.txt","",$responseXml);
    }

}
echo $actioncode;
mysql_close();
?>

请结合我前面写的东西看一下。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值