微信卡券

版权声明:每天进步一点点 https://blog.csdn.net/loveinc/article/details/68486058

微信卡券创建,删除等

<?php
/**
 * Created by ${COMPANY}.
 * User: msli
 * Date: 14-7-21
 * Time: 上午11:40
 * Purpose: 模型类
 * To change this template use File | Settings | File Templates.
 */
namespace Home\Model;
use Think\Model;
use Think\Cache;


class TestModel extends Model
{
   /*  /*
    * 获取 所有奖项信息
    */

    public function index($openid){
          /*
          $adapter = D("Julymoviecodes");
          $where['openid'] = $openid;
          $info = $adapter->where($where)->find();
          return $info;
          */
    }

    public function requesturl($url,$method){

        $ch = curl_init($url);
        if($method=='GET'){
            curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
        }else{
            curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
        }
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 5.1; rv:21.0) Gecko/20100101 Firefox/21.0');
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        $info = curl_exec($ch);

        $dataJson = json_decode($info, true);

        return $dataJson;
    }


    /*请求URL,返回 ACCESS_TOKEN*/
    public function get_access_token(){
        $APPID = C("APPID");
        $APPKEY = C("SECRET");
        $ACCESS_TOKEN = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$APPID."&secret=".$APPKEY."";

        $accesstokenResult = $this->requesturl($ACCESS_TOKEN,'POST');
        $accesstoken = $accesstokenResult['access_token'];

        return $accesstoken;
    }


    //////获取wtw 的 access_token
    public function get_wtw_Token(){

        /////微信公众平台  access_token
        $time =time()*1000;
        $appid = 15;
        $token ="b4384c050f27b99151501b1a95eb529c";

        $tmpArr = array($token, $time, $appid);
        sort($tmpArr,SORT_STRING);
        $tmpStr = implode($tmpArr);
        $signature = sha1($tmpStr); 

        $userinfourl ="http://weixin.augmarketing.com/wechatconnect/app/accessToken"."?appId=".$appid."&timestamp=".$time."&signature=".$signature."";      
        $userinfo = $this->requesturl($userinfourl,"GET");
        ///dump($userinfo);
        return $userinfo['data']['accessToken'];
    }

    /*
     * 获取wtw 的 创建开卡接口()
     * 
     * string(68) "{"errcode":0,"errmsg":"ok","card_id":"pPLOfjlZ0kuDE55Pz-CJgImR-YnI"}"    
     * 创建开卡成功,但是无法在微信后台显示?????????
     *
     */
    public function  get_cardadd(){
        //获取ACCESS_TOKEN
        $ACCESS_TOKEN = $this->get_wtw_Token();
        $data = '{
                    "card":{
                        "card_type":"GROUPON",
                        "groupon":{
                            "base_info":{   
                                "logo_url": "http://www.supadmin.cn/uploads/allimg/120216/1_120216214725_1.jpg",
                                "brand_name":"海底捞", 
                                "code_type":0,
                                "title":"132元双人火锅套餐",
                                "sub_title":"双人火锅套餐",
                                "color":"Color010",
                                "notice": "使用时向服务员出示此券",
                                "service_phone":"020-88888888",
                                "description":"不可与其他优惠同享\n如需团购券发票,请在消费时向商户提出\n店内均可使用,仅限堂食\n餐前不可打包,餐后未吃完,可打包\n本团购券不限人数,建议2人使用,超过建议人数须另收酱料费5元/位\n本单谢绝自带酒水饮料",
                                "date_info":{
                                    "type":1,
                                    "begin_timestamp":1407577600,
                                    "end_timestamp":1419910400
                                },
                                "sku":{
                                    "quantity": 50000000
                                },
                                "use_limit":1,
                                "get_limit":3,
                                "use_custom_code":true,
                                "bind_openid":false,
                                "can_share":true,
                                "url_name_type":1
                            },
                            "deal_detail":"以下锅底2选1(有菌王锅、麻辣锅、大骨锅、番茄锅、清补凉锅、酸菜鱼锅可选):鲜菇猪肉滑1份18元\n金针菇1份16元\n黑木耳1份9元\n娃娃菜1份8元\n欢乐畅饮2位 12元\n自助酱料2位10元",
                        }
                    }
                }';

        $add_url ="https://api.weixin.qq.com/card/add?access_token=".$ACCESS_TOKEN."";
        $info = $this->wtw_request($add_url,$data);
        dump($info);
    }

    /*
    * 获取wtw 的 创建  会员卡 开卡接口()
    *string(68) "{"errcode":0,"errmsg":"ok","card_id":"pPLOfjsx3Qc46vYbX4A-pbo0FywA"}"
    * 创建开卡成功,但是无法在微信后台显示?????????
    *
    */
    public function  get_memcardadd($openid){
        //获取ACCESS_TOKEN
        $ACCESS_TOKEN = $this->get_wtw_Token();
        $memadd_url ="https://api.weixin.qq.com/card/add?access_token=".$ACCESS_TOKEN."";
        $sub_title = $this->get_cardidByOpenID($openid);
        ////激活链接
        $activate_url ="https://wx.blinq.cn/cptest/Diamond/index.php/index/indextest?wechat_card_js=1";

        $data = '{
                    "card":{
                        "card_type":"MEMBER_CARD",
                        "member_card":{
                            "base_info":{
                                "logo_url": "http://www.blinq.cn/Public/i/i.png",
                                "brand_name":"缤刻",
                                "code_type":0,
                                "title":"缤刻缤缤卡会员",
                                "sub_title":"卡号:'.$sub_title.'",
                                "color":"Color010",
                                "notice": "使用时向服务员出示此券",
                                "service_phone":"020-88888888",
                                "description":"不可与其他优惠同享\n如需团购券发票,请在消费时向商户提出\n店内均可使用,仅限堂食\n餐前不可打包,餐后未吃完,可打包\n本团购券不限人数,建议2人使用,超过建议人数须另收酱料费5元/位\n本单谢绝自带酒水饮料",
                                "date_info":{
                                    "type":1,
                                    "begin_timestamp":1407577600,
                                    "end_timestamp":1419910400
                                },
                                "sku":{
                                    "quantity": 50000000
                                },
                                "use_limit":1,
                                "get_limit":3,
                                "use_custom_code":false,
                                "bind_openid":true,
                                "openid":"'.$openid.'",
                                "can_share":false
                            },
                            "supply_bonus":false,
                            "supply_balance":false,
                            "bonus_cleared":"不可转用其他人",
                            "init_bonus":0,
                            "init_balance":0,
                            "prerogative":"不可与其他优惠同享\n如需团购券发票,请在消费时向商户提出\n店内均可使用",
                            "bind_old_card_url":"'.$activate_url.'"
                        }
                    }
                }';
        $info = $this->wtw_request($memadd_url,$data);
        $card_id = json_decode($info,true);
        return  $card_id["card_id"];
    }

    /*
    * 生成会员卡的 二维码
    *
    * {"errcode":40053,"errmsg":"invalid action info, please check document"}
    */
    public function get_member_qrcode(){
        //获取ACCESS_TOKEN
        $ACCESS_TOKEN = $this->get_wtw_Token();
        $url = "https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=".$ACCESS_TOKEN."";
        $data = '{
                    "action_name":"QR_CARD",
                    "action_info":{
                        "card": {
                            "card_id":"pPLOfjgeq4G41xlsVeqDD4__wJlo",
                            "openid": "oPLOfjvlD4LTKP-8WpVotQJPVtNY",
                            "expire_seconds": "1800" ,
                            "is_unique_code": false
                            },
                         "use_custom_code":true,
                     }
                 }';

        $qrcoderes= $this->wtw_request($url,$data);
        dump($qrcoderes);
        $qrcoderes=json_decode($qrcoderes,true);
        //$qrcodeurl = 'https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket='. urlencode($qrcoderes['ticket']);
        ///echo "<img src='https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket={$qrcoderes['ticket']}' />";
        //return $qrcoderes;
    }

    /*
     *
    * 微信通过 调用API激活会员卡
    */
    public function active_member(){
        $ACCESS_TOKEN = $this->get_wtw_Token();
        $active_url ="https://api.weixin.qq.com/card/membercard/activate?access_token=".$ACCESS_TOKEN."";
        /*
        $data ='{
                    "init_bonus":100,
                    "init_balance":100,
                    "membership_number":"1823554",
                    "code":"798912843155",
                    "card_id":"pPLOfjhDHao6ZUFYUZMfhwiluPgM"
                }';

        $member_info = $this->wtw_request($active_url,$data);
        dump($member_info);*/
    }

    /*
     * 会员卡编号及积分信息
     */
    public function get_memberinfo(){
    }

    /*
     * 获取 的 创建  电影票 开卡接口()
    *  创建电影票成功
    *  string(68) "{"errcode":0,"errmsg":"ok","card_id":"pPLOfjtTWd0LH97lQOrfLQPcfjUI"}"
    */
    public function  get_movieticketadd(){
        //获取ACCESS_TOKEN
        $ACCESS_TOKEN = $this->get_wtw_Token();
        $data = '{
                    "card":{
                        "card_type":"MOVIE_TICKET",
                        "movie_ticket":{
                            "base_info":{   
                                "logo_url": "http://www.blinq.cn/upload/images/activityImages/2014/7/24/14/2014072414192526572vh_615&460.jpg",
                                "brand_name":"秦时明月", 
                                "code_type":0,
                                "title":"秦时明月之龙腾万里",
                                "sub_title":"秦时明月之龙腾万里",
                                "color":"Color010",
                                "notice": "使用时向服务员出示此券",
                                "service_phone":"020-88888888",
                                "description":"不可与其他优惠同享",
                                "date_info":{
                                    "type":1,
                                    "begin_timestamp":1407577600,
                                    "end_timestamp":1419910400
                                },
                                "sku":{
                                    "quantity": 50000000
                                },
                                "use_limit":1,
                                "get_limit":3,
                                "use_custom_code":true,
                                "bind_openid":false,
                                "can_share":true,
                                "url_name_type":1
                            },
                            "deal_detail":"改编自拥有500万粉丝的中国第一人气武侠动画系列剧《秦时明月》,即将于2013年暑期上映",
                        }
                    }
                }';

        $add_url ="https://api.weixin.qq.com/card/add?access_token=".$ACCESS_TOKEN."";

        $info = $this->wtw_request($add_url,$data);
        dump($info);
    }

    /*
    * 拉取门店列表
    * 
    * "errcode":0,"errmsg":"ok","location_list":[{"id":526,"name":"烈士陵园","phone":"","address":"地铁1号线","longitude":113.285392761,"latitude":23.1267681122}
    */
    public function  get_storelist(){
        //获取ACCESS_TOKEN
        $ACCESS_TOKEN = $this->get_wtw_Token();
        $url = "https://api.weixin.qq.com/card/location/batchget?access_token=".$ACCESS_TOKEN."";
        $data ='{
                    "offset":0,
                    "count":50
                }';
        $storelist = $this->wtw_request($url,$data);
        return $storelist;
    }

    /*
     * 获取颜色列表接口
     * 
     * {"errcode":0,"errmsg":"ok","colors":[{"name":"Color010","value":"#55bd47"},{"name":"Color020","value":"#10ad61"}
     */
    public function get_colorslist(){
        //获取ACCESS_TOKEN
        $ACCESS_TOKEN = $this->get_wtw_Token();
        $url = "https://api.weixin.qq.com/card/getcolors?access_token=".$ACCESS_TOKEN."";
        $data = null;
        $colorslist = $this->wtw_request($url,$data);
        return $colorslist;
    }

    /*
     * 生成卡券二维码
     * 
     * {"errcode":40053,"errmsg":"invalid action info, please check document"}
     */
    public function get_qrcode(){
        //获取ACCESS_TOKEN
        $ACCESS_TOKEN = $this->get_wtw_Token();
        $url = "https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=".$ACCESS_TOKEN."";

         $data = '{
                    "action_name":"QR_CARD", 
                    "action_info":{
                        "card": {
                            "card_id":"pPLOfjhDHao6ZUFYUZMfhwiluPgM", 
                            "is_unique_code":false,
                            },
                         "use_custom_code":true,
                     } 
                 }';

        $qrcoderes= $this->wtw_request($url,$data);
        $qrcoderes=json_decode($qrcoderes,true);
        $qrcodeurl = 'https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket='. urlencode($qrcoderes['ticket']);

        echo "<img src='https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket={$qrcoderes['ticket']}' />";
        //return $qrcoderes;

    }

    /*
     * 添加到 卡包 weixinJS
     * 
     */

    /*
     * 卡券核销部分
     * 该卡已核销
     * 
     * "string(117) "{"errcode":0,"errmsg":"ok","card":{"card_id":"pPLOfjhDHao6ZUFYUZMfhwiluPgM"},"openid":"oPLOfjvlD4LTKP-8WpVotQJPVtNY"}"
     */
    public function get_carddestroy($code =0 ,$card_id=0){
        //$code = 656268747314  ;
        //$card_id ="pPLOfjhDHao6ZUFYUZMfhwiluPgM";
        $ACCESS_TOKEN = $this->get_wtw_Token();
        $url = "https://api.weixin.qq.com/card/code/consume?access_token=".$ACCESS_TOKEN."";

        $data = '{
                    "code":"'.$code.'",
                    "card_id":'.$card_id.'
                }';

        $card_del= $this->wtw_request($url,$data);
        return $card_del;
    }

    /*
     * 会员卡交易(卡券支持优惠券(代金券、折扣券、礼品券、团购券)、会员卡、景点门票、门票、电影票)
    *
    * "errcode":40071,"errmsg":"invalid card type"}//////因为暂时 没有    开通会员卡
    */
    public function get_membertrade(){
        //获取ACCESS_TOKEN
        $ACCESS_TOKEN = $this->get_wtw_Token();
        $url = "https://api.weixin.qq.com/card/membercard/updateuser?access_token=".$ACCESS_TOKEN."";

        $data = '{
                    "code":"798912843155",
                    "card_id":"pPLOfjhDHao6ZUFYUZMfhwiluPgM",
                    "record_bonus":"消费30元,获得3积分",
                    "add_bonus":3,
                    "add_balance":-300,
                    "record_balance":"购买焦糖玛琪朵一杯,扣除金额30元"
                }';

        $membercard_update= $this->wtw_request($url,$data);
        dump($membercard_update);
    }

    /*
     * 领取电影票后通过调用更新电影票接口update电影信息及用户选座信息
    *{"errcode":0,"errmsg":"ok"}"
    */
    public function get_movietrade(){
        //获取ACCESS_TOKEN
        $ACCESS_TOKEN = $this->get_wtw_Token();
        $url = "https://api.weixin.qq.com/card/movieticket/updateuser?access_token=".$ACCESS_TOKEN."";
        $data = '{
                    "code":"277217129962",
                    "card_id":"p1Pj9jr90_SQRaVqYI239Ka1erkI",
                    "ticket_class":"4D",
                    "show_time":1408493192,
                    "screening_room":"5号影厅",
                    "seat_number":"5排14号"
                }';
        $movie_update= $this->wtw_request($url,$data);
        dump($movie_update);
    }

    /*
     * 拉起卡券列表(chooseCard)JSAPI,weixinJS
     * 
     */

    /*
     * code解码接口
    * "{"errcode":0,"errmsg":"ok","code":"992718526867"}"/////反向推导,这个Code是正确的;
    */
    public function get_codedecrypt(){
        $ACCESS_TOKEN = $this->get_wtw_Token();
        $url = "https://api.weixin.qq.com/card/code/decrypt?access_token=".$ACCESS_TOKEN."";

        $data ='{
                    "encrypt_code":"XXIzTtMqCxwOaawoE91+VJdsFmv7b8g0VZIZkqf4GWA60Fzpc8ksZ/5ZZ0DVkXdE"
                }';
        $decrypt= $this->wtw_request($url,$data);
        dump($decrypt);
    }


    /*
    * code 加密 接口
    *
    * "{"errcode":0,"errmsg":"ok","code":"992718526867"}"/////反向推导,这个Code是正确的;
    */
    public function get_codeencrypt(){
        $ACCESS_TOKEN = $this->get_wtw_Token();

        //$decrypt= $this->wtw_request($url,$data);
        //dump($decrypt);
    }


    /*
     * 卡券管理---删除卡券
     * 
     * string(27) "{"errcode":0,"errmsg":"ok"}"
     */
    public function get_carddelete(){
        $ACCESS_TOKEN = $this->get_wtw_Token();
        $url = "https://api.weixin.qq.com/card/delete?access_token=".$ACCESS_TOKEN."";

        $data ='{
                    "card_id":"pPLOfjtTWd0LH97lQOrfLQPcfjUI"
                }';
        $delete= $this->wtw_request($url,$data); 
        dump($delete);
    }

    /*
     * 查询Code
     * 
     * {"errcode":40056,"errmsg":"invalid serial code"}"
     */
    public function get_codeget(){
        //获取ACCESS_TOKEN
        $ACCESS_TOKEN = $this->get_wtw_Token();
        $url = "https://api.weixin.qq.com/card/code/get?access_token=".$ACCESS_TOKEN."";

        $data ='{
                    "code":"798912843155"
                }';
        $codeget= $this->wtw_request($url,$data);
        dump($codeget);

        $data = json_decode($codeget,true);
        $openid = $data["openid"];

        $userinfo = $this->get_subscribe_res($openid);
        $result = $this->get_opencard_res("13761029787");
    }

    /*
     * 批量查询卡列表
     *
     *{"errcode":0,"errmsg":"ok","card_id_list":["pPLOfjiKhDAvmDmjN0wQvolGHtbg","pPLOfjhDHao6ZUFYUZMfhwiluPgM"],"total_num":2}"
     */
    public function get_cardgetall(){
        //获取ACCESS_TOKEN
        $ACCESS_TOKEN = $this->get_wtw_Token();
        //dump($ACCESS_TOKEN);
        $url = "https://api.weixin.qq.com/card/batchget?access_token=".$ACCESS_TOKEN."";
        $data ='{
                    "offset": 0, 
                    "count":10
                }';
        $cardgetall= $this->wtw_request($url,$data);
        //dump($cardgetall);
        return $cardgetall;
    }

    /*
     * 查询卡券详情
    *
    * {"errcode":0,"errmsg":"ok","card":{"card_type":"GENERAL_COUPON","general_coupon":{"base_info":{"id":"pPLOfjhDHao6ZUFYUZMfhwiluPgM","logo_url":"http:\/\/m
    */
    public function get_carddetail(){
        //获取ACCESS_TOKEN
        $ACCESS_TOKEN = $this->get_wtw_Token();
        $url = "https://api.weixin.qq.com/card/get?access_token=".$ACCESS_TOKEN."";

        $data ='{
                "card_id":"pPLOfjhDHao6ZUFYUZMfhwiluPgM"
                }';
        $carddetail= $this->wtw_request($url,$data);
        dump(json_decode($carddetail));
    }

    /*
     * 事件推送
     * 
     * {"errcode":0,"
     */
    public function get_event(){
        $ACCESS_TOKEN = $this->get_wtw_Token();
        ///$carddetail= $this->wtw_request($url,$data);
        $toUser = "oPLOfjqw1fKtdUQPk1vDXCf7K8s0";
        $FromUser ="oPLOfjqw1fKtdUQPk1vDXCf7K8s0";
        $time = time();
        $cardid ="pPLOfjhDHao6ZUFYUZMfhwiluPgM";
        $textTpl ="<xml>
                        <ToUserName><![CDATA[".$toUser."]]></ToUserName>  
                        <FromUserName><![CDATA[.$FromUser.]]></FromUserName> 
                        <CreateTime>".$time."</CreateTime>
                        <MsgType><![CDATA[event]]></MsgType>
                        <Event><![CDATA[card_pass_check]]></Event>
                        <CardId><![CDATA[".$cardid."]]></CardId>
                        <IsGiveByFriend>1</IsGiveByFriend>
                        <UserCardCode><![CDATA[12312312]]></UserCardCode> 
                    </xml>";

    }
    /*
    * 更改 Code
    *
    * {"errcode":0,"code 无效
    */
    public function get_codeupdate(){
        //获取ACCESS_TOKEN
        $ACCESS_TOKEN = $this->get_wtw_Token();
        dump($ACCESS_TOKEN);
        $update_url = "https://api.weixin.qq.com/card/code/update?access_token=".$ACCESS_TOKEN."";

        $data ='{
                    "code":"151322901878",
                    "card_id":"pPLOfjhDHao6ZUFYUZMfhwiluPgM",
                    "new_code":"151322901879",
                }';
        /*
        $codeupdate = $this->wtw_request($update_url,$data);
        dump($codeupdate);
        */
    }

    /*
     * 卡券失效接口 
    *
    *  {"errcode":0,"code无效
    */
    public function get_codeunable(){
        //获取ACCESS_TOKEN
        $ACCESS_TOKEN = $this->get_wtw_Token();
        $unable_url = "https://api.weixin.qq.com/card/code/unavailable?access_toke=".$ACCESS_TOKEN."";

        $data ='{
                    "code":"151322901878",
                    "card_id":"pPLOfjhDHao6ZUFYUZMfhwiluPgM"
                }';
        /*
        $codeunable= $this->wtw_request($unable_url,$data);
        dump($codeunable);
        */
    }

    /*
    * 添加白名单(果子的 )
    *
    *  
    */
    public function get_whitelist(){
        //获取ACCESS_TOKEN
        $ACCESS_TOKEN = $this->get_wtw_Token();
        $white_url = "https://api.weixin.qq.com/card/testwhitelist/set?access_toke=".$ACCESS_TOKEN."";

        $data ='{               
                    "openid":[
                              "oPLOfjksQLgxSPDiL2wSSYWDA_ZU"
                        ]       
                }';
        /*
        $whileresult= $this->wtw_request($white_url,$data);
        dump($whileresult); 
        */
    }


    /*请求URL,判断用户是否已经关注*/
    public function get_subscribe_res($openid){

        /////微信公众平台
        $time =time()*1000;
        $appid = 15;
        $token ="b4384c050f27b99151501b1a95eb529c";

        $tmpArr = array($token, $time, $appid);
        sort($tmpArr,SORT_STRING);
        $tmpStr = implode($tmpArr);
        $signature = sha1($tmpStr); 

        $userinfourl ="http://weixin.augmarketing.com/wechatconnect/app/users/property/".$openid."?appId=".$appid."&timestamp=".$time."&signature=".$signature."";      
        $userinfo = $this->requesturl($userinfourl,"GET");
        ///dump($userinfo);
        return $userinfo;
    }
    /*
     * 
     * 得到签名Signature 的查询字符串
     */
    public function getSortQueryString($params = array(), $exceptKeys = array())
    {
        $querySting = '';
        ksort($params);
        foreach ($params as $key => $value) {
            if(!in_array($key, $exceptKeys)) {
                $querySting .= self::urlencode($key) . '=' . self::urlencode($value) . '&';
            }
        }
        return mb_substr($querySting, 0, mb_strlen($querySting) - 1);
    }
    /*
     * URLencode加密字符串
     */
    public static function urlencode($string = '')
    {
        return str_replace('~', '%7E', rawurlencode($string));
    }
    /*
     * URLDecode解密字符串
     */
    public static function urldecode($string = '' )
    {
        return str_replace('%20', '+', str_replace('%2A', '*', rawurldecode($string)));
    }

    public function signature($params = array(), $token)
    {
        $queryString = $this->getSortQueryString($params, array('sig'));
        return urlencode(base64_encode(hash_hmac('sha256', $queryString, $token, true)));
    }

    /*
     * 调用开卡接口
     */
    public  function get_opencard_res($telephone){
        $ts = strtotime('now');
        ///$telephone ="18621383387";
        $appkey ='3ccdb900';
        $secret ="957a8ca7a73c4d14d070fbb819eb864a";
        ////Sig签名生成需要secret,appkey 3ccdb900对应的secret是:957a8ca7a73c4d14d070fbb819eb864a;$signature = urlencode(base64_encode(hash_hmac("sha256","app_key=urlencoded(".$appkey.")&check=urlencoded(1)&ts=urlencoded(".$time.")",$secret,true)));
        $params = array(
                    'app_key' => $appkey,
                    'ts' => $ts,
                    'uuid' => $telephone,
                );
        $sig = $this->signature($params,$secret);

        $opencardurl ="http://mmapi.blinq.augmarketing.com/benefit/list?app_key=3ccdb900&ts=".$ts."&uuid=".$telephone."&sig=".$sig."";
        $opencardinfo = $this->requesturl($opencardurl, "GET");

        //dump($opencardinfo);
        if(!empty($opencardinfo)){
            if(!empty($opencardinfo["data"])){
                return 1;
            }else{
                return 0;
            }
        }else{
            return 0;
        }
    }


    /*请求URL,通过 当前微信号openid 获取用户member_id */
    public function get_member_id($openid){

        $ts = strtotime('now');
        ///$telephone ="18621383387";
        $appkey ='3ccdb900';
        $secret ="957a8ca7a73c4d14d070fbb819eb864a";
        ////Sig签名生成需要secret,appkey 3ccdb900对应的secret是:957a8ca7a73c4d14d070fbb819eb864a;$signature = urlencode(base64_encode(hash_hmac("sha256","app_key=urlencoded(".$appkey.")&check=urlencoded(1)&ts=urlencoded(".$time.")",$secret,true)));
        $params = array(
                    'app_key' => $appkey,
                    'ts' => $ts,
                    'attribute_id' => 9,
                    'attribute_value'=>$openid
                );
        $sig = $this->signature($params,$secret);

        $member_url ="http://mmapi.blinq.augmarketing.com/member/list?app_key=3ccdb900&ts=".$ts."&sig=".$sig."&attribute_id=9&attribute_value=$openid";
        $member_info = $this->requesturl($member_url, "GET");
        dump($member_info);
        return $member_info["data"]["items"][0]["member_id"];

    }

    /*请求URL,通过 当前微信号openid 获取用户 微生活卡号 member_id */
    public function get_member_cardid($member_id=669937){

        $ts = strtotime('now');
        ///$telephone ="18621383387";
        $appkey ='3ccdb900';
        $secret ="957a8ca7a73c4d14d070fbb819eb864a";
        ////Sig签名生成需要secret,appkey 3ccdb900对应的secret是:957a8ca7a73c4d14d070fbb819eb864a;$signature = urlencode(base64_encode(hash_hmac("sha256","app_key=urlencoded(".$appkey.")&check=urlencoded(1)&ts=urlencoded(".$time.")",$secret,true)));
        $params = array(
                'app_key' => $appkey,
                'ts' => $ts,
                'member_id' => $member_id
        );
        $sig = $this->signature($params,$secret);

        $member_url ="http://mmapi.blinq.augmarketing.com/member/detail?app_key=3ccdb900&ts=".$ts."&sig=".$sig."&member_id=$member_id";
        $member_info = $this->requesturl($member_url, "GET");
        dump($member_info);
        //return $member_info["data"]["card_number"];
        ///dump($member_info);   
    }
    ////获取用户 微生活卡号
    public function get_cardidByOpenID($openid){
        $cardid =  $this->get_member_id($openid);
        return $this->get_member_cardid($cardid);
    }
    // 允许
    public function allowbenefit($telephone){
        $Cache = Cache::getInstance('Redis');
        $key = "diamond_benefit:get_benefit_value_".$telephone ;
        $times = $Cache->get($key);

        if (empty($times) || ($times==false)){
            $value = $this->get_opencard_res($telephone);
            $Cache->set($key,$value);
            return $value;
        }
        return $times;
    }
    /*
     * Curl 请求
     */
    public function wtw_request($url,$data=null){
        $curl = curl_init(); // 启动一个CURL会话
        curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // 对认证证书来源的检查
        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); // 从证书中检查SSL加密算法是否存在
        curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); // 模拟用户使用的浏览器
        if($data != null){
            curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求
            curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // Post提交的数据包
        }
        curl_setopt($curl, CURLOPT_TIMEOUT, 300); // 设置超时限制防止死循环
        curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回
        $info = curl_exec($curl); // 执行操作
        if (curl_errno($curl)) {
            echo 'Errno:'.curl_getinfo($curl);//捕抓异常
            dump(curl_getinfo($curl));
        }
        return $info;
    }

    /*
     * 模板消息
     */
    public function templetemsg(){
        //获取ACCESS_TOKEN
        /*string(86) "8jvpKfJAiEMSNQF-Ht2lAQklCJqND6AMYkU1ZPujIEa1Tl45lGSxoCybkymjCgbg0FdYbeF6s4A7Q41kpHZnAg"
         *  string(45) "{"errcode":0,"errmsg":"ok","msgid":201652404}"
         */
        $ACCESS_TOKEN = $this->get_wtw_Token();
        dump($ACCESS_TOKEN);
        $msg_url="https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=".$ACCESS_TOKEN."";
        $time = date("Y-m-d H:i:s",time());
        $url ="http://www.blinq.cn/";   ////这个链接是点击图文 跳转的链接,换行只能用\n 不能用<Br/>
        ////请求包为一个json:
        $msg_json= '{
                        "touser":"oPLOfjqw1fKtdUQPk1vDXCf7K8s0",
                        "template_id":"iZOHjFSa-Ax2UuDlzjJx6IrwUrSvdDhD4TQPnM8kFSY",
                        "url":"'.$url.'",
                        "topcolor":"#FF0000",
                        "data":{
                            "first":{
                                "value":"尊敬的李先生:\n恭喜你模板接口调用成功了\n\n",
                                "color":"#000000"
                            },
                            "keyword1":{
                                "value":"模板接口调用测试\n\n",
                                "color":"#000000"
                            },
                            "keyword2":{
                                "value":"'.$time.'\n\n",
                                "color":"#000000"
                            },
                            "remark":{
                                "value":"\n\nThis message is intended only for the use of the individual or entity激活成功",
                                "color":"#0099FF"
                            }
                        }
                    }' ;
       $result =  $this->wtw_request($msg_url,$msg_json);
        ///$result = $this->msg_request($msg_url, $msg_json, $header = array());
        dump($result);
    }
}
展开阅读全文

没有更多推荐了,返回首页