PremiumPlatformOrderController.php 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <?php
  2. namespace App\Http\Controllers\Admin\Premium;
  3. use Illuminate\Http\Request;
  4. use App\Services\AipHttpClient;
  5. use App\Http\Controllers\Controller;
  6. use Illuminate\Support\Facades\DB;
  7. use App\Models\Telegram\TelegramBot;
  8. use App\Models\Premium\PremiumPlatform;
  9. use App\Models\Premium\PremiumPlatformOrder;
  10. class PremiumPlatformOrderController extends Controller
  11. {
  12. public $SourceType = ['1' => '人工下单','2' => '自动下单'];
  13. public $Status = ['0' => '待支付','1' => '待开通','2' => '已开通','3' => '已过期','4' => '会员取消'];
  14. public function index(Request $request)
  15. {
  16. $PlatformName = PremiumPlatform::pluck('rid','rid');
  17. $SourceType = $this->SourceType;
  18. $botData = TelegramBot::pluck('bot_username','rid');
  19. return view('admin.premium.order.index',compact("PlatformName","SourceType","botData"));
  20. }
  21. //列表
  22. public function getData(Request $request)
  23. {
  24. $model = PremiumPlatformOrder::from('premium_platform_order as a')
  25. ->leftjoin('telegram_bot as b','a.bot_rid','b.rid')
  26. ->where(function($query) use ($request){
  27. if ($request->premium_tg_username != '') {
  28. $query->where('a.premium_tg_username', 'like' ,"%" . $request->premium_tg_username ."%");
  29. }
  30. if ($request->bot_rid != '') {
  31. $query->where('a.bot_rid', $request->bot_rid);
  32. }
  33. });
  34. $count = $model->count();
  35. $limit = $request->limit ?? 15;
  36. $offset = $request->page ? ($request->page - 1) * $limit : 0;
  37. $data = $model->limit($limit)->offset($offset)->select('a.*','b.bot_username')->orderBy('a.rid','desc')->get();
  38. $SourceType = $this->SourceType;
  39. $Status = $this->Status;
  40. $data = $data->map(function($query) use ($Status,$SourceType){
  41. $query->source_type_val = $SourceType[$query->source_type];
  42. $query->status_val = $Status[$query->status];
  43. return $query;
  44. });
  45. return ['code' => '0', 'data' => $data, 'count' => $count];
  46. }
  47. }