BaseController.php 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. <?php
  2. namespace App\Http\Controllers\QuickApp;
  3. use App\Modules\SendOrder\Models\QappSendOrder;
  4. use App\Modules\User\Models\User;
  5. use App\Modules\User\Services\QappUserService;
  6. use App\Modules\User\Services\ReadRecordService;
  7. use Illuminate\Routing\Controller;
  8. /**
  9. * @property User $user_info 用户基本信息
  10. * @property int $uid
  11. * @property string $phone 手机号
  12. * @property int $distribution_channel_id 渠道号ID
  13. * @property int $send_order_id 派单ID
  14. * @property int $app_pay_merchat_id 微信app支付通道ID
  15. * @property int $h5_pay_merchat_id 微信h5支付通道ID
  16. * @property int $ali_pay_merchat_id 支付宝支付通道ID
  17. */
  18. class BaseController extends Controller
  19. {
  20. private $field = [];
  21. protected $account_send_order;
  22. public function __get($name)
  23. {
  24. if (!isset($this->field[$name])) {
  25. $qapp_user = (new QappUserService)->getGolableUser();
  26. if ($name == 'user_info') {
  27. $user = User::find($qapp_user->uid);
  28. $this->field[$name] = $user;
  29. }
  30. if ($name == 'uid') {
  31. $this->field[$name] = $qapp_user->uid;
  32. }
  33. if ($name == 'phone') {
  34. $this->field[$name] = $qapp_user->phone;
  35. }
  36. if ($name == 'distribution_channel_id') {
  37. // \Log::info('user:');
  38. // \Log::info(json_encode($qapp_user,true));
  39. $this->field[$name] = (isset($qapp_user->user) && !empty($qapp_user->user))? $qapp_user->user->distribution_channel_id : $qapp_user->distribution_channel_id;
  40. }
  41. if ($name == 'send_order_id') {
  42. //$this->field[$name] = $qapp_user->send_order_id;
  43. $this->field[$name] = ReadRecordService::getSendOrderId($qapp_user->uid);
  44. }
  45. if ($name == 'app_pay_merchat_id') {
  46. $this->field[$name] = $qapp_user->app_pay_merchat_id;
  47. }
  48. if ($name == 'h5_pay_merchat_id') {
  49. $this->field[$name] = $qapp_user->h5_pay_merchat_id;
  50. }
  51. if ($name == 'ali_pay_merchat_id') {
  52. $this->field[$name] = $qapp_user->ali_pay_merchat_id;
  53. }
  54. }
  55. return $this->field[$name];
  56. }
  57. protected function getNowSendOrderInfo(){
  58. $send_order_id = $this->send_order_id;
  59. if(!$send_order_id){
  60. return null;
  61. }
  62. if(!$this->account_send_order){
  63. $this->account_send_order = QappSendOrder::getSendOrderById($send_order_id);
  64. }
  65. return $this->account_send_order;
  66. }
  67. }