SendOrdersController.php 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. <?php
  2. namespace App\Http\Controllers\Agents\User;
  3. use App\Http\Controllers\Agents\User\Transformers\SendOrderTransformer;
  4. use App\Modules\Agents\Models\AgentsManage;
  5. use App\Modules\Agents\Services\AgentsManageService;
  6. use App\Modules\Book\Services\BookConfigService;
  7. use App\Modules\OfficialAccount\Services\ForceSubscribeService;
  8. use App\Modules\SendOrder\Services\SendOrderService;
  9. use App\Modules\Trade\Services\OrderService;
  10. use App\Modules\User\Services\UserService;
  11. use Illuminate\Http\Request;
  12. use Illuminate\Routing\Controller;
  13. class SendOrdersController extends Controller
  14. {
  15. public function getSendorderList()
  16. {
  17. }
  18. function getSendOrderListByAgentName(Request $request)
  19. {
  20. $agentName = $request->session()->get('agent_auth');
  21. $agent = AgentsManage::where('id',$agentName)->first();
  22. $agentName = $agent->agent_name;
  23. /*$distribution_channel_id = $request->has('distribution_channel_id') ? $request->input('distribution_channel_id') : '';
  24. if (empty($distribution_channel_id)) {
  25. return response()->error("PARAM_EMPTY");
  26. }*/
  27. //echo $agentName;
  28. if ($agentName) {
  29. $sendOrders = AgentsManageService::getSendOrdersByAgentName($agentName, false);
  30. //var_dump($sendOrders);die;
  31. foreach ($sendOrders as $item) {
  32. $sendOrderId = $item->id;
  33. $item->name=mb_convert_encoding($item->name, 'UTF-8', 'UTF-8');
  34. $item->book_name=mb_convert_encoding($item->book_name, 'UTF-8', 'UTF-8');
  35. $item->chapter_name=mb_convert_encoding($item->chapter_name, 'UTF-8', 'UTF-8');
  36. $browser_visit_info = SendOrderService::getBrowserUvAndPv($sendOrderId);
  37. $item->browserClickNum = $browser_visit_info['pv'];
  38. $item->browserClickNumUV = $browser_visit_info['uv'];
  39. $item->clickNum = SendOrderService::getPv($sendOrderId);
  40. $item->clickNumUV = SendOrderService::getUv($sendOrderId);//uv
  41. $item->payUserNum = OrderService::getPayUserNum($sendOrderId);
  42. $item->registerNum = UserService::getPromotionTotal($sendOrderId);
  43. $item->fansNum = ForceSubscribeService::getNewFansNum($sendOrderId);
  44. $item->continue_read_uv = SendOrderService::getContinueTotalReadUv($item->id);
  45. $item->promotion_url = 'https://site' . encodeDistributionChannelId($item->distribution_channel_id) . '.' . $this->getDomainByBid($item->book_id) . '/yun/' . $item->id;
  46. $item->totalChargeAmount = (float)OrderService::getAmount(['send_order_id' => $sendOrderId]);
  47. $item->qrcode = "";//"data:image/png;base64," . base64_encode(QrCode::format('png')->size(200)->generate($promotion_url));
  48. $item->consumeChargeFee = 0;//$bookOrderInfo['charge_balance'] + $chapterOrderInfo['charge_balance'];
  49. $item->consumeRewardFee = 0;//$bookOrderInfo['reward_balance'] + $chapterOrderInfo['reward_balance'];;
  50. $item->consumeTotalFee = 0;//$item->consumeChargeFee + $item->consumeRewardFee;
  51. }
  52. return response()->pagination(new SendOrderTransformer, $sendOrders);
  53. }
  54. }
  55. /**
  56. * 根据图书id获取域名
  57. * @param $bid
  58. */
  59. function getDomainByBid($bid = '')
  60. {
  61. $domain = 'leyuee.com';
  62. //如果图书id为空,则返回默认的域名
  63. if (!empty($bid)) {
  64. $bookConfig = BookConfigService::getBookById($bid);
  65. if ($bookConfig) {
  66. $domain = $bookConfig->promotion_domain;
  67. }
  68. }
  69. return $domain;
  70. }
  71. }