WelcomeController.php 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: hp
  5. * Date: 2017/12/1
  6. * Time: 11:37
  7. */
  8. namespace App\Http\Controllers\Channel\Web;
  9. use App\Http\Controllers\Controller;
  10. use App\Modules\Finance\Services\FinancialStatService;
  11. use App\Modules\Trade\Services\OrderStatService;
  12. use App\Modules\OfficialAccount\Services\OfficialAccountService;
  13. use App\Modules\Finance\Services\CommissionRateService;
  14. use App\Modules\Channel\Services\ChannelService;
  15. use Illuminate\Http\Request;
  16. class WelcomeController extends Controller
  17. {
  18. public function index(Request $request)
  19. {
  20. $domain = _domain();
  21. $options = [];
  22. $current_channel_id = $request->has('current_channel_id') ? (int)$request->input('current_channel_id') : 0;
  23. $channel_user_id = session('ydyauth');
  24. if($current_channel_id && $channel_user_id)//切换当前渠道session
  25. {
  26. $channel = ChannelService::getUserChannel($current_channel_id,$channel_user_id);
  27. if($channel) $request->session()->put('ydychannel', serialize($channel));
  28. }
  29. if(session('ydychannel'))
  30. {
  31. $distribution_channel = unserialize(session('ydychannel'));
  32. $distribution_channel_id = $distribution_channel->id;
  33. //订单相关统计
  34. $order_stat = OrderStatService::getChannelStat($distribution_channel_id);
  35. //结算、提现相关统计
  36. $finance_stat = FinancialStatService::getFinancialStatSingle($distribution_channel_id);
  37. //获取授权公众号列表
  38. $official_accounts = OfficialAccountService::officialAuthAccountBydistributionChannelId(compact('distribution_channel_id'));
  39. //获取当前结算比例
  40. $rate = CommissionRateService::getRateCommissionRate($distribution_channel_id);
  41. $channel_company = ChannelService::getChannelCompanyInfo($distribution_channel_id);
  42. $company_gender = 2;
  43. if($channel_company && isset($channel_company->fans_gender)) {
  44. $company_gender = $channel_company->fans_gender;
  45. if(!in_array($company_gender,[1,2,'1','2'])) {
  46. $company_gender = 2;
  47. }
  48. }
  49. //\Log::info('company_gender:'.$company_gender);
  50. //统计信息
  51. $options =[
  52. 'total_recharge_amount'=>$order_stat ? (float)$order_stat->total_recharge_amount : 0,
  53. 'paid_number'=>$order_stat ? (float)$order_stat->paid_num : 0,
  54. 'unpaid_number'=>$order_stat ? (float)$order_stat->unpaid_num : 0,
  55. 'accumulative_withdrawal_amount'=>$finance_stat ? number_format($finance_stat->accumulative_withdrawal_amount,2) : 0,
  56. 'enable_withdrawal_amount'=>$finance_stat ? (float)$finance_stat->enable_withdrawal_amount : 0,
  57. 'latest_withdrawal_amount'=>$finance_stat ? (float)$finance_stat->latest_withdrawal_amount : 0,
  58. 'latest_withdraw_time'=>$finance_stat && $finance_stat->latest_withdraw_time ? $finance_stat->latest_withdraw_time : '',
  59. 'commission_rate'=>(string)($rate*100).'%',
  60. 'withdraw_pending_amount'=>$finance_stat ? (float)$finance_stat->withdraw_pending_amount : 0,
  61. //昨日统计数据
  62. 'yesterday_recharge_amount'=>$order_stat ? (float)$order_stat->yesterday_recharge_amount : 0,
  63. 'yesterday_paid_num'=>$order_stat ? (float)$order_stat->yesterday_paid_num : 0,
  64. 'yesterday_unpaid_num'=>$order_stat ? (float)$order_stat->yesterday_unpaid_num : 0,
  65. 'yesterday_ticket_recharge_paid_num'=>$order_stat ? (float)$order_stat->yesterday_ticket_recharge_paid_num : 0,
  66. 'yesterday_ticket_recharge_unpaid_num'=>$order_stat ? (float)$order_stat->yesterday_ticket_recharge_unpaid_num : 0,
  67. 'yesterday_ticket_recharge_amount'=>$order_stat ? (float)$order_stat->yesterday_ticket_recharge_amount : 0,
  68. 'yesterday_year_recharge_paid_num'=>$order_stat ? (float)$order_stat->yesterday_year_recharge_paid_num : 0,
  69. 'yesterday_year_recharge_unpaid_num'=>$order_stat ? (float)$order_stat->yesterday_year_recharge_unpaid_num : 0,
  70. 'yesterday_year_recharge_amount'=>$order_stat ? (float)$order_stat->yesterday_year_recharge_amount : 0,
  71. //当月统计数据
  72. 'current_month_recharge_amount'=>$order_stat ? (float)$order_stat->current_month_recharge_amount : 0,
  73. 'current_month_paid_num'=>$order_stat ? (float)$order_stat->current_month_paid_num : 0,
  74. 'current_month_unpaid_num'=>$order_stat ? (float)$order_stat->current_month_unpaid_num : 0,
  75. 'current_month_ticket_recharge_paid_num'=>$order_stat ? (float)$order_stat->current_month_ticket_recharge_paid_num : 0,
  76. 'current_month_ticket_recharge_unpaid_num'=>$order_stat ? (float)$order_stat->current_month_ticket_recharge_unpaid_num : 0,
  77. 'current_month_ticket_recharge_amount'=>$order_stat ? (float)$order_stat->current_month_ticket_recharge_amount : 0,
  78. 'current_month_year_recharge_paid_num'=>$order_stat ? (float)$order_stat->current_month_year_recharge_paid_num : 0,
  79. 'current_month_year_recharge_unpaid_num'=>$order_stat ? (float)$order_stat->current_month_year_recharge_unpaid_num : 0,
  80. 'current_month_year_recharge_amount'=>$order_stat ? (float)$order_stat->current_month_year_recharge_amount : 0,
  81. //上月统计数据
  82. 'last_month_recharge_amount'=>$order_stat ? (float)$order_stat->last_month_recharge_amount : 0,
  83. 'last_month_paid_num'=>$order_stat ? (float)$order_stat->last_month_paid_num : 0,
  84. 'last_month_unpaid_num'=>$order_stat ? (float)$order_stat->last_month_unpaid_num : 0,
  85. 'last_month_ticket_recharge_paid_num'=>$order_stat ? (float)$order_stat->last_month_ticket_recharge_paid_num : 0,
  86. 'last_month_ticket_recharge_unpaid_num'=>$order_stat ? (float)$order_stat->last_month_ticket_recharge_unpaid_num : 0,
  87. 'last_month_ticket_recharge_amount'=>$order_stat ? (float)$order_stat->last_month_ticket_recharge_amount : 0,
  88. 'last_month_year_recharge_paid_num'=>$order_stat ? (float)$order_stat->last_month_year_recharge_paid_num : 0,
  89. 'last_month_year_recharge_unpaid_num'=>$order_stat ? (float)$order_stat->last_month_year_recharge_unpaid_num : 0,
  90. 'last_month_year_recharge_amount'=>$order_stat ? (float)$order_stat->last_month_year_recharge_amount : 0,
  91. 'domain'=>get_channel_domain($distribution_channel_id),
  92. 'distribution_channel_id'=>$distribution_channel_id,
  93. 'is_bind_gzh'=>count($official_accounts) ? 1 : 0,
  94. 'lowest_withdraw_money'=>(float)env('LOWEST_WITHDRAW_MONEY'),
  95. 'phone'=>$distribution_channel->phone,
  96. 'company_gender'=>$company_gender,
  97. 'show_new_book_page'=>0
  98. ];
  99. $show_new_book_page = env('SHOW_NEW_BOOK_PAGE');
  100. if($show_new_book_page){
  101. if($show_new_book_page == 'all'){
  102. $options['show_new_book_page'] = 1;
  103. }elseif(in_array($channel_user_id,explode(',',$show_new_book_page))){
  104. $options['show_new_book_page'] = 1;
  105. }
  106. }
  107. if($options['is_bind_gzh']){
  108. $inner_setting = env('CHANNEL_INNER_ROLE',5);
  109. $inner = explode(',',$inner_setting);
  110. if(in_array($distribution_channel_id,$inner)){
  111. $options['role'] = 'inner-bind';
  112. }else{
  113. $options['role'] = 'outer-bind';
  114. }
  115. }else{
  116. $options['role'] = 'outer';
  117. }
  118. }
  119. $options = json_encode($options);
  120. return view('channel.web.welcome.index',compact('options'));
  121. }
  122. public function logout(Request $request)
  123. {
  124. $request->session()->forget('ydyauth');
  125. $request->session()->forget('ydychannel');
  126. return redirect()->secure('/passport/login');
  127. }
  128. public function setCurrentChannel($appid)
  129. {
  130. }
  131. }