TxAdqNewNoAdvBookController.php 2.0 KB

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