xiaoyu 2 years ago
parent
commit
2f487fb787
2 changed files with 37 additions and 4 deletions
  1. 6 1
      vapi/control/retail.php
  2. 31 3
      vapi/control/sapi.php

+ 6 - 1
vapi/control/retail.php

@@ -1,4 +1,5 @@
 <?php
+require_once(BASE_ROOT_PATH . '/vapi/control/sapi.php');
 
 class retailControl extends vbaseControl
 {
@@ -51,6 +52,10 @@ class retailControl extends vbaseControl
 
         $resp = Model('')->table('retail')->insert($params);
         if ($resp) {
+            $sapi = new sapi();
+            $body = ['pageId' => $_POST['pageId'], 'tid' => $_POST['tid'], 'lbid' => $_POST['lbid']];
+            $resp = $sapi->send($body);
+            Log::record("sapi result {$resp}");
             return self::outsuccess([]);
         } else {
             return self::outerr(301, "录入信息失败.");
@@ -63,4 +68,4 @@ class retailControl extends vbaseControl
             . sprintf('%010d', time())
             . sprintf('%06d', (float)microtime() * 1000000);
     }
-}
+}

+ 31 - 3
vapi/control/sapi.php

@@ -1,5 +1,7 @@
 <?php
 
+require_once(BASE_CORE_PATH . '/framework/function/http.php');
+
 class sapi
 {
     private $url = 'https://sapi.ads.oppomobile.com/v1/clue/sendData';
@@ -11,12 +13,38 @@ class sapi
     {
         $time = time();
         $sign = sha1($this->API_ID .$this->APIKEY . $time);
-        return base64_encode($this->ownerId. '.'. $this->API_ID. ',' .$time. ',' . $sign);
+        return base64_encode($this->ownerId. ','. $this->API_ID. ',' .$time. ',' . $sign);
     }
 
     public function send($body)
     {
-        $params['pageId'] = $body['channel_code'];
+        $params['pageId'] = $body['pageId'];
+        $params['ownerId'] = $this->ownerId;
         $params['ip'] = $_SERVER['REMOTE_ADDR'];
+        $params['tid'] = $body['tid'];
+        $params['lbid'] = $body['lbid'];
+        $params['transformType'] = 101;
+
+        $token = $this->create_token();
+        $header = [
+            'Content-Type: application/json',
+            "Authorization:Bearer {$token}"
+        ];
+        $params = json_encode($params);
+
+        $resp = http_post_data($this->url, $params, $header, $net_errno);
+        if (empty($resp)) {
+            Log::record("sapi send neterr {$net_errno}", Log::ERR);
+            return false;
+        } else {
+            Log::record($resp, Log::DEBUG);
+            $resp = json_decode($resp, true);
+            if ($resp['code'] === 0) {
+                return true;
+            } else {
+                Log::record("sapi send err {$resp['msg']}", Log::ERR);
+                return false;
+            }
+        }
     }
-}
+}