浏览代码

'uc加卓补回传'

zhuchengjie 3 年之前
父节点
当前提交
e0a47657cb

+ 37 - 0
src/Services/LandingPage/ChargeFeedBack/QappRereport.php

@@ -4,6 +4,7 @@ namespace General\Services\LandingPage\ChargeFeedBack;
 
 use App\Consts\BaseConst;
 use General\Models\Report\ReportUserBindRecord;
+use General\Models\Report\ReportUserChargeRecord;
 use General\Models\User\User;
 use General\Services\LandingPage\Report;
 use General\Services\Report\BaseReport;
@@ -34,4 +35,40 @@ class QappRereport extends Rereport
             'send_order_id' => $user->send_order_id,
         ]);
     }
+
+    public function reReport(int $bind_id, float $amount, string $order_no)
+    {
+        $report_user = ReportUserBindRecord::find($bind_id);
+        if ($report_user) {
+            $instance = $this->reportInstance($report_user->platform);
+
+            try {
+                //加卓回传
+                $res = $instance->reportAddDesk($report_user);
+                \Log::info('add_desk_report_result:'.json_encode($res));
+            } catch (\Exception $e) {
+                \Log::info('add_desk_report_result_error:'.$e);
+            }
+
+            $result =  $instance->reportCharge($report_user, $amount);
+            $charge = ReportUserChargeRecord::updateOrCreate(
+                [
+                    'order_no' => $order_no,
+                ],
+                [
+                    'uid' => $report_user->uid,
+                    'status' => $result['result'],
+                    'content' => $result['result'] ? '手动回传' : $result['content'],
+                ]
+            );
+            \Log::info('start_addReportCount:'.json_encode($report_user));
+            $report_info = $this->addReportCount($report_user);
+            \Log::info('end_addReportCount:'.json_encode($report_info));
+
+            if ($report_info && isset($report_info['data']['percent'])) {
+                $charge->report_percent = $report_info['data']['percent'];
+                $charge->save();
+            }
+        }
+    }
 }

+ 17 - 0
src/Services/Report/BaseReport.php

@@ -20,6 +20,10 @@ abstract class BaseReport implements ReportInterface
      */
     protected $register_event_type;
     /**
+     * 加桌事件类型
+     */
+    protected $add_desk_event_type;
+    /**
      * 充值用户数据上报地址
      */
     protected $report_url;
@@ -28,6 +32,8 @@ abstract class BaseReport implements ReportInterface
 
     public abstract function getRegisterQueryParams(ReportUserBindRecord $user): array;
 
+    public abstract function getAddDeskQueryParams(ReportUserBindRecord $user): array;
+
     /**
      * 付费上报
      */
@@ -46,6 +52,17 @@ abstract class BaseReport implements ReportInterface
         return $this->report($query_params);
     }
 
+    /**
+     * 加卓上报
+     * @param ReportUserBindRecord $user
+     * @return array
+     */
+    public function reportAddDesk(ReportUserBindRecord $user)
+    {
+        $query_params = $this->getAddDeskQueryParams($user);
+        return $this->report($query_params);
+    }
+
     public function report(array $query_params)
     {
         $result = false;

+ 12 - 0
src/Services/Report/QappUchcReport.php

@@ -13,6 +13,7 @@ class QappUchcReport extends BaseReport
     {
         $this->charge_event_type = 69;
         $this->register_event_type = 67;
+        $this->add_desk_event_type = 68;
         $this->report_url = '';// 同callback参数
     }
 
@@ -41,4 +42,15 @@ class QappUchcReport extends BaseReport
             'money' => $amount,
         ];
     }
+
+    public function getAddDeskQueryParams(ReportUserBindRecord $user): array
+    {
+        $this->report_url = $user->callback;
+        return [
+            'type' => $this->add_desk_event_type,
+            'event_time' => time() * 100,
+            'source' => $user->source,
+            'money' => 0,
+        ];
+    }
 }