TxAdqNewNoAdvBookController.php 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  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. use Hashids\Hashids;
  7. class TxAdqNewNoAdvBookController extends BaseController
  8. {
  9. /**
  10. * 腾讯广告新版,非点击广告访问链接的用户将看到配置的非广告书籍
  11. * - 如果是通过腾讯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
  12. * - 否则,形如:hap://app/com.beidao.kuaiying.zsy/views/Reader?send_order_id=3521701&bid=PGZq37EQ1brwdgpeyaR8Voa42OXNk6Ap&chapter_id=23655059&platform=huawei_fyp
  13. * @param $sendOrderId
  14. * @return mixed
  15. * @throws ApiException
  16. */
  17. public function getNoAdvBookInfo($sendOrderId) {
  18. $extraConfig = QappSendOrder::where('send_order_id', $sendOrderId)
  19. ->where('platform', 'tx_adq_new')
  20. ->value('extra_config');
  21. if($extraConfig) {
  22. $extraConfigDecode = \json_decode($extraConfig, true);
  23. $bid = $extraConfigDecode['txAdqNoAdvBid'] ?? 0;
  24. $cid = $extraConfigDecode['txAdqNoAdvCid'] ?? 0;
  25. if($bid) {
  26. return response()->success([
  27. 'bid' => Hashids::encode($bid),
  28. 'cid' => $cid,
  29. ]);
  30. }
  31. }
  32. throw new ApiException(-1, '没有找到配置的书籍');
  33. }
  34. }