IndexController.php 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. <?php
  2. namespace App\Home\Controllers;
  3. use Storage;
  4. use App\Http\Controllers\Controller;
  5. use App\Model\Question;
  6. use App\Model\Option;
  7. use App\Jobs\Robot;
  8. class IndexController extends Controller
  9. {
  10. public function importTimu()
  11. {
  12. set_time_limit(0);
  13. $txt = Storage::get('1.txt');
  14. $txt_arr = explode("\n", $txt);
  15. foreach ($txt_arr as $k => $val) {
  16. $q_a = explode('?', $val);
  17. $str1 = preg_replace('/^\d/i','',$q_a[0], 1);
  18. $str2 = preg_replace('/^\d/i','',$str1, 1);
  19. $title = preg_replace('/^\d/i','',$str2, 1);
  20. $question_id = Question::insertGetId([
  21. "title" => $title . "?",
  22. "is_released" => 1,
  23. "created_at" => date('Y-m-d H:i:s'),
  24. "updated_at" => date('Y-m-d H:i:s'),
  25. ]);
  26. $optiion = mb_substr($q_a[1], 0, -4);
  27. //答案
  28. $answer = mb_substr($q_a[1], -4);
  29. $answer = mb_substr($answer, 1,1);
  30. // echo $optiion;
  31. // echo mb_strpos($optiion, 'B');
  32. $o_answer = 0;
  33. if(mb_strpos($optiion, 'A')){
  34. $optiion_A = mb_substr($optiion, mb_strpos($optiion, 'A') + 1, mb_strpos($optiion, 'B') - mb_strpos($optiion, 'A') - 1);
  35. }else{
  36. $optiion_A = mb_substr($optiion, 0 ,mb_strpos($optiion, 'B') - 1);
  37. }
  38. if($answer == 'A'){
  39. $o_answer = 1;
  40. }
  41. Option::insert([
  42. "title" => $optiion_A,
  43. "is_answer" => $o_answer,
  44. "question_id" => $question_id,
  45. "created_at" => date('Y-m-d H:i:s'),
  46. "updated_at" => date('Y-m-d H:i:s'),
  47. ]);
  48. $o_answer = 0;
  49. if(mb_strpos($optiion, 'C')){
  50. $option_B = mb_substr($optiion, mb_strpos($optiion, 'B') + 1, mb_strpos($optiion, 'C') - mb_strpos($optiion, 'B') - 1);
  51. if($answer == 'B'){
  52. $o_answer = 1;
  53. }
  54. Option::insert([
  55. "title" => $option_B,
  56. "is_answer" => $o_answer,
  57. "question_id" => $question_id,
  58. "created_at" => date('Y-m-d H:i:s'),
  59. "updated_at" => date('Y-m-d H:i:s'),
  60. ]);
  61. $o_answer = 0;
  62. }elseif(mb_strpos($optiion, 'B')){
  63. echo $option_B = mb_substr($optiion, mb_strpos($optiion, 'B') + 1);
  64. if($answer == 'B'){
  65. $o_answer = 1;
  66. }
  67. Option::insert([
  68. "title" => $option_B,
  69. "is_answer" => $o_answer,
  70. "question_id" => $question_id,
  71. "created_at" => date('Y-m-d H:i:s'),
  72. "updated_at" => date('Y-m-d H:i:s'),
  73. ]);
  74. $o_answer = 0;
  75. }
  76. if(mb_strpos($optiion, 'D')){
  77. $option_C = mb_substr($optiion, mb_strpos($optiion, 'C') + 1, mb_strpos($optiion, 'D') - mb_strpos($optiion, 'C') - 1);
  78. if($answer == 'C'){
  79. $o_answer = 1;
  80. }
  81. Option::insert([
  82. "title" => $option_C,
  83. "is_answer" => $o_answer,
  84. "question_id" => $question_id,
  85. "created_at" => date('Y-m-d H:i:s'),
  86. "updated_at" => date('Y-m-d H:i:s'),
  87. ]);
  88. $o_answer = 0;
  89. }elseif(mb_strpos($optiion, 'C')){
  90. echo $option_C = mb_substr($optiion, mb_strpos($optiion, 'C') + 1);
  91. if($answer == 'C'){
  92. $o_answer = 1;
  93. }
  94. Option::insert([
  95. "title" => $option_C,
  96. "is_answer" => $o_answer,
  97. "question_id" => $question_id,
  98. "created_at" => date('Y-m-d H:i:s'),
  99. "updated_at" => date('Y-m-d H:i:s'),
  100. ]);
  101. $o_answer = 0;
  102. }
  103. if(mb_strpos($optiion, 'E')){
  104. $option_D = mb_substr($optiion, mb_strpos($optiion, 'D') + 1, mb_strpos($optiion, 'E') - mb_strpos($optiion, 'D') - 1);
  105. if($answer == 'B'){
  106. $o_answer = 1;
  107. }
  108. Option::insert([
  109. "title" => $option_D,
  110. "is_answer" => $o_answer,
  111. "question_id" => $question_id,
  112. "created_at" => date('Y-m-d H:i:s'),
  113. "updated_at" => date('Y-m-d H:i:s'),
  114. ]);
  115. $o_answer = 0;
  116. }elseif(mb_strpos($optiion, 'D')){
  117. $option_D = mb_substr($optiion, mb_strpos($optiion, 'D') + 1);
  118. if($answer == 'D'){
  119. $o_answer = 1;
  120. }
  121. Option::insert([
  122. "title" => $option_D,
  123. "is_answer" => $o_answer,
  124. "question_id" => $question_id,
  125. "created_at" => date('Y-m-d H:i:s'),
  126. "updated_at" => date('Y-m-d H:i:s'),
  127. ]);
  128. $o_answer = 0;
  129. }
  130. }
  131. }
  132. /**
  133. * 测试加入队列
  134. */
  135. public function putJob()
  136. {
  137. dump(Robot::dispatch()->onQueue('robot'));
  138. }
  139. }