ExampleController.php 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  1. <?php
  2. namespace App\Http\Controllers\V1;
  3. use App\Events\CardCertifiedEvent;
  4. use App\Events\ExampleEvent;
  5. use App\Handlers\BikeControl;
  6. use App\Jobs\SendSMSBikeTemporaryWaitOverThirtyJob;
  7. use App\Maps\CacheMap;
  8. use App\Models\Bike;
  9. use App\Models\InviteNewUser;
  10. use App\Models\User;
  11. use App\Repositories\AreaRepository;
  12. use App\Repositories\BikeRepository;
  13. use App\Repositories\LocationLogRepository;
  14. use App\Repositories\UserRepository;
  15. use App\Transformers\UserTransformer;
  16. use Carbon\Carbon;
  17. use Dingo\Api\Http\Request;
  18. use GatewayClient\Gateway;
  19. use Illuminate\Support\Facades\Event;
  20. use Illuminate\Support\Facades\Log;
  21. use Tymon\JWTAuth\Facades\JWTAuth;
  22. use Illuminate\Support\Facades\Redis;
  23. use Illuminate\Support\Facades\Cache;
  24. /**
  25. * 测试模块
  26. * Class ExampleController
  27. * @package App\Http\Controllers\V1
  28. */
  29. class ExampleController extends BaseController
  30. {
  31. protected $userRepository;
  32. /**
  33. * Create a new controller instance.
  34. *
  35. * @return void
  36. */
  37. public function __construct(UserRepository $userRepository)
  38. {
  39. $this->userRepository = $userRepository;
  40. }
  41. /**
  42. * @param Request $request
  43. * @return \Dingo\Api\Http\Response|string
  44. * User: Mead
  45. */
  46. public function index(Request $request)
  47. {
  48. $user = $this->userRepository->byIdGetModel(1);
  49. if (is_null($user)) {
  50. $this->response->errorNotFound('no data');
  51. return '';
  52. }
  53. return $this->response->item($user, UserTransformer::class);
  54. }
  55. public function orderRefund()
  56. {
  57. // $orders = Order::where('pay_status', Order::PAY_STATUS_OK)->whereDate('pay_time', Carbon::parse('-1 day')->toDateString())->get();
  58. // $payment = app('wechat.payment'); // 微信支付
  59. // foreach ($orders as $order) {
  60. // $result = $payment->refund->byOutTradeNumber($order->no, $order->no, wechat_fee($order->pay_money), wechat_fee($order->pay_money), [
  61. // // 可在此处传入其他参数,详细参数见微信支付文档
  62. // 'refund_desc' => '退支付金额'
  63. // ]);
  64. // }
  65. // echo 'ok';
  66. }
  67. public function batterOpen(Request $request, BikeRepository $bikeRepository)
  68. {
  69. // $bike_no = $request->get('bike_no');
  70. // $box_no = $bikeRepository->byNoGetBoxNO($bike_no);
  71. // BikeControl::openBatteryLock($box_no);
  72. // return [
  73. // 'status' => true
  74. // ];
  75. }
  76. public function batterClose(Request $request, BikeRepository $bikeRepository)
  77. {
  78. // $bike_no = $request->get('bike_no');
  79. // $box_no = $bikeRepository->byNoGetBoxNO($bike_no);
  80. // BikeControl::closeBatteryLock($box_no);
  81. // return [
  82. // 'status' => true
  83. // ];
  84. }
  85. public function bikeClose(Request $request, BikeRepository $bikeRepository)
  86. {
  87. // $bike_no = $request->get('bike_no');
  88. // $box_no = $bikeRepository->byNoGetBoxNO($bike_no);
  89. // BikeControl::closeLock($box_no);
  90. // return [
  91. // 'status' => true
  92. // ];
  93. }
  94. public function bikeOpen(Request $request, BikeRepository $bikeRepository)
  95. {
  96. // $bike_no = $request->get('bike_no');
  97. // $box_no = $bikeRepository->byNoGetBoxNO($bike_no);
  98. // BikeControl::openLock($box_no);
  99. // return [
  100. // 'status' => true
  101. // ];
  102. }
  103. public function bikeBell(Request $request, BikeRepository $bikeRepository)
  104. {
  105. $bike_no = $request->get('bike_no');
  106. $box_no = $bikeRepository->byNoGetBoxNO($bike_no);
  107. BikeControl::bellBike($box_no);
  108. return [
  109. 'status' => true
  110. ];
  111. }
  112. public function bikeInfo(Request $request, BikeRepository $bikeRepository)
  113. {
  114. // $bike_no = $request->get('bike_no');
  115. // $info = $bikeRepository->byBikeNo($bike_no);
  116. // Gateway::$registerAddress = '127.0.0.1:1238';
  117. // return [
  118. // 'battery_power' => $info->battery_power,
  119. // 'is_online' => Gateway::isUidOnline($info->box_no),
  120. // 'lists' => Gateway::getAllUidList(),
  121. // 'count' => Gateway::getAllClientCount(),
  122. // 'bike_no' => $info->bike_no,
  123. // 'box_no' => $info->box_no,
  124. // ];
  125. }
  126. public function test(Request $request, BikeRepository $bikeRepository, LocationLogRepository $locationLogRepository, AreaRepository $areaRepository)
  127. {
  128. // Cache::flush();
  129. // $user = User::find(3);
  130. // Log::info($user);
  131. // event(new CardCertifiedEvent($user));
  132. // // Event::dispatch(new ExampleEvent);
  133. //
  134. // dd(111);
  135. //// $res = InviteNewUser::query()
  136. //// ->where('invite_id', 2)
  137. //// ->where('status', InviteNewUser::STATUS_OK)
  138. //// ->where('is_card_certified', InviteNewUser::CARD_CERTIFIED_OK)
  139. //// ->limit(1)
  140. //// ->pluck('register_id')
  141. //// ->toArray();
  142. ////
  143. //// dd(count($res));
  144. // Gateway::$registerAddress = 'node1:1238';
  145. BikeControl::playVideo('003472969', BikeControl::VIDEO_OUT_AREA_CLOSE_ELECTRIC);
  146. //
  147. //// Cache::flush();
  148. // for ($i = 0; $i < 30; $i++) {
  149. // sleep(1);
  150. // }
  151. // return $this->success();
  152. dda('ok');
  153. }
  154. public function check()
  155. {
  156. return $this->success();
  157. }
  158. public function token()
  159. {
  160. $user = $this->userRepository->byIdGetModel(1);
  161. $token = JWTAuth::fromUser($user);
  162. return $this->response->array([
  163. 'token' => 'Bearer ' . $token,
  164. 'ttl' => Carbon::now()->addMinute(JWTAuth::factory()->getTTL())->getTimestamp()
  165. ]);
  166. }
  167. }