ExampleController.php 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207
  1. <?php
  2. namespace App\Http\Controllers\V1;
  3. use App\Events\CardCertifiedEvent;
  4. use App\Events\ExampleEvent;
  5. use App\Handlers\BaseBikeControl;
  6. use App\Handlers\BikeControl;
  7. use App\Handlers\BikeHandler;
  8. use App\Handlers\CheckAreaHandler;
  9. use App\Handlers\ConvertHandler;
  10. use App\Jobs\CheckRedOrderJob;
  11. use App\Jobs\SendSMSBikeTemporaryWaitOverThirtyJob;
  12. use App\Maps\CacheMap;
  13. use App\Models\Bike;
  14. use App\Models\InviteNewUser;
  15. use App\Models\Parking;
  16. use App\Models\Parkings;
  17. use App\Models\RefundLog;
  18. use App\Models\User;
  19. use App\Models\WalletLog;
  20. use App\Repositories\AreaRepository;
  21. use App\Repositories\BikeRepository;
  22. use App\Repositories\LocationLogRepository;
  23. use App\Repositories\RefundLogRepository;
  24. use App\Repositories\UserRepository;
  25. use App\Transformers\BikeMeadTransformer;
  26. use App\Transformers\BikeTransformer;
  27. use App\Transformers\UserTransformer;
  28. use Carbon\Carbon;
  29. use Dingo\Api\Http\Request;
  30. use GatewayClient\Gateway;
  31. use Illuminate\Support\Facades\DB;
  32. use Illuminate\Support\Facades\Event;
  33. use Illuminate\Support\Facades\Log;
  34. use Tymon\JWTAuth\Facades\JWTAuth;
  35. use Illuminate\Support\Facades\Redis;
  36. use Illuminate\Support\Facades\Cache;
  37. /**
  38. * 测试模块
  39. * Class ExampleController
  40. * @package App\Http\Controllers\V1
  41. */
  42. class ExampleController extends BaseController
  43. {
  44. protected $userRepository;
  45. /**
  46. * Create a new controller instance.
  47. *
  48. * @return void
  49. */
  50. public function __construct(UserRepository $userRepository)
  51. {
  52. $this->userRepository = $userRepository;
  53. }
  54. /**
  55. * @param Request $request
  56. * @return \Dingo\Api\Http\Response|string
  57. * User: Mead
  58. */
  59. public function index(Request $request)
  60. {
  61. $user = $this->userRepository->byIdGetModel(1);
  62. if (is_null($user)) {
  63. $this->response->errorNotFound('no data');
  64. return '';
  65. }
  66. return $this->response->item($user, UserTransformer::class);
  67. }
  68. public function orderRefund()
  69. {
  70. // $orders = Order::where('pay_status', Order::PAY_STATUS_OK)->whereDate('pay_time', Carbon::parse('-1 day')->toDateString())->get();
  71. // $payment = app('wechat.payment'); // 微信支付
  72. // foreach ($orders as $order) {
  73. // $result = $payment->refund->byOutTradeNumber($order->no, $order->no, wechat_fee($order->pay_money), wechat_fee($order->pay_money), [
  74. // // 可在此处传入其他参数,详细参数见微信支付文档
  75. // 'refund_desc' => '退支付金额'
  76. // ]);
  77. // }
  78. // echo 'ok';
  79. }
  80. public function batterOpen(Request $request, BikeRepository $bikeRepository)
  81. {
  82. // $bike_no = $request->get('bike_no');
  83. // $box_no = $bikeRepository->byNoGetBoxNO($bike_no);
  84. // BikeControl::openBatteryLock($box_no);
  85. // return [
  86. // 'status' => true
  87. // ];
  88. }
  89. public function batterClose(Request $request, BikeRepository $bikeRepository)
  90. {
  91. // $bike_no = $request->get('bike_no');
  92. // $box_no = $bikeRepository->byNoGetBoxNO($bike_no);
  93. // BikeControl::closeBatteryLock($box_no);
  94. // return [
  95. // 'status' => true
  96. // ];
  97. }
  98. public function bikeClose(Request $request, BikeRepository $bikeRepository)
  99. {
  100. // $bike_no = $request->get('bike_no');
  101. // $box_no = $bikeRepository->byNoGetBoxNO($bike_no);
  102. // BikeControl::closeLock($box_no);
  103. // return [
  104. // 'status' => true
  105. // ];
  106. }
  107. public function bikeOpen(Request $request, BikeRepository $bikeRepository)
  108. {
  109. // $bike_no = $request->get('bike_no');
  110. // $box_no = $bikeRepository->byNoGetBoxNO($bike_no);
  111. // BikeControl::openLock($box_no);
  112. // return [
  113. // 'status' => true
  114. // ];
  115. }
  116. public function bikeBell(Request $request, BikeRepository $bikeRepository)
  117. {
  118. $bike_no = $request->get('bike_no');
  119. $box_no = $bikeRepository->byNoGetBoxNO($bike_no);
  120. // BikeControl::bellBike($box_no);
  121. (new BaseBikeControl($box_no))::bellBike();
  122. return [
  123. 'status' => true
  124. ];
  125. }
  126. public function bikeInfo(Request $request, BikeRepository $bikeRepository)
  127. {
  128. // $bike_no = $request->get('bike_no');
  129. // $info = $bikeRepository->byBikeNo($bike_no);
  130. // Gateway::$registerAddress = '127.0.0.1:1238';
  131. // return [
  132. // 'battery_power' => $info->battery_power,
  133. // 'is_online' => Gateway::isUidOnline($info->box_no),
  134. // 'lists' => Gateway::getAllUidList(),
  135. // 'count' => Gateway::getAllClientCount(),
  136. // 'bike_no' => $info->bike_no,
  137. // 'box_no' => $info->box_no,
  138. // ];
  139. }
  140. public function test(Request $request, BikeRepository $bikeRepository, LocationLogRepository $locationLogRepository, AreaRepository $areaRepository, RefundLogRepository $refundLogRepository)
  141. {
  142. // $bike_no = '10010010752';
  143. // $bike = $bikeRepository->byBikeNo($bike_no);
  144. //
  145. // return $this->response->item($bike, BikeMeadTransformer::class);
  146. // $user = User::query()->find(7);
  147. // $auth = $user->auth;
  148. // //超期退款
  149. // $payment = app('wechat.payment'); // 微信支付
  150. // $result = $payment->redpack->sendMiniprogramNormal([
  151. // 'mch_billno' => RefundLog::makeNo(),
  152. // 'send_name' => '未来GO',
  153. // 're_openid' => $auth['credential'],
  154. // 'total_amount' => wechat_fee(1), //单位为分,不小于100
  155. // 'wishing' => '退还超期押金',
  156. // 'act_name' => '退还超期押金',
  157. // 'remark' => '退还超期押金',
  158. // ]);
  159. // dd($result);
  160. // $refund->type = RefundLog::TYPE_RED_PACKET;
  161. // $refund->save();
  162. //
  163. // $this->dispatch(new CheckRedOrderJob($refund->id, Carbon::now()->addMinutes(1)));
  164. // $this->dispatch(new CheckRedOrderJob($refund->id, Carbon::now()->addMinutes(5)));
  165. // $this->dispatch(new CheckRedOrderJob($refund->id, Carbon::now()->addMinutes(10)));
  166. // $this->dispatch(new CheckRedOrderJob($refund->id, Carbon::now()->addHours(6)));
  167. // if ($result['return_code'] === 'SUCCESS' && $result['result_code'] === 'SUCCESS') {
  168. // $order->is_refund = DepositOrder::REFUND_OK;
  169. // $order->save();
  170. // }
  171. // $ss = php2js($result);
  172. // Log::error("
  173. // ********红包1*************
  174. // result: {$ss}
  175. // ");
  176. }
  177. public function check()
  178. {
  179. return $this->success();
  180. }
  181. public function token()
  182. {
  183. $user = $this->userRepository->byIdGetModel(3);
  184. $token = JWTAuth::fromUser($user);
  185. return $this->response->array([
  186. 'token' => 'Bearer ' . $token,
  187. 'ttl' => Carbon::now()->addMinute(JWTAuth::factory()->getTTL())->getTimestamp()
  188. ]);
  189. }
  190. }