TxAdqNewNoAdvBookController.php 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php
  2. namespace App\Http\Controllers\QuickApp\SendOrder;
  3. use App\Exceptions\ApiException;
  4. use App\Http\Controllers\QuickApp\BaseController;
  5. use App\Modules\SendOrder\Models\QappSendOrder;
  6. class TxAdqNewNoAdvBookController extends BaseController
  7. {
  8. /**
  9. * 腾讯广告新版,非点击广告访问链接的用户将看到配置的非广告书籍
  10. * - 如果是通过腾讯adq广告投放的hap链接中,会有腾讯广告那边添加的参数,形如:hap://app/com.beidao.kuaiying.zsy/views/Reader?send_order_id=3402324&bid=5pNo6A7wqQmB1WgQygDjkOM9VZn2vXeY&chapter_id=1252&platform=tx_adq_new&back_name=%E5%BE%AE%E8%A7%86&back_pkg=com.tencent.weishi&back_url=weishi%3A%2F%2F
  11. * - 否则,形如:hap://app/com.beidao.kuaiying.zsy/views/Reader?send_order_id=3521701&bid=PGZq37EQ1brwdgpeyaR8Voa42OXNk6Ap&chapter_id=23655059&platform=huawei_fyp
  12. * @param $sendOrderId
  13. * @return mixed
  14. * @throws ApiException
  15. */
  16. public function getNoAdvBookInfo($sendOrderId) {
  17. $extraConfig = QappSendOrder::where('send_order_id', $sendOrderId)
  18. ->where('platform', 'tx_adq_new')
  19. ->value('extra_config');
  20. if($extraConfig) {
  21. $extraConfigDecode = \json_decode($extraConfig, true);
  22. $bid = $extraConfigDecode['txAdqNoAdvBid'] ?? 0;
  23. $cid = $extraConfigDecode['txAdqNoAdvCid'] ?? 0;
  24. if($bid) {
  25. return response()->success([
  26. 'bid' => Hashids::encode($bid),
  27. 'cid' => $cid,
  28. ]);
  29. }
  30. }
  31. throw new ApiException(-1, '没有找到配置的书籍');
  32. }
  33. }